Commit 43aa1920117801fe9ae3d1fad886b62511e09bee

Authored by Stephen Hemminger
Committed by David S. Miller
1 parent 3d00fb9eb1

bridge: handle process all link-local frames

Any frame addressed to link-local addresses should be processed by local
receive path. The earlier code would process them only if STP was enabled.
Since there are other frames like LACP for bonding, we should always
process them.

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>

Showing 1 changed file with 5 additions and 8 deletions Side-by-side Diff

net/bridge/br_input.c
... ... @@ -134,14 +134,11 @@
134 134 if (skb->protocol == htons(ETH_P_PAUSE))
135 135 goto drop;
136 136  
137   - /* Process STP BPDU's through normal netif_receive_skb() path */
138   - if (p->br->stp_enabled != BR_NO_STP) {
139   - if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
140   - NULL, br_handle_local_finish))
141   - return NULL;
142   - else
143   - return skb;
144   - }
  137 + if (NF_HOOK(PF_BRIDGE, NF_BR_LOCAL_IN, skb, skb->dev,
  138 + NULL, br_handle_local_finish))
  139 + return NULL; /* frame consumed by filter */
  140 + else
  141 + return skb; /* continue processing */
145 142 }
146 143  
147 144 switch (p->state) {