summaryrefslogtreecommitdiff
path: root/pimd/pim_igmp.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_igmp.c')
-rw-r--r--pimd/pim_igmp.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/pimd/pim_igmp.c b/pimd/pim_igmp.c
index 063ba6edd2..1ba9bc45a2 100644
--- a/pimd/pim_igmp.c
+++ b/pimd/pim_igmp.c
@@ -213,15 +213,17 @@ void igmp_source_forward_stop(struct gm_source *source)
IGMP_SOURCE_TEST_FORWARDING(source->source_flags));
}
+ group = source->source_group;
+ pim_oif = group->interface->info;
+
/* Prevent IGMP interface from removing multicast route multiple
times */
if (!IGMP_SOURCE_TEST_FORWARDING(source->source_flags)) {
+ tib_sg_proxy_join_prune_check(pim_oif->pim, sg,
+ group->interface, false);
return;
}
- group = source->source_group;
- pim_oif = group->interface->info;
-
tib_sg_gm_prune(pim_oif->pim, sg, group->interface,
&source->source_channel_oil);
IGMP_SOURCE_DONT_FORWARDING(source->source_flags);