]> git.proxmox.com Git - mirror_frr.git/commitdiff
pimd, pim6d: fix pim neighbor check in pim_nexthop_lookup
authorSarita Patra <saritap@vmware.com>
Tue, 18 Oct 2022 23:31:00 +0000 (16:31 -0700)
committerMergify <37929162+mergify[bot]@users.noreply.github.com>
Thu, 2 Mar 2023 06:11:18 +0000 (06:11 +0000)
When there is a mismatch in nexthop address (secondary address)
and neighborship address(primary address) on the same interface,
RPF check fails.

This is fixed now.

Signed-off-by: Sarita Patra <saritap@vmware.com>
(cherry picked from commit e14ba248742cd56b903ccd965576ac18ad41d310)

pimd/pim_rpf.c

index d237a73126308a8724c04d693ef606f7850d41e0..3ec2e53ae693c11ce7d8705aac9a8f09f552e04c 100644 (file)
@@ -129,8 +129,8 @@ bool pim_nexthop_lookup(struct pim_instance *pim, struct pim_nexthop *nexthop,
                        i++;
                } else if (neighbor_needed &&
                           !pim_if_connected_to_source(ifp, addr)) {
-                       nbr = pim_neighbor_find(ifp,
-                                               nexthop_tab[i].nexthop_addr);
+                       nbr = pim_neighbor_find(
+                               ifp, nexthop_tab[i].nexthop_addr, true);
                        if (PIM_DEBUG_PIM_TRACE_DETAIL)
                                zlog_debug("ifp name: %s, pim nbr: %p",
                                           ifp->name, nbr);