diff options
author | Nikolay Aleksandrov <nikolay@cumulusnetworks.com> | 2015-07-15 07:16:50 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-07-20 12:49:10 -0700 |
commit | ef8299de7e2bf61ed24d1da699fa5ba13549d5f8 (patch) | |
tree | bd2c16ec45a0bf269ca04fb414e6f1c1865780ad /net/bridge | |
parent | 03b6dc7d172fb46891d25e6cff43bd5762a918c1 (diff) | |
download | linux-ef8299de7e2bf61ed24d1da699fa5ba13549d5f8.tar.gz linux-ef8299de7e2bf61ed24d1da699fa5ba13549d5f8.tar.bz2 linux-ef8299de7e2bf61ed24d1da699fa5ba13549d5f8.zip |
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>
Diffstat (limited to 'net/bridge')
-rw-r--r-- | net/bridge/br_multicast.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/net/bridge/br_multicast.c b/net/bridge/br_multicast.c index 5a44cd9473f2..55903d91d0a8 100644 --- a/net/bridge/br_multicast.c +++ b/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); 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 && |