diff options
Diffstat (limited to 'target/linux/generic/patches-3.0/640-bridge_no_eap_forward.patch')
-rw-r--r-- | target/linux/generic/patches-3.0/640-bridge_no_eap_forward.patch | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/target/linux/generic/patches-3.0/640-bridge_no_eap_forward.patch b/target/linux/generic/patches-3.0/640-bridge_no_eap_forward.patch index dac898276d..778efac2b9 100644 --- a/target/linux/generic/patches-3.0/640-bridge_no_eap_forward.patch +++ b/target/linux/generic/patches-3.0/640-bridge_no_eap_forward.patch @@ -4,12 +4,12 @@ dst = NULL; -- if (is_multicast_ether_addr(dest)) { +- if (is_broadcast_ether_addr(dest)) + if (skb->protocol == htons(ETH_P_PAE)) { + skb2 = skb; + /* Do not forward 802.1x/EAP frames */ + skb = NULL; -+ } else if (is_multicast_ether_addr(dest)) { ++ } else if (is_broadcast_ether_addr(dest)) + skb2 = skb; + else if (is_multicast_ether_addr(dest)) { mdst = br_mdb_get(br, skb); - if (mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) { - if ((mdst && mdst->mglist) || |