linux/drivers/net/ethernet/intel/ixgbe
Alexander Duyck 49763de042 ixgbe: Add support for generic Tx checksums
This patch adds support for generic Tx checksums to the ixgbe 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: Andrew Bowers <andrewx.bowers@intel.com>
Signed-off-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
2016-04-04 17:39:05 -07:00
..
ixgbe_82598.c ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
ixgbe_82599.c ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
ixgbe_common.c ixgbe: Clear stale pool mappings 2015-12-12 02:05:21 -08:00
ixgbe_common.h ixgbe: Add support for adding/removing VLAN on PF bypassing the VLVF 2015-12-12 01:29:28 -08:00
ixgbe_dcb_82598.c ixgbe: convert low_water into an array 2014-04-22 23:07:11 -07:00
ixgbe_dcb_82598.h ixgbe: update date to 2013 2013-02-05 01:44:13 -08:00
ixgbe_dcb_82599.c ixgbe: fix broken PFC with X550 2016-01-08 03:54:08 -08:00
ixgbe_dcb_82599.h ixgbe: clean up checkpatch warnings about CODE_INDENT and LEADING_SPACE 2014-05-23 05:24:04 -07:00
ixgbe_dcb_nl.c ixgbe: Add new support for X550 MAC's 2014-11-11 06:18:56 -08:00
ixgbe_dcb.c ixgbe: Fill at least min credits to a TC credit refills 2016-01-08 03:25:14 -08:00
ixgbe_dcb.h IXGBE: Set the SW prio_tc values at initialization to the HW setting. 2013-05-21 03:14:21 -07:00
ixgbe_debugfs.c ixgbe: don't check NULL for debugfs_remove_recursive 2014-05-23 05:28:24 -07:00
ixgbe_ethtool.c ixgbe: call ndo_stop() instead of dev_close() when running offline selftest 2016-03-29 22:41:33 -07:00
ixgbe_fcoe.c ixgbe: Fix MDD events generated when FCoE+SRIOV are enabled 2016-01-08 04:15:00 -08:00
ixgbe_fcoe.h ixgbe: adds x550 specific FCoE offloads 2015-04-10 00:15:55 -07:00
ixgbe_lib.c net: provide generic busy polling to all NAPI drivers 2015-11-18 16:17:42 -05:00
ixgbe_main.c ixgbe: Add support for generic Tx checksums 2016-04-04 17:39:05 -07:00
ixgbe_mbx.c ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
ixgbe_mbx.h ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
ixgbe_model.h ixgbe: Fix cls_u32 offload support for L4 ports 2016-03-29 23:23:04 -07:00
ixgbe_phy.c ixgbe: Always turn PHY power on when requested 2015-12-03 02:45:13 -08:00
ixgbe_phy.h ixgbe: Add logic to reset CS4227 when needed 2015-09-23 22:34:29 -07:00
ixgbe_ptp.c ixgbe: Update PTP to support X550EM_x devices 2015-12-03 02:32:12 -08:00
ixgbe_sriov.c ixgbe: Do not allow PF to add VLVF entry unless it actually needs it 2016-04-04 13:01:35 -07:00
ixgbe_sriov.h ixgbe: Add new ndo to trust VF 2015-10-23 05:48:53 -07:00
ixgbe_sysfs.c ixgbe: add Linux NICS mailing list to contact info 2014-03-12 19:05:30 -07:00
ixgbe_type.h ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
ixgbe_x540.c ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
ixgbe_x540.h ixgbe: Add X550 support function pointers 2014-12-05 09:13:07 -08:00
ixgbe_x550.c ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
ixgbe.h ixgbe: Make all unchanging ops structures const 2016-04-04 13:36:58 -07:00
Makefile ixgbe: Add X550 support function pointers 2014-12-05 09:13:07 -08:00