]> git.baikalelectronics.ru Git - kernel.git/commit
ibmveth: Enable IPv6 checksum offload
authorSantiago Leon <santil@linux.vnet.ibm.com>
Fri, 3 Sep 2010 18:28:52 +0000 (18:28 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 7 Sep 2010 01:21:50 +0000 (18:21 -0700)
commitf7444f5f65f5390ca5e389fd8de571372bdc68ac
treed645048489a624d90687cb1d90747927150f3f80
parentdcd3de81029712fd78a1cdf0100ee1bea6f2e599
ibmveth: Enable IPv6 checksum offload

This patch enables TCP checksum offload support for IPv6 on ibmveth.
This completely eliminates the generation and checking of the checksum
for IPv6 packets that are completely virtual and never touch a physical
network.  A basic TCPIPV6_STREAM netperf run showed a ~30% throughput
improvement when an MTU of 64000 was used.

This featured is enabled by default, as is the case for IPv4 checksum
offload.  When checksum offload is enabled the driver will negotiate
IPv4 and IPv6 offload with the firmware separately and enable what
is available.  As long as either IPv4 or IPv6 offload is supported
and enabled the device will report that checksum offload is enabled.
The device stats, available through ethtool, will display which
checksum offload features are supported/enabled by firmware.

Performance testing against a stock kernel shows no regression for IPv4
or IPv6 in terms of throughput or processor utilization with checksum
disabled or enabled.

Signed-off-by: Robert Jennings <rcj@linux.vnet.ibm.com>
Signed-off-by: Santiago Leon <santil@linux.vnet.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ibmveth.c
drivers/net/ibmveth.h