]> git.baikalelectronics.ru Git - kernel.git/commit
ixgbe/ixgbevf: Don't use lco_csum to compute IPv4 checksum
authorAlexander Duyck <alexander.h.duyck@intel.com>
Mon, 28 Nov 2016 15:42:29 +0000 (10:42 -0500)
committerDavid S. Miller <davem@davemloft.net>
Thu, 1 Dec 2016 20:41:36 +0000 (15:41 -0500)
commitc4eab0a272def6f9b09e2137de09a21a4047555c
tree5e6b4358ebe02ab75e7588cbad6cd541a228a0c0
parent9d8b7509edcf206f7d638df6e4b78117d08b923d
ixgbe/ixgbevf: Don't use lco_csum to compute IPv4 checksum

In the case of IPIP and SIT tunnel frames the outer transport header
offset is actually set to the same offset as the inner transport header.
This results in the lco_csum call not doing any checksum computation over
the inner IPv4/v6 header data.

In order to account for that I am updating the code so that we determine
the location to start the checksum ourselves based on the location of the
IPv4 header and the length.

Fixes: 0f48a278078b ("ixgbe/ixgbevf: Add support for GSO partial")
Signed-off-by: Alexander Duyck <alexander.h.duyck@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c