• Andy Gospodarek's avatar
    bonding: allow user-controlled output slave selection · bb1d9123
    Andy Gospodarek authored
    v2: changed bonding module version, modified to apply on top of changes
    from previous patch in series, and updated documentation to elaborate on
    multiqueue awareness that now exists in bonding driver.
    
    This patch give the user the ability to control the output slave for
    round-robin and active-backup bonding.  Similar functionality was
    discussed in the past, but Jay Vosburgh indicated he would rather see a
    feature like this added to existing modes rather than creating a
    completely new mode.  Jay's thoughts as well as Neil's input surrounding
    some of the issues with the first implementation pushed us toward a
    design that relied on the queue_mapping rather than skb marks.
    Round-robin and active-backup modes were chosen as the first users of
    this slave selection as they seemed like the most logical choices when
    considering a multi-switch environment.
    
    Round-robin mode works without any modification, but active-backup does
    require inclusion of the first patch in this series and setting
    the 'all_slaves_active' flag.  This will allow reception of unicast traffic on
    any of the backup interfaces.
    
    This was tested with IPv4-based filters as well as VLAN-based filters
    with good results.
    
    More information as well as a configuration example is available in the
    patch to Documentation/networking/bonding.txt.
    Signed-off-by: default avatarAndy Gospodarek <andy@greyhouse.net>
    Signed-off-by: default avatarNeil Horman <nhorman@tuxdriver.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    bb1d9123
bond_main.c 137 KB