• Jay Vosburgh's avatar
    bonding: xor/802.3ad improved slave hash · 169a3e66
    Jay Vosburgh authored
    Add support for alternate slave selection algorithms to bonding
    balance-xor and 802.3ad modes.  Default mode (what we have now: xor of
    MAC addresses) is "layer2", new choice is "layer3+4", using IP and port
    information for hashing to select peer.
    
    Originally submitted by Jason Gabler for balance-xor mode;
    modified by Jay Vosburgh to additionally support 802.3ad mode.  Jason's
    original comment is as follows:
    
    The attached patch to the Linux Etherchannel Bonding driver modifies the
    driver's "balance-xor" mode as follows:
    
          - alternate hashing policy support for mode 2
            * Added kernel parameter "xmit_policy" to allow the specification
              of different hashing policies for mode 2.  The original mode 2
              policy is the default, now found in xmit_hash_policy_layer2().
            * Added xmit_hash_policy_layer34()
    
    This patch was inspired by hashing policies implemented by Cisco,
    Foundry and IBM, which are explained in
    Foundry documentation found at:
    http://www.foundrynet.com/services/documentation/sribcg/Trunking.html#112750Signed-off-by: default avatarJason Gabler <jygabler@lbl.gov>
    Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
    169a3e66
bond_main.c 140 KB