Jason Gabler - 2004-01-12

From the patch to the bonding.txt docs:

-----

balance-mpxor or 7

A less deterministic version of the balance-xor policy.
Balance-mpxor bases its slave choice on [(( source MAC
address
XOR'd with destination MAC address) XOR'd with (source port
XOR'd with destination port)) modula slave count]. The
resulting behavior is a connection-based slave choosing
process. This would be useful in a sitaution where static
source and destination addresses are shuttling large
amounts
of data between themselves over multiple TCP connections.
----

Basically, we have an HPSS system that would get stuck
on particular slaves while communicating with the same
hosts if using balance-xor. This additional slave
choosing heuristic allows the same two hosts to
communicate using multiple slaves, each dedicated to
somewhat unique TCP connections instead of particular
hosts. Multiple downloads/uploads between the HPSS
system and the same client no longer have to share the
same slave. Of course, groups of client MAC addresses
and port numbers can more than likely be combined to
produce the same slave number, but it is still less
deterministic than using only the MAC address.

"mpxor" stands for "MAC and port XOR"

NOTE: this patch is based upon a 2.4.23 kernel which
has already been patched with the "Intel Contributions
2.4" patch (bonding_cleanup_4-2.4.23.tar.bz2). So, to
use this patch you would need to have applied the
"Intel Contributions 2.4" patch yourself or use a kernel
source which already incorporates it. Then apply the
balance-mpxor ontop of it.

Jason Gabler - Advanced Systems Group/NERSC Systems Section
Lawrence Berkeley National Lab
1 Cyclotron Road Mail Stop 943-225 510-486-4752
Berkeley, CA 94720 jygabler@lbl.gov