]> git.baikalelectronics.ru Git - kernel.git/commit
bridge: Fix inabillity to retrieve vlan tags when tx offload is disabled
authorToshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Thu, 27 Mar 2014 12:46:55 +0000 (21:46 +0900)
committerDavid S. Miller <davem@davemloft.net>
Fri, 28 Mar 2014 20:33:09 +0000 (16:33 -0400)
commit24e79528331be4f5ba3be9b72a7a5d6d6ba68ffa
treec4fb3f4b93f4571483327501011be6668ceb3a76
parente270824507ad2efdf3ba659486245dd6c834445f
bridge: Fix inabillity to retrieve vlan tags when tx offload is disabled

Bridge vlan code (br_vlan_get_tag()) assumes that all frames have vlan_tci
if they are tagged, but if vlan tx offload is manually disabled on bridge
device and frames are sent from vlan device on the bridge device, the tags
are embedded in skb->data and they break this assumption.
Extract embedded vlan tags and move them to vlan_tci at ingress.

Signed-off-by: Toshiaki Makita <makita.toshiaki@lab.ntt.co.jp>
Acked-by: Vlad Yasevich <vyasevic@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_device.c
net/bridge/br_vlan.c