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.
You could use xmit_hash_policy=layer2+3 - which just uses MAC and IP addresses (which you do have more control over) - and see if you can pick a mix of IP/MAC addresses that would result in all four interfaces being used (theoretically) - and see if it matches reality?
James Pearson