diff options
-rw-r--r-- | include/net/ip6_fib.h | 12 | ||||
-rw-r--r-- | net/ipv6/route.c | 7 |
2 files changed, 12 insertions, 7 deletions
diff --git a/include/net/ip6_fib.h b/include/net/ip6_fib.h index eaa31586879..14830edc2ac 100644 --- a/include/net/ip6_fib.h +++ b/include/net/ip6_fib.h @@ -226,8 +226,18 @@ extern void fib6_gc_cleanup(void); extern int fib6_init(void); +#ifdef CONFIG_IPV6_MULTIPLE_TABLES extern int fib6_rules_init(void); extern void fib6_rules_cleanup(void); - +#else +static inline int fib6_rules_init(void) +{ + return 0; +} +static inline void fib6_rules_cleanup(void) +{ + return ; +} +#endif #endif #endif diff --git a/net/ipv6/route.c b/net/ipv6/route.c index c4e890abb2d..11ef456d67c 100644 --- a/net/ipv6/route.c +++ b/net/ipv6/route.c @@ -2526,11 +2526,10 @@ int __init ip6_route_init(void) if (ret) goto out_proc_init; -#ifdef CONFIG_IPV6_MULTIPLE_TABLES ret = fib6_rules_init(); if (ret) goto xfrm6_init; -#endif + ret = -ENOBUFS; if (__rtnl_register(PF_INET6, RTM_NEWROUTE, inet6_rtm_newroute, NULL) || __rtnl_register(PF_INET6, RTM_DELROUTE, inet6_rtm_delroute, NULL) || @@ -2542,10 +2541,8 @@ out: return ret; fib6_rules_init: -#ifdef CONFIG_IPV6_MULTIPLE_TABLES fib6_rules_cleanup(); xfrm6_init: -#endif xfrm6_fini(); out_proc_init: ipv6_route_proc_fini(&init_net); @@ -2559,9 +2556,7 @@ out_kmem_cache: void ip6_route_cleanup(void) { -#ifdef CONFIG_IPV6_MULTIPLE_TABLES fib6_rules_cleanup(); -#endif ipv6_route_proc_fini(&init_net); xfrm6_fini(); rt6_ifdown(NULL); |