[rhelv6-list] bonding

Steven Tardy sjt5atra at gmail.com
Mon Feb 23 06:14:25 UTC 2015


> On Feb 22, 2015, at 3:29 PM, Jason Keltz <jas at cse.yorku.ca> wrote:
> 
> I've setup bonding between two 1 Gb/s interfaces using ..
> 
> Bonding Mode: load balancing (xor)
> Transmit Hash Policy: layer2+3 (2)
> 
> The link is up, and I can access it from various hosts.
> 
> I have a group of identical clients.  If I ping/ssh from each of those clients, then one of these things happens:
> 1) traffic goes over 1 interface of the bond
> 2) traffic goes over the other interface of the bond
> 3) traffic goes over BOTH interfaces .... (client -> server over one NIC, and server -> client over the other)
> 
> I can understand 1 & 2 - but why 3?
> 
> Finally, is there any way with balance-xor (and without special switch support) to ensure a load balance in such a way that if one interface is too busy, the other is used?
> (Eg. clientA talks to the serverA over NIC1 of 2.  ClientA uses NIC1 to capacity.  ClientB also wants to talk to serverA, and because of MAC ADDR/IP is assigned to NIC1 of the bond -- but NIC1 is too busy - NIC2 isn't being used though...  Can ClientB be assigned NIC2 instead)
> 
> Jason.

The NIC of the bond is chosen via a deterministic hashing algorithm allowing all packets of any given single flow(src ip/src port/src mac/dst ip/dst port/dst mac) are always sent through the exact same path through the network. This prevents out of order and many other unwanted things.

By changing the mac/ip of the destination one might be able to over-engineer the traffic flow.

https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Using_Channel_Bonding.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/rhelv6-list/attachments/20150223/b6c5e79b/attachment.htm>


More information about the rhelv6-list mailing list