struct pim_upstream;
-extern long long nexthop_lookups_avoided;
-
-int pim_nexthop_lookup(struct pim_nexthop *nexthop, struct in_addr addr,
- int neighbor_needed);
-enum pim_rpf_result pim_rpf_update(struct pim_upstream *up, struct pim_rpf *old,
- uint8_t is_new);
+unsigned int pim_rpf_hash_key(const void *arg);
+bool pim_rpf_equal(const void *arg1, const void *arg2);
+bool pim_nexthop_lookup(struct pim_instance *pim, struct pim_nexthop *nexthop,
+ struct in_addr addr, int neighbor_needed);
+enum pim_rpf_result pim_rpf_update(struct pim_instance *pim,
+ struct pim_upstream *up,
+ struct pim_rpf *old);
+void pim_upstream_rpf_clear(struct pim_instance *pim,
+ struct pim_upstream *up);
int pim_rpf_addr_is_inaddr_none(struct pim_rpf *rpf);
int pim_rpf_addr_is_inaddr_any(struct pim_rpf *rpf);
int pim_rpf_is_same(struct pim_rpf *rpf1, struct pim_rpf *rpf2);
-void pim_rpf_set_refresh_time(void);
+void pim_rpf_set_refresh_time(struct pim_instance *pim);
#endif /* PIM_RPF_H */