i40e/i40evf: Add support for GSO partial with UDP_TUNNEL_CSUM and GRE_CSUM
authorAlexander Duyck <aduyck@mirantis.com>
Thu, 14 Apr 2016 21:19:25 +0000 (17:19 -0400)
committerJeff Kirsher <jeffrey.t.kirsher@intel.com>
Mon, 2 May 2016 00:05:16 +0000 (17:05 -0700)
commit1c7b4a23d12f63a2864c2a67ad96e74d0dbbf39c
tree02f6522050b9df9de63f3b11661d2312fff17f65
parentae63bff0d7f333677e7ec532e9c315c74a510403
i40e/i40evf: Add support for GSO partial with UDP_TUNNEL_CSUM and GRE_CSUM

This patch makes it so that i40e and i40evf can use GSO_PARTIAL to support
segmentation for frames with checksums enabled in outer headers.  As a
result we can now send data over these types of tunnels at over 20Gb/s
versus the 12Gb/s that was previously possible on my system.

The advantage with the i40e parts is that this offload is mostly
transparent as the hardware still deals with the inner and/or outer IPv4
headers so the IP ID is still incrementing for both when this offload is
performed.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
drivers/net/ethernet/intel/i40e/i40e_main.c
drivers/net/ethernet/intel/i40e/i40e_txrx.c
drivers/net/ethernet/intel/i40evf/i40e_txrx.c
drivers/net/ethernet/intel/i40evf/i40evf_main.c