From cb8d50ecd9ece327d0d4affc19f0bd063081098a Mon Sep 17 00:00:00 2001 From: Sarita Patra Date: Tue, 18 Oct 2022 17:32:11 -0700 Subject: [PATCH] pimd, pim6d: Fix pim upstream rpf change When upstream RPF address is secondary, and neighborship is built with primary address, then pim_neighbor_find() fails, due to which when there is upstream change it wont send prune. Verify the nexthop is present in the neighbor primary and secondary address list. Signed-off-by: Sarita Patra (cherry picked from commit 689b9f10fc33387414c8077cd8cacd2eb2fc7198) --- pimd/pim_zebra.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pimd/pim_zebra.c b/pimd/pim_zebra.c index 2c76fd6868..6377deca21 100644 --- a/pimd/pim_zebra.c +++ b/pimd/pim_zebra.c @@ -270,7 +270,8 @@ void pim_zebra_upstream_rpf_changed(struct pim_instance *pim, struct pim_neighbor *nbr; nbr = pim_neighbor_find(old->source_nexthop.interface, - old->rpf_addr); + old->rpf_addr, true); + if (nbr) pim_jp_agg_remove_group(nbr->upstream_jp_agg, up, nbr); -- 2.39.5