diff options
Diffstat (limited to 'target/linux/generic/patches-4.3/641-bridge_always_accept_eap.patch')
-rw-r--r-- | target/linux/generic/patches-4.3/641-bridge_always_accept_eap.patch | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/target/linux/generic/patches-4.3/641-bridge_always_accept_eap.patch b/target/linux/generic/patches-4.3/641-bridge_always_accept_eap.patch new file mode 100644 index 0000000000..61f96e5ca7 --- /dev/null +++ b/target/linux/generic/patches-4.3/641-bridge_always_accept_eap.patch @@ -0,0 +1,17 @@ +From: Felix Fietkau <nbd@openwrt.org> +Subject: [PATCH] bridge: always accept EAP + +Allow EAP frames to pass through bridges even in learning state. Fixes +issues with WDS. +--- +--- a/net/bridge/br_input.c ++++ b/net/bridge/br_input.c +@@ -146,7 +146,7 @@ int br_handle_frame_finish(struct sock * + br_multicast_rcv(br, p, skb, vid)) + goto drop; + +- if (p->state == BR_STATE_LEARNING) ++ if ((p->state == BR_STATE_LEARNING) && skb->protocol != htons(ETH_P_PAE)) + goto drop; + + BR_INPUT_SKB_CB(skb)->brdev = br->dev; |