summaryrefslogtreecommitdiff
path: root/target/linux/generic/patches-3.14/120-bridge_allow_receiption_on_disabled_port.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/generic/patches-3.14/120-bridge_allow_receiption_on_disabled_port.patch')
-rw-r--r--target/linux/generic/patches-3.14/120-bridge_allow_receiption_on_disabled_port.patch8
1 files changed, 4 insertions, 4 deletions
diff --git a/target/linux/generic/patches-3.14/120-bridge_allow_receiption_on_disabled_port.patch b/target/linux/generic/patches-3.14/120-bridge_allow_receiption_on_disabled_port.patch
index 948d4eb..d12f7a6 100644
--- a/target/linux/generic/patches-3.14/120-bridge_allow_receiption_on_disabled_port.patch
+++ b/target/linux/generic/patches-3.14/120-bridge_allow_receiption_on_disabled_port.patch
@@ -23,11 +23,11 @@ Signed-off-by: Felix Fietkau <nbd@openwrt.org>
+ if (p->state != BR_STATE_DISABLED) {
+ u16 vid = 0;
-- br_vlan_get_tag(skb, &vid);
-- if (p->flags & BR_LEARNING)
+- /* check if vlan is allowed, to avoid spoofing */
+- if (p->flags & BR_LEARNING && br_should_learn(p, skb, &vid))
- br_fdb_update(p->br, p, eth_hdr(skb)->h_source, vid, false);
-+ br_vlan_get_tag(skb, &vid);
-+ if (p->flags & BR_LEARNING)
++ /* check if vlan is allowed, to avoid spoofing */
++ if (p->flags & BR_LEARNING && br_should_learn(p, skb, &vid))
+ br_fdb_update(p->br, p, eth_hdr(skb)->h_source, vid, false);
+ }
return 0; /* process further */