Skip to content

Commit

Permalink
netns: register /proc/net/dev_snmp6/* in each ns
Browse files Browse the repository at this point in the history
Do the same for /proc/net/snmp6.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Denis V. Lunev authored and David S. Miller committed Oct 7, 2008
1 parent 835bcc0 commit 06f3852
Showing 1 changed file with 16 additions and 24 deletions.
40 changes: 16 additions & 24 deletions net/ipv6/proc.c
Original file line number Diff line number Diff line change
Expand Up @@ -247,12 +247,27 @@ static int ipv6_proc_init_net(struct net *net)
if (!proc_net_fops_create(net, "sockstat6", S_IRUGO,
&sockstat6_seq_fops))
return -ENOMEM;

if (!proc_net_fops_create(net, "snmp6", S_IRUGO, &snmp6_seq_fops))
goto proc_snmp6_fail;

net->mib.proc_net_devsnmp6 = proc_mkdir("dev_snmp6", net->proc_net);
if (!net->mib.proc_net_devsnmp6)
goto proc_dev_snmp6_fail;
return 0;

proc_snmp6_fail:
proc_net_remove(net, "sockstat6");
proc_dev_snmp6_fail:
proc_net_remove(net, "dev_snmp6");
return -ENOMEM;
}

static void ipv6_proc_exit_net(struct net *net)
{
proc_net_remove(net, "sockstat6");
proc_net_remove(net, "dev_snmp6");
proc_net_remove(net, "snmp6");
}

static struct pernet_operations ipv6_proc_ops = {
Expand All @@ -262,34 +277,11 @@ static struct pernet_operations ipv6_proc_ops = {

int __init ipv6_misc_proc_init(void)
{
int rc = 0;

if (register_pernet_subsys(&ipv6_proc_ops))
goto proc_net_fail;

if (!proc_net_fops_create(&init_net, "snmp6", S_IRUGO, &snmp6_seq_fops))
goto proc_snmp6_fail;

init_net.mib.proc_net_devsnmp6 =
proc_mkdir("dev_snmp6", init_net.proc_net);
if (!init_net.mib.proc_net_devsnmp6)
goto proc_dev_snmp6_fail;
out:
return rc;

proc_dev_snmp6_fail:
proc_net_remove(&init_net, "snmp6");
proc_snmp6_fail:
unregister_pernet_subsys(&ipv6_proc_ops);
proc_net_fail:
rc = -ENOMEM;
goto out;
return register_pernet_subsys(&ipv6_proc_ops);
}

void ipv6_misc_proc_exit(void)
{
proc_net_remove(&init_net, "dev_snmp6");
proc_net_remove(&init_net, "snmp6");
unregister_pernet_subsys(&ipv6_proc_ops);
}

0 comments on commit 06f3852

Please sign in to comment.