kernel: when bridging, do not forward EAP frames to other ports, only deliver them...
[openwrt/svn-archive/archive.git] / target / linux / generic / patches-2.6.35 / 270-bridge_no_eap_forward.patch
1 --- a/net/bridge/br_input.c
2 +++ b/net/bridge/br_input.c
3 @@ -71,7 +71,11 @@ int br_handle_frame_finish(struct sk_buf
4
5 dst = NULL;
6
7 - if (is_multicast_ether_addr(dest)) {
8 + if (skb->protocol == htons(ETH_P_PAE)) {
9 + skb2 = skb;
10 + /* Do not forward 802.1x/EAP frames */
11 + skb = NULL;
12 + } else if (is_multicast_ether_addr(dest)) {
13 mdst = br_mdb_get(br, skb);
14 if (mdst || BR_INPUT_SKB_CB_MROUTERS_ONLY(skb)) {
15 if ((mdst && !hlist_unhashed(&mdst->mglist)) ||