mirror of
https://git.proxmox.com/git/mirror_frr
synced 2025-08-13 21:10:28 +00:00
pimd, pim6d: Fix join prune handling
When upstream RPF address is secondary address, and neighborship is built with primary address, then pim_neighbor_find() fails. Verify the upstream RPF address is present in the neighbor primary and secondary address list. Signed-off-by: Sarita Patra <saritap@vmware.com>
This commit is contained in:
parent
689b9f10fc
commit
d77da853f0
@ -327,7 +327,7 @@ static void join_timer_stop(struct pim_upstream *up)
|
||||
|
||||
if (up->rpf.source_nexthop.interface)
|
||||
nbr = pim_neighbor_find(up->rpf.source_nexthop.interface,
|
||||
up->rpf.rpf_addr);
|
||||
up->rpf.rpf_addr, true);
|
||||
|
||||
if (nbr)
|
||||
pim_jp_agg_remove_group(nbr->upstream_jp_agg, up, nbr);
|
||||
@ -341,7 +341,7 @@ void join_timer_start(struct pim_upstream *up)
|
||||
|
||||
if (up->rpf.source_nexthop.interface) {
|
||||
nbr = pim_neighbor_find(up->rpf.source_nexthop.interface,
|
||||
up->rpf.rpf_addr);
|
||||
up->rpf.rpf_addr, true);
|
||||
|
||||
if (PIM_DEBUG_PIM_EVENTS) {
|
||||
zlog_debug(
|
||||
@ -433,7 +433,8 @@ void pim_upstream_join_suppress(struct pim_upstream *up, pim_addr rpf,
|
||||
else {
|
||||
/* Remove it from jp agg from the nbr for suppression */
|
||||
nbr = pim_neighbor_find(up->rpf.source_nexthop.interface,
|
||||
up->rpf.rpf_addr);
|
||||
up->rpf.rpf_addr, true);
|
||||
|
||||
if (nbr) {
|
||||
join_timer_remain_msec =
|
||||
pim_time_timer_remain_msec(nbr->jp_timer);
|
||||
@ -485,7 +486,8 @@ void pim_upstream_join_timer_decrease_to_t_override(const char *debug_label,
|
||||
struct pim_neighbor *nbr;
|
||||
|
||||
nbr = pim_neighbor_find(up->rpf.source_nexthop.interface,
|
||||
up->rpf.rpf_addr);
|
||||
up->rpf.rpf_addr, true);
|
||||
|
||||
if (nbr)
|
||||
join_timer_remain_msec =
|
||||
pim_time_timer_remain_msec(nbr->jp_timer);
|
||||
|
Loading…
Reference in New Issue
Block a user