summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/net/ip6_fib.h12
-rw-r--r--net/ipv6/route.c7
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);