X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Flynxis%2Fomap.git;a=blobdiff_plain;f=target%2Flinux%2Fgeneric%2Fpatches-3.14%2F120-bridge_allow_receiption_on_disabled_port.patch;h=d12f7a6c59d4c039f9cddc23b2fc0e693332c574;hp=948d4eb18b1eea179de5ea22fa2d4e71a67d1645;hb=abc694b463dd9c2f2c9a7b22c3191260b94b1f04;hpb=4fe76889c0e956d6a7d1ee96af5f681e8e81ee8b 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 948d4eb18b..d12f7a6c59 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 + 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 */