PERFORCE change 153249 for review
Marko Zec
zec at FreeBSD.org
Wed Nov 19 14:41:56 PST 2008
http://perforce.freebsd.org/chv.cgi?CH=153249
Change 153249 by zec at zec_tca51 on 2008/11/19 22:41:22
Resurrect the diff-against-vimage-reduction patchset that
was already in commit2 branch but was temporarily backed out
due to svn r185088 commit preparations...
Affected files ...
.. //depot/projects/vimage-commit2/src/sys/net/if_loop.c#13 edit
.. //depot/projects/vimage-commit2/src/sys/net/route.c#19 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.c#24 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/in_rmx.c#18 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_divert.c#15 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_fw_pfil.c#8 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#10 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#26 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_reass.c#13 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_subr.c#28 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_syncache.c#28 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/tcp_timewait.c#13 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#24 edit
.. //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#11 edit
.. //depot/projects/vimage-commit2/src/sys/netinet6/in6_rmx.c#18 edit
.. //depot/projects/vimage-commit2/src/sys/netinet6/nd6_nbr.c#15 edit
.. //depot/projects/vimage-commit2/src/sys/netinet6/raw_ip6.c#16 edit
.. //depot/projects/vimage-commit2/src/sys/netinet6/vinet6.h#11 edit
.. //depot/projects/vimage-commit2/src/sys/netipsec/key.c#17 edit
.. //depot/projects/vimage-commit2/src/sys/netipsec/keysock.c#13 edit
.. //depot/projects/vimage-commit2/src/sys/netipsec/vipsec.h#8 edit
Differences ...
==== //depot/projects/vimage-commit2/src/sys/net/if_loop.c#13 (text+ko) ====
@@ -141,6 +141,7 @@
static int
loop_modevent(module_t mod, int type, void *data)
{
+ INIT_VNET_NET(curvnet);
switch (type) {
case MOD_LOAD:
==== //depot/projects/vimage-commit2/src/sys/net/route.c#19 (text+ko) ====
@@ -145,6 +145,7 @@
static void
route_init(void)
{
+ INIT_VNET_INET(curvnet);
int table;
struct domain *dom;
int fam;
==== //depot/projects/vimage-commit2/src/sys/netinet/in_pcb.c#24 (text+ko) ====
@@ -120,6 +120,7 @@
static int
sysctl_net_ipport_check(SYSCTL_HANDLER_ARGS)
{
+ INIT_VNET_INET(curvnet);
int error;
error = sysctl_handle_int(oidp, oidp->oid_arg1, oidp->oid_arg2, req);
==== //depot/projects/vimage-commit2/src/sys/netinet/in_rmx.c#18 (text+ko) ====
@@ -287,6 +287,7 @@
static void
in_rtqtimo_one(void *rock)
{
+ INIT_VNET_INET(curvnet);
struct radix_node_head *rnh = rock;
struct rtqk_arg arg;
static time_t last_adjusted_timeout = 0;
==== //depot/projects/vimage-commit2/src/sys/netinet/ip_divert.c#15 (text+ko) ====
@@ -580,6 +580,7 @@
static int
div_pcblist(SYSCTL_HANDLER_ARGS)
{
+ INIT_VNET_INET(curvnet);
int error, i, n;
struct inpcb *inp, **inp_list;
inp_gen_t gencnt;
==== //depot/projects/vimage-commit2/src/sys/netinet/ip_fw_pfil.c#8 (text+ko) ====
@@ -487,6 +487,7 @@
int
ipfw_chg_hook(SYSCTL_HANDLER_ARGS)
{
+ INIT_VNET_IPFW(curvnet);
int enable = *(int *)arg1;
int error;
==== //depot/projects/vimage-commit2/src/sys/netinet/ip_output.c#10 (text+ko) ====
@@ -111,6 +111,8 @@
ip_output(struct mbuf *m, struct mbuf *opt, struct route *ro, int flags,
struct ip_moptions *imo, struct inpcb *inp)
{
+ INIT_VNET_NET(curvnet);
+ INIT_VNET_INET(curvnet);
struct ip *ip;
struct ifnet *ifp = NULL; /* keep compiler happy */
struct mbuf *m0;
@@ -628,6 +630,7 @@
ip_fragment(struct ip *ip, struct mbuf **m_frag, int mtu,
u_long if_hwassist_flags, int sw_csum)
{
+ INIT_VNET_INET(curvnet);
int error = 0;
int hlen = ip->ip_hl << 2;
int len = (mtu - hlen) & ~7; /* size of payload in each fragment */
==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_input.c#26 (text+ko) ====
@@ -2986,6 +2986,7 @@
int isipv6;
#endif
KASSERT(tp != NULL, ("%s: tp == NULL", __func__));
+ INIT_VNET_INET(tp->t_vnet);
tcp_mss_update(tp, offer, &metrics, &mtuflags);
==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_reass.c#13 (text+ko) ====
==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_subr.c#28 (text+ko) ====
@@ -130,7 +130,7 @@
static int
sysctl_net_inet_tcp_mss_check(SYSCTL_HANDLER_ARGS)
{
- INIT_VNET_INET(TD_TO_VNET(curthread));
+ INIT_VNET_INET(curvnet);
int error, new;
new = V_tcp_mssdflt;
@@ -144,15 +144,16 @@
return (error);
}
-SYSCTL_PROC(_net_inet_tcp, TCPCTL_MSSDFLT, mssdflt, CTLTYPE_INT|CTLFLAG_RW,
- &tcp_mssdflt, 0, &sysctl_net_inet_tcp_mss_check, "I",
- "Default TCP Maximum Segment Size");
+SYSCTL_V_PROC(V_NET, vnet_inet, _net_inet_tcp, TCPCTL_MSSDFLT, mssdflt,
+ CTLTYPE_INT|CTLFLAG_RW, tcp_mssdflt, 0,
+ &sysctl_net_inet_tcp_mss_check, "I",
+ "Default TCP Maximum Segment Size");
#ifdef INET6
static int
sysctl_net_inet_tcp_mss_v6_check(SYSCTL_HANDLER_ARGS)
{
- INIT_VNET_INET6(TD_TO_VNET(curthread));
+ INIT_VNET_INET6(curvnet);
int error, new;
new = V_tcp_v6mssdflt;
@@ -166,9 +167,10 @@
return (error);
}
-SYSCTL_PROC(_net_inet_tcp, TCPCTL_V6MSSDFLT, v6mssdflt, CTLTYPE_INT|CTLFLAG_RW,
- &tcp_v6mssdflt, 0, &sysctl_net_inet_tcp_mss_v6_check, "I",
- "Default TCP Maximum Segment Size for IPv6");
+SYSCTL_V_PROC(V_NET, vnet_inet, _net_inet_tcp, TCPCTL_V6MSSDFLT, v6mssdflt,
+ CTLTYPE_INT|CTLFLAG_RW, tcp_v6mssdflt, 0,
+ &sysctl_net_inet_tcp_mss_v6_check, "I",
+ "Default TCP Maximum Segment Size for IPv6");
#endif
/*
@@ -225,9 +227,9 @@
SYSCTL_INT(_net_inet_tcp_inflight, OID_AUTO, debug, CTLFLAG_RW,
&tcp_inflight_debug, 0, "Debug TCP inflight calculations");
-SYSCTL_PROC(_net_inet_tcp_inflight, OID_AUTO, rttthresh, CTLTYPE_INT|CTLFLAG_RW,
- &tcp_inflight_rttthresh, 0, sysctl_msec_to_ticks, "I",
- "RTT threshold below which inflight will deactivate itself");
+SYSCTL_V_PROC(V_NET, vnet_inet, _net_inet_tcp_inflight, OID_AUTO, rttthresh,
+ CTLTYPE_INT|CTLFLAG_RW, tcp_inflight_rttthresh, 0, sysctl_msec_to_ticks,
+ "I", "RTT threshold below which inflight will deactivate itself");
SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_tcp_inflight, OID_AUTO, min,
CTLFLAG_RW, tcp_inflight_min, 0, "Lower-bound for TCP inflight window");
@@ -342,6 +344,7 @@
V_tcp_sack_globalmaxholes = 65536;
V_tcp_sack_globalholes = 0;
+ hashsize = TCBHASHSIZE;
tcp_delacktime = TCPTV_DELACK;
tcp_keepinit = TCPTV_KEEP_INIT;
tcp_keepidle = TCPTV_KEEP_IDLE;
@@ -358,7 +361,6 @@
INP_INFO_LOCK_INIT(&V_tcbinfo, "tcp");
LIST_INIT(&V_tcb);
V_tcbinfo.ipi_listhead = &V_tcb;
- hashsize = TCBHASHSIZE;
TUNABLE_INT_FETCH("net.inet.tcp.tcbhashsize", &hashsize);
if (!powerof2(hashsize)) {
printf("WARNING: TCB hash size not a power of 2\n");
@@ -947,6 +949,9 @@
tcp_notify(struct inpcb *inp, int error)
{
struct tcpcb *tp;
+#ifdef INVARIANTS
+ INIT_VNET_INET(inp->inp_vnet); /* V_tcbinfo WLOCK ASSERT */
+#endif
INP_INFO_WLOCK_ASSERT(&V_tcbinfo);
INP_WLOCK_ASSERT(inp);
@@ -1940,6 +1945,7 @@
tcp_signature_compute(struct mbuf *m, int _unused, int len, int optlen,
u_char *buf, u_int direction)
{
+ INIT_VNET_IPSEC(curvnet);
union sockaddr_union dst;
struct ippseudo ippseudo;
MD5_CTX ctx;
==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_syncache.c#28 (text+ko) ====
@@ -105,12 +105,12 @@
int tcp_sc_rst_sock_fail;
#endif
-SYSCTL_INT(_net_inet_tcp, OID_AUTO, syncookies, CTLFLAG_RW,
- &tcp_syncookies, 0,
+SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_tcp, OID_AUTO, syncookies,
+ CTLFLAG_RW, tcp_syncookies, 0,
"Use TCP SYN cookies if the syncache overflows");
-SYSCTL_INT(_net_inet_tcp, OID_AUTO, syncookies_only, CTLFLAG_RW,
- &tcp_syncookiesonly, 0,
+SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_tcp, OID_AUTO, syncookies_only,
+ CTLFLAG_RW, tcp_syncookiesonly, 0,
"Use only TCP SYN cookies");
#ifdef TCP_OFFLOAD_DISABLE
@@ -359,11 +359,13 @@
syncache_timer(void *xsch)
{
struct syncache_head *sch = (struct syncache_head *)xsch;
- INIT_VNET_INET(sch->sch_vnet);
struct syncache *sc, *nsc;
int tick = ticks;
char *s;
+ CURVNET_SET(sch->sch_vnet);
+ INIT_VNET_INET(sch->sch_vnet);
+
/* NB: syncache_head has already been locked by the callout. */
SCH_LOCK_ASSERT(sch);
@@ -412,6 +414,7 @@
if (!TAILQ_EMPTY(&(sch)->sch_bucket))
callout_reset(&(sch)->sch_timer, (sch)->sch_nextc - tick,
syncache_timer, (void *)(sch));
+ CURVNET_RESTORE();
}
/*
@@ -836,7 +839,7 @@
* B. check that the syncookie is valid. If it is, then
* cobble up a fake syncache entry, and return.
*/
- if (!tcp_syncookies) {
+ if (!V_tcp_syncookies) {
SCH_UNLOCK(sch);
if ((s = tcp_log_addrs(inc, th, NULL, NULL)))
log(LOG_DEBUG, "%s; %s: Spurious ACK, "
@@ -929,6 +932,7 @@
tcp_offload_syncache_expand(struct in_conninfo *inc, struct tcpopt *to,
struct tcphdr *th, struct socket **lsop, struct mbuf *m)
{
+ INIT_VNET_INET(curvnet);
int rc;
INP_INFO_WLOCK(&V_tcbinfo);
@@ -1097,7 +1101,7 @@
syncache_drop(sc, sch);
sc = uma_zalloc(V_tcp_syncache.zone, M_NOWAIT | M_ZERO);
if (sc == NULL) {
- if (tcp_syncookies) {
+ if (V_tcp_syncookies) {
bzero(&scs, sizeof(scs));
sc = &scs;
} else {
@@ -1206,7 +1210,7 @@
if ((th->th_flags & (TH_ECE|TH_CWR)) && V_tcp_do_ecn)
sc->sc_flags |= SCF_ECN;
- if (tcp_syncookies) {
+ if (V_tcp_syncookies) {
syncookie_generate(sch, sc, &flowtmp);
#ifdef INET6
if (autoflowlabel)
@@ -1225,7 +1229,7 @@
* Do a standard 3-way handshake.
*/
if (TOEPCB_ISSET(sc) || syncache_respond(sc) == 0) {
- if (tcp_syncookies && tcp_syncookiesonly && sc != &scs)
+ if (V_tcp_syncookies && V_tcp_syncookiesonly && sc != &scs)
syncache_free(sc);
else if (sc != &scs)
syncache_insert(sc, sch); /* locks and unlocks sch */
==== //depot/projects/vimage-commit2/src/sys/netinet/tcp_timewait.c#13 (text+ko) ====
@@ -150,8 +150,8 @@
&maxtcptw, 0, sysctl_maxtcptw, "IU",
"Maximum number of compressed TCP TIME_WAIT entries");
-SYSCTL_INT(_net_inet_tcp, OID_AUTO, nolocaltimewait, CTLFLAG_RW,
- &nolocaltimewait, 0,
+SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_tcp, OID_AUTO, nolocaltimewait,
+ CTLFLAG_RW, nolocaltimewait, 0,
"Do not create compressed TCP TIME_WAIT entries for local connections");
void
==== //depot/projects/vimage-commit2/src/sys/netinet/udp_usrreq.c#24 (text+ko) ====
@@ -113,7 +113,8 @@
SYSCTL_INT(_net_inet_udp, OID_AUTO, log_in_vain, CTLFLAG_RW,
&udp_log_in_vain, 0, "Log all incoming UDP packets");
-SYSCTL_INT(_net_inet_udp, OID_AUTO, blackhole, CTLFLAG_RW, &udp_blackhole, 0,
+SYSCTL_V_INT(V_NET, vnet_inet, _net_inet_udp, OID_AUTO, blackhole,
+ CTLFLAG_RW, udp_blackhole, 0,
"Do not send port unreachables for refused connects");
u_long udp_sendspace = 9216; /* really max datagram size */
==== //depot/projects/vimage-commit2/src/sys/netinet/vinet.h#11 (text+ko) ====
@@ -78,7 +78,10 @@
int _ip_checkinterface;
u_short _ip_id;
+#if 0 /* NOTYET */
uma_zone_t _ipq_zone;
+#endif
+
int _nipq; /* Total # of reass queues */
int _maxnipq; /* Admin. limit on # reass queues. */
int _maxfragsperpacket;
@@ -89,12 +92,16 @@
struct tcpstat _tcpstat; /* tcp statistics */
struct tcp_hostcache _tcp_hostcache;
struct callout _tcp_hc_callout;
+
struct tcp_syncache _tcp_syncache;
+ int _tcp_syncookies;
+ int _tcp_syncookiesonly;
+ int _tcp_sc_rst_sock_fail;
+
struct inpcbhead _divcb;
struct inpcbinfo _divcbinfo;
TAILQ_HEAD(, tcptw) _twq_2msl;
- int _tcp_sc_rst_sock_fail;
int _tcp_mssdflt;
int _tcp_v6mssdflt;
int _tcp_minmss;
==== //depot/projects/vimage-commit2/src/sys/netinet6/in6_rmx.c#18 (text+ko) ====
@@ -225,14 +225,14 @@
static int rtq_toomany6;
#endif
-SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RTEXPIRE, rtexpire,
- CTLFLAG_RW, &rtq_reallyold6 , 0, "");
+SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RTEXPIRE,
+ rtexpire, CTLFLAG_RW, rtq_reallyold6 , 0, "");
-SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RTMINEXPIRE, rtminexpire,
- CTLFLAG_RW, &rtq_minreallyold6 , 0, "");
+SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RTMINEXPIRE,
+ rtminexpire, CTLFLAG_RW, rtq_minreallyold6 , 0, "");
-SYSCTL_INT(_net_inet6_ip6, IPV6CTL_RTMAXCACHE, rtmaxcache,
- CTLFLAG_RW, &rtq_toomany6 , 0, "");
+SYSCTL_V_INT(V_NET, vnet_inet6, _net_inet6_ip6, IPV6CTL_RTMAXCACHE,
+ rtmaxcache, CTLFLAG_RW, rtq_toomany6 , 0, "");
/*
==== //depot/projects/vimage-commit2/src/sys/netinet6/nd6_nbr.c#15 (text+ko) ====
@@ -78,6 +78,7 @@
#define SDL(s) ((struct sockaddr_dl *)s)
struct dadq;
+
static struct dadq *nd6_dad_find(struct ifaddr *);
static void nd6_dad_starttimer(struct dadq *, int);
static void nd6_dad_stoptimer(struct dadq *);
==== //depot/projects/vimage-commit2/src/sys/netinet6/raw_ip6.c#16 (text+ko) ====
@@ -765,7 +765,6 @@
rip6_send(struct socket *so, int flags, struct mbuf *m, struct sockaddr *nam,
struct mbuf *control, struct thread *td)
{
- INIT_VNET_INET(so->so_vnet);
struct inpcb *inp;
struct sockaddr_in6 tmp;
struct sockaddr_in6 *dst;
==== //depot/projects/vimage-commit2/src/sys/netinet6/vinet6.h#11 (text+ko) ====
@@ -106,8 +106,8 @@
int _ip6_mcast_pmtu;
int _ip6_v6only;
int _ip6_keepfaith;
+ time_t _ip6_log_time;
int _ip6stealth;
- time_t _ip6_log_time;
int _nd6_onlink_ns_rfc4861;
int _pmtu_expire;
==== //depot/projects/vimage-commit2/src/sys/netipsec/key.c#17 (text+ko) ====
@@ -2699,9 +2699,9 @@
/* searching all SA registerd in the secindex. */
for (stateidx = 0;
- stateidx < _ARRAYLEN(V_saorder_state_any);
+ stateidx < _ARRAYLEN(saorder_state_any);
stateidx++) {
- u_int state = V_saorder_state_any[stateidx];
+ u_int state = saorder_state_any[stateidx];
LIST_FOREACH_SAFE(sav, &sah->savtree[state], chain, nextsav) {
if (sav->refcnt == 0) {
/* sanity check */
@@ -2985,10 +2985,10 @@
SAHTREE_LOCK_ASSERT();
/* search all status */
for (stateidx = 0;
- stateidx < _ARRAYLEN(V_saorder_state_alive);
+ stateidx < _ARRAYLEN(saorder_state_alive);
stateidx++) {
- state = V_saorder_state_alive[stateidx];
+ state = saorder_state_alive[stateidx];
LIST_FOREACH(sav, &sah->savtree[state], chain) {
/* sanity check */
@@ -5313,9 +5313,9 @@
/* Delete all non-LARVAL SAs. */
for (stateidx = 0;
- stateidx < _ARRAYLEN(V_saorder_state_alive);
+ stateidx < _ARRAYLEN(saorder_state_alive);
stateidx++) {
- state = V_saorder_state_alive[stateidx];
+ state = saorder_state_alive[stateidx];
if (state == SADB_SASTATE_LARVAL)
continue;
for (sav = LIST_FIRST(&sah->savtree[state]);
@@ -6518,9 +6518,9 @@
continue;
for (stateidx = 0;
- stateidx < _ARRAYLEN(V_saorder_state_alive);
+ stateidx < _ARRAYLEN(saorder_state_alive);
stateidx++) {
- state = V_saorder_state_any[stateidx];
+ state = saorder_state_any[stateidx];
for (sav = LIST_FIRST(&sah->savtree[state]);
sav != NULL;
sav = nextsav) {
@@ -6603,9 +6603,9 @@
continue;
for (stateidx = 0;
- stateidx < _ARRAYLEN(V_saorder_state_any);
+ stateidx < _ARRAYLEN(saorder_state_any);
stateidx++) {
- state = V_saorder_state_any[stateidx];
+ state = saorder_state_any[stateidx];
LIST_FOREACH(sav, &sah->savtree[state], chain) {
cnt++;
}
@@ -6633,9 +6633,9 @@
}
for (stateidx = 0;
- stateidx < _ARRAYLEN(V_saorder_state_any);
+ stateidx < _ARRAYLEN(saorder_state_any);
stateidx++) {
- state = V_saorder_state_any[stateidx];
+ state = saorder_state_any[stateidx];
LIST_FOREACH(sav, &sah->savtree[state], chain) {
n = key_setdumpsa(sav, SADB_DUMP, satype,
--cnt, mhp->msg->sadb_msg_pid);
==== //depot/projects/vimage-commit2/src/sys/netipsec/keysock.c#13 (text+ko) ====
@@ -166,7 +166,7 @@
V_pfkeystat.in_msgtype[pmsg->sadb_msg_type]++;
}
- if (!sbappendaddr(&rp->rcb_socket->so_rcv, (struct sockaddr *)&V_key_src,
+ if (!sbappendaddr(&rp->rcb_socket->so_rcv, (struct sockaddr *)&key_src,
m, NULL)) {
V_pfkeystat.in_nomem++;
m_freem(m);
==== //depot/projects/vimage-commit2/src/sys/netipsec/vipsec.h#8 (text+ko) ====
@@ -81,8 +81,6 @@
int _key_preferred_oldsa;
u_int32_t _acq_seq;
- u_int _saorder_state_alive[3];
- u_int _saorder_state_any[4];
int _esp_enable;
struct espstat _espstat;
int _esp_max_ivlen;
@@ -98,7 +96,6 @@
int _ip6_ah_trans_deflev;
int _ip6_ah_net_deflev;
int _ip6_ipsec_ecn;
- int _ip6_esp_randpad;
int _ah_enable;
int _ah_cleartos;
@@ -109,8 +106,6 @@
struct pfkeystat _pfkeystat;
struct key_cb _key_cb;
- struct sockaddr _key_dst;
- struct sockaddr _key_src;
LIST_HEAD(, secpolicy) _sptree[IPSEC_DIR_MAX];
LIST_HEAD(, secashead) _sahtree;
@@ -168,20 +163,16 @@
#define V_key_blockacq_lifetime VNET_IPSEC(key_blockacq_lifetime)
#define V_key_cb VNET_IPSEC(key_cb)
#define V_key_debug_level VNET_IPSEC(key_debug_level)
-#define V_key_dst VNET_IPSEC(key_dst)
#define V_key_int_random VNET_IPSEC(key_int_random)
#define V_key_larval_lifetime VNET_IPSEC(key_larval_lifetime)
#define V_key_preferred_oldsa VNET_IPSEC(key_preferred_oldsa)
#define V_key_spi_maxval VNET_IPSEC(key_spi_maxval)
#define V_key_spi_minval VNET_IPSEC(key_spi_minval)
#define V_key_spi_trycnt VNET_IPSEC(key_spi_trycnt)
-#define V_key_src VNET_IPSEC(key_src)
#define V_pfkeystat VNET_IPSEC(pfkeystat)
#define V_policy_id VNET_IPSEC(policy_id)
#define V_regtree VNET_IPSEC(regtree)
#define V_sahtree VNET_IPSEC(sahtree)
-#define V_saorder_state_alive VNET_IPSEC(saorder_state_alive)
-#define V_saorder_state_any VNET_IPSEC(saorder_state_any)
#define V_spacqtree VNET_IPSEC(spacqtree)
#define V_sptree VNET_IPSEC(sptree)
More information about the p4-projects
mailing list