linux/drivers/net
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
..
appletalk
arcnet
bonding Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-23 00:09:14 -05:00
caif
can Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-23 00:09:14 -05:00
cris
dsa net: dsa: mv88e6xxx: check hardware VLAN in use 2016-02-23 14:52:46 -05:00
ethernet igb: Add support for generic Tx checksums 2016-02-24 15:32:42 -08:00
fddi defxx: fix build warning 2016-01-25 10:51:52 -08:00
fjes
hamradio dmascc: Return correct error codes 2016-02-16 15:32:34 -05:00
hippi
hyperv Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-23 00:09:14 -05:00
ieee802154
ipvlan ipvlan: misc changes 2016-02-21 22:43:24 -05:00
irda net/irda: bfin_sir: remove duplicate defines 2016-01-21 10:45:45 -08:00
phy Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-23 00:09:14 -05:00
plip net: plip: use new parport device model 2016-01-09 21:02:05 -05:00
ppp pppoe: fix reference counting in PPPoE proxy 2016-02-17 16:02:01 -05:00
slip
team team: track sum of rx_nohandler for all slaves 2016-02-06 02:59:51 -05:00
usb USB: cdc_subset: only build when one driver is enabled 2016-02-18 15:59:45 -05:00
vmxnet3 Driver: Vmxnet3: Update Rx ring 2 max size 2016-02-21 22:04:15 -05:00
wan dscc4: Undefined signed int shift 2016-02-13 06:10:21 -05:00
wimax
wireless Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-23 00:09:14 -05:00
xen-netback xen-netback: implement dynamic multicast control 2016-02-07 13:58:36 -05:00
dummy.c
eql.c
geneve.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-23 00:09:14 -05:00
ifb.c
Kconfig
LICENSE.SRC
loopback.c
macvlan.c macvlan: convert to use IFF_NO_QUEUE 2016-02-17 15:19:44 -05:00
macvtap.c
Makefile
mdio.c
mii.c
netconsole.c
nlmon.c
ntb_netdev.c
rionet.c
sb1000.c
Space.c
sungem_phy.c
tun.c
veth.c
virtio_net.c virtio_net: validate ethtool port setting and explain the user validation 2016-02-11 11:55:38 -05:00
vrf.c vrf: duplicate include of rtnetlink.h 2016-02-11 09:45:24 -05:00
vxlan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2016-02-23 00:09:14 -05:00
xen-netfront.c xen-netfront: request Tx response events more often 2016-01-28 16:08:55 -08:00