summaryrefslogtreecommitdiff
path: root/pimd/pim_rp.c
diff options
context:
space:
mode:
authorAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-11-15 11:19:53 -0800
committerAnuradha Karuppiah <anuradhak@cumulusnetworks.com>2019-11-15 12:00:29 -0800
commita749b9004136bd7c550c54f8f21d1e84b1569c20 (patch)
treeab1ad5b213182edaf28976ca2b62b580403064f5 /pimd/pim_rp.c
parent9929a2a9af74fa96900d670e714e8fa613c44f45 (diff)
pimd: on some triggers use_rpt re-evaluated for all groups
RP config change is a big hammer and use_rpt/spt needs to be re-evaluated on all existing (S,G) entries. Signed-off-by: Anuradha Karuppiah <anuradhak@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_rp.c')
-rw-r--r--pimd/pim_rp.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c
index 9ccba37f10..e85b1dd72d 100644
--- a/pimd/pim_rp.c
+++ b/pimd/pim_rp.c
@@ -274,6 +274,7 @@ struct rp_info *pim_rp_find_match_group(struct pim_instance *pim,
static void pim_rp_refresh_group_to_rp_mapping(struct pim_instance *pim)
{
pim_msdp_i_am_rp_changed(pim);
+ pim_upstream_reeval_use_rpt(pim);
}
void pim_rp_prefix_list_update(struct pim_instance *pim,
@@ -1041,6 +1042,7 @@ void pim_rp_check_on_if_add(struct pim_interface *pim_ifp)
if (i_am_rp_changed) {
pim_msdp_i_am_rp_changed(pim);
+ pim_upstream_reeval_use_rpt(pim);
}
}
@@ -1083,6 +1085,7 @@ void pim_i_am_rp_re_evaluate(struct pim_instance *pim)
if (i_am_rp_changed) {
pim_msdp_i_am_rp_changed(pim);
+ pim_upstream_reeval_use_rpt(pim);
}
}