From: Donald Sharp Date: Tue, 29 Nov 2016 13:14:35 +0000 (-0500) Subject: pimd: Only check to see if current rp is 'right' or not. X-Git-Tag: frr-3.0-branchpoint~64^2~10^2~58 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=a04da05a5397f5397faaa70165735f2447e4a6cc;p=mirror%2Ffrr.git pimd: Only check to see if current rp is 'right' or not. When a new rp is entered, pim is looking at all rp's and failing the check if any of the RP's have no path to the RP, instead of the one that was just entered being wrong. Ticket: CM-12623 Signed-off-by: Donald Sharp Reviewed-by: Don Slice --- diff --git a/pimd/pim_rp.c b/pimd/pim_rp.c index 98339ee095..ba464e98c6 100644 --- a/pimd/pim_rp.c +++ b/pimd/pim_rp.c @@ -400,7 +400,7 @@ pim_rp_new (const char *rp, const char *group_range, const char *plist) rp_all->rp.rpf_addr = rp_info->rp.rpf_addr; XFREE (MTYPE_PIM_RP, rp_info); - if (!pim_rp_setup ()) + if (pim_nexthop_lookup (&rp_all->rp.source_nexthop, rp_all->rp.rpf_addr.u.prefix4, 1) != 0) return PIM_RP_NO_PATH; pim_rp_check_interfaces (rp_all); @@ -447,7 +447,7 @@ pim_rp_new (const char *rp, const char *group_range, const char *plist) listnode_add_sort (qpim_rp_list, rp_info); - if (!pim_rp_setup ()) + if (pim_nexthop_lookup (&rp_info->rp.source_nexthop, rp_info->rp.rpf_addr.u.prefix4, 1) != 0) return PIM_RP_NO_PATH; pim_rp_check_interfaces (rp_info);