[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:
committed by
David S. Miller
parent
3f7a87d2fa
commit
72cb6962a9
@@ -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)
|
||||
{
|
||||
|
Reference in New Issue
Block a user