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 <sharpd@cumulusnetworks.com>
Reviewed-by: Don Slice <dslice@cumulusnetworks.com>
This commit is contained in:
Donald Sharp 2016-11-29 08:14:35 -05:00
parent 44521e5d2d
commit a04da05a53

View File

@ -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);