[patch 1/2][NETNS49][IPV4][UDPLITE] add udp_proc_register per net
Daniel Lezcano
dlezcano at fr.ibm.com
Tue Oct 9 10:00:08 PDT 2007
This patch add a pernet subsystem to register /proc/net/udplite
per network namespace.
Signed-off-by: Daniel Lezcano <dlezcano at fr.ibm.com>
---
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;
--
More information about the Containers
mailing list