linux/drivers/net/ethernet/intel
Alexander Duyck 6e03370088 igb: Add support for generic Tx checksums
This patch adds support for generic Tx checksums to the igb 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.

Signed-off-by: Alexander Duyck <aduyck@mirantis.com>
Tested-by: Aaron Brown <aaron.f.brown@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-02-24 15:32:42 -08:00
..
e1000 e1000: Elementary checkpatch warnings and checks removed 2015-12-12 23:13:52 -08:00
e1000e e1000e: Initial support for KabeLake 2016-02-24 14:53:30 -08:00
fm10k net: rework setup_tc ndo op to consume general tc operand 2016-02-17 09:47:35 -05:00
i40e i40e/ethtool: support coalesce setting by queue 2016-02-19 22:54:10 -05:00
i40evf i40e/i40evf: Bump i40e to 1.4.25 and i40evf to 1.4.15 2016-02-19 00:12:07 -08:00
igb igb: Add support for generic Tx checksums 2016-02-24 15:32:42 -08:00
igbvf igb/igbvf: don't give up 2016-02-15 16:17:57 -08:00
ixgb drivers/net: get rid of unnecessary initializations in .get_drvinfo() 2015-10-16 00:24:10 -07:00
ixgbe ixgbe: fix dates on header of ixgbe_model.h 2016-02-17 21:44:12 -05:00
ixgbevf ixgbevf: minor cleanups for ixgbevf_set_itr() 2015-12-29 19:16:05 -08:00
e100.c e100: Release skb when DMA mapping is failed in e100_xmit_prepare 2015-08-18 14:06:05 -07:00
Kconfig i40e: Kernel dependency update for i40e to support geneve offload 2015-12-16 10:58:56 -05:00
Makefile fm10k: Add skeletal frame for Intel(R) FM10000 Ethernet Switch Host Interface Driver 2014-09-23 03:59:13 -07:00