summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2016-11-29 08:47:40 -0500
committerDonald Sharp <sharpd@cumulusnetworks.com>2016-12-21 20:26:17 -0500
commitda3dcffb66615560647abd9a3825d24822571bdd (patch)
treec315c8e83d1dbff23d9f8bd9c02a75d933ff9bfb
parenta04da05a5397f5397faaa70165735f2447e4a6cc (diff)
pimd: Add more RP rescan points
When we add in or delete ip addresses from an interface we may need to rescan the rp's that we know of to make sure that they are still available. Ticket: CM-12623 Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com> Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
-rw-r--r--pimd/pim_iface.c4
-rw-r--r--pimd/pim_zebra.c1
2 files changed, 4 insertions, 1 deletions
diff --git a/pimd/pim_iface.c b/pimd/pim_iface.c
index b5f1fadca5..0a104acef1 100644
--- a/pimd/pim_iface.c
+++ b/pimd/pim_iface.c
@@ -715,7 +715,7 @@ void pim_if_addr_add_all(struct interface *ifp)
}
} /* pim */
}
-
+ pim_rp_setup();
pim_rp_check_on_if_add(pim_ifp);
}
@@ -737,6 +737,8 @@ void pim_if_addr_del_all(struct interface *ifp)
pim_if_addr_del(ifc, 1 /* force_prim_as_any=true */);
}
+
+ pim_rp_setup();
pim_i_am_rp_re_evaluate();
}
diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c
index 9239f875c4..44b92a8c0b 100644
--- a/pimd/pim_zebra.c
+++ b/pimd/pim_zebra.c
@@ -348,6 +348,7 @@ static int pim_zebra_if_address_del(int command, struct zclient *client,
}
pim_if_addr_del(c, 0);
+ pim_rp_setup();
pim_i_am_rp_re_evaluate();
return 0;