diff options
142 files changed, 386 insertions, 521 deletions
diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index e27064e..9bed51f 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -14,6 +14,8 @@ # The file is partitioned: OLD_FILES first, then OLD_LIBS and OLD_DIRS last. # +# 20090801: vimage.h removed in favour of vnet.h +OLD_FILES+=usr/include/sys/vimage.h # 20090719: library version bump for 8.0 OLD_LIBS+=lib/libalias.so.6 OLD_LIBS+=lib/libavl.so.1 diff --git a/lib/libkvm/kvm_vnet.c b/lib/libkvm/kvm_vnet.c index 13f7cf4..1a02cad 100644 --- a/lib/libkvm/kvm_vnet.c +++ b/lib/libkvm/kvm_vnet.c @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include <sys/jail.h> #include <sys/proc.h> #include <sys/types.h> -#include <sys/vimage.h> #include <net/vnet.h> diff --git a/sys/arm/arm/minidump_machdep.c b/sys/arm/arm/minidump_machdep.c index 927a856..c21b183 100644 --- a/sys/arm/arm/minidump_machdep.c +++ b/sys/arm/arm/minidump_machdep.c @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include <sys/kernel.h> #include <sys/kerneldump.h> #include <sys/msgbuf.h> -#include <sys/vimage.h> #include <vm/vm.h> #include <vm/pmap.h> #include <machine/pmap.h> diff --git a/sys/compat/linprocfs/linprocfs.c b/sys/compat/linprocfs/linprocfs.c index 5bca381..dfa80d5 100644 --- a/sys/compat/linprocfs/linprocfs.c +++ b/sys/compat/linprocfs/linprocfs.c @@ -73,7 +73,6 @@ __FBSDID("$FreeBSD$"); #include <sys/user.h> #include <sys/vmmeter.h> #include <sys/vnode.h> -#include <sys/vimage.h> #include <sys/bus.h> #include <net/if.h> diff --git a/sys/compat/linux/linux_ioctl.c b/sys/compat/linux/linux_ioctl.c index a8b0945..11dc6d5 100644 --- a/sys/compat/linux/linux_ioctl.c +++ b/sys/compat/linux/linux_ioctl.c @@ -59,7 +59,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sx.h> #include <sys/tty.h> #include <sys/uio.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 0c48b91..d3860b0 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$"); #include <sys/uio.h> #include <sys/syslog.h> #include <sys/un.h> -#include <sys/vimage.h> #include <net/if.h> #include <netinet/in.h> diff --git a/sys/compat/svr4/svr4_sockio.c b/sys/compat/svr4/svr4_sockio.c index ec62f71..afb3cfe 100644 --- a/sys/compat/svr4/svr4_sockio.c +++ b/sys/compat/svr4/svr4_sockio.c @@ -36,7 +36,6 @@ __FBSDID("$FreeBSD$"); #include <sys/filedesc.h> #include <sys/sockio.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/vnet.h> diff --git a/sys/conf/files b/sys/conf/files index 170fe02..0769151 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -1992,7 +1992,6 @@ kern/kern_time.c standard kern/kern_timeout.c standard kern/kern_umtx.c standard kern/kern_uuid.c standard -kern/kern_vimage.c optional vimage kern/kern_xxx.c standard kern/link_elf.c standard kern/linker_if.m standard diff --git a/sys/contrib/altq/altq/altq_subr.c b/sys/contrib/altq/altq/altq_subr.c index 348128f..32107e5 100644 --- a/sys/contrib/altq/altq/altq_subr.c +++ b/sys/contrib/altq/altq/altq_subr.c @@ -47,9 +47,6 @@ #include <sys/syslog.h> #include <sys/sysctl.h> #include <sys/queue.h> -#ifdef __FreeBSD__ -#include <sys/vimage.h> -#endif #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/contrib/ipfilter/netinet/fil.c b/sys/contrib/ipfilter/netinet/fil.c index 3cd09d1..ea19254 100644 --- a/sys/contrib/ipfilter/netinet/fil.c +++ b/sys/contrib/ipfilter/netinet/fil.c @@ -33,9 +33,6 @@ # if (__FreeBSD_version == 400019) # define CSUM_DELAY_DATA # endif -# if (__FreeBSD_version >= 800044) -# include <sys/vimage.h> -# endif # endif # include <sys/filio.h> #else diff --git a/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c b/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c index 1480ed0..cac56ef 100644 --- a/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c +++ b/sys/contrib/ipfilter/netinet/ip_fil_freebsd.c @@ -63,7 +63,6 @@ static const char rcsid[] = "@(#)$Id: ip_fil_freebsd.c,v 2.53.2.50 2007/09/20 12 # include <sys/select.h> #endif #if __FreeBSD_version >= 800044 -# include <sys/vimage.h> # include <netinet/tcp_var.h> #else #define V_path_mtu_discovery path_mtu_discovery diff --git a/sys/contrib/pf/net/pf.c b/sys/contrib/pf/net/pf.c index d59930f..79cef36 100644 --- a/sys/contrib/pf/net/pf.c +++ b/sys/contrib/pf/net/pf.c @@ -91,7 +91,6 @@ __FBSDID("$FreeBSD$"); #include <sys/kthread.h> #include <sys/lock.h> #include <sys/sx.h> -#include <sys/vimage.h> #else #include <sys/rwlock.h> #endif diff --git a/sys/contrib/pf/net/pf_if.c b/sys/contrib/pf/net/pf_if.c index 7056640..a78a545 100644 --- a/sys/contrib/pf/net/pf_if.c +++ b/sys/contrib/pf/net/pf_if.c @@ -54,9 +54,6 @@ __FBSDID("$FreeBSD$"); #include <sys/device.h> #endif #include <sys/time.h> -#ifdef __FreeBSD__ -#include <sys/vimage.h> -#endif #include <net/if.h> #include <net/if_types.h> diff --git a/sys/contrib/pf/net/pf_ioctl.c b/sys/contrib/pf/net/pf_ioctl.c index 36331f3..514b7c3 100644 --- a/sys/contrib/pf/net/pf_ioctl.c +++ b/sys/contrib/pf/net/pf_ioctl.c @@ -83,7 +83,6 @@ __FBSDID("$FreeBSD$"); #include <sys/conf.h> #include <sys/proc.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #else #include <sys/timeout.h> #include <sys/pool.h> diff --git a/sys/contrib/pf/net/pf_subr.c b/sys/contrib/pf/net/pf_subr.c index 9314bf1..07f5295 100644 --- a/sys/contrib/pf/net/pf_subr.c +++ b/sys/contrib/pf/net/pf_subr.c @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/systm.h> #include <sys/time.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/contrib/rdma/rdma_cma.c b/sys/contrib/rdma/rdma_cma.c index 1bf2d08..5352497 100644 --- a/sys/contrib/rdma/rdma_cma.c +++ b/sys/contrib/rdma/rdma_cma.c @@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$"); #include <sys/taskqueue.h> #include <sys/priv.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <netinet/in.h> diff --git a/sys/ddb/db_sym.c b/sys/ddb/db_sym.c index 1a95c11..99209a8 100644 --- a/sys/ddb/db_sym.c +++ b/sys/ddb/db_sym.c @@ -32,9 +32,9 @@ __FBSDID("$FreeBSD$"); #include <sys/param.h> +#include <sys/pcpu.h> #include <sys/smp.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/vnet.h> diff --git a/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c b/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c index 8fd1e97..cf42ea0 100644 --- a/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c +++ b/sys/dev/cxgb/ulp/iw_cxgb/iw_cxgb.c @@ -54,9 +54,7 @@ __FBSDID("$FreeBSD$"); #include <sys/proc.h> #include <sys/eventhandler.h> -#if __FreeBSD_version >= 800044 -#include <sys/vimage.h> -#else +#if __FreeBSD_version < 800044 #define V_ifnet ifnet #endif diff --git a/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c b/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c index 1cbaaff..d528b30 100644 --- a/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c +++ b/sys/dev/cxgb/ulp/tom/cxgb_cpl_io.c @@ -48,9 +48,7 @@ __FBSDID("$FreeBSD$"); #include <sys/protosw.h> #include <sys/priv.h> -#if __FreeBSD_version >= 800044 -#include <sys/vimage.h> -#else +#if __FreeBSD_version < 800044 #define V_tcp_do_autosndbuf tcp_do_autosndbuf #define V_tcp_autosndbuf_max tcp_autosndbuf_max #define V_tcp_do_rfc1323 tcp_do_rfc1323 diff --git a/sys/fs/nfs/nfsport.h b/sys/fs/nfs/nfsport.h index f05c84e..f320316 100644 --- a/sys/fs/nfs/nfsport.h +++ b/sys/fs/nfs/nfsport.h @@ -78,7 +78,6 @@ #include <sys/priv.h> #include <sys/kthread.h> #include <sys/syscallsubr.h> -#include <sys/vimage.h> #include <fs/fifofs/fifo.h> #include <net/if.h> #include <net/radix.h> diff --git a/sys/kern/kern_jail.c b/sys/kern/kern_jail.c index 03612d7..cf5dfd8 100644 --- a/sys/kern/kern_jail.c +++ b/sys/kern/kern_jail.c @@ -58,9 +58,12 @@ __FBSDID("$FreeBSD$"); #include <sys/syscallsubr.h> #include <sys/sysctl.h> #include <sys/vnode.h> -#include <sys/vimage.h> + #include <net/if.h> +#include <net/vnet.h> + #include <netinet/in.h> + #ifdef DDB #include <ddb/ddb.h> #ifdef INET6 diff --git a/sys/kern/kern_linker.c b/sys/kern/kern_linker.c index 73cee6c..9387ba8 100644 --- a/sys/kern/kern_linker.c +++ b/sys/kern/kern_linker.c @@ -51,7 +51,8 @@ __FBSDID("$FreeBSD$"); #include <sys/vnode.h> #include <sys/syscallsubr.h> #include <sys/sysctl.h> -#include <sys/vimage.h> + +#include <net/vnet.h> #include <security/mac/mac_framework.h> diff --git a/sys/kern/kern_poll.c b/sys/kern/kern_poll.c index 5396240..5df26bb 100644 --- a/sys/kern/kern_poll.c +++ b/sys/kern/kern_poll.c @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sockio.h> #include <sys/sysctl.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> /* for IFF_* flags */ #include <net/netisr.h> /* for NETISR_POLL */ diff --git a/sys/kern/kern_sysctl.c b/sys/kern/kern_sysctl.c index 535ea81..bb5b6a0 100644 --- a/sys/kern/kern_sysctl.c +++ b/sys/kern/kern_sysctl.c @@ -54,7 +54,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sx.h> #include <sys/sysproto.h> #include <sys/uio.h> -#include <sys/vimage.h> #ifdef KTRACE #include <sys/ktrace.h> #endif diff --git a/sys/kern/kern_uuid.c b/sys/kern/kern_uuid.c index cd88538..e7e4123 100644 --- a/sys/kern/kern_uuid.c +++ b/sys/kern/kern_uuid.c @@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sysproto.h> #include <sys/systm.h> #include <sys/uuid.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/kern/kern_vimage.c b/sys/kern/kern_vimage.c deleted file mode 100644 index 9c86b75..0000000 --- a/sys/kern/kern_vimage.c +++ /dev/null @@ -1,186 +0,0 @@ -/*- - * Copyright (c) 2004-2009 University of Zagreb - * Copyright (c) 2006-2009 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. - */ - -#include <sys/cdefs.h> -__FBSDID("$FreeBSD$"); - -#include "opt_ddb.h" - -#include <sys/param.h> -#include <sys/jail.h> -#include <sys/kernel.h> -#include <sys/lock.h> -#include <sys/malloc.h> -#include <sys/socket.h> -#include <sys/sockio.h> -#include <sys/sx.h> -#include <sys/vimage.h> -#ifdef DDB -#include <ddb/ddb.h> -#endif - -#include <net/if.h> -#include <net/route.h> -#include <net/vnet.h> - -MALLOC_DEFINE(M_VNET, "vnet", "network stack control block"); - -struct rwlock vnet_rwlock; -struct sx vnet_sxlock; - -#define VNET_LIST_WLOCK() do { \ - sx_xlock(&vnet_sxlock); \ - rw_wlock(&vnet_rwlock); \ -} while (0) - -#define VNET_LIST_WUNLOCK() do { \ - rw_wunlock(&vnet_rwlock); \ - sx_xunlock(&vnet_sxlock); \ -} while (0) - -struct vnet_list_head vnet_head; -struct vnet *vnet0; - - -struct vnet * -vnet_alloc(void) -{ - struct vnet *vnet; - - vnet = malloc(sizeof(struct vnet), M_VNET, M_WAITOK | M_ZERO); - vnet->vnet_magic_n = VNET_MAGIC_N; - vnet_data_init(vnet); - - /* Initialize / attach vnet module instances. */ - CURVNET_SET_QUIET(vnet); - - sx_xlock(&vnet_sxlock); - vnet_sysinit(); - CURVNET_RESTORE(); - - rw_wlock(&vnet_rwlock); - LIST_INSERT_HEAD(&vnet_head, vnet, vnet_le); - VNET_LIST_WUNLOCK(); - - return (vnet); -} - -void -vnet_destroy(struct vnet *vnet) -{ - struct ifnet *ifp, *nifp; - - KASSERT(vnet->vnet_sockcnt == 0, - ("%s: vnet still has sockets", __func__)); - - VNET_LIST_WLOCK(); - LIST_REMOVE(vnet, vnet_le); - rw_wunlock(&vnet_rwlock); - - CURVNET_SET_QUIET(vnet); - - /* Return all inherited interfaces to their parent vnets. */ - TAILQ_FOREACH_SAFE(ifp, &V_ifnet, if_link, nifp) { - if (ifp->if_home_vnet != ifp->if_vnet) - if_vmove(ifp, ifp->if_home_vnet); - } - - vnet_sysuninit(); - sx_xunlock(&vnet_sxlock); - - CURVNET_RESTORE(); - - /* Hopefully, we are OK to free the vnet container itself. */ - vnet_data_destroy(vnet); - vnet->vnet_magic_n = 0xdeadbeef; - free(vnet, M_VNET); -} - -void -vnet_foreach(void (*vnet_foreach_fn)(struct vnet *, void *), void *arg) -{ - struct vnet *vnet; - - VNET_LIST_RLOCK(); - LIST_FOREACH(vnet, &vnet_head, vnet_le) - vnet_foreach_fn(vnet, arg); - VNET_LIST_RUNLOCK(); -} - -static void -vnet_init_prelink(void *arg) -{ - - rw_init(&vnet_rwlock, "vnet_rwlock"); - sx_init(&vnet_sxlock, "vnet_sxlock"); - LIST_INIT(&vnet_head); -} -SYSINIT(vnet_init_prelink, SI_SUB_VNET_PRELINK, SI_ORDER_FIRST, - vnet_init_prelink, NULL); - -static void -vnet0_init(void *arg) -{ - - /* - * We MUST clear curvnet in vi_init_done() before going SMP, - * otherwise CURVNET_SET() macros would scream about unnecessary - * curvnet recursions. - */ - curvnet = prison0.pr_vnet = vnet0 = vnet_alloc(); -} -SYSINIT(vnet0_init, SI_SUB_VNET, SI_ORDER_FIRST, vnet0_init, NULL); - -static void -vnet_init_done(void *unused) -{ - - curvnet = NULL; -} - -SYSINIT(vnet_init_done, SI_SUB_VNET_DONE, SI_ORDER_FIRST, vnet_init_done, - NULL); - -#ifdef DDB -DB_SHOW_COMMAND(vnets, db_show_vnets) -{ - VNET_ITERATOR_DECL(vnet_iter); - -#if SIZE_MAX == UINT32_MAX /* 32-bit arch */ - db_printf(" vnet ifs socks\n"); -#else /* 64-bit arch, most probaly... */ - db_printf(" vnet ifs socks\n"); -#endif - VNET_FOREACH(vnet_iter) { - db_printf("%p %3d %5d\n", vnet_iter, vnet_iter->vnet_ifcnt, - vnet_iter->vnet_sockcnt); - } -} -#endif diff --git a/sys/kern/sys_socket.c b/sys/kern/sys_socket.c index c29ecc6..717ef3e 100644 --- a/sys/kern/sys_socket.c +++ b/sys/kern/sys_socket.c @@ -48,10 +48,10 @@ __FBSDID("$FreeBSD$"); #include <sys/stat.h> #include <sys/uio.h> #include <sys/ucred.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <security/mac/mac_framework.h> diff --git a/sys/kern/uipc_domain.c b/sys/kern/uipc_domain.c index dd0602e..257e9fa 100644 --- a/sys/kern/uipc_domain.c +++ b/sys/kern/uipc_domain.c @@ -43,7 +43,9 @@ __FBSDID("$FreeBSD$"); #include <sys/mutex.h> #include <sys/socketvar.h> #include <sys/systm.h> -#include <sys/vimage.h> + +#include <net/vnet.h> + #include <vm/uma.h> /* diff --git a/sys/kern/uipc_socket.c b/sys/kern/uipc_socket.c index 29b400c..2f4dd92 100644 --- a/sys/kern/uipc_socket.c +++ b/sys/kern/uipc_socket.c @@ -129,7 +129,8 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/uio.h> #include <sys/jail.h> -#include <sys/vimage.h> + +#include <net/vnet.h> #include <security/mac/mac_framework.h> diff --git a/sys/kern/uipc_syscalls.c b/sys/kern/uipc_syscalls.c index 21ee53d..9717679 100644 --- a/sys/kern/uipc_syscalls.c +++ b/sys/kern/uipc_syscalls.c @@ -64,12 +64,13 @@ __FBSDID("$FreeBSD$"); #include <sys/syscallsubr.h> #include <sys/sysctl.h> #include <sys/uio.h> -#include <sys/vimage.h> #include <sys/vnode.h> #ifdef KTRACE #include <sys/ktrace.h> #endif +#include <net/vnet.h> + #include <security/audit/audit.h> #include <security/mac/mac_framework.h> diff --git a/sys/kern/uipc_usrreq.c b/sys/kern/uipc_usrreq.c index cfaf47f..e002b2a 100644 --- a/sys/kern/uipc_usrreq.c +++ b/sys/kern/uipc_usrreq.c @@ -88,7 +88,8 @@ __FBSDID("$FreeBSD$"); #include <sys/un.h> #include <sys/unpcb.h> #include <sys/vnode.h> -#include <sys/vimage.h> + +#include <net/vnet.h> #ifdef DDB #include <ddb/ddb.h> diff --git a/sys/net/bpf.c b/sys/net/bpf.c index 5a2ab19..08c9a5e 100644 --- a/sys/net/bpf.c +++ b/sys/net/bpf.c @@ -56,7 +56,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sockio.h> #include <sys/ttycom.h> #include <sys/uio.h> -#include <sys/vimage.h> #include <sys/event.h> #include <sys/file.h> @@ -73,6 +72,7 @@ __FBSDID("$FreeBSD$"); #endif #include <net/bpf_zerocopy.h> #include <net/bpfdesc.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/if_ether.h> diff --git a/sys/net/bridgestp.c b/sys/net/bridgestp.c index 9349be4..3e65113 100644 --- a/sys/net/bridgestp.c +++ b/sys/net/bridgestp.c @@ -49,7 +49,6 @@ __FBSDID("$FreeBSD$"); #include <sys/lock.h> #include <sys/mutex.h> #include <sys/taskqueue.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/net/flowtable.c b/sys/net/flowtable.c index 1fe2bbe..4078ae9 100644 --- a/sys/net/flowtable.c +++ b/sys/net/flowtable.c @@ -48,7 +48,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/syslog.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_llatbl.h> diff --git a/sys/net/if.c b/sys/net/if.c index 02796cb..3ac7db0 100644 --- a/sys/net/if.c +++ b/sys/net/if.c @@ -59,7 +59,6 @@ #include <sys/taskqueue.h> #include <sys/domain.h> #include <sys/jail.h> -#include <sys/vimage.h> #include <machine/stdarg.h> #include <vm/uma.h> diff --git a/sys/net/if_bridge.c b/sys/net/if_bridge.c index 945bc5f..ced953a 100644 --- a/sys/net/if_bridge.c +++ b/sys/net/if_bridge.c @@ -101,7 +101,6 @@ __FBSDID("$FreeBSD$"); #include <sys/lock.h> #include <sys/mutex.h> #include <sys/rwlock.h> -#include <sys/vimage.h> #include <net/bpf.h> #include <net/if.h> diff --git a/sys/net/if_clone.c b/sys/net/if_clone.c index 95c07b7..0dd20fb 100644 --- a/sys/net/if_clone.c +++ b/sys/net/if_clone.c @@ -39,7 +39,6 @@ #include <sys/systm.h> #include <sys/types.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_clone.h> diff --git a/sys/net/if_ef.c b/sys/net/if_ef.c index c0b2d67..7a5fca9 100644 --- a/sys/net/if_ef.c +++ b/sys/net/if_ef.c @@ -39,7 +39,6 @@ #include <sys/syslog.h> #include <sys/kernel.h> #include <sys/module.h> -#include <sys/vimage.h> #include <net/ethernet.h> #include <net/if_llc.h> diff --git a/sys/net/if_enc.c b/sys/net/if_enc.c index 7b62734..a49c5dc 100644 --- a/sys/net/if_enc.c +++ b/sys/net/if_enc.c @@ -38,7 +38,6 @@ #include <sys/socket.h> #include <sys/sockio.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_clone.h> diff --git a/sys/net/if_epair.c b/sys/net/if_epair.c index e299d97..00f99fd 100644 --- a/sys/net/if_epair.c +++ b/sys/net/if_epair.c @@ -38,7 +38,7 @@ /* * Things to re-think once we have more experience: * - ifp->if_reassign function once we can test with vimage. Depending on - * how if_vomve() is going to be improved. + * how if_vmove() is going to be improved. * - Real random etheraddrs that are checked to be uniquish; we would need * to re-do them in case we move the interface between network stacks * in a private if_reassign function. @@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sockio.h> #include <sys/sysctl.h> #include <sys/types.h> -#include <sys/vimage.h> #include <net/bpf.h> #include <net/ethernet.h> @@ -70,6 +69,7 @@ __FBSDID("$FreeBSD$"); #include <net/if_var.h> #include <net/if_types.h> #include <net/netisr.h> +#include <net/vnet.h> #define EPAIRNAME "epair" diff --git a/sys/net/if_ethersubr.c b/sys/net/if_ethersubr.c index 545d9ee..bac2044 100644 --- a/sys/net/if_ethersubr.c +++ b/sys/net/if_ethersubr.c @@ -50,7 +50,6 @@ #include <sys/socket.h> #include <sys/sockio.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_arp.h> diff --git a/sys/net/if_faith.c b/sys/net/if_faith.c index cbca740..ca80883 100644 --- a/sys/net/if_faith.c +++ b/sys/net/if_faith.c @@ -54,7 +54,6 @@ #include <sys/queue.h> #include <sys/types.h> #include <sys/malloc.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_clone.h> @@ -62,6 +61,7 @@ #include <net/netisr.h> #include <net/route.h> #include <net/bpf.h> +#include <net/vnet.h> #ifdef INET #include <netinet/in.h> diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index 3d75dd4..6abc807 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -49,7 +49,6 @@ #include <sys/proc.h> #include <sys/protosw.h> #include <sys/conf.h> -#include <sys/vimage.h> #include <machine/cpu.h> #include <net/if.h> @@ -58,6 +57,7 @@ #include <net/netisr.h> #include <net/route.h> #include <net/bpf.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/net/if_gre.c b/sys/net/if_gre.c index 4ed2a9e..2b283d6 100644 --- a/sys/net/if_gre.c +++ b/sys/net/if_gre.c @@ -64,13 +64,13 @@ #include <sys/sockio.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/ethernet.h> #include <net/if.h> #include <net/if_clone.h> #include <net/if_types.h> #include <net/route.h> +#include <net/vnet.h> #ifdef INET #include <netinet/in.h> diff --git a/sys/net/if_llatbl.c b/sys/net/if_llatbl.c index b5da1ea..a1b574f 100644 --- a/sys/net/if_llatbl.c +++ b/sys/net/if_llatbl.c @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include <sys/lock.h> #include <sys/mutex.h> #include <sys/rwlock.h> -#include <sys/vimage.h> #include <vm/uma.h> @@ -51,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include <net/if_dl.h> #include <net/if_var.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/if_ether.h> #include <netinet6/in6_var.h> #include <netinet6/nd6.h> diff --git a/sys/net/if_loop.c b/sys/net/if_loop.c index 043c808..056b2f9 100644 --- a/sys/net/if_loop.c +++ b/sys/net/if_loop.c @@ -49,7 +49,6 @@ #include <sys/socket.h> #include <sys/sockio.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_clone.h> diff --git a/sys/net/if_mib.c b/sys/net/if_mib.c index c0018ef..c334ac7 100644 --- a/sys/net/if_mib.c +++ b/sys/net/if_mib.c @@ -34,7 +34,6 @@ #include <sys/kernel.h> #include <sys/socket.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_mib.h> diff --git a/sys/net/if_spppsubr.c b/sys/net/if_spppsubr.c index 2c325ee..3f0faaf 100644 --- a/sys/net/if_spppsubr.c +++ b/sys/net/if_spppsubr.c @@ -36,7 +36,6 @@ #include <sys/random.h> #include <sys/malloc.h> #include <sys/mbuf.h> -#include <sys/vimage.h> #include <sys/md5.h> @@ -44,6 +43,7 @@ #include <net/netisr.h> #include <net/if_types.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> #include <netinet/ip.h> diff --git a/sys/net/if_stf.c b/sys/net/if_stf.c index ddc5662..5c082c4 100644 --- a/sys/net/if_stf.c +++ b/sys/net/if_stf.c @@ -92,7 +92,6 @@ #include <machine/cpu.h> #include <sys/malloc.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_clone.h> @@ -100,6 +99,7 @@ #include <net/netisr.h> #include <net/if_types.h> #include <net/if_stf.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/net/if_tun.c b/sys/net/if_tun.c index a9a1c62..37b5e70 100644 --- a/sys/net/if_tun.c +++ b/sys/net/if_tun.c @@ -43,13 +43,13 @@ #include <sys/uio.h> #include <sys/malloc.h> #include <sys/random.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_clone.h> #include <net/if_types.h> #include <net/netisr.h> #include <net/route.h> +#include <net/vnet.h> #ifdef INET #include <netinet/in.h> #endif diff --git a/sys/net/if_vlan.c b/sys/net/if_vlan.c index ac72870..04c2c0d 100644 --- a/sys/net/if_vlan.c +++ b/sys/net/if_vlan.c @@ -55,7 +55,6 @@ #include <sys/sockio.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/bpf.h> #include <net/ethernet.h> diff --git a/sys/net/netisr.c b/sys/net/netisr.c index b2db8c1..c8da579 100644 --- a/sys/net/netisr.c +++ b/sys/net/netisr.c @@ -78,7 +78,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #ifdef DDB #include <ddb/ddb.h> @@ -87,6 +86,7 @@ __FBSDID("$FreeBSD$"); #include <net/if.h> #include <net/if_var.h> #include <net/netisr.h> +#include <net/vnet.h> /*- * Synchronize use and modification of the registered netisr data structures; diff --git a/sys/net/raw_cb.c b/sys/net/raw_cb.c index 30a526f..c430d97 100644 --- a/sys/net/raw_cb.c +++ b/sys/net/raw_cb.c @@ -42,7 +42,6 @@ #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/raw_cb.h> diff --git a/sys/net/raw_usrreq.c b/sys/net/raw_usrreq.c index 0759e42..2de3d69 100644 --- a/sys/net/raw_usrreq.c +++ b/sys/net/raw_usrreq.c @@ -44,7 +44,6 @@ #include <sys/socketvar.h> #include <sys/sx.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/raw_cb.h> diff --git a/sys/net/route.c b/sys/net/route.c index 544c3b6..fc76c92 100644 --- a/sys/net/route.c +++ b/sys/net/route.c @@ -51,11 +51,11 @@ #include <sys/proc.h> #include <sys/domain.h> #include <sys/kernel.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> #include <net/route.h> +#include <net/vnet.h> #ifdef RADIX_MPATH #include <net/radix_mpath.h> diff --git a/sys/net/rtsock.c b/sys/net/rtsock.c index 88c9807..645cf7e 100644 --- a/sys/net/rtsock.c +++ b/sys/net/rtsock.c @@ -50,7 +50,6 @@ #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/net/vnet.c b/sys/net/vnet.c index eed353e..a34270a 100644 --- a/sys/net/vnet.c +++ b/sys/net/vnet.c @@ -1,4 +1,12 @@ /*- + * Copyright (c) 2004-2009 University of Zagreb + * Copyright (c) 2006-2009 FreeBSD Foundation + * All rights reserved. + * + * This software was developed by the University of Zagreb and the + * FreeBSD Foundation under sponsorship by the Stichting NLnet and the + * FreeBSD Foundation. + * * Copyright (c) 2009 Jeffrey Roberson <jeff@freebsd.org> * Copyright (c) 2009 Robert N. M. Watson * All rights reserved. @@ -28,30 +36,67 @@ #include <sys/cdefs.h> __FBSDID("$FreeBSD$"); +#include "opt_ddb.h" + #include <sys/param.h> #include <sys/kernel.h> +#include <sys/jail.h> #include <sys/systm.h> #include <sys/sysctl.h> #include <sys/linker_set.h> #include <sys/lock.h> #include <sys/malloc.h> #include <sys/proc.h> +#include <sys/socket.h> #include <sys/sx.h> #include <sys/sysctl.h> -#include <sys/vimage.h> +#ifdef DDB +#include <ddb/ddb.h> +#endif + +#include <net/if.h> +#include <net/if_var.h> #include <net/vnet.h> /*- * This file implements core functions for virtual network stacks: * + * - Core virtual network stack management functions. + * * - Virtual network stack memory allocator, which virtualized global * variables in the network stack * * - Virtualized SYSINIT's/SYSUNINIT's, which allow network stack subsystems * to register startup/shutdown events to be run for each virtual network * stack instance. - * + */ + +MALLOC_DEFINE(M_VNET, "vnet", "network stack control block"); + +/* + * The virtual network stack list has two read-write locks, one sleepable and + * the other not, so that the list can be stablized and walked in a variety + * of network stack contexts. Both must be acquired exclusively to modify + * the list. + */ +struct rwlock vnet_rwlock; +struct sx vnet_sxlock; + +#define VNET_LIST_WLOCK() do { \ + sx_xlock(&vnet_sxlock); \ + rw_wlock(&vnet_rwlock); \ +} while (0) + +#define VNET_LIST_WUNLOCK() do { \ + rw_wunlock(&vnet_rwlock); \ + sx_xunlock(&vnet_sxlock); \ +} while (0) + +struct vnet_list_head vnet_head; +struct vnet *vnet0; + +/* * The virtual network stack allocator provides storage for virtualized * global variables. These variables are defined/declared using the * VNET_DEFINE()/VNET_DECLARE() macros, which place them in the 'set_vnet' @@ -157,6 +202,114 @@ static TAILQ_HEAD(, vnet_data_free) vnet_data_free_head = static struct sx vnet_data_free_lock; /* + * Allocate a virtual network stack. + */ +struct vnet * +vnet_alloc(void) +{ + struct vnet *vnet; + + vnet = malloc(sizeof(struct vnet), M_VNET, M_WAITOK | M_ZERO); + vnet->vnet_magic_n = VNET_MAGIC_N; + vnet_data_init(vnet); + + /* Initialize / attach vnet module instances. */ + CURVNET_SET_QUIET(vnet); + + sx_xlock(&vnet_sxlock); + vnet_sysinit(); + CURVNET_RESTORE(); + + rw_wlock(&vnet_rwlock); + LIST_INSERT_HEAD(&vnet_head, vnet, vnet_le); + VNET_LIST_WUNLOCK(); + + return (vnet); +} + +/* + * Destroy a virtual network stack. + */ +void +vnet_destroy(struct vnet *vnet) +{ + struct ifnet *ifp, *nifp; + + KASSERT(vnet->vnet_sockcnt == 0, + ("%s: vnet still has sockets", __func__)); + + VNET_LIST_WLOCK(); + LIST_REMOVE(vnet, vnet_le); + rw_wunlock(&vnet_rwlock); + + CURVNET_SET_QUIET(vnet); + + /* Return all inherited interfaces to their parent vnets. */ + TAILQ_FOREACH_SAFE(ifp, &V_ifnet, if_link, nifp) { + if (ifp->if_home_vnet != ifp->if_vnet) + if_vmove(ifp, ifp->if_home_vnet); + } + + vnet_sysuninit(); + sx_xunlock(&vnet_sxlock); + + CURVNET_RESTORE(); + + /* Hopefully, we are OK to free the vnet container itself. */ + vnet_data_destroy(vnet); + vnet->vnet_magic_n = 0xdeadbeef; + free(vnet, M_VNET); +} + +static void +vnet_foreach(void (*vnet_foreach_fn)(struct vnet *, void *), void *arg) +{ + struct vnet *vnet; + + VNET_LIST_RLOCK(); + LIST_FOREACH(vnet, &vnet_head, vnet_le) + vnet_foreach_fn(vnet, arg); + VNET_LIST_RUNLOCK(); +} + +/* + * Boot time initialization and allocation of virtual network stacks. + */ +static void +vnet_init_prelink(void *arg) +{ + + rw_init(&vnet_rwlock, "vnet_rwlock"); + sx_init(&vnet_sxlock, "vnet_sxlock"); + LIST_INIT(&vnet_head); +} +SYSINIT(vnet_init_prelink, SI_SUB_VNET_PRELINK, SI_ORDER_FIRST, + vnet_init_prelink, NULL); + +static void +vnet0_init(void *arg) +{ + + /* + * We MUST clear curvnet in vi_init_done() before going SMP, + * otherwise CURVNET_SET() macros would scream about unnecessary + * curvnet recursions. + */ + curvnet = prison0.pr_vnet = vnet0 = vnet_alloc(); +} +SYSINIT(vnet0_init, SI_SUB_VNET, SI_ORDER_FIRST, vnet0_init, NULL); + +static void +vnet_init_done(void *unused) +{ + + curvnet = NULL; +} + +SYSINIT(vnet_init_done, SI_SUB_VNET_DONE, SI_ORDER_FIRST, vnet_init_done, + NULL); + +/* * Allocate storage for virtualized global variables in a new virtual network * stack instance, and copy in initial values from our 'master' copy. */ @@ -490,3 +643,20 @@ vnet_sysuninit(void) vs->func(vs->arg); } } + +#ifdef DDB +DB_SHOW_COMMAND(vnets, db_show_vnets) +{ + VNET_ITERATOR_DECL(vnet_iter); + +#if SIZE_MAX == UINT32_MAX /* 32-bit arch */ + db_printf(" vnet ifs socks\n"); +#else /* 64-bit arch, most probaly... */ + db_printf(" vnet ifs socks\n"); +#endif + VNET_FOREACH(vnet_iter) { + db_printf("%p %3d %5d\n", vnet_iter, vnet_iter->vnet_ifcnt, + vnet_iter->vnet_sockcnt); + } +} +#endif diff --git a/sys/net/vnet.h b/sys/net/vnet.h index 08ee21a..47dc7ac 100644 --- a/sys/net/vnet.h +++ b/sys/net/vnet.h @@ -1,4 +1,12 @@ /*- + * Copyright (c) 2006-2009 University of Zagreb + * Copyright (c) 2006-2009 FreeBSD Foundation + * All rights reserved. + * + * This software was developed by the University of Zagreb and the + * FreeBSD Foundation under sponsorship by the Stichting NLnet and the + * FreeBSD Foundation. + * * Copyright (c) 2009 Jeffrey Roberson <jeff@freebsd.org> * Copyright (c) 2009 Robert N. M. Watson * All rights reserved. @@ -31,6 +39,9 @@ * This header file defines several sets of interfaces supporting virtualized * network stacks: * + * - Definition of 'struct vnet' and functions and macros to allocate/free/ + * manipulate it. + * * - A virtual network stack memory allocator, which provides support for * virtualized global variables via a special linker set, set_vnet. * @@ -47,17 +58,133 @@ #define _NET_VNET_H_ /* - * Virtual network stack memory allocator, which allows global variables to - * be automatically instantiated for each network stack instance. + * struct vnet describes a virtualized network stack, and is primarily a + * pointer to storage for virtualized global variables. Expose to userspace + * as required for libkvm. */ #if defined(_KERNEL) || defined(_WANT_VNET) +#include <sys/queue.h> + +struct vnet { + LIST_ENTRY(vnet) vnet_le; /* all vnets list */ + u_int vnet_magic_n; + u_int vnet_ifcnt; + u_int vnet_sockcnt; + void *vnet_data_mem; + uintptr_t vnet_data_base; +}; +#define VNET_MAGIC_N 0x3e0d8f29 + +/* + * These two virtual network stack allocator definitions are also required + * for libkvm so that it can evaluate virtualized global variables. + */ #define VNET_SETNAME "set_vnet" #define VNET_SYMPREFIX "vnet_entry_" #endif #ifdef _KERNEL + #ifdef VIMAGE +#include <sys/lock.h> +#include <sys/proc.h> /* for struct thread */ +#include <sys/rwlock.h> +#include <sys/sx.h> + +/* + * Functions to allocate and destroy virtual network stacks. + */ +struct vnet *vnet_alloc(void); +void vnet_destroy(struct vnet *vnet); + +/* + * The current virtual network stack -- we may wish to move this to struct + * pcpu in the future. + */ +#define curvnet curthread->td_vnet + +/* + * Various macros -- get and set the current network stack, but also + * assertions. + */ +#ifdef INVARIANTS +#define VNET_DEBUG +#endif +#ifdef VNET_DEBUG +#define VNET_ASSERT(condition) \ + if (!(condition)) { \ + printf("VNET_ASSERT @ %s:%d %s():\n", \ + __FILE__, __LINE__, __FUNCTION__); \ + panic(#condition); \ + } +#define CURVNET_SET_QUIET(arg) \ + VNET_ASSERT((arg)->vnet_magic_n == VNET_MAGIC_N); \ + struct vnet *saved_vnet = curvnet; \ + const char *saved_vnet_lpush = curthread->td_vnet_lpush; \ + curvnet = arg; \ + curthread->td_vnet_lpush = __FUNCTION__; + +#define CURVNET_SET_VERBOSE(arg) \ + CURVNET_SET_QUIET(arg) \ + if (saved_vnet) \ + printf("CURVNET_SET(%p) in %s() on cpu %d, prev %p in %s()\n", \ + curvnet, curthread->td_vnet_lpush, curcpu, \ + saved_vnet, saved_vnet_lpush); + +#define CURVNET_SET(arg) CURVNET_SET_VERBOSE(arg) + +#define CURVNET_RESTORE() \ + VNET_ASSERT(saved_vnet == NULL || \ + saved_vnet->vnet_magic_n == VNET_MAGIC_N); \ + curvnet = saved_vnet; \ + curthread->td_vnet_lpush = saved_vnet_lpush; +#else /* !VNET_DEBUG */ +#define VNET_ASSERT(condition) + +#define CURVNET_SET(arg) \ + struct vnet *saved_vnet = curvnet; \ + curvnet = arg; + +#define CURVNET_SET_VERBOSE(arg) CURVNET_SET(arg) +#define CURVNET_SET_QUIET(arg) CURVNET_SET(arg) + +#define CURVNET_RESTORE() \ + curvnet = saved_vnet; +#endif /* VNET_DEBUG */ + +extern struct vnet *vnet0; +#define IS_DEFAULT_VNET(arg) ((arg) == vnet0) + +#define CRED_TO_VNET(cr) (cr)->cr_prison->pr_vnet +#define TD_TO_VNET(td) CRED_TO_VNET((td)->td_ucred) +#define P_TO_VNET(p) CRED_TO_VNET((p)->p_ucred) + +/* + * Global linked list of all virtual network stacks, along with read locks to + * access it. If a caller may sleep while accessing the list, it must use + * the sleepable lock macros. + */ +LIST_HEAD(vnet_list_head, vnet); +extern struct vnet_list_head vnet_head; +extern struct rwlock vnet_rwlock; +extern struct sx vnet_sxlock; + +#define VNET_LIST_RLOCK() sx_slock(&vnet_sxlock) +#define VNET_LIST_RLOCK_NOSLEEP() rw_rlock(&vnet_rwlock) +#define VNET_LIST_RUNLOCK() sx_sunlock(&vnet_sxlock) +#define VNET_LIST_RUNLOCK_NOSLEEP() rw_runlock(&vnet_rwlock) + +/* + * Iteration macros to walk the global list of virtual network stacks. + */ +#define VNET_ITERATOR_DECL(arg) struct vnet *arg +#define VNET_FOREACH(arg) LIST_FOREACH((arg), &vnet_head, vnet_le) + +/* + * Virtual network stack memory allocator, which allows global variables to + * be automatically instantiated for each network stack instance. + */ #if defined(__arm__) __asm__(".section " VNET_SETNAME ", \"aw\", %progbits"); #else @@ -193,6 +320,28 @@ void vnet_deregister_sysuninit(void *arg); #else /* !VIMAGE */ /* + * Various virtual network stack macros compile to no-ops without VIMAGE. + */ +#define curvnet NULL + +#define VNET_ASSERT(condition) +#define CURVNET_SET(arg) +#define CURVNET_SET_QUIET(arg) +#define CURVNET_RESTORE() + +#define VNET_LIST_RLOCK() +#define VNET_LIST_RLOCK_NOSLEEP() +#define VNET_LIST_RUNLOCK() +#define VNET_LIST_RUNLOCK_NOSLEEP() +#define VNET_ITERATOR_DECL(arg) +#define VNET_FOREACH(arg) + +#define IS_DEFAULT_VNET(arg) 1 +#define CRED_TO_VNET(cr) NULL +#define TD_TO_VNET(td) NULL +#define P_TO_VNET(p) NULL + +/* * Versions of the VNET macros that compile to normal global variables and * standard sysctl definitions. */ diff --git a/sys/net80211/ieee80211_ddb.c b/sys/net80211/ieee80211_ddb.c index 1386409..a38f12a 100644 --- a/sys/net80211/ieee80211_ddb.c +++ b/sys/net80211/ieee80211_ddb.c @@ -37,7 +37,6 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <sys/kernel.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/net80211/ieee80211_freebsd.c b/sys/net80211/ieee80211_freebsd.c index 51a86fd..22800fb 100644 --- a/sys/net80211/ieee80211_freebsd.c +++ b/sys/net80211/ieee80211_freebsd.c @@ -41,7 +41,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/bpf.h> #include <net/if.h> @@ -51,6 +50,7 @@ __FBSDID("$FreeBSD$"); #include <net/if_types.h> #include <net/ethernet.h> #include <net/route.h> +#include <net/vnet.h> #include <net80211/ieee80211_var.h> #include <net80211/ieee80211_input.h> diff --git a/sys/netgraph/atm/ng_atm.c b/sys/netgraph/atm/ng_atm.c index 7296aa1..4b7d7c0 100644 --- a/sys/netgraph/atm/ng_atm.c +++ b/sys/netgraph/atm/ng_atm.c @@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sbuf.h> #include <sys/ioccom.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netgraph/ng_base.c b/sys/netgraph/ng_base.c index b618bb4..65707b2 100644 --- a/sys/netgraph/ng_base.c +++ b/sys/netgraph/ng_base.c @@ -61,7 +61,6 @@ #include <sys/syslog.h> #include <sys/refcount.h> #include <sys/proc.h> -#include <sys/vimage.h> #include <sys/unistd.h> #include <sys/kthread.h> #include <sys/smp.h> diff --git a/sys/netgraph/ng_bridge.c b/sys/netgraph/ng_bridge.c index d998f1e..e42b5a5 100644 --- a/sys/netgraph/ng_bridge.c +++ b/sys/netgraph/ng_bridge.c @@ -69,10 +69,10 @@ #include <sys/syslog.h> #include <sys/socket.h> #include <sys/ctype.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/ethernet.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/ip_fw.h> diff --git a/sys/netgraph/ng_eiface.c b/sys/netgraph/ng_eiface.c index ad9668e..ce23683 100644 --- a/sys/netgraph/ng_eiface.c +++ b/sys/netgraph/ng_eiface.c @@ -35,10 +35,10 @@ #include <sys/malloc.h> #include <sys/mbuf.h> #include <sys/errno.h> +#include <sys/proc.h> #include <sys/sockio.h> #include <sys/socket.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netgraph/ng_ether.c b/sys/netgraph/ng_ether.c index 85fc7fc..fab0622 100644 --- a/sys/netgraph/ng_ether.c +++ b/sys/netgraph/ng_ether.c @@ -52,9 +52,9 @@ #include <sys/malloc.h> #include <sys/mbuf.h> #include <sys/errno.h> +#include <sys/proc.h> #include <sys/syslog.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/netgraph/ng_gif.c b/sys/netgraph/ng_gif.c index de2ded3..ccff05a 100644 --- a/sys/netgraph/ng_gif.c +++ b/sys/netgraph/ng_gif.c @@ -76,7 +76,6 @@ #include <sys/errno.h> #include <sys/syslog.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netgraph/ng_iface.c b/sys/netgraph/ng_iface.c index 49cba25..209ac77 100644 --- a/sys/netgraph/ng_iface.c +++ b/sys/netgraph/ng_iface.c @@ -64,12 +64,12 @@ #include <sys/malloc.h> #include <sys/mbuf.h> #include <sys/errno.h> +#include <sys/proc.h> #include <sys/random.h> #include <sys/sockio.h> #include <sys/socket.h> #include <sys/syslog.h> #include <sys/libkern.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netgraph/ng_pipe.c b/sys/netgraph/ng_pipe.c index b12318a..5f5e410 100644 --- a/sys/netgraph/ng_pipe.c +++ b/sys/netgraph/ng_pipe.c @@ -46,10 +46,11 @@ #include <sys/malloc.h> #include <sys/mbuf.h> #include <sys/time.h> -#include <sys/vimage.h> #include <vm/uma.h> +#include <net/vnet.h> + #include <netinet/in.h> #include <netinet/in_systm.h> #include <netinet/ip.h> diff --git a/sys/netgraph/ng_source.c b/sys/netgraph/ng_source.c index 91a7585..2f834fc 100644 --- a/sys/netgraph/ng_source.c +++ b/sys/netgraph/ng_source.c @@ -66,9 +66,9 @@ __FBSDID("$FreeBSD$"); #include <sys/mbuf.h> #include <sys/socket.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_var.h> +#include <net/vnet.h> #include <netgraph/ng_message.h> #include <netgraph/netgraph.h> #include <netgraph/ng_parse.h> diff --git a/sys/netinet/if_ether.c b/sys/netinet/if_ether.c index e64b21f..9d1c13a 100644 --- a/sys/netinet/if_ether.c +++ b/sys/netinet/if_ether.c @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include <sys/proc.h> #include <sys/socket.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> @@ -60,6 +59,7 @@ __FBSDID("$FreeBSD$"); #include <net/if_llc.h> #include <net/ethernet.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_var.h> diff --git a/sys/netinet/igmp.c b/sys/netinet/igmp.c index 44796de..f9f6381 100644 --- a/sys/netinet/igmp.c +++ b/sys/netinet/igmp.c @@ -59,7 +59,6 @@ __FBSDID("$FreeBSD$"); #include <sys/protosw.h> #include <sys/kernel.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <sys/ktr.h> #include <sys/condvar.h> diff --git a/sys/netinet/in.c b/sys/netinet/in.c index 63a712b..15d38b1 100644 --- a/sys/netinet/in.c +++ b/sys/netinet/in.c @@ -46,7 +46,6 @@ __FBSDID("$FreeBSD$"); #include <sys/proc.h> #include <sys/sysctl.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_var.h> diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c index fe2c9ee..3872dde 100644 --- a/sys/netinet/in_gif.c +++ b/sys/netinet/in_gif.c @@ -46,10 +46,10 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/protosw.h> #include <sys/malloc.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/in_mcast.c b/sys/netinet/in_mcast.c index 6efa7d8..d0e1397 100644 --- a/sys/netinet/in_mcast.c +++ b/sys/netinet/in_mcast.c @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/protosw.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <sys/ktr.h> #include <sys/tree.h> diff --git a/sys/netinet/in_pcb.c b/sys/netinet/in_pcb.c index 5d080ba..525afef 100644 --- a/sys/netinet/in_pcb.c +++ b/sys/netinet/in_pcb.c @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include <sys/jail.h> #include <sys/kernel.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #ifdef DDB #include <ddb/ddb.h> @@ -62,6 +61,7 @@ __FBSDID("$FreeBSD$"); #include <net/if.h> #include <net/if_types.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_pcb.h> diff --git a/sys/netinet/in_proto.c b/sys/netinet/in_proto.c index bf3c713..f1f5ade 100644 --- a/sys/netinet/in_proto.c +++ b/sys/netinet/in_proto.c @@ -50,13 +50,13 @@ __FBSDID("$FreeBSD$"); #include <sys/protosw.h> #include <sys/queue.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> #ifdef RADIX_MPATH #include <net/radix_mpath.h> #endif +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/in_rmx.c b/sys/netinet/in_rmx.c index d3f9563..6516277 100644 --- a/sys/netinet/in_rmx.c +++ b/sys/netinet/in_rmx.c @@ -51,10 +51,10 @@ __FBSDID("$FreeBSD$"); #include <sys/mbuf.h> #include <sys/syslog.h> #include <sys/callout.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_var.h> diff --git a/sys/netinet/ip_carp.c b/sys/netinet/ip_carp.c index 00c1ea8..18e446f 100644 --- a/sys/netinet/ip_carp.c +++ b/sys/netinet/ip_carp.c @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/vnode.h> -#include <sys/vimage.h> #include <machine/stdarg.h> @@ -65,6 +64,7 @@ __FBSDID("$FreeBSD$"); #include <net/if_dl.h> #include <net/if_types.h> #include <net/route.h> +#include <net/vnet.h> #ifdef INET #include <netinet/in.h> diff --git a/sys/netinet/ip_divert.c b/sys/netinet/ip_divert.c index 6abf76f..6910310 100644 --- a/sys/netinet/ip_divert.c +++ b/sys/netinet/ip_divert.c @@ -59,13 +59,13 @@ __FBSDID("$FreeBSD$"); #include <sys/sx.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <vm/uma.h> #include <net/if.h> #include <net/netisr.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_pcb.h> diff --git a/sys/netinet/ip_fastfwd.c b/sys/netinet/ip_fastfwd.c index 1c83706..f53f787 100644 --- a/sys/netinet/ip_fastfwd.c +++ b/sys/netinet/ip_fastfwd.c @@ -87,7 +87,6 @@ __FBSDID("$FreeBSD$"); #include <sys/protosw.h> #include <sys/socket.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/pfil.h> #include <net/if.h> @@ -95,6 +94,7 @@ __FBSDID("$FreeBSD$"); #include <net/if_var.h> #include <net/if_dl.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/ip_icmp.c b/sys/netinet/ip_icmp.c index 57a1292..b7906e3 100644 --- a/sys/netinet/ip_icmp.c +++ b/sys/netinet/ip_icmp.c @@ -42,7 +42,6 @@ __FBSDID("$FreeBSD$"); #include <sys/time.h> #include <sys/kernel.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netinet/ip_input.c b/sys/netinet/ip_input.c index f95cf0d..05de6d8 100644 --- a/sys/netinet/ip_input.c +++ b/sys/netinet/ip_input.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include <sys/rwlock.h> #include <sys/syslog.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/pfil.h> #include <net/if.h> diff --git a/sys/netinet/ip_ipsec.c b/sys/netinet/ip_ipsec.c index f0d4a5f..0eb4673 100644 --- a/sys/netinet/ip_ipsec.c +++ b/sys/netinet/ip_ipsec.c @@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/socketvar.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet/ip_mroute.c b/sys/netinet/ip_mroute.c index b8957f4..39c71b0 100644 --- a/sys/netinet/ip_mroute.c +++ b/sys/netinet/ip_mroute.c @@ -93,11 +93,11 @@ __FBSDID("$FreeBSD$"); #include <sys/syslog.h> #include <sys/systm.h> #include <sys/time.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/netisr.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/igmp.h> diff --git a/sys/netinet/ip_options.c b/sys/netinet/ip_options.c index 5c4b441..f95b3a0 100644 --- a/sys/netinet/ip_options.c +++ b/sys/netinet/ip_options.c @@ -44,7 +44,6 @@ __FBSDID("$FreeBSD$"); #include <sys/kernel.h> #include <sys/syslog.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> @@ -52,6 +51,7 @@ __FBSDID("$FreeBSD$"); #include <net/if_dl.h> #include <net/route.h> #include <net/netisr.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/ip_output.c b/sys/netinet/ip_output.c index 220bf23..bf2a5f8 100644 --- a/sys/netinet/ip_output.c +++ b/sys/netinet/ip_output.c @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/ucred.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/netisr.h> diff --git a/sys/netinet/ipfw/ip_fw2.c b/sys/netinet/ipfw/ip_fw2.c index 9274ccd..da6593c 100644 --- a/sys/netinet/ipfw/ip_fw2.c +++ b/sys/netinet/ipfw/ip_fw2.c @@ -63,7 +63,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/syslog.h> #include <sys/ucred.h> -#include <sys/vimage.h> #include <net/ethernet.h> /* for ETHERTYPE_IP */ #include <net/if.h> #include <net/radix.h> diff --git a/sys/netinet/ipfw/ip_fw_nat.c b/sys/netinet/ipfw/ip_fw_nat.c index ac7cc44..cd6a1cf 100644 --- a/sys/netinet/ipfw/ip_fw_nat.c +++ b/sys/netinet/ipfw/ip_fw_nat.c @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/syslog.h> #include <sys/ucred.h> -#include <sys/vimage.h> #include <netinet/libalias/alias.h> #include <netinet/libalias/alias_local.h> diff --git a/sys/netinet/ipfw/ip_fw_pfil.c b/sys/netinet/ipfw/ip_fw_pfil.c index a763855..e28d5ca 100644 --- a/sys/netinet/ipfw/ip_fw_pfil.c +++ b/sys/netinet/ipfw/ip_fw_pfil.c @@ -49,7 +49,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/ucred.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet/raw_ip.c b/sys/netinet/raw_ip.c index 517ac8e..3df2ec3 100644 --- a/sys/netinet/raw_ip.c +++ b/sys/netinet/raw_ip.c @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sx.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <vm/uma.h> diff --git a/sys/netinet/sctp_os_bsd.h b/sys/netinet/sctp_os_bsd.h index 46a73bf..f3ccb63 100644 --- a/sys/netinet/sctp_os_bsd.h +++ b/sys/netinet/sctp_os_bsd.h @@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include <sys/random.h> #include <sys/limits.h> #include <sys/queue.h> -#include <sys/vimage.h> #include <machine/cpu.h> #include <net/if.h> diff --git a/sys/netinet/tcp_hostcache.c b/sys/netinet/tcp_hostcache.c index 2d3d922..acbc860 100644 --- a/sys/netinet/tcp_hostcache.c +++ b/sys/netinet/tcp_hostcache.c @@ -76,10 +76,10 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/socketvar.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/tcp_input.c b/sys/netinet/tcp_input.c index 2a14d14..22ee3d7 100644 --- a/sys/netinet/tcp_input.c +++ b/sys/netinet/tcp_input.c @@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/syslog.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <machine/cpu.h> /* before tcp_seq.h, for tcp_random18() */ @@ -58,6 +57,7 @@ __FBSDID("$FreeBSD$"); #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #define TCPSTATES /* for logging */ diff --git a/sys/netinet/tcp_offload.c b/sys/netinet/tcp_offload.c index 94cf570..899a37c 100644 --- a/sys/netinet/tcp_offload.c +++ b/sys/netinet/tcp_offload.c @@ -37,12 +37,12 @@ __FBSDID("$FreeBSD$"); #include <sys/mbuf.h> #include <sys/socket.h> #include <sys/socketvar.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> #include <net/if_var.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/tcp_output.c b/sys/netinet/tcp_output.c index c74107e..ee33ea2 100644 --- a/sys/netinet/tcp_output.c +++ b/sys/netinet/tcp_output.c @@ -48,10 +48,10 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/socketvar.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/tcp_reass.c b/sys/netinet/tcp_reass.c index fa844b6..8115b2b 100644 --- a/sys/netinet/tcp_reass.c +++ b/sys/netinet/tcp_reass.c @@ -45,12 +45,12 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/syslog.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <vm/uma.h> #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_pcb.h> diff --git a/sys/netinet/tcp_sack.c b/sys/netinet/tcp_sack.c index 985eee8..06fb502 100644 --- a/sys/netinet/tcp_sack.c +++ b/sys/netinet/tcp_sack.c @@ -89,7 +89,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/syslog.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <machine/cpu.h> /* before tcp_seq.h, for tcp_random18() */ @@ -97,6 +96,7 @@ __FBSDID("$FreeBSD$"); #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/tcp_subr.c b/sys/netinet/tcp_subr.c index e29283b..622c508 100644 --- a/sys/netinet/tcp_subr.c +++ b/sys/netinet/tcp_subr.c @@ -55,12 +55,12 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/protosw.h> #include <sys/random.h> -#include <sys/vimage.h> #include <vm/uma.h> #include <net/route.h> #include <net/if.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/tcp_syncache.c b/sys/netinet/tcp_syncache.c index 23e2570..16c4f67 100644 --- a/sys/netinet/tcp_syncache.c +++ b/sys/netinet/tcp_syncache.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/syslog.h> #include <sys/ucred.h> -#include <sys/vimage.h> #include <vm/uma.h> diff --git a/sys/netinet/tcp_timer.c b/sys/netinet/tcp_timer.c index 3050324..7f5d159 100644 --- a/sys/netinet/tcp_timer.c +++ b/sys/netinet/tcp_timer.c @@ -45,10 +45,10 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_pcb.h> diff --git a/sys/netinet/tcp_timewait.c b/sys/netinet/tcp_timewait.c index a6ac5c6..96626fb 100644 --- a/sys/netinet/tcp_timewait.c +++ b/sys/netinet/tcp_timewait.c @@ -49,12 +49,12 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/protosw.h> #include <sys/random.h> -#include <sys/vimage.h> #include <vm/uma.h> #include <net/route.h> #include <net/if.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/tcp_usrreq.c b/sys/netinet/tcp_usrreq.c index dfd05dc..1e58cd7 100644 --- a/sys/netinet/tcp_usrreq.c +++ b/sys/netinet/tcp_usrreq.c @@ -53,7 +53,6 @@ __FBSDID("$FreeBSD$"); #include <sys/protosw.h> #include <sys/proc.h> #include <sys/jail.h> -#include <sys/vimage.h> #ifdef DDB #include <ddb/ddb.h> @@ -61,6 +60,7 @@ __FBSDID("$FreeBSD$"); #include <net/if.h> #include <net/route.h> +#include <net/vnet.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netinet/udp_usrreq.c b/sys/netinet/udp_usrreq.c index 54fb996..520fc94 100644 --- a/sys/netinet/udp_usrreq.c +++ b/sys/netinet/udp_usrreq.c @@ -56,7 +56,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/syslog.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <vm/uma.h> diff --git a/sys/netinet6/dest6.c b/sys/netinet6/dest6.c index 20b5e9d..54d3a58 100644 --- a/sys/netinet6/dest6.c +++ b/sys/netinet6/dest6.c @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include <sys/errno.h> #include <sys/time.h> #include <sys/kernel.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/frag6.c b/sys/netinet6/frag6.c index ee1f4a2..8900f7d 100644 --- a/sys/netinet6/frag6.c +++ b/sys/netinet6/frag6.c @@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$"); #include <sys/time.h> #include <sys/kernel.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/icmp6.c b/sys/netinet6/icmp6.c index 4a81b4d..bdf7786 100644 --- a/sys/netinet6/icmp6.c +++ b/sys/netinet6/icmp6.c @@ -74,6 +74,7 @@ __FBSDID("$FreeBSD$"); #include <sys/lock.h> #include <sys/malloc.h> #include <sys/mbuf.h> +#include <sys/proc.h> #include <sys/protosw.h> #include <sys/signalvar.h> #include <sys/socket.h> @@ -82,7 +83,6 @@ __FBSDID("$FreeBSD$"); #include <sys/syslog.h> #include <sys/systm.h> #include <sys/time.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/netinet6/in6.c b/sys/netinet6/in6.c index 2a1f8d9..c099da7 100644 --- a/sys/netinet6/in6.c +++ b/sys/netinet6/in6.c @@ -79,7 +79,6 @@ __FBSDID("$FreeBSD$"); #include <sys/time.h> #include <sys/kernel.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netinet6/in6_gif.c b/sys/netinet6/in6_gif.c index e51506b..a481706 100644 --- a/sys/netinet6/in6_gif.c +++ b/sys/netinet6/in6_gif.c @@ -45,7 +45,6 @@ __FBSDID("$FreeBSD$"); #include <sys/syslog.h> #include <sys/protosw.h> #include <sys/malloc.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/in6_ifattach.c b/sys/netinet6/in6_ifattach.c index 5d34b40..1fc54c6 100644 --- a/sys/netinet6/in6_ifattach.c +++ b/sys/netinet6/in6_ifattach.c @@ -39,9 +39,9 @@ __FBSDID("$FreeBSD$"); #include <sys/sockio.h> #include <sys/jail.h> #include <sys/kernel.h> +#include <sys/proc.h> #include <sys/syslog.h> #include <sys/md5.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/netinet6/in6_mcast.c b/sys/netinet6/in6_mcast.c index 67686a4..eedebb9 100644 --- a/sys/netinet6/in6_mcast.c +++ b/sys/netinet6/in6_mcast.c @@ -50,7 +50,6 @@ __FBSDID("$FreeBSD$"); #include <sys/priv.h> #include <sys/ktr.h> #include <sys/tree.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/netinet6/in6_pcb.c b/sys/netinet6/in6_pcb.c index 924e15d..d40a9e3 100644 --- a/sys/netinet6/in6_pcb.c +++ b/sys/netinet6/in6_pcb.c @@ -81,7 +81,6 @@ __FBSDID("$FreeBSD$"); #include <sys/priv.h> #include <sys/proc.h> #include <sys/jail.h> -#include <sys/vimage.h> #include <vm/uma.h> diff --git a/sys/netinet6/in6_proto.c b/sys/netinet6/in6_proto.c index 8c4094d..c31743f 100644 --- a/sys/netinet6/in6_proto.c +++ b/sys/netinet6/in6_proto.c @@ -82,7 +82,6 @@ __FBSDID("$FreeBSD$"); #include <sys/mbuf.h> #include <sys/systm.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/radix.h> diff --git a/sys/netinet6/in6_rmx.c b/sys/netinet6/in6_rmx.c index dd7c19b..1ae04c3 100644 --- a/sys/netinet6/in6_rmx.c +++ b/sys/netinet6/in6_rmx.c @@ -87,7 +87,6 @@ __FBSDID("$FreeBSD$"); #include <sys/rwlock.h> #include <sys/syslog.h> #include <sys/callout.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/in6_src.c b/sys/netinet6/in6_src.c index f51c3bf..f087fae 100644 --- a/sys/netinet6/in6_src.c +++ b/sys/netinet6/in6_src.c @@ -83,7 +83,6 @@ __FBSDID("$FreeBSD$"); #include <sys/jail.h> #include <sys/kernel.h> #include <sys/sx.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/ip6_forward.c b/sys/netinet6/ip6_forward.c index 896d67c..7ba4977 100644 --- a/sys/netinet6/ip6_forward.c +++ b/sys/netinet6/ip6_forward.c @@ -48,7 +48,6 @@ __FBSDID("$FreeBSD$"); #include <sys/time.h> #include <sys/kernel.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/ip6_input.c b/sys/netinet6/ip6_input.c index af79042..019d57f 100644 --- a/sys/netinet6/ip6_input.c +++ b/sys/netinet6/ip6_input.c @@ -80,7 +80,6 @@ __FBSDID("$FreeBSD$"); #include <sys/time.h> #include <sys/kernel.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netinet6/ip6_ipsec.c b/sys/netinet6/ip6_ipsec.c index 23d6f7f..48d9162 100644 --- a/sys/netinet6/ip6_ipsec.c +++ b/sys/netinet6/ip6_ipsec.c @@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/socketvar.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/ip6_mroute.c b/sys/netinet6/ip6_mroute.c index 09e4bd6..5496062 100644 --- a/sys/netinet6/ip6_mroute.c +++ b/sys/netinet6/ip6_mroute.c @@ -103,7 +103,6 @@ __FBSDID("$FreeBSD$"); #include <sys/syslog.h> #include <sys/systm.h> #include <sys/time.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netinet6/ip6_output.c b/sys/netinet6/ip6_output.c index c208ca7..c48ac7b 100644 --- a/sys/netinet6/ip6_output.c +++ b/sys/netinet6/ip6_output.c @@ -79,7 +79,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/syslog.h> #include <sys/ucred.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/netisr.h> diff --git a/sys/netinet6/mld6.c b/sys/netinet6/mld6.c index e23dea3..172a8d6 100644 --- a/sys/netinet6/mld6.c +++ b/sys/netinet6/mld6.c @@ -79,7 +79,6 @@ __FBSDID("$FreeBSD$"); #include <sys/callout.h> #include <sys/malloc.h> #include <sys/module.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netinet6/nd6.c b/sys/netinet6/nd6.c index 3584b17..48635c5 100644 --- a/sys/netinet6/nd6.c +++ b/sys/netinet6/nd6.c @@ -51,7 +51,6 @@ __FBSDID("$FreeBSD$"); #include <sys/rwlock.h> #include <sys/queue.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_arc.h> diff --git a/sys/netinet6/nd6_nbr.c b/sys/netinet6/nd6_nbr.c index 37cea51..a74bea5 100644 --- a/sys/netinet6/nd6_nbr.c +++ b/sys/netinet6/nd6_nbr.c @@ -52,7 +52,6 @@ __FBSDID("$FreeBSD$"); #include <sys/syslog.h> #include <sys/queue.h> #include <sys/callout.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netinet6/nd6_rtr.c b/sys/netinet6/nd6_rtr.c index 5ebe307..9d1f0d6 100644 --- a/sys/netinet6/nd6_rtr.c +++ b/sys/netinet6/nd6_rtr.c @@ -48,7 +48,6 @@ __FBSDID("$FreeBSD$"); #include <sys/rwlock.h> #include <sys/syslog.h> #include <sys/queue.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netinet6/raw_ip6.c b/sys/netinet6/raw_ip6.c index 01d5784..108742d 100644 --- a/sys/netinet6/raw_ip6.c +++ b/sys/netinet6/raw_ip6.c @@ -79,7 +79,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/sx.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netinet6/route6.c b/sys/netinet6/route6.c index 9628960..1311437 100644 --- a/sys/netinet6/route6.c +++ b/sys/netinet6/route6.c @@ -40,7 +40,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socket.h> #include <sys/systm.h> #include <sys/queue.h> -#include <sys/vimage.h> #include <net/if.h> diff --git a/sys/netinet6/scope6.c b/sys/netinet6/scope6.c index a1e6921..cced5e30 100644 --- a/sys/netinet6/scope6.c +++ b/sys/netinet6/scope6.c @@ -39,7 +39,6 @@ __FBSDID("$FreeBSD$"); #include <sys/systm.h> #include <sys/queue.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/vnet.h> diff --git a/sys/netinet6/udp6_usrreq.c b/sys/netinet6/udp6_usrreq.c index ab173a8..552e488 100644 --- a/sys/netinet6/udp6_usrreq.c +++ b/sys/netinet6/udp6_usrreq.c @@ -84,7 +84,6 @@ __FBSDID("$FreeBSD$"); #include <sys/sysctl.h> #include <sys/syslog.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_types.h> diff --git a/sys/netipsec/ipsec.c b/sys/netipsec/ipsec.c index 07ae90e..4b552c8 100644 --- a/sys/netipsec/ipsec.c +++ b/sys/netipsec/ipsec.c @@ -53,7 +53,6 @@ #include <sys/syslog.h> #include <sys/sysctl.h> #include <sys/proc.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netipsec/ipsec_input.c b/sys/netipsec/ipsec_input.c index 78f023a..e449e85 100644 --- a/sys/netipsec/ipsec_input.c +++ b/sys/netipsec/ipsec_input.c @@ -54,7 +54,6 @@ #include <sys/socket.h> #include <sys/errno.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/pfil.h> diff --git a/sys/netipsec/ipsec_mbuf.c b/sys/netipsec/ipsec_mbuf.c index 1b92881..97f9714 100644 --- a/sys/netipsec/ipsec_mbuf.c +++ b/sys/netipsec/ipsec_mbuf.c @@ -36,7 +36,6 @@ #include <sys/systm.h> #include <sys/mbuf.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/route.h> #include <net/vnet.h> diff --git a/sys/netipsec/ipsec_output.c b/sys/netipsec/ipsec_output.c index f689fb2..8e8a1e3 100644 --- a/sys/netipsec/ipsec_output.c +++ b/sys/netipsec/ipsec_output.c @@ -42,7 +42,6 @@ #include <sys/socket.h> #include <sys/errno.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/pfil.h> diff --git a/sys/netipsec/key.c b/sys/netipsec/key.c index e90396b..99dce21 100644 --- a/sys/netipsec/key.c +++ b/sys/netipsec/key.c @@ -56,7 +56,6 @@ #include <sys/queue.h> #include <sys/refcount.h> #include <sys/syslog.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/netipsec/keysock.c b/sys/netipsec/keysock.c index a8fbd5e..143b600 100644 --- a/sys/netipsec/keysock.c +++ b/sys/netipsec/keysock.c @@ -50,7 +50,6 @@ #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/systm.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/raw_cb.h> diff --git a/sys/netipsec/xform_ah.c b/sys/netipsec/xform_ah.c index 658c92c..d77f246 100644 --- a/sys/netipsec/xform_ah.c +++ b/sys/netipsec/xform_ah.c @@ -46,7 +46,6 @@ #include <sys/syslog.h> #include <sys/kernel.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/vnet.h> diff --git a/sys/netipsec/xform_esp.c b/sys/netipsec/xform_esp.c index e45a037..135be9d 100644 --- a/sys/netipsec/xform_esp.c +++ b/sys/netipsec/xform_esp.c @@ -46,7 +46,6 @@ #include <sys/kernel.h> #include <sys/random.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/vnet.h> diff --git a/sys/netipsec/xform_ipcomp.c b/sys/netipsec/xform_ipcomp.c index 3536e53..4049154 100644 --- a/sys/netipsec/xform_ipcomp.c +++ b/sys/netipsec/xform_ipcomp.c @@ -41,7 +41,6 @@ #include <sys/kernel.h> #include <sys/protosw.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/netipsec/xform_ipip.c b/sys/netipsec/xform_ipip.c index 891e16c..c9669b1 100644 --- a/sys/netipsec/xform_ipip.c +++ b/sys/netipsec/xform_ipip.c @@ -50,7 +50,6 @@ #include <sys/kernel.h> #include <sys/protosw.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/pfil.h> diff --git a/sys/netipsec/xform_tcp.c b/sys/netipsec/xform_tcp.c index 1fad954..a5edb15 100644 --- a/sys/netipsec/xform_tcp.c +++ b/sys/netipsec/xform_tcp.c @@ -39,7 +39,6 @@ #include <sys/kernel.h> #include <sys/protosw.h> #include <sys/sysctl.h> -#include <sys/vimage.h> #include <netinet/in.h> #include <netinet/in_systm.h> diff --git a/sys/nfsclient/bootp_subr.c b/sys/nfsclient/bootp_subr.c index ea6c02b..e1096be 100644 --- a/sys/nfsclient/bootp_subr.c +++ b/sys/nfsclient/bootp_subr.c @@ -58,7 +58,6 @@ __FBSDID("$FreeBSD$"); #include <sys/socketvar.h> #include <sys/sysctl.h> #include <sys/uio.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/route.h> diff --git a/sys/nfsclient/nfs_diskless.c b/sys/nfsclient/nfs_diskless.c index e3e758b..2f91b9d 100644 --- a/sys/nfsclient/nfs_diskless.c +++ b/sys/nfsclient/nfs_diskless.c @@ -43,7 +43,6 @@ __FBSDID("$FreeBSD$"); #include <sys/malloc.h> #include <sys/mount.h> #include <sys/socket.h> -#include <sys/vimage.h> #include <net/if.h> #include <net/if_dl.h> diff --git a/sys/nfsclient/nfs_vnops.c b/sys/nfsclient/nfs_vnops.c index c37eb34..165849b 100644 --- a/sys/nfsclient/nfs_vnops.c +++ b/sys/nfsclient/nfs_vnops.c @@ -61,7 +61,6 @@ __FBSDID("$FreeBSD$"); #include <sys/stat.h> #include <sys/sysctl.h> #include <sys/signalvar.h> -#include <sys/vimage.h> #include <vm/vm.h> #include <vm/vm_object.h> diff --git a/sys/sys/vimage.h b/sys/sys/vimage.h deleted file mode 100644 index 32084b7..0000000 --- a/sys/sys/vimage.h +++ /dev/null @@ -1,183 +0,0 @@ -/*- - * Copyright (c) 2006-2009 University of Zagreb - * Copyright (c) 2006-2009 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 _SYS_VIMAGE_H_ -#define _SYS_VIMAGE_H_ - -/* - * struct vnet describes a virtualized network stack, and is primarily a - * pointer to storage for virtualized global variables. Expose to userspace - * as required for libkvm. - */ -#if defined(_KERNEL) || defined(_WANT_VNET) -#include <sys/queue.h> - -struct vnet { - LIST_ENTRY(vnet) vnet_le; /* all vnets list */ - u_int vnet_magic_n; - u_int vnet_ifcnt; - u_int vnet_sockcnt; - void *vnet_data_mem; - uintptr_t vnet_data_base; -}; - -#define VNET_MAGIC_N 0x3e0d8f29 -#endif - -#ifdef _KERNEL - -#include <sys/lock.h> -#include <sys/sx.h> -#include <sys/proc.h> - -#ifdef INVARIANTS -#define VNET_DEBUG -#endif - -#ifdef VIMAGE - -struct vnet; -struct ifnet; -struct vnet *vnet_alloc(void); -void vnet_destroy(struct vnet *); -void vnet_foreach(void (*vnet_foreach_fn)(struct vnet *, void *), - void *arg); - -#endif /* VIMAGE */ - -#define curvnet curthread->td_vnet - -#ifdef VIMAGE -#ifdef VNET_DEBUG -#define VNET_ASSERT(condition) \ - if (!(condition)) { \ - printf("VNET_ASSERT @ %s:%d %s():\n", \ - __FILE__, __LINE__, __FUNCTION__); \ - panic(#condition); \ - } - -#define CURVNET_SET_QUIET(arg) \ - VNET_ASSERT((arg)->vnet_magic_n == VNET_MAGIC_N); \ - struct vnet *saved_vnet = curvnet; \ - const char *saved_vnet_lpush = curthread->td_vnet_lpush; \ - curvnet = arg; \ - curthread->td_vnet_lpush = __FUNCTION__; - -#define CURVNET_SET_VERBOSE(arg) \ - CURVNET_SET_QUIET(arg) \ - if (saved_vnet) \ - printf("CURVNET_SET(%p) in %s() on cpu %d, prev %p in %s()\n", \ - curvnet, curthread->td_vnet_lpush, curcpu, \ - saved_vnet, saved_vnet_lpush); - -#define CURVNET_SET(arg) CURVNET_SET_VERBOSE(arg) - -#define CURVNET_RESTORE() \ - VNET_ASSERT(saved_vnet == NULL || \ - saved_vnet->vnet_magic_n == VNET_MAGIC_N); \ - curvnet = saved_vnet; \ - curthread->td_vnet_lpush = saved_vnet_lpush; -#else /* !VNET_DEBUG */ -#define VNET_ASSERT(condition) - -#define CURVNET_SET(arg) \ - struct vnet *saved_vnet = curvnet; \ - curvnet = arg; - -#define CURVNET_SET_VERBOSE(arg) CURVNET_SET(arg) -#define CURVNET_SET_QUIET(arg) CURVNET_SET(arg) - -#define CURVNET_RESTORE() \ - curvnet = saved_vnet; -#endif /* VNET_DEBUG */ -#else /* !VIMAGE */ -#define VNET_ASSERT(condition) -#define CURVNET_SET(arg) -#define CURVNET_SET_QUIET(arg) -#define CURVNET_RESTORE() -#endif /* !VIMAGE */ - -#ifdef VIMAGE -/* - * Global linked list of all virtual network stacks, along with read locks to - * access it. If a caller may sleep while accessing the list, it must use - * the sleepable lock macros. - */ -LIST_HEAD(vnet_list_head, vnet); -extern struct vnet_list_head vnet_head; -extern struct rwlock vnet_rwlock; -extern struct sx vnet_sxlock; - -#define VNET_LIST_RLOCK() sx_slock(&vnet_sxlock) -#define VNET_LIST_RLOCK_NOSLEEP() rw_rlock(&vnet_rwlock) -#define VNET_LIST_RUNLOCK() sx_sunlock(&vnet_sxlock) -#define VNET_LIST_RUNLOCK_NOSLEEP() rw_runlock(&vnet_rwlock) - -/* - * Iteration macros to walk the global list of virtual network stacks. - */ -#define VNET_ITERATOR_DECL(arg) struct vnet *arg -#define VNET_FOREACH(arg) LIST_FOREACH((arg), &vnet_head, vnet_le) - -#else /* !VIMAGE */ -/* - * No-op macros for the !VIMAGE case. - */ -#define VNET_LIST_RLOCK() -#define VNET_LIST_RLOCK_NOSLEEP() -#define VNET_LIST_RUNLOCK() -#define VNET_LIST_RUNLOCK_NOSLEEP() -#define VNET_ITERATOR_DECL(arg) -#define VNET_FOREACH(arg) - -#endif /* VIMAGE */ - -#ifdef VIMAGE -extern struct vnet *vnet0; -#define IS_DEFAULT_VNET(arg) ((arg) == vnet0) -#else -#define IS_DEFAULT_VNET(arg) 1 -#endif - -#ifdef VIMAGE -#define CRED_TO_VNET(cr) (cr)->cr_prison->pr_vnet -#define TD_TO_VNET(td) CRED_TO_VNET((td)->td_ucred) -#define P_TO_VNET(p) CRED_TO_VNET((p)->p_ucred) -#else /* !VIMAGE */ -#define CRED_TO_VNET(cr) NULL -#define TD_TO_VNET(td) NULL -#define P_TO_VNET(p) NULL -#endif /* VIMAGE */ - -#endif /* _KERNEL */ - -#endif /* !_SYS_VIMAGE_H_ */ |