[NETNS][IPV6]: Make ip6_frags per namespace.
The ip6_frags is moved to the network namespace structure. Because there can be multiple instances of the network namespaces, and the ip6_frags is no longer a global static variable, a helper function has been added to facilitate the initialization of the variables. Until the ipv6 protocol is not per namespace, the variables are accessed relatively from the initial network namespace. 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
99bc9c4e45
commit
e71e0349eb
@@ -43,7 +43,7 @@ static ctl_table ipv6_table_template[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV6_IP6FRAG_HIGH_THRESH,
|
||||
.procname = "ip6frag_high_thresh",
|
||||
.data = &ip6_frags_ctl.high_thresh,
|
||||
.data = &init_net.ipv6.sysctl.frags.high_thresh,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = &proc_dointvec
|
||||
@@ -51,7 +51,7 @@ static ctl_table ipv6_table_template[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV6_IP6FRAG_LOW_THRESH,
|
||||
.procname = "ip6frag_low_thresh",
|
||||
.data = &ip6_frags_ctl.low_thresh,
|
||||
.data = &init_net.ipv6.sysctl.frags.low_thresh,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = &proc_dointvec
|
||||
@@ -59,7 +59,7 @@ static ctl_table ipv6_table_template[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV6_IP6FRAG_TIME,
|
||||
.procname = "ip6frag_time",
|
||||
.data = &ip6_frags_ctl.timeout,
|
||||
.data = &init_net.ipv6.sysctl.frags.timeout,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = &proc_dointvec_jiffies,
|
||||
@@ -68,7 +68,7 @@ static ctl_table ipv6_table_template[] = {
|
||||
{
|
||||
.ctl_name = NET_IPV6_IP6FRAG_SECRET_INTERVAL,
|
||||
.procname = "ip6frag_secret_interval",
|
||||
.data = &ip6_frags_ctl.secret_interval,
|
||||
.data = &init_net.ipv6.sysctl.frags.secret_interval,
|
||||
.maxlen = sizeof(int),
|
||||
.mode = 0644,
|
||||
.proc_handler = &proc_dointvec_jiffies,
|
||||
@@ -117,6 +117,10 @@ static int ipv6_sysctl_net_init(struct net *net)
|
||||
ipv6_table[1].child = ipv6_icmp_table;
|
||||
|
||||
ipv6_table[2].data = &net->ipv6.sysctl.bindv6only;
|
||||
ipv6_table[3].data = &net->ipv6.sysctl.frags.high_thresh;
|
||||
ipv6_table[4].data = &net->ipv6.sysctl.frags.low_thresh;
|
||||
ipv6_table[5].data = &net->ipv6.sysctl.frags.timeout;
|
||||
ipv6_table[6].data = &net->ipv6.sysctl.frags.secret_interval;
|
||||
|
||||
net->ipv6.sysctl.table = register_net_sysctl_table(net, net_ipv6_ctl_path,
|
||||
ipv6_table);
|
||||
|
Reference in New Issue
Block a user