640-bridge_no_eap_forward.patch 676 B

1234567891011121314151617181920212223
  1. From: Felix Fietkau <nbd@nbd.name>
  2. Subject: [PATCH] bridge: no EAP forward
  3. When bridging, do not forward EAP frames to other ports, only deliver
  4. them locally.
  5. Fixes WPA authentication issues with multiples APs that are connected to
  6. each other via bridges.
  7. ---
  8. --- a/net/bridge/br_input.c
  9. +++ b/net/bridge/br_input.c
  10. @@ -97,7 +97,11 @@ int br_handle_frame_finish(struct sk_buf
  11. dst = NULL;
  12. - if (is_broadcast_ether_addr(dest)) {
  13. + if (skb->protocol == htons(ETH_P_PAE)) {
  14. + skb2 = skb;
  15. + /* Do not forward 802.1x/EAP frames */
  16. + skb = NULL;
  17. + } else if (is_broadcast_ether_addr(dest)) {
  18. skb2 = skb;
  19. unicast = false;
  20. } else if (is_multicast_ether_addr(dest)) {