aboutsummaryrefslogtreecommitdiffstats
path: root/net/ipv6
diff options
context:
space:
mode:
authorPavel Emelyanov <xemul@openvz.org>2008-01-22 09:09:37 -0500
committerDavid S. Miller <davem@davemloft.net>2008-01-28 18:10:37 -0500
commitb2fd5321dd160ef309dfb6cfc78ed8de4a830659 (patch)
tree48d56923c239a2f5174e82528ee2632e159d33a7 /net/ipv6
parente4a2d5c2bccd5bd29de5ae4f14ff4448fac9cfc8 (diff)
[NETNS][FRAGS]: Make the net.ipv4.ipfrag_timeout work in namespaces.
Move it to the netns_frags, adjust the usage and make the appropriate ctl table writable. Now fragment, that live in different namespaces can live for different times. Signed-off-by: Pavel Emelyanov <xemul@openvz.org> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/ipv6')
-rw-r--r--net/ipv6/netfilter/nf_conntrack_reasm.c4
-rw-r--r--net/ipv6/reassembly.c6
2 files changed, 5 insertions, 5 deletions
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c
index cb826bea4b1b..92a311ff79c7 100644
--- a/net/ipv6/netfilter/nf_conntrack_reasm.c
+++ b/net/ipv6/netfilter/nf_conntrack_reasm.c
@@ -73,7 +73,6 @@ struct nf_ct_frag6_queue
73static struct inet_frags_ctl nf_frags_ctl __read_mostly = { 73static struct inet_frags_ctl nf_frags_ctl __read_mostly = {
74 .high_thresh = 256 * 1024, 74 .high_thresh = 256 * 1024,
75 .low_thresh = 192 * 1024, 75 .low_thresh = 192 * 1024,
76 .timeout = IPV6_FRAG_TIMEOUT,
77 .secret_interval = 10 * 60 * HZ, 76 .secret_interval = 10 * 60 * HZ,
78}; 77};
79 78
@@ -84,7 +83,7 @@ static struct netns_frags nf_init_frags;
84struct ctl_table nf_ct_ipv6_sysctl_table[] = { 83struct ctl_table nf_ct_ipv6_sysctl_table[] = {
85 { 84 {
86 .procname = "nf_conntrack_frag6_timeout", 85 .procname = "nf_conntrack_frag6_timeout",
87 .data = &nf_frags_ctl.timeout, 86 .data = &nf_init_frags.timeout,
88 .maxlen = sizeof(unsigned int), 87 .maxlen = sizeof(unsigned int),
89 .mode = 0644, 88 .mode = 0644,
90 .proc_handler = &proc_dointvec_jiffies, 89 .proc_handler = &proc_dointvec_jiffies,
@@ -712,6 +711,7 @@ int nf_ct_frag6_init(void)
712 nf_frags.qsize = sizeof(struct nf_ct_frag6_queue); 711 nf_frags.qsize = sizeof(struct nf_ct_frag6_queue);
713 nf_frags.match = ip6_frag_match; 712 nf_frags.match = ip6_frag_match;
714 nf_frags.frag_expire = nf_ct_frag6_expire; 713 nf_frags.frag_expire = nf_ct_frag6_expire;
714 nf_init_frags.timeout = IPV6_FRAG_TIMEOUT;
715 inet_frags_init_net(&nf_init_frags); 715 inet_frags_init_net(&nf_init_frags);
716 inet_frags_init(&nf_frags); 716 inet_frags_init(&nf_frags);
717 717
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c
index 0300dcbf1a75..91761365b181 100644
--- a/net/ipv6/reassembly.c
+++ b/net/ipv6/reassembly.c
@@ -650,7 +650,7 @@ static struct ctl_table ip6_frags_ctl_table[] = {
650 { 650 {
651 .ctl_name = NET_IPV6_IP6FRAG_TIME, 651 .ctl_name = NET_IPV6_IP6FRAG_TIME,
652 .procname = "ip6frag_time", 652 .procname = "ip6frag_time",
653 .data = &init_net.ipv6.sysctl.frags.timeout, 653 .data = &init_net.ipv6.frags.timeout,
654 .maxlen = sizeof(int), 654 .maxlen = sizeof(int),
655 .mode = 0644, 655 .mode = 0644,
656 .proc_handler = &proc_dointvec_jiffies, 656 .proc_handler = &proc_dointvec_jiffies,
@@ -681,7 +681,7 @@ static int ip6_frags_sysctl_register(struct net *net)
681 681
682 table[0].mode &= ~0222; 682 table[0].mode &= ~0222;
683 table[1].mode &= ~0222; 683 table[1].mode &= ~0222;
684 table[2].mode &= ~0222; 684 table[2].data = &net->ipv6.frags.timeout;
685 table[3].mode &= ~0222; 685 table[3].mode &= ~0222;
686 } 686 }
687 687
@@ -724,7 +724,7 @@ static int ipv6_frags_init_net(struct net *net)
724 724
725 net->ipv6.sysctl.frags.high_thresh = 256 * 1024; 725 net->ipv6.sysctl.frags.high_thresh = 256 * 1024;
726 net->ipv6.sysctl.frags.low_thresh = 192 * 1024; 726 net->ipv6.sysctl.frags.low_thresh = 192 * 1024;
727 net->ipv6.sysctl.frags.timeout = IPV6_FRAG_TIMEOUT; 727 net->ipv6.frags.timeout = IPV6_FRAG_TIMEOUT;
728 net->ipv6.sysctl.frags.secret_interval = 10 * 60 * HZ; 728 net->ipv6.sysctl.frags.secret_interval = 10 * 60 * HZ;
729 729
730 inet_frags_init_net(&net->ipv6.frags); 730 inet_frags_init_net(&net->ipv6.frags);