]> git.baikalelectronics.ru Git - kernel.git/commit
bonding: allow TSO being set on bonding master
authorEric Dumazet <edumazet@google.com>
Thu, 16 May 2013 07:34:53 +0000 (07:34 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 16 May 2013 22:02:01 +0000 (15:02 -0700)
commit43431ef8a592625fc76ffe1e2671f84200bc42b5
treed5158ba0fe71d3807c563148c6cddb3757e7f348
parentd9e4d1200f602ff28086570173f18e37a31594e7
bonding: allow TSO being set on bonding master

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: Eric 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: David S. Miller <davem@davemloft.net>
drivers/net/bonding/bond_main.c
include/linux/netdevice.h