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;