linux-stable/drivers/net/ethernet
Vlad Yasevich 06f4d0333e e1000: Fix TSO for non-accelerated vlan traffic
This device claims TSO and checksum support for vlans.  It also
allows a user to control vlan acceleration offloading.  As such,
it is possible to turn off vlan acceleration and configure a vlan
which will continue to support TSO.

In such situation the packet passed down the the device will contain
a vlan header and skb->protocol will be set to ETH_P_8021Q.
The device assumes that skb->protocol contains network protocol
value and uses that value to set up TSO and checksum information.
This will results in corrupted frames sent on the wire.

This patch extract the protocol value correctly and corrects TSO
for non-accelerated traffic.

CC: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
CC: Jesse Brandeburg <jesse.brandeburg@intel.com>
CC: Bruce Allan <bruce.w.allan@intel.com>
CC: Carolyn Wyborny <carolyn.wyborny@intel.com>
CC: Don Skidmore <donald.c.skidmore@intel.com>
CC: Greg Rose <gregory.v.rose@intel.com>
CC: Alex Duyck <alexander.h.duyck@intel.com>
CC: John Ronciak <john.ronciak@intel.com>
CC: Mitch Williams <mitch.a.williams@intel.com>
CC: Linux NICS <linux.nics@intel.com>
CC: e1000-devel@lists.sourceforge.net
Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2014-08-25 17:27:09 -07:00
..
3com PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
8390 PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
adaptec PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
adi bfin_mac: convert bfin Ethernet driver to NAPI framework 2014-07-24 23:35:42 -07:00
aeroflex
allwinner net: sun4i-emac: fix memory leak on bad packet 2014-08-05 16:43:49 -07:00
alteon PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
altera
amd PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
apm net: xgene: fix possible NULL dereference in xgene_enet_free_desc_rings() 2014-08-22 11:25:25 -07:00
apple
arc arc_emac: Remove unused pointer to net_device from arc_emac_priv 2014-07-09 16:49:21 -07:00
atheros PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
broadcom net: ethernet: broadcom: bnx2x: Remove redundant #ifdef 2014-08-22 11:29:58 -07:00
brocade PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
cadence net/macb: enable scatter-gather feature and set DMA burst length for sama5d4 gem 2014-07-24 23:39:55 -07:00
calxeda
chelsio cxgb4: Free completed tx skbs promptly 2014-08-21 21:54:52 -07:00
cirrus cirrus: cs89x0: Use managed interfaces 2014-08-02 16:40:52 -07:00
cisco PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
davicom dm9000: Remove typedef board_info_t 2014-08-08 10:38:13 -07:00
dec PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
dlink PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
emulex PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
faraday
freescale net: fec: ptp: avoid register access when ipg clock is disabled 2014-08-22 10:45:56 -07:00
fujitsu drivers/net: ethernet: Remove typedef for struct and enum 2014-08-07 16:02:58 -07:00
hisilicon
hp PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
i825xx
ibm ibmveth: Fix endian issues with rx_no_buffer statistic 2014-08-22 11:28:00 -07:00
icplus PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
intel e1000: Fix TSO for non-accelerated vlan traffic 2014-08-25 17:27:09 -07:00
marvell PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
mellanox PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
micrel PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
microchip
moxa net: moxa: continue loop on skb allocation failure 2014-08-25 17:25:39 -07:00
myricom PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
natsemi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
neterion PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
nuvoton
nvidia PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
nxp
octeon octeon: remove deprecated syststamp timestamp 2014-07-29 11:39:49 -07:00
oki-semi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
packetengines PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
pasemi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
qlogic qlcnic: Fix endianess issue in firmware load from file operation 2014-08-21 17:43:15 -07:00
rdc PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
realtek PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
renesas net: sh_eth: Add r8a7794 support 2014-08-02 16:38:32 -07:00
samsung
seeq
sfc PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
sgi PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
silan PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
sis PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
smsc PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
stmicro stmmac: set ptp_clock to NULL while unregister 2014-08-25 15:33:10 -07:00
sun PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
tehuti PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
ti PCI changes for the v3.17 merge window (part 2): 2014-08-14 18:10:33 -06:00
tile net: set name_assign_type in alloc_netdev() 2014-07-15 16:12:48 -07:00
toshiba PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
tundra
via PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
wiznet
xilinx net: xilinx: Remove .owner field for driver 2014-08-14 14:38:54 -07:00
xircom ethernet: amd: Remove typedef local_info_t 2014-08-11 12:19:53 -07:00
xscale
dnet.c net: dnet: Use managed interfaces 2014-08-02 16:40:52 -07:00
dnet.h
ec_bhf.c
ethoc.c
fealnx.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
jme.c PCI: Remove DEFINE_PCI_DEVICE_TABLE macro use 2014-08-12 12:15:14 -06:00
jme.h
Kconfig drivers: net: Add APM X-Gene SoC ethernet driver support. 2014-08-11 11:50:33 -07:00
korina.c
lantiq_etop.c
Makefile drivers: net: Add APM X-Gene SoC ethernet driver support. 2014-08-11 11:50:33 -07:00
netx-eth.c
s6gmac.c