On 1/11/2011 10:05 AM, lhecking@users.sourceforge.net wrote:
I guess you need to look at the bonding src code - looks like it is in drivers/net/bonding/bond_main.c - for CentOS 5 it is:
C xor is bitwise.
I did a bit of scripting and found that the algorithm seems much more sensitive to port numbers than IP addresses. Not that iperf gives much control over those, it looks like the client port numbers are picked at random. As a result, I would expect to repeat this test on the same set of clients, say, hundreds of times, and maybe find a small number of cases where all interfaces are utilised.
Hashing 4 values to 4 targets seems like collisions would be likely no matter how you do it. The TX packet/byte values from ifconfig on the NICs should show how much went out each interface.