summaryrefslogtreecommitdiffstats
path: root/pimd/pim_msdp.c
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2024-10-30 22:21:50 +0100
committerNathan Bahr <nbahr@atcorp.com>2025-01-09 22:58:22 +0100
commite8d81ab5ce04237ddc28ac0dc4b29e49dd2a1979 (patch)
tree376ea42105e3924333bb7005ca6dcb8fd3cf309e /pimd/pim_msdp.c
parentpimd,yang: Expand rpf-lookup-mode command (diff)
downloadfrr-e8d81ab5ce04237ddc28ac0dc4b29e49dd2a1979.tar.xz
frr-e8d81ab5ce04237ddc28ac0dc4b29e49dd2a1979.zip
pimd: Implement rpf lookup mode as a list
Add the support to store lookup modes as a sorted list. List is non-unique and sorts mode with both lists < modes with one list < global mode (no lists). This way, when finding the right mode, we will match a lookup using a prefix list before the global mode. Add passing group address into all lookups (using nht cache and/or synchronous lookup). Many areas don't have a group address, use PIMADDR_ANY if no valid group is needed. Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
Diffstat (limited to 'pimd/pim_msdp.c')
-rw-r--r--pimd/pim_msdp.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c
index 5e5ee5e91..46d5f4881 100644
--- a/pimd/pim_msdp.c
+++ b/pimd/pim_msdp.c
@@ -706,7 +706,7 @@ bool pim_msdp_peer_rpf_check(struct pim_msdp_peer *mp, struct in_addr rp)
}
/* check if the MSDP peer is the nexthop for the RP */
- if (pim_nht_lookup(mp->pim, &nexthop, rp, 0) &&
+ if (pim_nht_lookup(mp->pim, &nexthop, rp, PIMADDR_ANY, false) &&
nexthop.mrib_nexthop_addr.s_addr == mp->peer.s_addr) {
return true;
}