]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - net/ipv6/af_inet6.c
ipv6: export a stub for IPv6 symbols used by vxlan
[karo-tx-linux.git] / net / ipv6 / af_inet6.c
index a5ac969aeefe5337d7fa4c5601912fb96b1a5496..0c9c22f7487a0c5a1fec2ed4ab814b3e6e457603 100644 (file)
@@ -766,6 +766,7 @@ static int __net_init inet6_net_init(struct net *net)
 
        net->ipv6.sysctl.bindv6only = 0;
        net->ipv6.sysctl.icmpv6_time = 1*HZ;
+       atomic_set(&net->ipv6.rt_genid, 0);
 
        err = ipv6_init_mibs(net);
        if (err)
@@ -809,6 +810,13 @@ static struct pernet_operations inet6_net_ops = {
        .exit = inet6_net_exit,
 };
 
+static const struct ipv6_stub ipv6_stub_impl = {
+       .ipv6_sock_mc_join = ipv6_sock_mc_join,
+       .ipv6_sock_mc_drop = ipv6_sock_mc_drop,
+       .ipv6_dst_lookup = ip6_dst_lookup,
+       .udpv6_encap_enable = udpv6_encap_enable,
+};
+
 static int __init inet6_init(void)
 {
        struct list_head *r;
@@ -883,6 +891,9 @@ static int __init inet6_init(void)
        err = igmp6_init();
        if (err)
                goto igmp_fail;
+
+       ipv6_stub = &ipv6_stub_impl;
+
        err = ipv6_netfilter_init();
        if (err)
                goto netfilter_fail;
@@ -1039,6 +1050,7 @@ static void __exit inet6_exit(void)
        raw6_proc_exit();
 #endif
        ipv6_netfilter_fini();
+       ipv6_stub = NULL;
        igmp6_cleanup();
        ndisc_cleanup();
        ip6_mr_cleanup();