[ovs-discuss] Bonding problems with redundant physical switching

Christian Fischer christian.fischer at easterngraphics.com
Wed Sep 15 07:17:21 UTC 2010


On Tuesday 14 September 2010 23:59:38 Ben Pfaff wrote:
[snip]
> > 
> > Is it active/active for sending or for sending and receiving?
> 
> It is active/active for sending and receiving.  (Packets from any given
> source MAC are assigned to a particular slave though.)
> 
> Broadcasts and multicasts are only accepted on the "active slave",
> however; otherwise such packets would be received in duplicate.  And
> there are a few special rules for similar corner cases, if I recall
> correctly.

Yesterday I took a look to the OVS sources, and I found the vswitchd/INTERNALS 
file, which answers a lot of my questions.

[snip]
> > 
> > All physical cluster nodes have different physical networks, 2 network
> > interfaces bonded each. There are two physical switches, the networks
> > have different VlanIDs. There's no network link between both switches,
> > the switches have no spanning tree protocol support.
> 
> The important question here is, are the two links within a bond
> connected to the same switch?  They should be; that is the intended and
> supported configuration.

No, they don't, and the switches are not linked together, they are a bit to 
cheep.

> 
> > Shouldn't both slaves listen for incoming packages?
> 
> Yes; they do (except for broadcast and multicasts; see above).

Well, with ovs-0.99.2 and xcp-0.5.0 they don't do in my case, for whatever 
reason. I have to investigate that, trying a recent version of ovs.
Probably the rebalancing process will drop the connection if an unused link 
behind the switch goes down and OVS tries to migrate the connection to this 
link (it can not see that there's no carrier behind the switch).
> 
> > What should happen if one connects two hosts with two bonded NICs each
> > directly without any switches?
> 
> In other words, host0 has bond0 composed of eth0 and eth1, and host1 has
> bond1 composed of eth2 and eth3, eth0 is connected to eth2 with a cable,
> and eth1 is connected to eth3 with a cable?  I think that should work
> OK.

Yes, that should, but with two independent switches in the middle I should get 
a carrier detection problem.

You sad that I can use OVS with Linux bonding, how is that to do?
Simply loading the bonding kernel module causes segmentation fault, in my 
case. Can/Must I compile OVS with linux bonding support?

Christian





More information about the discuss mailing list