summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2018-11-15 19:28:43 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2018-11-15 19:28:43 -0500
commitb96892db623b53e0e8d094088b97ee6b901c9d20 (patch)
tree39d448257f2528fafde3fb2adb8945fe8c14e4d9
parent78b0c6bfa704237907444a89abb62dd5d062909b (diff)
pimd: When we fail to initiate ifchannel backout work done
When we receive a igmp report and attempt to initiate a pim ifchannel for it and that fails to work then let's back out the work done setting stuff up to this point. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
-rw-r--r--pimd/pim_zebra.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 3dfc36a0c2..10ea17cf1f 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -1048,6 +1048,10 @@ void igmp_source_forward_start(struct pim_instance *pim,
__PRETTY_FUNCTION__,
pim_str_sg_dump(&sg),
group->group_igmp_sock->interface->name);
+
+ pim_channel_del_oif(source->source_channel_oil,
+ group->group_igmp_sock->interface,
+ PIM_OIF_FLAG_PROTO_IGMP);
return;
}
/*
@@ -1059,6 +1063,10 @@ void igmp_source_forward_start(struct pim_instance *pim,
if (PIM_DEBUG_MROUTE)
zlog_warn("%s: Failure to add local membership for %s",
__PRETTY_FUNCTION__, pim_str_sg_dump(&sg));
+
+ pim_channel_del_oif(source->source_channel_oil,
+ group->group_igmp_sock->interface,
+ PIM_OIF_FLAG_PROTO_IGMP);
return;
}