bridge: Fix br_should_learn to check vlan_enabled
[ Upstream commitc095f248e6
] As Toshiaki Makita pointed out, the BRIDGE_INPUT_SKB_CB will not be initialized in br_should_learn() as that function is called only from br_handle_local_finish(). That is an input handler for link-local ethernet traffic so it perfectly correct to check br->vlan_enabled here. Reported-by: Toshiaki Makita<toshiaki.makita1@gmail.com> Fixes:20adfa1
bridge: Check if vlan filtering is enabled only once. Signed-off-by: Vladislav Yasevich <vyasevic@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
00397b6701
commit
8b30313efc
|
@ -254,7 +254,7 @@ bool br_should_learn(struct net_bridge_port *p, struct sk_buff *skb, u16 *vid)
|
|||
struct net_port_vlans *v;
|
||||
|
||||
/* If filtering was disabled at input, let it pass. */
|
||||
if (!BR_INPUT_SKB_CB(skb)->vlan_filtered)
|
||||
if (!br->vlan_enabled)
|
||||
return true;
|
||||
|
||||
v = rcu_dereference(p->vlan_info);
|
||||
|
|
Loading…
Reference in New Issue