summaryrefslogtreecommitdiffstats
path: root/pimd/pim_msdp.c
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2024-10-23 21:00:31 +0200
committerNathan Bahr <nbahr@atcorp.com>2024-12-13 18:36:34 +0100
commit6d30c8f6b53a7d453f455e28615a57a6aadc0660 (patch)
treebb65b88b096b170b9fb757f2c797ce5174c9b8a1 /pimd/pim_msdp.c
parentpimd: Refactor synchronous nexthop lookup (diff)
downloadfrr-6d30c8f6b53a7d453f455e28615a57a6aadc0660.tar.xz
frr-6d30c8f6b53a7d453f455e28615a57a6aadc0660.zip
pimd: Refactor pim NHT
Refactor the next hop tracking in PIM to fully support the configured RPF lookup mode. Moved many NHT related functions to pim_nht.h/c NHT now tracks both MRIB and URIB tables and makes nexthop decisions based on the configured lookup mode. Signed-off-by: Nathan Bahr <nbahr@atcorp.com>
Diffstat (limited to 'pimd/pim_msdp.c')
-rw-r--r--pimd/pim_msdp.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/pimd/pim_msdp.c b/pimd/pim_msdp.c
index f5260c68c..e9c8840cc 100644
--- a/pimd/pim_msdp.c
+++ b/pimd/pim_msdp.c
@@ -26,6 +26,7 @@
#include "pim_time.h"
#include "pim_upstream.h"
#include "pim_oil.h"
+#include "pim_nht.h"
#include "pim_msdp.h"
#include "pim_msdp_packet.h"
@@ -691,7 +692,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_nexthop_lookup(mp->pim, &nexthop, rp, 0) &&
+ if (pim_nht_lookup(mp->pim, &nexthop, rp, 0) &&
nexthop.mrib_nexthop_addr.s_addr == mp->peer.s_addr) {
return true;
}