summaryrefslogtreecommitdiff
path: root/pimd/pim_zebra.c
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-03-28 22:08:37 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2019-03-29 12:44:05 -0400
commit9d6c33eadfde3baf29bee3bc72cd06ae5ea8a196 (patch)
treee1dbea776fce13e34db0578e85bec6d64e0f077b /pimd/pim_zebra.c
parente4bed55b513e4b3e1bf8b41883851f7f3bcbfbb7 (diff)
bfdd, nhrpd, pimd: When deleting an interface clean up
When we delete an interface, we need to set the interface ifindex to an internal value so that we don't end up in a state where the re-addition of the same ifindex, due to a rename operation, causes an infinite loop. Fixes:#4007 Fix-Suggested-by: Saravanan K Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_zebra.c')
-rw-r--r--pimd/pim_zebra.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 78cccd5877..753efb9500 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -150,6 +150,8 @@ static int pim_zebra_if_del(int command, struct zclient *zclient,
if (!if_is_operative(ifp))
pim_if_addr_del_all(ifp);
+ if_set_index(ifp, IFINDEX_INTERNAL);
+
return 0;
}