summaryrefslogtreecommitdiffstats
path: root/net/wireless
diff options
context:
space:
mode:
authorToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>2015-07-28 19:05:37 +0900
committerDavid S. Miller <davem@davemloft.net>2015-07-29 12:20:16 -0700
commitdf356d5e81b04dd51dd9f23f2bce7d73dd929899 (patch)
tree4650281cf54709b5a679f3cfdee075d4371dad91 /net/wireless
parentdbd46ab412b8fb395f2b0ff6f6a7eec9df311550 (diff)
downloadlinux-df356d5e81b04dd51dd9f23f2bce7d73dd929899.tar.gz
linux-df356d5e81b04dd51dd9f23f2bce7d73dd929899.tar.bz2
linux-df356d5e81b04dd51dd9f23f2bce7d73dd929899.zip
bridge: Fix network header pointer for vlan tagged packets
There are several devices that can receive vlan tagged packets with CHECKSUM_PARTIAL like tap, possibly veth and xennet. When (multiple) vlan tagged packets with CHECKSUM_PARTIAL are forwarded by bridge to a device with the IP_CSUM feature, they end up with checksum error because before entering bridge, the network header is set to ETH_HLEN (not including vlan header length) in __netif_receive_skb_core(), get_rps_cpu(), or drivers' rx functions, and nobody fixes the pointer later. Since the network header is exepected to be ETH_HLEN in flow-dissection and hash-calculation in RPS in rx path, and since the header pointer fix is needed only in tx path, set the appropriate network header on forwarding packets. Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/wireless')
0 files changed, 0 insertions, 0 deletions