From: Toshiaki Makita <makita.toshiaki@xxxxxxxxxxxxx> 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 <makita.toshiaki@xxxxxxxxxxxxx> Applied, thank you.