datapath: Prevent linker error of unknown symbol.
[cascardo/ovs.git] / datapath / linux / compat / net_namespace.c
1 #include <linux/if_vlan.h>
2 #include <linux/netdevice.h>
3 #include <net/net_namespace.h>
4 #include <net/netns/generic.h>
5
6 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,33)
7
8 int ovs_compat_init_net(struct net *net, struct rpl_pernet_operations *pnet)
9 {
10         int err;
11         void *ovs_net = kzalloc(pnet->size, GFP_KERNEL);
12
13         if (!ovs_net)
14                 return -ENOMEM;
15
16         err = net_assign_generic(net, *pnet->id, ovs_net);
17         if (err)
18                 goto err;
19
20         if (pnet->init) {
21                 err = pnet->init(net);
22                 if (err)
23                         goto err;
24         }
25
26         return 0;
27 err:
28         kfree(ovs_net);
29         return err;
30 }
31 EXPORT_SYMBOL_GPL(ovs_compat_init_net);
32
33 void ovs_compat_exit_net(struct net *net, struct rpl_pernet_operations *pnet)
34 {
35         void *ovs_net = net_generic(net, *pnet->id);
36
37         if (pnet->exit)
38                 pnet->exit(net);
39         kfree(ovs_net);
40 }
41 EXPORT_SYMBOL_GPL(ovs_compat_exit_net);
42
43 #endif