summaryrefslogtreecommitdiff
path: root/pimd/pim_igmpv3.c
diff options
context:
space:
mode:
Diffstat (limited to 'pimd/pim_igmpv3.c')
-rw-r--r--pimd/pim_igmpv3.c11
1 files changed, 1 insertions, 10 deletions
diff --git a/pimd/pim_igmpv3.c b/pimd/pim_igmpv3.c
index 15078dd1ec..18a9fb7c6c 100644
--- a/pimd/pim_igmpv3.c
+++ b/pimd/pim_igmpv3.c
@@ -319,14 +319,6 @@ void igmp_source_free(struct gm_source *source)
XFREE(MTYPE_PIM_IGMP_GROUP_SOURCE, source);
}
-static void source_channel_oil_detach(struct gm_source *source)
-{
- if (source->source_channel_oil) {
- pim_channel_oil_del(source->source_channel_oil, __func__);
- source->source_channel_oil = NULL;
- }
-}
-
/*
igmp_source_delete: stop forwarding, and delete the source
igmp_source_forward_stop: stop forwarding, but keep the source
@@ -355,6 +347,7 @@ void igmp_source_delete(struct gm_source *source)
source_timer_off(group, source);
igmp_source_forward_stop(source);
+ source->source_channel_oil = NULL;
/* sanity check that forwarding has been disabled */
if (IGMP_SOURCE_TEST_FORWARDING(source->source_flags)) {
@@ -371,8 +364,6 @@ void igmp_source_delete(struct gm_source *source)
/* warning only */
}
- source_channel_oil_detach(source);
-
/*
notice that listnode_delete() can't be moved
into igmp_source_free() because the later is