xfrm: Introduce xfrm_input_afinfo to access the the callbacks properly
IPv6 can be build as a module, so we need mechanism to access the address family dependent callback functions properly. Therefore we introduce xfrm_input_afinfo, similar to that what we have for the address family dependent part of policies and states. Signed-off-by: Steffen Klassert <steffen.klassert@secunet.com>
This commit is contained in:
parent
870a2df4ca
commit
2f32b51b60
4 changed files with 99 additions and 13 deletions
|
@ -179,6 +179,12 @@ static const struct net_protocol ipcomp4_protocol = {
|
|||
.netns_ok = 1,
|
||||
};
|
||||
|
||||
static struct xfrm_input_afinfo xfrm4_input_afinfo = {
|
||||
.family = AF_INET,
|
||||
.owner = THIS_MODULE,
|
||||
.callback = xfrm4_rcv_cb,
|
||||
};
|
||||
|
||||
static inline const struct net_protocol *netproto(unsigned char protocol)
|
||||
{
|
||||
switch (protocol) {
|
||||
|
@ -199,7 +205,6 @@ int xfrm4_protocol_register(struct xfrm4_protocol *handler,
|
|||
struct xfrm4_protocol __rcu **pprev;
|
||||
struct xfrm4_protocol *t;
|
||||
bool add_netproto = false;
|
||||
|
||||
int ret = -EEXIST;
|
||||
int priority = handler->priority;
|
||||
|
||||
|
@ -273,3 +278,9 @@ int xfrm4_protocol_deregister(struct xfrm4_protocol *handler,
|
|||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(xfrm4_protocol_deregister);
|
||||
|
||||
void __init xfrm4_protocol_init(void)
|
||||
{
|
||||
xfrm_input_register_afinfo(&xfrm4_input_afinfo);
|
||||
}
|
||||
EXPORT_SYMBOL(xfrm4_protocol_init);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue