PERFORCE change 124200 for review

Marko Zec zec at FreeBSD.org
Fri Jul 27 19:06:43 UTC 2007


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

Change 124200 by zec at zec_tpx32 on 2007/07/27 19:06:17

	Arrange that the (yet to be implemented) cleanups of IPSEC
	state will be invoked through the new dom_destroy() mechanism,
	instead of registering the cleanup function as a vnet module.
	
	While here, do some whitespace / indentation cleanups.

Affected files ...

.. //depot/projects/vimage/src/sys/netipsec/ipsec.c#11 edit
.. //depot/projects/vimage/src/sys/netipsec/key.c#12 edit
.. //depot/projects/vimage/src/sys/netipsec/key.h#2 edit
.. //depot/projects/vimage/src/sys/netipsec/keysock.c#7 edit
.. //depot/projects/vimage/src/sys/sys/vimage.h#26 edit

Differences ...

==== //depot/projects/vimage/src/sys/netipsec/ipsec.c#11 (text+ko) ====

@@ -108,7 +108,7 @@
 #endif
 #endif
 
-static int  vnet_ipsec_iattach(void *);
+static int vnet_ipsec_iattach(void *);
 #ifdef VIMAGE
 static int vnet_ipsec_idetach(void *);
 #endif
@@ -2004,16 +2004,16 @@
 #ifdef VIMAGE
 	struct vnet_ipsec *vnet_ipsec;
 
-    if (IS_VNET_0(curvnet)) {
-        vnet_ipsec = &vnet_ipsec_0;
-    } else {
-        vnet_ipsec = malloc(sizeof(struct vnet_ipsec),
-                   M_IPSEC, M_NOWAIT | M_ZERO);
-        if (vnet_ipsec == NULL)
-            panic("couldn't allocate memory for vnet_ipsec");
-    }
-    curvnet->mod_data[vnet_ipsec_modinfo.id] = vnet_ipsec;
-    vnet_ipsec->parent_vnet = curvnet;
+	if (IS_VNET_0(curvnet)) {
+		vnet_ipsec = &vnet_ipsec_0;
+	} else {
+		vnet_ipsec = malloc(sizeof(struct vnet_ipsec),
+				    M_IPSEC, M_NOWAIT | M_ZERO);
+	if (vnet_ipsec == NULL)
+		panic("couldn't allocate memory for vnet_ipsec");
+	}
+	curvnet->mod_data[vnet_ipsec_modinfo.id] = vnet_ipsec;
+	vnet_ipsec->parent_vnet = curvnet;
 #endif
 
 	#ifdef IPSEC_DEBUG

==== //depot/projects/vimage/src/sys/netipsec/key.c#12 (text+ko) ====

@@ -131,18 +131,6 @@
 static u_int32_t acq_seq = 0;
 #endif
 
-static int  key_iattach(void *);
-static int  key_idetach(void *);
-
-#ifdef VIMAGE
-static struct vnet_modinfo vnet_key_modinfo = {
-	.id			= VNET_MOD_KEY,
-	.name		= "key",
-	.i_attach	= key_iattach,
-	.i_detach	= key_idetach
-};
-#endif
-
 #ifndef VIMAGE
 static LIST_HEAD(_sptree, secpolicy) sptree[IPSEC_DIR_MAX];	/* SPD */
 #endif
@@ -7180,18 +7168,6 @@
 void
 key_init(void)
 {
-#ifdef VIMAGE
-    if (IS_VNET_0(curvnet))
-		vnet_mod_register(&vnet_key_modinfo);
-#else
-	key_iattach(NULL);
-#endif
-
-	return;
-}
-
-static int key_iattach(unused) void *unused;
-{
 	INIT_VNET_IPSEC(curvnet);
 	int i;
 
@@ -7244,10 +7220,12 @@
 	V_ip4_def_policy.policy = IPSEC_POLICY_NONE;
 	V_ip4_def_policy.refcnt++;	/*never reclaim this*/
 
-#ifndef IPSEC_DEBUG2
 #ifdef VIMAGE
-	if (IS_VNET_0(curvnet))
+	if (!IS_VNET_0(curvnet))
+		return;
 #endif
+
+#ifndef IPSEC_DEBUG2
 	timeout((void *)key_timehandler, (void *)0, hz);
 #endif /*IPSEC_DEBUG2*/
 
@@ -7255,18 +7233,14 @@
 	keystat.getspi_count = 1;
 
 	printf("Fast IPsec: Initialized Security Association Processing.\n");
-
-	return 0;
 }
 
 #ifdef VIMAGE
-static int key_idetach(unused) void *unused;
+void key_destroy(void)
 {
-	INIT_VNET_IPSEC(curvnet);
 	/*
 	 * Flush: spdtree, sahtree, regtree, acqtree, sacqtree
-	*/
-	return 0;
+	 */
 }
 #endif
 

==== //depot/projects/vimage/src/sys/netipsec/key.h#2 (text+ko) ====

@@ -96,6 +96,9 @@
 extern void key_freereg __P((struct socket *));
 extern int key_parse __P((struct mbuf *, struct socket *));
 extern void key_init __P((void));
+#ifdef VIMAGE
+extern void key_destroy(void);
+#endif
 extern void key_sa_recordxfer __P((struct secasvar *, struct mbuf *));
 extern void key_sa_routechange __P((struct sockaddr *));
 extern void key_sa_stir_iv __P((struct secasvar *));

==== //depot/projects/vimage/src/sys/netipsec/keysock.c#7 (text+ko) ====

@@ -589,6 +589,9 @@
 	.dom_family =		PF_KEY,
 	.dom_name =		"key",
 	.dom_init =		key_init0,
+#ifdef VIMAGE
+	.dom_destroy =		key_destroy,
+#endif
 	.dom_protosw =		keysw,
 	.dom_protoswNPROTOSW =	&keysw[sizeof(keysw)/sizeof(keysw[0])]
 };

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

@@ -81,7 +81,6 @@
 #define VNET_MOD_AH		15
 #define VNET_MOD_GIF		16
 #define VNET_MOD_IPCOMP	 	17	
-#define VNET_MOD_KEY		18
 #define VNET_MOD_ARP		28
 #define VNET_MOD_RTABLE		29
 #define VNET_MOD_LOIF		30


More information about the p4-projects mailing list