[IPSEC]: Add xfrm_init_state

This patch adds xfrm_init_state which is simply a wrapper that calls
xfrm_get_type and subsequently x->type->init_state.  It also gets rid
of the unused args argument.

Abstracting it out allows us to add common initialisation code, e.g.,
to set family-specific flags.

The add_time setting in xfrm_user.c was deleted because it's already
set by xfrm_state_alloc.

Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Acked-by: James Morris <jmorris@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Herbert Xu
2005-06-20 13:18:08 -07:00
committed by David S. Miller
parent 3f7a87d2fa
commit 72cb6962a9
13 changed files with 38 additions and 40 deletions

View File

@@ -1055,6 +1055,27 @@ int xfrm_state_mtu(struct xfrm_state *x, int mtu)
}
EXPORT_SYMBOL(xfrm_state_mtu);
int xfrm_init_state(struct xfrm_state *x)
{
int err;
err = -ENOENT;
x->type = xfrm_get_type(x->id.proto, x->props.family);
if (x->type == NULL)
goto error;
err = x->type->init_state(x);
if (err)
goto error;
x->km.state = XFRM_STATE_VALID;
error:
return err;
}
EXPORT_SYMBOL(xfrm_init_state);
void __init xfrm_state_init(void)
{