summaryrefslogtreecommitdiff
path: root/net/bridge
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2013-04-19 02:04:29 +0000
committerDavid S. Miller <davem@davemloft.net>2013-04-19 14:45:27 -0400
commit1fd9b1fc310314911f66d2f14a8e4f0ef37bf47b (patch)
tree20422146c46fb38a5cdd0d14e671a0793c3389b4 /net/bridge
parent80d5c3689b886308247da295a228a54df49a44f6 (diff)
downloadlinux-3.10-1fd9b1fc310314911f66d2f14a8e4f0ef37bf47b.tar.gz
linux-3.10-1fd9b1fc310314911f66d2f14a8e4f0ef37bf47b.tar.bz2
linux-3.10-1fd9b1fc310314911f66d2f14a8e4f0ef37bf47b.zip
net: vlan: prepare for 802.1ad support
Make the encapsulation protocol value a property of VLAN devices and change the device lookup functions to take the protocol value into account. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge')
-rw-r--r--net/bridge/br_netfilter.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/bridge/br_netfilter.c b/net/bridge/br_netfilter.c
index fe43bc7b063..bd61bf5159c 100644
--- a/net/bridge/br_netfilter.c
+++ b/net/bridge/br_netfilter.c
@@ -535,7 +535,8 @@ static struct net_device *brnf_get_logical_dev(struct sk_buff *skb, const struct
if (brnf_pass_vlan_indev == 0 || !vlan_tx_tag_present(skb))
return br;
- vlan = __vlan_find_dev_deep(br, vlan_tx_tag_get(skb) & VLAN_VID_MASK);
+ vlan = __vlan_find_dev_deep(br, htons(ETH_P_8021Q),
+ vlan_tx_tag_get(skb) & VLAN_VID_MASK);
return vlan ? vlan : br;
}