Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 300758
b: refs/heads/master
c: 7485721
h: refs/heads/master
v: v3
  • Loading branch information
Herbert Xu authored and David S. Miller committed Apr 15, 2012
1 parent 86507ee commit 66371c9
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 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: 95c961747284a6b83a5e2d81240e214b0fa3464d
refs/heads/master: 748572162a2bc3ce6f0b215e25ad601c3ec33e77
25 changes: 16 additions & 9 deletions trunk/net/bridge/br_multicast.c
Original file line number Diff line number Diff line change
Expand Up @@ -1689,9 +1689,23 @@ int br_multicast_set_port_router(struct net_bridge_port *p, unsigned long val)
return err;
}

int br_multicast_toggle(struct net_bridge *br, unsigned long val)
static void br_multicast_start_querier(struct net_bridge *br)
{
struct net_bridge_port *port;

br_multicast_open(br);

list_for_each_entry(port, &br->port_list, list) {
if (port->state == BR_STATE_DISABLED ||
port->state == BR_STATE_BLOCKING)
continue;

__br_multicast_enable_port(port);
}
}

int br_multicast_toggle(struct net_bridge *br, unsigned long val)
{
int err = 0;
struct net_bridge_mdb_htable *mdb;

Expand Down Expand Up @@ -1721,14 +1735,7 @@ int br_multicast_toggle(struct net_bridge *br, unsigned long val)
goto rollback;
}

br_multicast_open(br);
list_for_each_entry(port, &br->port_list, list) {
if (port->state == BR_STATE_DISABLED ||
port->state == BR_STATE_BLOCKING)
continue;

__br_multicast_enable_port(port);
}
br_multicast_start_querier(br);

unlock:
spin_unlock_bh(&br->multicast_lock);
Expand Down

0 comments on commit 66371c9

Please sign in to comment.