summaryrefslogtreecommitdiffstats
path: root/sys/kern
diff options
context:
space:
mode:
Diffstat (limited to 'sys/kern')
-rw-r--r--sys/kern/kern_jail.c5
-rw-r--r--sys/kern/kern_linker.c3
-rw-r--r--sys/kern/kern_poll.c1
-rw-r--r--sys/kern/kern_sysctl.c1
-rw-r--r--sys/kern/kern_uuid.c1
-rw-r--r--sys/kern/kern_vimage.c186
-rw-r--r--sys/kern/sys_socket.c2
-rw-r--r--sys/kern/uipc_domain.c4
-rw-r--r--sys/kern/uipc_socket.c3
-rw-r--r--sys/kern/uipc_syscalls.c3
-rw-r--r--sys/kern/uipc_usrreq.c3
11 files changed, 16 insertions, 196 deletions
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>
OpenPOWER on IntegriCloud