This patch add a pernet subsystem to register /proc/net/udplite per network namespace. Signed-off-by: Daniel Lezcano --- 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 Containers@lists.linux-foundation.org https://lists.linux-foundation.org/mailman/listinfo/containers