summaryrefslogtreecommitdiffstats
path: root/drivers/net/vrf.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/vrf.c')
-rw-r--r--drivers/net/vrf.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c
index b82e3527924e..b4d746943bc5 100644
--- a/drivers/net/vrf.c
+++ b/drivers/net/vrf.c
@@ -407,6 +407,10 @@ static int vrf_rt6_create(struct net_device *dev)
407 struct rt6_info *rt6, *rt6_local; 407 struct rt6_info *rt6, *rt6_local;
408 int rc = -ENOMEM; 408 int rc = -ENOMEM;
409 409
410 /* IPv6 can be CONFIG enabled and then disabled runtime */
411 if (!ipv6_mod_enabled())
412 return 0;
413
410 rt6i_table = fib6_new_table(net, vrf->tb_id); 414 rt6i_table = fib6_new_table(net, vrf->tb_id);
411 if (!rt6i_table) 415 if (!rt6i_table)
412 goto out; 416 goto out;
@@ -919,6 +923,9 @@ static int vrf_fib_rule(const struct net_device *dev, __u8 family, bool add_it)
919 struct sk_buff *skb; 923 struct sk_buff *skb;
920 int err; 924 int err;
921 925
926 if (family == AF_INET6 && !ipv6_mod_enabled())
927 return 0;
928
922 skb = nlmsg_new(vrf_fib_rule_nl_size(), GFP_KERNEL); 929 skb = nlmsg_new(vrf_fib_rule_nl_size(), GFP_KERNEL);
923 if (!skb) 930 if (!skb)
924 return -ENOMEM; 931 return -ENOMEM;