aboutsummaryrefslogtreecommitdiffstats
path: root/net/bridge/br_multicast_eht.c
diff options
context:
space:
mode:
authorNikolay Aleksandrov <nikolay@nvidia.com>2021-01-20 16:52:03 +0200
committerJakub Kicinski <kuba@kernel.org>2021-01-22 19:39:57 -0800
commitd5a1022283c3b0baa252506b34178266a4c0db4d (patch)
tree3b3ae152c98b959dd40543a219fa151bf19f1fe1 /net/bridge/br_multicast_eht.c
parentnet: bridge: multicast: handle block pg delete for all cases (diff)
downloadlinux-dev-d5a1022283c3b0baa252506b34178266a4c0db4d.tar.xz
linux-dev-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.c8
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;
}