diff options
author | Nathan Bahr <nbahr@atcorp.com> | 2024-10-30 22:21:50 +0100 |
---|---|---|
committer | Nathan Bahr <nbahr@atcorp.com> | 2025-01-09 22:58:22 +0100 |
commit | e8d81ab5ce04237ddc28ac0dc4b29e49dd2a1979 (patch) | |
tree | 376ea42105e3924333bb7005ca6dcb8fd3cf309e /pimd/pim_msdp.c | |
parent | pimd,yang: Expand rpf-lookup-mode command (diff) | |
download | frr-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.c | 2 |
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; } |