[NETNS]: Register /proc/net/rt_cache for each namespace.

Signed-off-by: Denis V. Lunev <den@openvz.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Denis V. Lunev 2008-02-28 20:51:18 -08:00 committed by David S. Miller
parent a75e936f2f
commit 73b3871165

View File

@ -545,7 +545,7 @@ static int ip_rt_acct_read(char *buffer, char **start, off_t offset,
}
#endif
static __init int ip_rt_proc_init(struct net *net)
static int __net_init ip_rt_do_proc_init(struct net *net)
{
struct proc_dir_entry *pde;
@ -576,8 +576,26 @@ static __init int ip_rt_proc_init(struct net *net)
err1:
return -ENOMEM;
}
static void __net_exit ip_rt_do_proc_exit(struct net *net)
{
remove_proc_entry("rt_cache", net->proc_net_stat);
remove_proc_entry("rt_cache", net->proc_net);
remove_proc_entry("rt_acct", net->proc_net);
}
static struct pernet_operations ip_rt_proc_ops __net_initdata = {
.init = ip_rt_do_proc_init,
.exit = ip_rt_do_proc_exit,
};
static int __init ip_rt_proc_init(void)
{
return register_pernet_subsys(&ip_rt_proc_ops);
}
#else
static inline int ip_rt_proc_init(struct net *net)
static inline int ip_rt_proc_init(void)
{
return 0;
}
@ -3055,7 +3073,7 @@ int __init ip_rt_init(void)
ip_rt_secret_interval;
add_timer(&rt_secret_timer);
if (ip_rt_proc_init(&init_net))
if (ip_rt_proc_init())
printk(KERN_ERR "Unable to create route proc files\n");
#ifdef CONFIG_XFRM
xfrm_init();