Browse Source

bridge: multicast: notify on group delete

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>
Nikolay Aleksandrov 10 years ago
parent
commit
ef8299de7e
1 changed files with 2 additions and 0 deletions
  1. 2 0
      net/bridge/br_multicast.c

+ 2 - 0
net/bridge/br_multicast.c

@@ -273,6 +273,8 @@ static void br_multicast_del_pg(struct net_bridge *br,
 		rcu_assign_pointer(*pp, p->next);
 		rcu_assign_pointer(*pp, p->next);
 		hlist_del_init(&p->mglist);
 		hlist_del_init(&p->mglist);
 		del_timer(&p->timer);
 		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);
 		call_rcu_bh(&p->rcu, br_multicast_free_pg);
 
 
 		if (!mp->ports && !mp->mglist &&
 		if (!mp->ports && !mp->mglist &&