Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c35b7e72 authored by Daniel Lezcano's avatar Daniel Lezcano Committed by David S. Miller
Browse files

[IPV6]: remove ifdef in route6 for xfrm6



The following patch create the usual static inline functions to disable
the xfrm6_init and xfrm6_fini function when XFRM is off.
That's allow to remove some ifdef and make the code a little more clear.

Signed-off-by: default avatarDaniel Lezcano <dlezcano@fr.ibm.com>
Acked-by: default avatarYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 75314fb3
Loading
Loading
Loading
Loading
+13 −3
Original line number Diff line number Diff line
@@ -842,7 +842,6 @@ xfrm_state_addr_cmp(struct xfrm_tmpl *tmpl, struct xfrm_state *x, unsigned short
}

#ifdef CONFIG_XFRM

extern int __xfrm_policy_check(struct sock *, int dir, struct sk_buff *skb, unsigned short family);

static inline int xfrm_policy_check(struct sock *sk, int dir, struct sk_buff *skb, unsigned short family)
@@ -1066,12 +1065,23 @@ struct xfrm6_tunnel {

extern void xfrm_init(void);
extern void xfrm4_init(void);
extern int xfrm6_init(void);
extern void xfrm6_fini(void);
extern void xfrm_state_init(void);
extern void xfrm4_state_init(void);
#ifdef CONFIG_XFRM
extern int xfrm6_init(void);
extern void xfrm6_fini(void);
extern int xfrm6_state_init(void);
extern void xfrm6_state_fini(void);
#else
static inline int xfrm6_init(void)
{
	return 0;
}
static inline void xfrm6_fini(void)
{
	;
}
#endif

extern int xfrm_state_walk(u8 proto, int (*func)(struct xfrm_state *, int, void*), void *);
extern struct xfrm_state *xfrm_state_alloc(void);
+1 −6
Original line number Diff line number Diff line
@@ -2522,11 +2522,10 @@ int __init ip6_route_init(void)
	if (ret)
		goto out_fib6_init;

#ifdef CONFIG_XFRM
	ret = xfrm6_init();
	if (ret)
		goto out_proc_init;
#endif

#ifdef CONFIG_IPV6_MULTIPLE_TABLES
	ret = fib6_rules_init();
	if (ret)
@@ -2547,9 +2546,7 @@ fib6_rules_init:
	fib6_rules_cleanup();
xfrm6_init:
#endif
#ifdef CONFIG_XFRM
	xfrm6_fini();
#endif
out_proc_init:
	ipv6_route_proc_fini(&init_net);
out_fib6_init:
@@ -2566,9 +2563,7 @@ void ip6_route_cleanup(void)
	fib6_rules_cleanup();
#endif
	ipv6_route_proc_fini(&init_net);
#ifdef CONFIG_XFRM
	xfrm6_fini();
#endif
	rt6_ifdown(NULL);
	fib6_gc_cleanup();
	kmem_cache_destroy(ip6_dst_ops.kmem_cachep);