This patch add a pernet subsystem to register /proc/net/udplite
per network namespace.

Signed-off-by: Daniel Lezcano <[EMAIL PROTECTED]>

---
 net/ipv4/udplite.c |   24 ++++++++++++++++++++++--
 1 file changed, 22 insertions(+), 2 deletions(-)

Index: linux-2.6-netns/net/ipv4/udplite.c
===================================================================
--- linux-2.6-netns.orig/net/ipv4/udplite.c
+++ linux-2.6-netns/net/ipv4/udplite.c
@@ -96,6 +96,27 @@ static struct udp_seq_afinfo udplite4_se
        .seq_show       = udp4_seq_show,
        .seq_fops       = &udplite4_seq_fops,
 };
+
+static int udplite4_proc_net_init(struct net *net)
+{
+       if (net != &init_net)
+               return -EPERM;
+
+       if (udp_proc_register(net, &udplite4_seq_afinfo)) /* 
udplite4_proc_init() */
+               printk(KERN_ERR "%s: Cannot register /proc!\n", __FUNCTION__);
+
+       return 0;
+}
+
+static void udplite4_proc_net_exit(struct net *net)
+{
+       udp_proc_unregister(net, &udplite4_seq_afinfo);
+}
+
+static struct pernet_operations udplite4_proc_net_ops = {
+       .init = udplite4_proc_net_init,
+       .exit = udplite4_proc_net_exit,
+};
 #endif
 
 void __init udplite4_register(void)
@@ -109,8 +130,7 @@ void __init udplite4_register(void)
        inet_register_protosw(&udplite4_protosw);
 
 #ifdef CONFIG_PROC_FS
-       if (udp_proc_register(&init_net, &udplite4_seq_afinfo)) /* 
udplite4_proc_init() */
-               printk(KERN_ERR "%s: Cannot register /proc!\n", __FUNCTION__);
+       register_pernet_subsys(&udplite4_proc_net_ops);
 #endif
        return;
 

-- 
_______________________________________________
Containers mailing list
[EMAIL PROTECTED]
https://lists.linux-foundation.org/mailman/listinfo/containers

_______________________________________________
Devel mailing list
[email protected]
https://openvz.org/mailman/listinfo/devel

Reply via email to