[NETNS][IPV6]: Make multiple instance of sysctl tables.
Each network namespace wants its own set of sysctl value, eg. we should not be able from a namespace to set a sysctl value for another namespace , especially for the initial network namespace. This patch duplicates the sysctl table when we register a new network namespace for ipv6. The duplicated table are postfixed with the "template" word to notify the developper the table is cloned. Signed-off-by: Daniel Lezcano <dlezcano@fr.ibm.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
89918fc270
commit
760f2d0186
@@ -2409,7 +2409,7 @@ int ipv6_sysctl_rtcache_flush(ctl_table *ctl, int write, struct file * filp,
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ctl_table ipv6_route_table[] = {
|
||||
ctl_table ipv6_route_table_template[] = {
|
||||
{
|
||||
.procname = "flush",
|
||||
.data = &flush_delay,
|
||||
@@ -2499,6 +2499,15 @@ ctl_table ipv6_route_table[] = {
|
||||
{ .ctl_name = 0 }
|
||||
};
|
||||
|
||||
struct ctl_table *ipv6_route_sysctl_init(struct net *net)
|
||||
{
|
||||
struct ctl_table *table;
|
||||
|
||||
table = kmemdup(ipv6_route_table_template,
|
||||
sizeof(ipv6_route_table_template),
|
||||
GFP_KERNEL);
|
||||
return table;
|
||||
}
|
||||
#endif
|
||||
|
||||
int __init ip6_route_init(void)
|
||||
|
Reference in New Issue
Block a user