summaryrefslogtreecommitdiffstats
path: root/net/bridge/br_multicast.c
diff options
context:
space:
mode:
authorCong Wang <amwang@redhat.com>2012-12-11 22:23:07 +0000
committerDavid S. Miller <davem@davemloft.net>2012-12-12 13:02:30 -0500
commit37a393bc4932d7bac360f40064aaafc01ab44901 (patch)
tree61a0a7cd1ab9db418558dbc44d4455868b7220cb /net/bridge/br_multicast.c
parentfd0ea7dbfae16015e72c4bbc6b1b43fffc3b914f (diff)
downloadop-kernel-dev-37a393bc4932d7bac360f40064aaafc01ab44901.zip
op-kernel-dev-37a393bc4932d7bac360f40064aaafc01ab44901.tar.gz
bridge: notify mdb changes via netlink
As Stephen mentioned, we need to monitor the mdb changes in user-space, so add notifications via netlink too. Cc: Herbert Xu <herbert@gondor.apana.org.au> Cc: Stephen Hemminger <shemminger@vyatta.com> Cc: "David S. Miller" <davem@davemloft.net> Cc: Thomas Graf <tgraf@suug.ch> Signed-off-by: Cong Wang <amwang@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/bridge/br_multicast.c')
-rw-r--r--net/bridge/br_multicast.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c
index 847b98a1..d929586 100644
--- a/net/bridge/br_multicast.c
+++ b/net/bridge/br_multicast.c
@@ -681,6 +681,7 @@ static int br_multicast_add_group(struct net_bridge *br,
(unsigned long)p);
rcu_assign_pointer(*pp, p);
+ br_mdb_notify(br->dev, port, group, RTM_NEWMDB);
found:
mod_timer(&p->timer, now + br->multicast_membership_interval);
@@ -1240,6 +1241,7 @@ static void br_multicast_leave_group(struct net_bridge *br,
hlist_del_init(&p->mglist);
del_timer(&p->timer);
call_rcu_bh(&p->rcu, br_multicast_free_pg);
+ br_mdb_notify(br->dev, port, group, RTM_DELMDB);
if (!mp->ports && !mp->mglist &&
netif_running(br->dev))
OpenPOWER on IntegriCloud