summaryrefslogtreecommitdiff
path: root/pimd/pim_instance.h
diff options
context:
space:
mode:
authorNathan Bahr <nbahr@atcorp.com>2024-10-30 21:21:50 +0000
committerNathan Bahr <nbahr@atcorp.com>2025-01-09 21:58:22 +0000
commite8d81ab5ce04237ddc28ac0dc4b29e49dd2a1979 (patch)
tree376ea42105e3924333bb7005ca6dcb8fd3cf309e /pimd/pim_instance.h
parent8b00575fbb358bc214a9281c948cb0d703aa7605 (diff)
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_instance.h')
-rw-r--r--pimd/pim_instance.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/pimd/pim_instance.h b/pimd/pim_instance.h
index 7f022111bc..7aa9d857d4 100644
--- a/pimd/pim_instance.h
+++ b/pimd/pim_instance.h
@@ -18,6 +18,7 @@
#include "pim_upstream.h"
#include "pim_mroute.h"
#include "pim_autorp.h"
+#include "pim_nht.h"
enum pim_spt_switchover {
PIM_SPT_IMMEDIATE,
@@ -116,7 +117,7 @@ struct pim_instance {
char *register_plist;
struct hash *nht_hash;
- enum pim_rpf_lookup_mode rpf_mode;
+ struct pim_lookup_mode_head rpf_mode;
void *ssm_info; /* per-vrf SSM configuration */