diff options
author | Nikolay Aleksandrov <nikolay@nvidia.com> | 2021-01-20 15:52:03 +0100 |
---|---|---|
committer | Jakub Kicinski <kuba@kernel.org> | 2021-01-23 04:39:57 +0100 |
commit | d5a1022283c3b0baa252506b34178266a4c0db4d (patch) | |
tree | 3b3ae152c98b959dd40543a219fa151bf19f1fe1 /net/bridge/br_multicast_eht.c | |
parent | net: bridge: multicast: handle block pg delete for all cases (diff) | |
download | linux-d5a1022283c3b0baa252506b34178266a4c0db4d.tar.xz linux-d5a1022283c3b0baa252506b34178266a4c0db4d.zip |
net: bridge: multicast: mark IGMPv3/MLDv2 fast-leave deletes
Mark groups which were deleted due to fast leave/EHT.
Signed-off-by: Nikolay Aleksandrov <nikolay@nvidia.com>
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'net/bridge/br_multicast_eht.c')
-rw-r--r-- | net/bridge/br_multicast_eht.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/net/bridge/br_multicast_eht.c b/net/bridge/br_multicast_eht.c index 64ccbd4ae9d9..a4fa1760bc8a 100644 --- a/net/bridge/br_multicast_eht.c +++ b/net/bridge/br_multicast_eht.c @@ -537,7 +537,7 @@ static bool __eht_allow_excl(struct net_bridge_port_group *pg, src_ent = br_multicast_find_group_src(pg, &src_ip); if (!src_ent) continue; - br_multicast_del_group_src(src_ent); + br_multicast_del_group_src(src_ent, true); changed = true; } } @@ -588,7 +588,7 @@ static bool __eht_block_incl(struct net_bridge_port_group *pg, src_ent = br_multicast_find_group_src(pg, &src_ip); if (!src_ent) continue; - br_multicast_del_group_src(src_ent); + br_multicast_del_group_src(src_ent, true); changed = true; } @@ -625,7 +625,7 @@ static bool __eht_block_excl(struct net_bridge_port_group *pg, src_ent = br_multicast_find_group_src(pg, &src_ip); if (!src_ent) continue; - br_multicast_del_group_src(src_ent); + br_multicast_del_group_src(src_ent, true); changed = true; } } @@ -689,7 +689,7 @@ static bool __eht_inc_exc(struct net_bridge_port_group *pg, br_multicast_ip_src_to_eht_addr(&src_ent->addr, &eht_src_addr); if (!br_multicast_eht_set_lookup(pg, &eht_src_addr)) { - br_multicast_del_group_src(src_ent); + br_multicast_del_group_src(src_ent, true); changed = true; continue; } |