generic: early (incomplete!) 4.0 support
[openwrt/svn-archive/archive.git] / target / linux / generic / patches-4.0 / 640-bridge_no_eap_forward.patch
diff --git a/target/linux/generic/patches-4.0/640-bridge_no_eap_forward.patch b/target/linux/generic/patches-4.0/640-bridge_no_eap_forward.patch
new file mode 100644 (file)
index 0000000..7a9dc26
--- /dev/null
@@ -0,0 +1,15 @@
+--- a/net/bridge/br_input.c
++++ b/net/bridge/br_input.c
+@@ -153,7 +153,11 @@ int br_handle_frame_finish(struct sk_buf
+       dst = NULL;
+-      if (is_broadcast_ether_addr(dest)) {
++      if (skb->protocol == htons(ETH_P_PAE)) {
++              skb2 = skb;
++              /* Do not forward 802.1x/EAP frames */
++
++      } else if (is_broadcast_ether_addr(dest)) {
+               if (IS_ENABLED(CONFIG_INET) &&
+                   p->flags & BR_PROXYARP &&
+                   skb->protocol == htons(ETH_P_ARP))