aboutsummaryrefslogtreecommitdiff
path: root/sys/net/route/route_var.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net/route/route_var.h')
-rw-r--r--sys/net/route/route_var.h9
1 files changed, 6 insertions, 3 deletions
diff --git a/sys/net/route/route_var.h b/sys/net/route/route_var.h
index 176084372609..4427ac046ee8 100644
--- a/sys/net/route/route_var.h
+++ b/sys/net/route/route_var.h
@@ -35,6 +35,7 @@
#ifndef RNF_NORMAL
#include <net/radix.h>
#endif
+#include <sys/ck.h>
#include <sys/epoch.h>
#include <netinet/in.h> /* struct sockaddr_in */
#include <sys/counter.h>
@@ -63,6 +64,7 @@ struct rib_head {
struct callout expire_callout; /* Callout for expiring dynamic routes */
time_t next_expire; /* Next expire run ts */
struct nh_control *nh_control; /* nexthop subsystem data */
+ CK_STAILQ_HEAD(, rib_subscription) rnh_subscribers;/* notification subscribers */
};
#define RIB_RLOCK_TRACKER struct rm_priotracker _rib_tracker
@@ -110,12 +112,13 @@ void rt_setmetrics(const struct rt_addrinfo *info, struct rtentry *rt);
struct radix_node *rt_mpath_unlink(struct rib_head *rnh,
struct rt_addrinfo *info, struct rtentry *rto, int *perror);
#endif
+struct rib_cmd_info;
int add_route(struct rib_head *rnh, struct rt_addrinfo *info,
- struct rtentry **ret_nrt);
+ struct rib_cmd_info *rc);
int del_route(struct rib_head *rnh, struct rt_addrinfo *info,
- struct rtentry **ret_nrt);
+ struct rib_cmd_info *rc);
int change_route(struct rib_head *, struct rt_addrinfo *,
- struct rtentry **);
+ struct rib_cmd_info *rc);
VNET_PCPUSTAT_DECLARE(struct rtstat, rtstat);
#define RTSTAT_ADD(name, val) \