640-bridge_no_eap_forward.patch 420 B

123456789101112131415
  1. --- a/net/bridge/br_input.c
  2. +++ b/net/bridge/br_input.c
  3. @@ -78,7 +78,11 @@ int br_handle_frame_finish(struct sk_buf
  4. dst = NULL;
  5. - if (is_broadcast_ether_addr(dest))
  6. + if (skb->protocol == htons(ETH_P_PAE)) {
  7. + skb2 = skb;
  8. + /* Do not forward 802.1x/EAP frames */
  9. + skb = NULL;
  10. + } else if (is_broadcast_ether_addr(dest))
  11. skb2 = skb;
  12. else if (is_multicast_ether_addr(dest)) {
  13. mdst = br_mdb_get(br, skb);