Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
/*-
|
|
|
|
* Copyright (c) 2006-2008 University of Zagreb
|
|
|
|
* Copyright (c) 2006-2008 FreeBSD Foundation
|
|
|
|
*
|
|
|
|
* This software was developed by the University of Zagreb and the
|
|
|
|
* FreeBSD Foundation under sponsorship by the Stichting NLnet and the
|
|
|
|
* FreeBSD Foundation.
|
|
|
|
*
|
|
|
|
* Redistribution and use in source and binary forms, with or without
|
|
|
|
* modification, are permitted provided that the following conditions
|
|
|
|
* are met:
|
|
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer.
|
|
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
|
|
* documentation and/or other materials provided with the distribution.
|
|
|
|
*
|
|
|
|
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
|
|
|
|
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
* SUCH DAMAGE.
|
|
|
|
*
|
|
|
|
* $FreeBSD$
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef _NETINET6_VINET6_H_
|
|
|
|
#define _NETINET6_VINET6_H_
|
|
|
|
|
2008-12-02 21:37:28 +00:00
|
|
|
#include <sys/callout.h>
|
|
|
|
#include <sys/queue.h>
|
|
|
|
#include <sys/types.h>
|
|
|
|
|
|
|
|
#include <net/if_var.h>
|
|
|
|
|
|
|
|
#include <netinet/icmp6.h>
|
|
|
|
#include <netinet/in.h>
|
|
|
|
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
#include <netinet6/ip6_var.h>
|
2008-12-02 21:37:28 +00:00
|
|
|
#include <netinet6/nd6.h>
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
#include <netinet6/raw_ip6.h>
|
|
|
|
#include <netinet6/scope6_var.h>
|
|
|
|
|
|
|
|
struct vnet_inet6 {
|
|
|
|
struct in6_ifaddr * _in6_ifaddr;
|
|
|
|
|
|
|
|
u_int _frag6_nfragpackets;
|
|
|
|
u_int _frag6_nfrags;
|
|
|
|
struct ip6q _ip6q;
|
|
|
|
|
2009-02-01 21:11:08 +00:00
|
|
|
struct route_in6 _ip6_forward_rt; /* XXX remove */
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
|
|
|
|
struct in6_addrpolicy _defaultaddrpolicy;
|
|
|
|
TAILQ_HEAD(, addrsel_policyent) _addrsel_policytab;
|
|
|
|
u_int _in6_maxmtu;
|
|
|
|
int _ip6_auto_linklocal;
|
|
|
|
int _rtq_minreallyold6;
|
|
|
|
int _rtq_reallyold6;
|
|
|
|
int _rtq_toomany6;
|
|
|
|
|
|
|
|
struct ip6stat _ip6stat;
|
|
|
|
struct rip6stat _rip6stat;
|
|
|
|
struct icmp6stat _icmp6stat;
|
|
|
|
|
|
|
|
int _rtq_timeout6;
|
|
|
|
struct callout _rtq_timer6;
|
|
|
|
struct callout _rtq_mtutimer;
|
|
|
|
struct callout _nd6_slowtimo_ch;
|
|
|
|
struct callout _nd6_timer_ch;
|
|
|
|
struct callout _in6_tmpaddrtimer_ch;
|
|
|
|
|
|
|
|
int _nd6_inuse;
|
|
|
|
int _nd6_allocated;
|
2008-12-11 16:26:38 +00:00
|
|
|
int _nd6_onlink_ns_rfc4861;
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
struct nd_drhead _nd_defrouter;
|
|
|
|
struct nd_prhead _nd_prefix;
|
|
|
|
struct ifnet * _nd6_defifp;
|
|
|
|
int _nd6_defifindex;
|
|
|
|
|
|
|
|
struct scope6_id _sid_default;
|
|
|
|
|
|
|
|
TAILQ_HEAD(, dadq) _dadq;
|
|
|
|
int _dad_init;
|
|
|
|
|
|
|
|
int _icmp6errpps_count;
|
Conditionally compile out V_ globals while instantiating the appropriate
container structures, depending on VIMAGE_GLOBALS compile time option.
Make VIMAGE_GLOBALS a new compile-time option, which by default will not
be defined, resulting in instatiations of global variables selected for
V_irtualization (enclosed in #ifdef VIMAGE_GLOBALS blocks) to be
effectively compiled out. Instantiate new global container structures
to hold V_irtualized variables: vnet_net_0, vnet_inet_0, vnet_inet6_0,
vnet_ipsec_0, vnet_netgraph_0, and vnet_gif_0.
Update the VSYM() macro so that depending on VIMAGE_GLOBALS the V_
macros resolve either to the original globals, or to fields inside
container structures, i.e. effectively
#ifdef VIMAGE_GLOBALS
#define V_rt_tables rt_tables
#else
#define V_rt_tables vnet_net_0._rt_tables
#endif
Update SYSCTL_V_*() macros to operate either on globals or on fields
inside container structs.
Extend the internal kldsym() lookups with the ability to resolve
selected fields inside the virtualization container structs. This
applies only to the fields which are explicitly registered for kldsym()
visibility via VNET_MOD_DECLARE() and vnet_mod_register(), currently
this is done only in sys/net/if.c.
Fix a few broken instances of MODULE_GLOBAL() macro use in SCTP code,
and modify the MODULE_GLOBAL() macro to resolve to V_ macros, which in
turn result in proper code being generated depending on VIMAGE_GLOBALS.
De-virtualize local static variables in sys/contrib/pf/net/pf_subr.c
which were prematurely V_irtualized by automated V_ prepending scripts
during earlier merging steps. PF virtualization will be done
separately, most probably after next PF import.
Convert a few variable initializations at instantiation to
initialization in init functions, most notably in ipfw. Also convert
TUNABLE_INT() initializers for V_ variables to TUNABLE_FETCH_INT() in
initializer functions.
Discussed at: devsummit Strassburg
Reviewed by: bz, julian
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-12-10 23:12:39 +00:00
|
|
|
struct timeval _icmp6errppslim_last;
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
|
|
|
|
int _ip6_forwarding;
|
|
|
|
int _ip6_sendredirects;
|
|
|
|
int _ip6_defhlim;
|
|
|
|
int _ip6_defmcasthlim;
|
|
|
|
int _ip6_accept_rtadv;
|
|
|
|
int _ip6_maxfragpackets;
|
|
|
|
int _ip6_maxfrags;
|
|
|
|
int _ip6_log_interval;
|
|
|
|
int _ip6_hdrnestlimit;
|
|
|
|
int _ip6_dad_count;
|
|
|
|
int _ip6_auto_flowlabel;
|
|
|
|
int _ip6_use_deprecated;
|
|
|
|
int _ip6_rr_prune;
|
|
|
|
int _ip6_mcast_pmtu;
|
|
|
|
int _ip6_v6only;
|
|
|
|
int _ip6_keepfaith;
|
|
|
|
int _ip6stealth;
|
|
|
|
time_t _ip6_log_time;
|
|
|
|
|
|
|
|
int _pmtu_expire;
|
|
|
|
int _pmtu_probe;
|
|
|
|
u_long _rip6_sendspace;
|
|
|
|
u_long _rip6_recvspace;
|
|
|
|
int _icmp6_rediraccept;
|
|
|
|
int _icmp6_redirtimeout;
|
|
|
|
int _icmp6errppslim;
|
|
|
|
int _icmp6_nodeinfo;
|
|
|
|
int _udp6_sendspace;
|
|
|
|
int _udp6_recvspace;
|
|
|
|
int _ip6qmaxlen;
|
|
|
|
int _ip6_prefer_tempaddr;
|
2009-01-30 23:40:24 +00:00
|
|
|
int _ip6_forward_srcrt; /* XXX remove */
|
|
|
|
int _ip6_sourcecheck; /* XXX remove */
|
|
|
|
int _ip6_sourcecheck_interval; /* XXX remove */
|
|
|
|
int _ip6_ours_check_algorithm; /* XXX remove */
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
|
|
|
|
int _nd6_prune;
|
|
|
|
int _nd6_delay;
|
|
|
|
int _nd6_umaxtries;
|
|
|
|
int _nd6_mmaxtries;
|
|
|
|
int _nd6_useloopback;
|
|
|
|
int _nd6_gctimer;
|
|
|
|
int _nd6_maxndopt;
|
|
|
|
int _nd6_maxnudhint;
|
|
|
|
int _nd6_maxqueuelen;
|
|
|
|
int _nd6_debug;
|
|
|
|
int _nd6_recalc_reachtm_interval;
|
|
|
|
int _dad_ignore_ns;
|
|
|
|
int _dad_maxtry;
|
|
|
|
int _ip6_use_tempaddr;
|
|
|
|
int _ip6_desync_factor;
|
|
|
|
u_int32_t _ip6_temp_preferred_lifetime;
|
|
|
|
u_int32_t _ip6_temp_valid_lifetime;
|
|
|
|
|
|
|
|
int _ip6_mrouter_ver;
|
|
|
|
int _pim6;
|
|
|
|
u_int _mrt6debug;
|
|
|
|
|
|
|
|
int _ip6_temp_regen_advance;
|
|
|
|
int _ip6_use_defzone;
|
|
|
|
|
|
|
|
struct ip6_pktopts _ip6_opts;
|
|
|
|
};
|
|
|
|
|
2009-03-01 11:01:00 +00:00
|
|
|
/* Size guard. See sys/vimage.h. */
|
|
|
|
VIMAGE_CTASSERT(SIZEOF_vnet_inet6, sizeof(struct vnet_inet6));
|
|
|
|
|
Conditionally compile out V_ globals while instantiating the appropriate
container structures, depending on VIMAGE_GLOBALS compile time option.
Make VIMAGE_GLOBALS a new compile-time option, which by default will not
be defined, resulting in instatiations of global variables selected for
V_irtualization (enclosed in #ifdef VIMAGE_GLOBALS blocks) to be
effectively compiled out. Instantiate new global container structures
to hold V_irtualized variables: vnet_net_0, vnet_inet_0, vnet_inet6_0,
vnet_ipsec_0, vnet_netgraph_0, and vnet_gif_0.
Update the VSYM() macro so that depending on VIMAGE_GLOBALS the V_
macros resolve either to the original globals, or to fields inside
container structures, i.e. effectively
#ifdef VIMAGE_GLOBALS
#define V_rt_tables rt_tables
#else
#define V_rt_tables vnet_net_0._rt_tables
#endif
Update SYSCTL_V_*() macros to operate either on globals or on fields
inside container structs.
Extend the internal kldsym() lookups with the ability to resolve
selected fields inside the virtualization container structs. This
applies only to the fields which are explicitly registered for kldsym()
visibility via VNET_MOD_DECLARE() and vnet_mod_register(), currently
this is done only in sys/net/if.c.
Fix a few broken instances of MODULE_GLOBAL() macro use in SCTP code,
and modify the MODULE_GLOBAL() macro to resolve to V_ macros, which in
turn result in proper code being generated depending on VIMAGE_GLOBALS.
De-virtualize local static variables in sys/contrib/pf/net/pf_subr.c
which were prematurely V_irtualized by automated V_ prepending scripts
during earlier merging steps. PF virtualization will be done
separately, most probably after next PF import.
Convert a few variable initializations at instantiation to
initialization in init functions, most notably in ipfw. Also convert
TUNABLE_INT() initializers for V_ variables to TUNABLE_FETCH_INT() in
initializer functions.
Discussed at: devsummit Strassburg
Reviewed by: bz, julian
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-12-10 23:12:39 +00:00
|
|
|
#ifndef VIMAGE
|
|
|
|
#ifndef VIMAGE_GLOBALS
|
|
|
|
extern struct vnet_inet6 vnet_inet6_0;
|
|
|
|
#endif
|
|
|
|
#endif
|
|
|
|
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
#define INIT_VNET_INET6(vnet) \
|
|
|
|
INIT_FROM_VNET(vnet, VNET_MOD_INET6, struct vnet_inet6, vnet_inet6)
|
|
|
|
|
|
|
|
#define VNET_INET6(sym) VSYM(vnet_inet6, sym)
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Symbol translation macros
|
|
|
|
*/
|
|
|
|
#define V_addrsel_policytab VNET_INET6(addrsel_policytab)
|
|
|
|
#define V_dad_ignore_ns VNET_INET6(dad_ignore_ns)
|
|
|
|
#define V_dad_init VNET_INET6(dad_init)
|
|
|
|
#define V_dad_maxtry VNET_INET6(dad_maxtry)
|
|
|
|
#define V_dadq VNET_INET6(dadq)
|
|
|
|
#define V_defaultaddrpolicy VNET_INET6(defaultaddrpolicy)
|
|
|
|
#define V_frag6_nfragpackets VNET_INET6(frag6_nfragpackets)
|
|
|
|
#define V_frag6_nfrags VNET_INET6(frag6_nfrags)
|
|
|
|
#define V_icmp6_nodeinfo VNET_INET6(icmp6_nodeinfo)
|
|
|
|
#define V_icmp6_rediraccept VNET_INET6(icmp6_rediraccept)
|
|
|
|
#define V_icmp6_redirtimeout VNET_INET6(icmp6_redirtimeout)
|
|
|
|
#define V_icmp6errpps_count VNET_INET6(icmp6errpps_count)
|
|
|
|
#define V_icmp6errppslim VNET_INET6(icmp6errppslim)
|
|
|
|
#define V_icmp6errppslim_last VNET_INET6(icmp6errppslim_last)
|
|
|
|
#define V_icmp6stat VNET_INET6(icmp6stat)
|
|
|
|
#define V_in6_ifaddr VNET_INET6(in6_ifaddr)
|
|
|
|
#define V_in6_maxmtu VNET_INET6(in6_maxmtu)
|
|
|
|
#define V_in6_tmpaddrtimer_ch VNET_INET6(in6_tmpaddrtimer_ch)
|
|
|
|
#define V_ip6_accept_rtadv VNET_INET6(ip6_accept_rtadv)
|
|
|
|
#define V_ip6_auto_flowlabel VNET_INET6(ip6_auto_flowlabel)
|
|
|
|
#define V_ip6_auto_linklocal VNET_INET6(ip6_auto_linklocal)
|
|
|
|
#define V_ip6_dad_count VNET_INET6(ip6_dad_count)
|
|
|
|
#define V_ip6_defhlim VNET_INET6(ip6_defhlim)
|
|
|
|
#define V_ip6_defmcasthlim VNET_INET6(ip6_defmcasthlim)
|
|
|
|
#define V_ip6_desync_factor VNET_INET6(ip6_desync_factor)
|
|
|
|
#define V_ip6_forwarding VNET_INET6(ip6_forwarding)
|
|
|
|
#define V_ip6_hdrnestlimit VNET_INET6(ip6_hdrnestlimit)
|
|
|
|
#define V_ip6_keepfaith VNET_INET6(ip6_keepfaith)
|
|
|
|
#define V_ip6_log_interval VNET_INET6(ip6_log_interval)
|
|
|
|
#define V_ip6_log_time VNET_INET6(ip6_log_time)
|
|
|
|
#define V_ip6_maxfragpackets VNET_INET6(ip6_maxfragpackets)
|
|
|
|
#define V_ip6_maxfrags VNET_INET6(ip6_maxfrags)
|
|
|
|
#define V_ip6_mcast_pmtu VNET_INET6(ip6_mcast_pmtu)
|
|
|
|
#define V_ip6_mrouter_ver VNET_INET6(ip6_mrouter_ver)
|
|
|
|
#define V_ip6_opts VNET_INET6(ip6_opts)
|
|
|
|
#define V_ip6_prefer_tempaddr VNET_INET6(ip6_prefer_tempaddr)
|
|
|
|
#define V_ip6_rr_prune VNET_INET6(ip6_rr_prune)
|
|
|
|
#define V_ip6_sendredirects VNET_INET6(ip6_sendredirects)
|
|
|
|
#define V_ip6_temp_preferred_lifetime VNET_INET6(ip6_temp_preferred_lifetime)
|
|
|
|
#define V_ip6_temp_regen_advance VNET_INET6(ip6_temp_regen_advance)
|
|
|
|
#define V_ip6_temp_valid_lifetime VNET_INET6(ip6_temp_valid_lifetime)
|
|
|
|
#define V_ip6_use_defzone VNET_INET6(ip6_use_defzone)
|
|
|
|
#define V_ip6_use_deprecated VNET_INET6(ip6_use_deprecated)
|
|
|
|
#define V_ip6_use_tempaddr VNET_INET6(ip6_use_tempaddr)
|
|
|
|
#define V_ip6_v6only VNET_INET6(ip6_v6only)
|
|
|
|
#define V_ip6q VNET_INET6(ip6q)
|
|
|
|
#define V_ip6qmaxlen VNET_INET6(ip6qmaxlen)
|
|
|
|
#define V_ip6stat VNET_INET6(ip6stat)
|
|
|
|
#define V_ip6stealth VNET_INET6(ip6stealth)
|
|
|
|
#define V_llinfo_nd6 VNET_INET6(llinfo_nd6)
|
|
|
|
#define V_mrt6debug VNET_INET6(mrt6debug)
|
|
|
|
#define V_nd6_allocated VNET_INET6(nd6_allocated)
|
|
|
|
#define V_nd6_debug VNET_INET6(nd6_debug)
|
|
|
|
#define V_nd6_defifindex VNET_INET6(nd6_defifindex)
|
|
|
|
#define V_nd6_defifp VNET_INET6(nd6_defifp)
|
|
|
|
#define V_nd6_delay VNET_INET6(nd6_delay)
|
|
|
|
#define V_nd6_gctimer VNET_INET6(nd6_gctimer)
|
|
|
|
#define V_nd6_inuse VNET_INET6(nd6_inuse)
|
|
|
|
#define V_nd6_maxndopt VNET_INET6(nd6_maxndopt)
|
|
|
|
#define V_nd6_maxnudhint VNET_INET6(nd6_maxnudhint)
|
|
|
|
#define V_nd6_maxqueuelen VNET_INET6(nd6_maxqueuelen)
|
|
|
|
#define V_nd6_mmaxtries VNET_INET6(nd6_mmaxtries)
|
2008-11-19 09:39:34 +00:00
|
|
|
#define V_nd6_onlink_ns_rfc4861 VNET_INET6(nd6_onlink_ns_rfc4861)
|
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
2008-10-02 15:37:58 +00:00
|
|
|
#define V_nd6_prune VNET_INET6(nd6_prune)
|
|
|
|
#define V_nd6_recalc_reachtm_interval VNET_INET6(nd6_recalc_reachtm_interval)
|
|
|
|
#define V_nd6_slowtimo_ch VNET_INET6(nd6_slowtimo_ch)
|
|
|
|
#define V_nd6_timer_ch VNET_INET6(nd6_timer_ch)
|
|
|
|
#define V_nd6_umaxtries VNET_INET6(nd6_umaxtries)
|
|
|
|
#define V_nd6_useloopback VNET_INET6(nd6_useloopback)
|
|
|
|
#define V_nd_defrouter VNET_INET6(nd_defrouter)
|
|
|
|
#define V_nd_prefix VNET_INET6(nd_prefix)
|
|
|
|
#define V_pim6 VNET_INET6(pim6)
|
|
|
|
#define V_pmtu_expire VNET_INET6(pmtu_expire)
|
|
|
|
#define V_pmtu_probe VNET_INET6(pmtu_probe)
|
|
|
|
#define V_rip6_recvspace VNET_INET6(rip6_recvspace)
|
|
|
|
#define V_rip6_sendspace VNET_INET6(rip6_sendspace)
|
|
|
|
#define V_rip6stat VNET_INET6(rip6stat)
|
|
|
|
#define V_rtq_minreallyold6 VNET_INET6(rtq_minreallyold6)
|
|
|
|
#define V_rtq_mtutimer VNET_INET6(rtq_mtutimer)
|
|
|
|
#define V_rtq_reallyold6 VNET_INET6(rtq_reallyold6)
|
|
|
|
#define V_rtq_timeout6 VNET_INET6(rtq_timeout6)
|
|
|
|
#define V_rtq_timer6 VNET_INET6(rtq_timer6)
|
|
|
|
#define V_rtq_toomany6 VNET_INET6(rtq_toomany6)
|
|
|
|
#define V_sid_default VNET_INET6(sid_default)
|
|
|
|
#define V_udp6_recvspace VNET_INET6(udp6_recvspace)
|
|
|
|
#define V_udp6_sendspace VNET_INET6(udp6_sendspace)
|
|
|
|
|
|
|
|
#endif /* !_NETINET6_VINET6_H_ */
|