Re: [PATCH net] bridge: Fix network header pointer for vlan tagged packets
From: David Miller <davem@davemloft.net>
Date: 2015-07-29 19:21:23
Also in:
bridge
From: David Miller <davem@davemloft.net>
Date: 2015-07-29 19:21:23
Also in:
bridge
From: Toshiaki Makita <redacted> Date: Tue, 28 Jul 2015 19:05:37 +0900
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 <redacted>
Applied, thank you.