bridge: multicast: notify on group delete
authorNikolay Aleksandrov <nikolay@cumulusnetworks.com>
Wed, 15 Jul 2015 14:16:50 +0000 (07:16 -0700)
committerDavid S. Miller <davem@davemloft.net>
Mon, 20 Jul 2015 19:49:10 +0000 (12:49 -0700)
Group notifications were not sent when a group expired or was deleted
due to bridge/port device being deleted. So add br_mdb_notify() to
br_multicast_del_pg().

Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/bridge/br_multicast.c

index 5a44cd9473f2e03506f809f817f5b6904c6314a7..55903d91d0a877857722f10f1da70ed4ef998646 100644 (file)
@@ -273,6 +273,8 @@ static void br_multicast_del_pg(struct net_bridge *br,
                rcu_assign_pointer(*pp, p->next);
                hlist_del_init(&p->mglist);
                del_timer(&p->timer);
+               br_mdb_notify(br->dev, p->port, &pg->addr, RTM_DELMDB,
+                             p->state);
                call_rcu_bh(&p->rcu, br_multicast_free_pg);
 
                if (!mp->ports && !mp->mglist &&