PERFORCE change 157896 for review

Marko Zec zec at FreeBSD.org
Wed Feb 18 08:45:15 PST 2009


http://perforce.freebsd.org/chv.cgi?CH=157896

Change 157896 by zec at zec_amdx2 on 2009/02/18 16:44:56

	First pass at simplifying the initializer infrastructure.
	
	Define IS_DEFAULT_VNET() macro to always return true for
	non-VIMAGE builds, which paves the path for removal of many
	#ifdef VIMAGE lines in initializer functions.
	
	Consistently allocate a uma zone pool for each vnet subsystem,
	where needed.  This might not be the most memory efficient
	strategy, but ATM releives us of the issue of handling
	overcommited zone pools shared by multiple vnets.  OTOH we
	still haven't addressed the issue of potential uma_zcreate()
	failures on vnet creation.
	
	While here, nuke  struct uma_zone *divcbzone, as it seems that
	no code uses / references it.  Hmm.
	
	TODO: inet6, ipsec etc.

Affected files ...

.. //depot/projects/vimage/src/sys/net/if.c#65 edit
.. //depot/projects/vimage/src/sys/net/if_loop.c#37 edit
.. //depot/projects/vimage/src/sys/netinet/igmp.c#24 edit
.. //depot/projects/vimage/src/sys/netinet/ip_divert.c#26 edit
.. //depot/projects/vimage/src/sys/netinet/ip_input.c#47 edit
.. //depot/projects/vimage/src/sys/netinet/raw_ip.c#40 edit
.. //depot/projects/vimage/src/sys/netinet/tcp_sack.c#18 edit
.. //depot/projects/vimage/src/sys/netinet/tcp_subr.c#73 edit
.. //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#26 edit
.. //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#48 edit
.. //depot/projects/vimage/src/sys/netinet/vinet.h#45 edit
.. //depot/projects/vimage/src/sys/sys/vimage.h#78 edit

Differences ...

==== //depot/projects/vimage/src/sys/net/if.c#65 (text+ko) ====

@@ -661,17 +661,13 @@
 	mac_ifnet_create(ifp);
 #endif
 
-#ifdef VIMAGE
 	if (IS_DEFAULT_VNET(curvnet)) {
-#endif
-	ifdev_setbyindex(ifp->if_index, make_dev(&net_cdevsw,
-	    ifp->if_index, UID_ROOT, GID_WHEEL, 0600, "%s/%s",
-	    net_cdevsw.d_name, ifp->if_xname));
-	make_dev_alias(ifdev_byindex(ifp->if_index), "%s%d",
-	    net_cdevsw.d_name, ifp->if_index);
-#ifdef VIMAGE
+		ifdev_setbyindex(ifp->if_index, make_dev(&net_cdevsw,
+		    ifp->if_index, UID_ROOT, GID_WHEEL, 0600, "%s/%s",
+		    net_cdevsw.d_name, ifp->if_xname));
+		make_dev_alias(ifdev_byindex(ifp->if_index), "%s%d",
+		    net_cdevsw.d_name, ifp->if_index);
 	}
-#endif
 
 	ifq_attach(&ifp->if_snd, ifp);
 
@@ -723,10 +719,8 @@
 		if_attachdomain1(ifp);
 
 	EVENTHANDLER_INVOKE(ifnet_arrival_event, ifp);
-#ifdef VIMAGE
 	if (IS_DEFAULT_VNET(curvnet))
-#endif
-	devctl_notify("IFNET", ifp->if_xname, "ATTACH", NULL);
+		devctl_notify("IFNET", ifp->if_xname, "ATTACH", NULL);
 
 	/* Announce the interface. */
 	rt_ifannouncemsg(ifp, IFAN_ARRIVAL);
@@ -931,13 +925,8 @@
 	 * Clean up all addresses.
 	 */
 	ifp->if_addr = NULL;
-#ifdef VIMAGE
-	if (IS_DEFAULT_VNET(curvnet)) {
-#endif
-	destroy_dev(ifdev_byindex(ifp->if_index));
-#ifdef VIMAGE
-	}
-#endif
+	if (IS_DEFAULT_VNET(curvnet))
+		destroy_dev(ifdev_byindex(ifp->if_index));
 	ifdev_setbyindex(ifp->if_index, NULL);	
 
 	/* We can now free link ifaddr. */
@@ -966,10 +955,8 @@
 	/* Announce that the interface is gone. */
 	rt_ifannouncemsg(ifp, IFAN_DEPARTURE);
 	EVENTHANDLER_INVOKE(ifnet_departure_event, ifp);
-#ifdef VIMAGE
 	if (IS_DEFAULT_VNET(curvnet))
-#endif
-	devctl_notify("IFNET", ifp->if_xname, "DETACH", NULL);
+		devctl_notify("IFNET", ifp->if_xname, "DETACH", NULL);
 
 	IF_AFDATA_LOCK(ifp);
 	for (dp = domains; dp; dp = dp->dom_next) {
@@ -1633,11 +1620,10 @@
 		(*lagg_linkstate_p)(ifp, link_state);
 	}
 
-#ifdef VIMAGE
 	if (IS_DEFAULT_VNET(curvnet))
-#endif
-	devctl_notify("IFNET", ifp->if_xname,
-	    (link_state == LINK_STATE_UP) ? "LINK_UP" : "LINK_DOWN", NULL);
+		devctl_notify("IFNET", ifp->if_xname,
+		    (link_state == LINK_STATE_UP) ? "LINK_UP" : "LINK_DOWN",
+		    NULL);
 	if (pending > 1)
 		if_printf(ifp, "%d link states coalesced\n", pending);
 	if (log_link_state_change)

==== //depot/projects/vimage/src/sys/net/if_loop.c#37 (text+ko) ====

@@ -185,14 +185,10 @@
 	INIT_VNET_NET(curvnet);
 
 	LIST_INIT(&V_lo_list);
-#ifdef VIMAGE
 	if (IS_DEFAULT_VNET(curvnet))
 		if_clone_attach(&lo_cloner);
 	else
 		lo_cloner.ifc_attach(&lo_cloner);
-#else
-	if_clone_attach(&lo_cloner);
-#endif
 	return 0;
 }
 

==== //depot/projects/vimage/src/sys/netinet/igmp.c#24 (text+ko) ====

@@ -125,9 +125,11 @@
 	INIT_VNET_INET(curvnet);
 	struct ipoption *ra;
 
-#ifdef VIMAGE
-	if (IS_DEFAULT_VNET(curvnet)) {
-#endif
+	SLIST_INIT(&V_router_info_head);
+
+	if (!IS_DEFAULT_VNET(curvnet))
+		return;
+
 	/*
 	 * To avoid byte-swapping the same value over and over again.
 	 */
@@ -149,11 +151,6 @@
 	router_alert->m_len = sizeof(ra->ipopt_dst) + ra->ipopt_list[1];
 
 	mtx_init(&igmp_mtx, "igmp_mtx", NULL, MTX_DEF);
-#ifdef VIMAGE
-	}
-#endif
-
-	SLIST_INIT(&V_router_info_head);
 }
 
 static struct router_info *

==== //depot/projects/vimage/src/sys/netinet/ip_divert.c#26 (text+ko) ====

@@ -122,56 +122,16 @@
 static struct inpcbhead divcb;
 static struct inpcbinfo divcbinfo;
 #endif
-static struct uma_zone *divcbzone;
 
 static u_long	div_sendspace = DIVSNDQ;	/* XXX sysctl ? */
 static u_long	div_recvspace = DIVRCVQ;	/* XXX sysctl ? */
 
-/*
- * Initialize divert connection block queue.
- */
-static void
-div_zone_change(void *tag)
-{
-
-	uma_zone_set_max(divcbzone, maxsockets);
-}
-
-static int
-div_inpcb_init(void *mem, int size, int flags)
-{
-	struct inpcb *inp = mem;
-
-	INP_LOCK_INIT(inp, "inp", "divinp");
-	return (0);
-}
-
-static void
-div_inpcb_fini(void *mem, int size)
-{
-	struct inpcb *inp = mem;
-
-	INP_LOCK_DESTROY(inp);
-}
-
 void
 div_init(void)
 {
 	INIT_VNET_INET(curvnet);
 
-#ifdef VIMAGE
-	if (IS_DEFAULT_VNET(curvnet)) {
-#endif
-	divcbzone = uma_zcreate("divcb", sizeof(struct inpcb),
-	    NULL, NULL, div_inpcb_init, div_inpcb_fini, UMA_ALIGN_PTR,
-	    UMA_ZONE_NOFREE);
-	uma_zone_set_max(divcbzone, maxsockets);
-	EVENTHANDLER_REGISTER(maxsockets_change, div_zone_change,
-		NULL, EVENTHANDLER_PRI_ANY);
-#ifdef VIMAGE
-	}
 	V_divcbinfo.ipi_vnet = curvnet;
-#endif
 	INP_INFO_LOCK_INIT(&V_divcbinfo, "div");
 	LIST_INIT(&V_divcb);
 	V_divcbinfo.ipi_listhead = &V_divcb;
@@ -727,7 +687,7 @@
 static int
 div_modevent(module_t mod, int type, void *unused)
 {
-	INIT_VNET_INET(curvnet); /* XXX fixme! */
+	INIT_VNET_INET(curvnet); /* XXX fixme! MARKO */
 	int err = 0;
 	int n;
 
@@ -772,7 +732,6 @@
 		err = pf_proto_unregister(PF_INET, IPPROTO_DIVERT, SOCK_RAW);
 		INP_INFO_WUNLOCK(&V_divcbinfo);
 		INP_INFO_LOCK_DESTROY(&V_divcbinfo);
-		uma_zdestroy(divcbzone);
 		break;
 	default:
 		err = EOPNOTSUPP;

==== //depot/projects/vimage/src/sys/netinet/ip_input.c#47 (text+ko) ====

@@ -294,11 +294,11 @@
 	    NULL, UMA_ALIGN_PTR, 0);
 	maxnipq_update();
 
-#ifdef VIMAGE
+	V_ip_id = time_second & 0xffff;
+
 	/* Skip initialization of globals for non-default instances. */
 	if (!IS_DEFAULT_VNET(curvnet))
 		return;
-#endif
 
 	pr = pffindproto(PF_INET, IPPROTO_RAW, SOCK_RAW);
 	if (pr == NULL)
@@ -337,7 +337,6 @@
 
 	/* Initialize various other remaining things. */
 	IPQ_LOCK_INIT();
-	V_ip_id = time_second & 0xffff;
 	ipintrq.ifq_maxlen = ipqmaxlen;
 	mtx_init(&ipintrq.ifq_mtx, "ip_inq", NULL, MTX_DEF);
 	netisr_register(NETISR_IP, ip_input, &ipintrq, 0);

==== //depot/projects/vimage/src/sys/netinet/raw_ip.c#40 (text+ko) ====

@@ -82,8 +82,8 @@
 #ifdef VIMAGE_GLOBALS
 struct	inpcbhead ripcb;
 struct	inpcbinfo ripcbinfo;
+static struct uma_zone *ripcb_zone;
 #endif
-static struct uma_zone *ripcb_zone;
 
 /* control hooks for ipfw and dummynet */
 ip_fw_ctl_t *ip_fw_ctl_ptr = NULL;
@@ -185,15 +185,9 @@
 {
 	INIT_VNET_INET(curvnet);
 
-#ifdef VIMAGE
-	if (IS_DEFAULT_VNET(curvnet)) {
-#endif
-	ripcb_zone = uma_zcreate("ripcb", sizeof(struct inpcb),
+	V_ripcb_zone = uma_zcreate("ripcb", sizeof(struct inpcb),
 	    NULL, NULL, rip_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
-#ifdef VIMAGE
-	}
 	V_ripcbinfo.ipi_vnet = curvnet;
-#endif
 
 	INP_INFO_LOCK_INIT(&V_ripcbinfo, "rip");
 	LIST_INIT(&V_ripcb);
@@ -202,7 +196,7 @@
 	    hashinit(INP_PCBHASH_RAW_SIZE, M_PCB, &V_ripcbinfo.ipi_hashmask);
 	V_ripcbinfo.ipi_porthashbase =
 	    hashinit(1, M_PCB, &V_ripcbinfo.ipi_porthashmask);
-	V_ripcbinfo.ipi_zone = ripcb_zone;
+	V_ripcbinfo.ipi_zone = V_ripcb_zone;
 	uma_zone_set_max(V_ripcbinfo.ipi_zone, maxsockets);
 	EVENTHANDLER_REGISTER(maxsockets_change, rip_zone_change, NULL,
 	    EVENTHANDLER_PRI_ANY);

==== //depot/projects/vimage/src/sys/netinet/tcp_sack.c#18 (text+ko) ====

@@ -123,9 +123,8 @@
 
 #include <machine/in_cksum.h>
 
+#ifdef VIMAGE_GLOBALS
 extern struct uma_zone *sack_hole_zone;
-
-#ifdef VIMAGE_GLOBALS
 int tcp_do_sack;
 int tcp_sack_maxholes;
 int tcp_sack_globalmaxholes;
@@ -265,7 +264,7 @@
 		return NULL;
 	}
 
-	hole = (struct sackhole *)uma_zalloc(sack_hole_zone, M_NOWAIT);
+	hole = (struct sackhole *)uma_zalloc(V_sack_hole_zone, M_NOWAIT);
 	if (hole == NULL)
 		return NULL;
 
@@ -287,7 +286,7 @@
 {
 	INIT_VNET_INET(tp->t_vnet);
 
-	uma_zfree(sack_hole_zone, hole);
+	uma_zfree(V_sack_hole_zone, hole);
 
 	tp->snd_numholes--;
 	V_tcp_sack_globalholes--;

==== //depot/projects/vimage/src/sys/netinet/tcp_subr.c#73 (text+ko) ====

@@ -269,7 +269,6 @@
 	struct	tcp_timer	tt;
 };
 
-static uma_zone_t tcpcb_zone;
 MALLOC_DEFINE(M_TCPLOG, "tcplog", "TCP address and flags print buffers");
 struct callout isn_callout;
 static struct mtx isn_mtx;
@@ -278,7 +277,10 @@
 #define	ISN_LOCK()	mtx_lock(&isn_mtx)
 #define	ISN_UNLOCK()	mtx_unlock(&isn_mtx)
 
+#ifdef VIMAGE_GLOBALS
+static uma_zone_t tcpcb_zone;
 static struct uma_zone *tcp_ipi_zone;
+#endif
 
 /*
  * TCP initialization.
@@ -286,9 +288,10 @@
 static void
 tcp_zone_change(void *tag)
 {
+	INIT_VNET_INET(curvnet); /* XXX */
 
-	uma_zone_set_max(tcp_ipi_zone, maxsockets);
-	uma_zone_set_max(tcpcb_zone, maxsockets);
+	uma_zone_set_max(V_tcp_ipi_zone, maxsockets);
+	uma_zone_set_max(V_tcpcb_zone, maxsockets);
 	tcp_tw_zone_change();
 }
 
@@ -344,23 +347,17 @@
 	V_tcp_autosndbuf_max = 256*1024;
 
 
-#ifdef VIMAGE
-	if (IS_DEFAULT_VNET(curvnet)) {
-#endif
-	tcp_ipi_zone = uma_zcreate("inpcb", sizeof(struct inpcb),
+	V_tcp_ipi_zone = uma_zcreate("inpcb", sizeof(struct inpcb),
 	    NULL, NULL, tcp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
-	uma_zone_set_max(tcp_ipi_zone, maxsockets);
+	uma_zone_set_max(V_tcp_ipi_zone, maxsockets);
 	/*
 	 * These have to be type stable for the benefit of the timers.
 	 */
-	tcpcb_zone = uma_zcreate("tcpcb", sizeof(struct tcpcb_mem),
+	V_tcpcb_zone = uma_zcreate("tcpcb", sizeof(struct tcpcb_mem),
 	    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
-	uma_zone_set_max(tcpcb_zone, maxsockets);
-	sack_hole_zone = uma_zcreate("sackhole", sizeof(struct sackhole),
+	uma_zone_set_max(V_tcpcb_zone, maxsockets);
+	V_sack_hole_zone = uma_zcreate("sackhole", sizeof(struct sackhole),
 	    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
-#ifdef VIMAGE
-	}
-#endif
 
 	tcp_tw_init();
 
@@ -398,7 +395,7 @@
 	    &V_tcbinfo.ipi_hashmask);
 	V_tcbinfo.ipi_porthashbase = hashinit(hashsize, M_PCB,
 	    &V_tcbinfo.ipi_porthashmask);
-	V_tcbinfo.ipi_zone = tcp_ipi_zone;
+	V_tcbinfo.ipi_zone = V_tcp_ipi_zone;
 	V_tcbinfo.ipi_vnet = curvnet;
 #ifdef INET6
 #define TCP_MINPROTOHDR (sizeof(struct ip6_hdr) + sizeof(struct tcphdr))
@@ -413,13 +410,11 @@
 
 	syncache_init();
 	tcp_hc_init();
+	tcp_reass_init();
 
-#ifdef VIMAGE
 	if (!IS_DEFAULT_VNET(curvnet))
 		return;
-#endif
 
-	tcp_reass_init();
 	ISN_LOCK_INIT();
 	callout_init(&isn_callout, CALLOUT_MPSAFE);
 	callout_reset(&isn_callout, 1, tcp_isn_tick, NULL);
@@ -723,7 +718,7 @@
 	int isipv6 = (inp->inp_vflag & INP_IPV6) != 0;
 #endif /* INET6 */
 
-	tm = uma_zalloc(tcpcb_zone, M_NOWAIT | M_ZERO);
+	tm = uma_zalloc(V_tcpcb_zone, M_NOWAIT | M_ZERO);
 	if (tm == NULL)
 		return (NULL);
 	tp = &tm->tcb;
@@ -896,7 +891,7 @@
 	tcp_free_sackholes(tp);
 	inp->inp_ppcb = NULL;
 	tp->t_inpcb = NULL;
-	uma_zfree(tcpcb_zone, tp);
+	uma_zfree(V_tcpcb_zone, tp);
 }
 
 /*

==== //depot/projects/vimage/src/sys/netinet/tcp_timewait.c#26 (text+ko) ====

@@ -94,7 +94,6 @@
 
 #include <security/mac/mac_framework.h>
 
-static uma_zone_t tcptw_zone;
 static int	maxtcptw;
 
 /*
@@ -104,6 +103,7 @@
  * tcbinfo lock, which must be held over queue iteration and modification.
  */
 #ifdef VIMAGE_GLOBALS
+static uma_zone_t tcptw_zone;
 static TAILQ_HEAD(, tcptw)	twq_2msl;
 int	nolocaltimewait;
 #endif
@@ -132,6 +132,7 @@
 static int
 sysctl_maxtcptw(SYSCTL_HANDLER_ARGS)
 {
+	INIT_VNET_INET(curvnet);
 	int error, new;
 
 	if (maxtcptw == 0)
@@ -142,7 +143,7 @@
 	if (error == 0 && req->newptr)
 		if (new >= 32) {
 			maxtcptw = new;
-			uma_zone_set_max(tcptw_zone, maxtcptw);
+			uma_zone_set_max(V_tcptw_zone, maxtcptw);
 		}
 	return (error);
 }
@@ -158,9 +159,10 @@
 void
 tcp_tw_zone_change(void)
 {
+	INIT_VNET_INET(curvnet); /* XXX */
 
 	if (maxtcptw == 0)
-		uma_zone_set_max(tcptw_zone, tcptw_auto_size());
+		uma_zone_set_max(V_tcptw_zone, tcptw_auto_size());
 }
 
 void
@@ -170,18 +172,13 @@
 
 	TAILQ_INIT(&V_twq_2msl);
 
-#ifdef VIMAGE
-	if (!IS_DEFAULT_VNET(curvnet))
-		return;
-#endif
-
-	tcptw_zone = uma_zcreate("tcptw", sizeof(struct tcptw),
+	V_tcptw_zone = uma_zcreate("tcptw", sizeof(struct tcptw),
 	    NULL, NULL, NULL, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
 	TUNABLE_INT_FETCH("net.inet.tcp.maxtcptw", &maxtcptw);
 	if (maxtcptw == 0)
-		uma_zone_set_max(tcptw_zone, tcptw_auto_size());
+		uma_zone_set_max(V_tcptw_zone, tcptw_auto_size());
 	else
-		uma_zone_set_max(tcptw_zone, maxtcptw);
+		uma_zone_set_max(V_tcptw_zone, maxtcptw);
 }
 
 #ifdef VIMAGE
@@ -224,7 +221,7 @@
 		return;
 	}
 
-	tw = uma_zalloc(tcptw_zone, M_NOWAIT);
+	tw = uma_zalloc(V_tcptw_zone, M_NOWAIT);
 	if (tw == NULL) {
 		tw = tcp_tw_2msl_scan(1);
 		if (tw == NULL) {
@@ -542,7 +539,7 @@
 	tw->tw_cred = NULL;
 	if (reuse)
 		return;
-	uma_zfree(tcptw_zone, tw);
+	uma_zfree(V_tcptw_zone, tw);
 }
 
 int

==== //depot/projects/vimage/src/sys/netinet/udp_usrreq.c#48 (text+ko) ====

@@ -152,13 +152,16 @@
 static int	udp_output(struct inpcb *, struct mbuf *, struct sockaddr *,
 		    struct mbuf *, struct thread *);
 
+#ifdef VIMAGE_GLOBALS
 static struct uma_zone *udp_ipi_zone;
+#endif
 
 static void
 udp_zone_change(void *tag)
 {
+	INIT_VNET_INET(curvnet); /* XXX */
 
-	uma_zone_set_max(udp_ipi_zone, maxsockets);
+	uma_zone_set_max(V_udp_ipi_zone, maxsockets);
 }
 
 static int
@@ -178,18 +181,12 @@
 
 	V_udp_blackhole = 0;
 
-#ifdef VIMAGE
-	if (IS_DEFAULT_VNET(curvnet)) {
-#endif
-	udp_ipi_zone = uma_zcreate("udpcb", sizeof(struct inpcb), NULL,
+	V_udp_ipi_zone = uma_zcreate("udpcb", sizeof(struct inpcb), NULL,
 	    NULL, udp_inpcb_init, NULL, UMA_ALIGN_PTR, UMA_ZONE_NOFREE);
-	uma_zone_set_max(udp_ipi_zone, maxsockets);
+	uma_zone_set_max(V_udp_ipi_zone, maxsockets);
 	EVENTHANDLER_REGISTER(maxsockets_change, udp_zone_change, NULL,
 	    EVENTHANDLER_PRI_ANY);
-#ifdef VIMAGE
-	}
 	V_udbinfo.ipi_vnet = curvnet;
-#endif
 
 	INP_INFO_LOCK_INIT(&V_udbinfo, "udp");
 	LIST_INIT(&V_udb);
@@ -198,7 +195,7 @@
 	    &V_udbinfo.ipi_hashmask);
 	V_udbinfo.ipi_porthashbase = hashinit(UDBHASHSIZE, M_PCB,
 	    &V_udbinfo.ipi_porthashmask);
-	V_udbinfo.ipi_zone = udp_ipi_zone;
+	V_udbinfo.ipi_zone = V_udp_ipi_zone;
 }
 
 #ifdef VIMAGE

==== //depot/projects/vimage/src/sys/netinet/vinet.h#45 (text+ko) ====

@@ -86,6 +86,12 @@
 	struct	tcp_hostcache _tcp_hostcache;
 	struct  callout _tcp_hc_callout;
 
+	struct	uma_zone *_tcp_ipi_zone;
+	struct	uma_zone *_tcpcb_zone;
+	struct	uma_zone *_tcptw_zone;
+	struct	uma_zone *_sack_hole_zone;
+	struct	uma_zone *_udp_ipi_zone;
+
 	struct	tcp_syncache _tcp_syncache;
 	int	_tcp_syncookies;
 	int	_tcp_syncookiesonly;
@@ -149,6 +155,7 @@
 
 	struct	inpcbhead _ripcb;
 	struct	inpcbinfo _ripcbinfo;
+	struct	uma_zone *_ripcb_zone;
 	struct	socket *_ip_mrouter;
 
 	struct	socket *_ip_rsvpd;
@@ -277,6 +284,7 @@
 #define	V_reply_src		VNET_INET(reply_src)
 #define	V_ripcb			VNET_INET(ripcb)
 #define	V_ripcbinfo		VNET_INET(ripcbinfo)
+#define	V_ripcb_zone		VNET_INET(ripcb_zone)
 #define	V_router_info_head	VNET_INET(router_info_head)
 #define	V_rsvp_on		VNET_INET(rsvp_on)
 #define	V_rtq_minreallyold	VNET_INET(rtq_minreallyold)
@@ -284,6 +292,7 @@
 #define	V_rtq_timeout		VNET_INET(rtq_timeout)
 #define	V_rtq_timer		VNET_INET(rtq_timer)
 #define	V_rtq_toomany		VNET_INET(rtq_toomany)
+#define V_sack_hole_zone	VNET_INET(sack_hole_zone)
 #define	V_sameprefixcarponly	VNET_INET(sameprefixcarponly)
 #define	V_ss_fltsz		VNET_INET(ss_fltsz)
 #define	V_ss_fltsz_local	VNET_INET(ss_fltsz_local)
@@ -315,6 +324,7 @@
 #define	V_tcp_inflight_rttthresh VNET_INET(tcp_inflight_rttthresh)
 #define	V_tcp_inflight_stab	VNET_INET(tcp_inflight_stab)
 #define	V_tcp_insecure_rst	VNET_INET(tcp_insecure_rst)
+#define V_tcp_ipi_zone		VNET_INET(tcp_ipi_zone)
 #define	V_tcp_isn_reseed_interval VNET_INET(tcp_isn_reseed_interval)
 #define	V_tcp_minmss		VNET_INET(tcp_minmss)
 #define	V_tcp_mssdflt		VNET_INET(tcp_mssdflt)
@@ -330,11 +340,14 @@
 #define	V_tcp_syncookies	VNET_INET(tcp_syncookies)
 #define	V_tcp_syncookiesonly	VNET_INET(tcp_syncookiesonly)
 #define	V_tcp_v6mssdflt		VNET_INET(tcp_v6mssdflt)
+#define V_tcpcb_zone		VNET_INET(tcpcb_zone)
+#define V_tcptw_zone		VNET_INET(tcptw_zone)
 #define	V_tcpstat		VNET_INET(tcpstat)
 #define	V_twq_2msl		VNET_INET(twq_2msl)
 #define	V_udb			VNET_INET(udb)
 #define	V_udbinfo		VNET_INET(udbinfo)
 #define	V_udp_blackhole		VNET_INET(udp_blackhole)
+#define	V_udp_ipi_zone		VNET_INET(udp_ipi_zone)
 #define	V_udpstat		VNET_INET(udpstat)
 #define	V_useloopback		VNET_INET(useloopback)
 

==== //depot/projects/vimage/src/sys/sys/vimage.h#78 (text+ko) ====

@@ -311,6 +311,7 @@
 #else /* !VIMAGE */
 
 /* Non-VIMAGE null-macros */
+#define	IS_DEFAULT_VNET(arh) 1
 #define	CURVNET_SET(arg)
 #define	CURVNET_SET_QUIET(arg)
 #define	CURVNET_RESTORE()


More information about the p4-projects mailing list