Commit 43aa1920117801fe9ae3d1fad886b62511e09bee
Committed by
David S. Miller
1 parent
3d00fb9eb1
Exists in
master
and in
39 other branches
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) { |