diff options
Diffstat (limited to 'sys/netinet6/in6_rmx.c')
-rw-r--r-- | sys/netinet6/in6_rmx.c | 45 |
1 files changed, 20 insertions, 25 deletions
diff --git a/sys/netinet6/in6_rmx.c b/sys/netinet6/in6_rmx.c index f05a093..b378f5a 100644 --- a/sys/netinet6/in6_rmx.c +++ b/sys/netinet6/in6_rmx.c @@ -101,7 +101,6 @@ __FBSDID("$FreeBSD$"); #include <netinet/icmp6.h> #include <netinet6/nd6.h> -#include <netinet6/vinet6.h> #include <netinet/tcp.h> #include <netinet/tcp_seq.h> @@ -206,22 +205,22 @@ in6_matroute(void *v_arg, struct radix_node_head *head) SYSCTL_DECL(_net_inet6_ip6); -#ifdef VIMAGE_GLOBALS -static int rtq_reallyold6; -static int rtq_minreallyold6; -static int rtq_toomany6; -#endif - -SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RTEXPIRE, - rtexpire, CTLFLAG_RW, rtq_reallyold6 , 0, ""); +static VNET_DEFINE(int, rtq_reallyold6); +static VNET_DEFINE(int, rtq_minreallyold6); +static VNET_DEFINE(int, rtq_toomany6); -SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RTMINEXPIRE, - rtminexpire, CTLFLAG_RW, rtq_minreallyold6 , 0, ""); +#define V_rtq_reallyold6 VNET_GET(rtq_reallyold6) +#define V_rtq_minreallyold6 VNET_GET(rtq_minreallyold6) +#define V_rtq_toomany6 VNET_GET(rtq_toomany6) -SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RTMAXCACHE, - rtmaxcache, CTLFLAG_RW, rtq_toomany6 , 0, ""); +SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_RTEXPIRE, rtexpire, CTLFLAG_RW, + &VNET_NAME(rtq_reallyold6) , 0, ""); +SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_RTMINEXPIRE, rtminexpire, CTLFLAG_RW, + &VNET_NAME(rtq_minreallyold6) , 0, ""); +SYSCTL_VNET_INT(_net_inet6_ip6, IPV6CTL_RTMAXCACHE, rtmaxcache, CTLFLAG_RW, + &VNET_NAME(rtq_toomany6) , 0, ""); struct rtqk_arg { struct radix_node_head *rnh; @@ -241,7 +240,6 @@ struct rtqk_arg { static int in6_rtqkill(struct radix_node *rn, void *rock) { - INIT_VNET_INET6(curvnet); struct rtqk_arg *ap = rock; struct rtentry *rt = (struct rtentry *)rn; int err; @@ -280,16 +278,16 @@ in6_rtqkill(struct radix_node *rn, void *rock) } #define RTQ_TIMEOUT 60*10 /* run no less than once every ten minutes */ -#ifdef VIMAGE_GLOBALS -static int rtq_timeout6; -static struct callout rtq_timer6; -#endif +static VNET_DEFINE(int, rtq_timeout6); +static VNET_DEFINE(struct callout, rtq_timer6); + +#define V_rtq_timeout6 VNET_GET(rtq_timeout6) +#define V_rtq_timer6 VNET_GET(rtq_timer6) static void in6_rtqtimo(void *rock) { CURVNET_SET_QUIET((struct vnet *) rock); - INIT_VNET_INET6(curvnet); struct radix_node_head *rnh; struct rtqk_arg arg; struct timeval atv; @@ -349,9 +347,9 @@ struct mtuex_arg { struct radix_node_head *rnh; time_t nextstop; }; -#ifdef VIMAGE_GLOBALS -static struct callout rtq_mtutimer; -#endif + +static VNET_DEFINE(struct callout, rtq_mtutimer); +#define V_rtq_mtutimer VNET_GET(rtq_mtutimer) static int in6_mtuexpire(struct radix_node *rn, void *rock) @@ -381,7 +379,6 @@ static void in6_mtutimo(void *rock) { CURVNET_SET_QUIET((struct vnet *) rock); - INIT_VNET_INET6(curvnet); struct radix_node_head *rnh; struct mtuex_arg arg; struct timeval atv; @@ -418,7 +415,6 @@ in6_mtutimo(void *rock) int in6_inithead(void **head, int off) { - INIT_VNET_INET6(curvnet); struct radix_node_head *rnh; if (!rn_inithead(head, offsetof(struct sockaddr_in6, sin6_addr) << 3)) @@ -447,7 +443,6 @@ in6_inithead(void **head, int off) int in6_detachhead(void **head, int off) { - INIT_VNET_INET6(curvnet); callout_drain(&V_rtq_timer6); callout_drain(&V_rtq_mtutimer); |