Skip to content

Commit

Permalink
bridge: Do br_pass_frame_up after other ports
Browse files Browse the repository at this point in the history
At the moment we deliver to the local bridge port via the function
br_pass_frame_up before all other ports.  There is no requirement
for this.

For the purpose of IGMP snooping, it would be more convenient if
we did the local port last.  Therefore this patch rearranges the
bridge input processing so that the local bridge port gets to see
the packet last (if at all).

Signed-off-by: Herbert Xu <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
  • Loading branch information
herbertx authored and davem330 committed Feb 28, 2010
1 parent 4181b2c commit 87557c1
Showing 1 changed file with 3 additions and 3 deletions.
6 changes: 3 additions & 3 deletions net/bridge/br_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -73,16 +73,16 @@ int br_handle_frame_finish(struct sk_buff *skb)
if (skb2 == skb)
skb2 = skb_clone(skb, GFP_ATOMIC);

if (skb2)
br_pass_frame_up(br, skb2);

if (skb) {
if (dst)
br_forward(dst->dst, skb);
else
br_flood_forward(br, skb);
}

if (skb2)
br_pass_frame_up(br, skb2);

out:
return 0;
drop:
Expand Down

0 comments on commit 87557c1

Please sign in to comment.