]> git.baikalelectronics.ru Git - kernel.git/commit
net: Disable LRO on devices that are forwarding
authorBen Hutchings <bhutchings@solarflare.com>
Thu, 19 Jun 2008 23:15:47 +0000 (16:15 -0700)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Jun 2008 23:15:47 +0000 (16:15 -0700)
commitbc0581bd743da831d567fb76b36caf8f88fcf67e
tree43980261ce9e2b6ef76356dbbbc7efe3dbb60a02
parentec9b0348002eacf82c75623c9e10dda93e7954e7
net: Disable LRO on devices that are forwarding

Large Receive Offload (LRO) is only appropriate for packets that are
destined for the host, and should be disabled if received packets may be
forwarded.  It can also confuse the GSO on output.

Add dev_disable_lro() function which uses the appropriate ethtool ops to
disable LRO if enabled.

Add calls to dev_disable_lro() in br_add_if() and functions that enable
IPv4 and IPv6 forwarding.

Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
include/linux/netdevice.h
net/bridge/br_if.c
net/core/dev.c
net/ipv4/devinet.c
net/ipv6/addrconf.c