bnxt: Add support for segmentation of tunnels with outer checksums
authorAlexander Duyck <aduyck@mirantis.com>
Mon, 2 May 2016 16:38:55 +0000 (09:38 -0700)
committerDavid S. Miller <davem@davemloft.net>
Wed, 4 May 2016 17:32:28 +0000 (13:32 -0400)
commit152971ee75fddbc43fb6cf7e3ada96c1324df2af
tree68bfd36b4346c822b4e2dcbcb57a3ce91c22b4ee
parentf3ed653cd4191ce42b27b2fb524418832f7d6c2d
bnxt: Add support for segmentation of tunnels with outer checksums

This patch assumes that the bnxt hardware will ignore existing IPv4/v6
header fields for length and checksum as well as the length and checksum
fields for outer UDP and GRE headers.

I have been told by Michael Chan that this is working.  Though this might
be somewhat redundant for IPv6 as they are forcing the checksum to be
computed for all IPv6 frames that are offloaded.  A follow-up patch may be
necessary in order to fix this as it is essentially mangling the outer IPv6
headers to add a checksum where none was requested.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/broadcom/bnxt/bnxt.c