diff options
author | Marko Zec <zec@FreeBSD.org> | 2008-10-02 15:37:58 +0000 |
---|---|---|
committer | Marko Zec <zec@FreeBSD.org> | 2008-10-02 15:37:58 +0000 |
commit | 8b615593fc0d78ef8366c1328f5966256b82a9c0 (patch) | |
tree | 53fef93d1ff076abec439159e0a765427992dee1 /sys/netipsec/keysock.c | |
parent | 04ec403dd815bd3731dbf7da040759cd16271e3c (diff) | |
download | src-8b615593fc0d78ef8366c1328f5966256b82a9c0.tar.gz src-8b615593fc0d78ef8366c1328f5966256b82a9c0.zip |
Step 1.5 of importing the network stack virtualization infrastructure
from the vimage project, as per plan established at devsummit 08/08:
http://wiki.freebsd.org/Image/Notes200808DevSummit
Introduce INIT_VNET_*() initializer macros, VNET_FOREACH() iterator
macros, and CURVNET_SET() context setting macros, all currently
resolving to NOPs.
Prepare for virtualization of selected SYSCTL objects by introducing a
family of SYSCTL_V_*() macros, currently resolving to their global
counterparts, i.e. SYSCTL_V_INT() == SYSCTL_INT().
Move selected #defines from sys/sys/vimage.h to newly introduced header
files specific to virtualized subsystems (sys/net/vnet.h,
sys/netinet/vinet.h etc.).
All the changes are verified to have zero functional impact at this
point in time by doing MD5 comparision between pre- and post-change
object files(*).
(*) netipsec/keysock.c did not validate depending on compile time options.
Implemented by: julian, bz, brooks, zec
Reviewed by: julian, bz, brooks, kris, rwatson, ...
Approved by: julian (mentor)
Obtained from: //depot/projects/vimage-commit2/...
X-MFC after: never
Sponsored by: NLnet Foundation, The FreeBSD Foundation
Notes
Notes:
svn path=/head/; revision=183550
Diffstat (limited to 'sys/netipsec/keysock.c')
-rw-r--r-- | sys/netipsec/keysock.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/sys/netipsec/keysock.c b/sys/netipsec/keysock.c index c86791e245d0..2f7426100bee 100644 --- a/sys/netipsec/keysock.c +++ b/sys/netipsec/keysock.c @@ -52,13 +52,17 @@ #include <sys/systm.h> #include <sys/vimage.h> +#include <net/if.h> #include <net/raw_cb.h> #include <net/route.h> +#include <netinet/in.h> + #include <net/pfkeyv2.h> #include <netipsec/key.h> #include <netipsec/keysock.h> #include <netipsec/key_debug.h> +#include <netipsec/ipsec.h> #include <machine/stdarg.h> @@ -80,6 +84,7 @@ struct pfkeystat pfkeystat; int key_output(struct mbuf *m, struct socket *so) { + INIT_VNET_IPSEC(curvnet); struct sadb_msg *msg; int len, error = 0; @@ -133,6 +138,7 @@ key_sendup0(rp, m, promisc) struct mbuf *m; int promisc; { + INIT_VNET_IPSEC(curvnet); int error; if (promisc) { @@ -177,6 +183,7 @@ key_sendup(so, msg, len, target) u_int len; int target; /*target of the resulting message*/ { + INIT_VNET_IPSEC(curvnet); struct mbuf *m, *n, *mprev; int tlen; @@ -265,6 +272,8 @@ key_sendup_mbuf(so, m, target) struct mbuf *m; int target; { + INIT_VNET_NET(curvnet); + INIT_VNET_IPSEC(curvnet); struct mbuf *n; struct keycb *kp; int sendup; @@ -382,6 +391,7 @@ key_abort(struct socket *so) static int key_attach(struct socket *so, int proto, struct thread *td) { + INIT_VNET_IPSEC(curvnet); struct keycb *kp; int error; @@ -456,6 +466,7 @@ key_connect(struct socket *so, struct sockaddr *nam, struct thread *td) static void key_detach(struct socket *so) { + INIT_VNET_IPSEC(curvnet); struct keycb *kp = (struct keycb *)sotorawcb(so); KASSERT(kp != NULL, ("key_detach: kp == NULL")); @@ -558,6 +569,7 @@ struct protosw keysw[] = { static void key_init0(void) { + INIT_VNET_IPSEC(curvnet); bzero((caddr_t)&V_key_cb, sizeof(V_key_cb)); key_init(); } |