summaryrefslogtreecommitdiff
path: root/pimd/pim_nht.h
diff options
context:
space:
mode:
authorDonald Sharp <sharpd@cumulusnetworks.com>2019-04-02 09:40:41 -0400
committerDonald Sharp <sharpd@cumulusnetworks.com>2019-04-05 11:12:59 -0400
commit43763b11d0d51b60809cddc4722daae359a4d1a9 (patch)
tree4316e397b407dd65797e583d3947637893afed1d /pimd/pim_nht.h
parent5bd51314352b25420ef1c8df7265b95cdad88e37 (diff)
pimd: Tracking of RPF is *separate* from the lookup
Start the separation of tracking a Destination from the act of looking it up. The cojoining of these two concepts led to a bunch of code that had to think about both problems leading to weird situations and code paths. Simplify the code by making pim_ecmp_nexthop_search a static function and we only ever call pim_ecmp_nexthop_lookup when we need to do a RPF(). pim_ecmp_nexthop_lookup will now attempt to find a stored pnc and if it finds one it will report on the answer from it. Signed-off-by: Donald Sharp <sharpd@cumulusnetworks.com>
Diffstat (limited to 'pimd/pim_nht.h')
-rw-r--r--pimd/pim_nht.h4
1 files changed, 0 insertions, 4 deletions
diff --git a/pimd/pim_nht.h b/pimd/pim_nht.h
index e3e9f578c9..8f68af5652 100644
--- a/pimd/pim_nht.h
+++ b/pimd/pim_nht.h
@@ -56,10 +56,6 @@ void pim_delete_tracked_nexthop(struct pim_instance *pim, struct prefix *addr,
struct pim_nexthop_cache *pim_nexthop_cache_find(struct pim_instance *pim,
struct pim_rpf *rpf);
uint32_t pim_compute_ecmp_hash(struct prefix *src, struct prefix *grp);
-int pim_ecmp_nexthop_search(struct pim_instance *pim,
- struct pim_nexthop_cache *pnc,
- struct pim_nexthop *nexthop, struct prefix *src,
- struct prefix *grp, int neighbor_needed);
int pim_ecmp_nexthop_lookup(struct pim_instance *pim,
struct pim_nexthop *nexthop, struct prefix *src,
struct prefix *grp, int neighbor_needed);