]> 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)
commitb1f65134603b8bfe01e05013eec756d5229090ee
treed5158ba0fe71d3807c563148c6cddb3757e7f348
parent027820b2c0dd3b37983671d14a3b642f653159d7
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