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