[Intel-wired-lan] [next PATCH v2 4/4] igbvf: Add support for generic Tx checksums

Brown, Aaron F aaron.f.brown at intel.com
Fri Jan 15 03:26:31 UTC 2016


> From: Intel-wired-lan [intel-wired-lan-bounces at lists.osuosl.org] on behalf of Alexander Duyck [aduyck at mirantis.com]
> Sent: Wednesday, January 13, 2016 7:31 AM
> To: intel-wired-lan at lists.osuosl.org
> Subject: [Intel-wired-lan] [next PATCH v2 4/4] igbvf: Add support for   generic Tx checksums
> 
> This patch adds support for generic Tx checksums to the igbvf driver.  It
> turns out this is actually pretty easy after going over the datasheet as we
> were doing a number of steps we didn't need to.
> 
> In order to perform a Tx checksum for an L4 header we need to fill in the
> following fields in the Tx descriptor:
>   MACLEN (maximum of 127), retrieved from:
>                 skb_network_offset()
>   IPLEN  (maximum of 511), retrieved from:
>                 skb_checksum_start_offset() - skb_network_offset()
>   TUCMD.L4T indicates offset and if checksum or crc32c, based on:
>                 skb->csum_offset
> 
> The added advantage to doing this is that we can support inner checksum
> offloads for tunnels and MPLS while still being able to transparently
> insert VLAN tags.
> 
> I also took the opportunity to clean-up many of the feature flag
> configuration bits to make them a bit more consistent between drivers.  In
> the case of the VF drivers this meant adding support for SCTP CRCs, and
> inner checksum offloads for MPLS and various tunnel types.
> 
> Signed-off-by: Alexander Duyck <aduyck at mirantis.com>
> ---
>  drivers/net/ethernet/intel/igbvf/netdev.c |  142 +++++++++++++++++------------
>  drivers/net/ethernet/intel/igbvf/vf.h     |    1
>  2 files changed, 82 insertions(+), 61 deletions(-)

Tested-by: Aaron Brown <aaron.f.brown at intel.com>


More information about the Intel-wired-lan mailing list