[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:
Родитель
a75e936f2f
Коммит
73b3871165
|
@ -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 @@ err2:
|
|||
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();
|
||||
|
|
Загрузка…
Ссылка в новой задаче