• Eric Dumazet's avatar
    bonding: allow TSO being set on bonding master · b0ce3508
    Eric Dumazet authored
    In some situations, we need to disable TSO on bonding slaves.
    
    bonding device automatically unset TSO in bond_fix_features(), and
    performance is not good because :
    
    1) We consume more cpu cycles.
    
    2) GSO segmentation has some bugs leading to out of order TCP packets
    if this segmentation is done before virtual device. This particular
    problem will be addressed in a separate patch.
    
    This patch allows TSO being set/unset on the bonding master,
    so that GSO segmentation is done after bonding layer.
    Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
    Cc: Michał Mirosław <mirqus@gmail.com>
    Cc: Jay Vosburgh <fubar@us.ibm.com>
    Cc: Andy Gospodarek <andy@greyhouse.net>
    Cc: Maciej Żenczykowski <maze@google.com>
    Cc: Tom Herbert <therbert@google.com>
    Cc: Neal Cardwell <ncardwell@google.com>
    Cc: Yuchung Cheng <ycheng@google.com>
    Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    b0ce3508
bond_main.c 132 KB