Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 64606
b: refs/heads/master
c: df1c0b8
h: refs/heads/master
v: v3
  • Loading branch information
Stephen Hemminger authored and David S. Miller committed Aug 31, 2007
1 parent 8667d2f commit 4f36b48
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b91ddd843751947e2f81dfc8a86c5c21cbe07158
refs/heads/master: df1c0b8468b34628ed12b103804a4576cd9af8bb
5 changes: 5 additions & 0 deletions trunk/net/bridge/br_fdb.c
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,11 @@ void br_fdb_update(struct net_bridge *br, struct net_bridge_port *source,
if (hold_time(br) == 0)
return;

/* ignore packets unless we are using this port */
if (!(source->state == BR_STATE_LEARNING ||
source->state == BR_STATE_FORWARDING))
return;

fdb = fdb_find(head, addr);
if (likely(fdb)) {
/* attempt to update an entry for a local interface */
Expand Down
3 changes: 1 addition & 2 deletions trunk/net/bridge/br_input.c
Original file line number Diff line number Diff line change
Expand Up @@ -101,9 +101,8 @@ static int br_handle_local_finish(struct sk_buff *skb)
{
struct net_bridge_port *p = rcu_dereference(skb->dev->br_port);

if (p && p->state != BR_STATE_DISABLED)
if (p)
br_fdb_update(p->br, p, eth_hdr(skb)->h_source);

return 0; /* process further */
}

Expand Down

0 comments on commit 4f36b48

Please sign in to comment.