diff options
-rw-r--r-- | include/net/netns/ipv6.h | 1 | ||||
-rw-r--r-- | net/ipv6/af_inet6.c | 1 | ||||
-rw-r--r-- | net/ipv6/icmp.c | 6 | ||||
-rw-r--r-- | net/ipv6/sysctl_net_ipv6.c | 1 |
4 files changed, 5 insertions, 4 deletions
diff --git a/include/net/netns/ipv6.h b/include/net/netns/ipv6.h index 050d08809ef2..10733a6f1bd4 100644 --- a/include/net/netns/ipv6.h +++ b/include/net/netns/ipv6.h | |||
@@ -23,6 +23,7 @@ struct netns_sysctl_ipv6 { | |||
23 | int ip6_rt_gc_elasticity; | 23 | int ip6_rt_gc_elasticity; |
24 | int ip6_rt_mtu_expires; | 24 | int ip6_rt_mtu_expires; |
25 | int ip6_rt_min_advmss; | 25 | int ip6_rt_min_advmss; |
26 | int icmpv6_time; | ||
26 | }; | 27 | }; |
27 | 28 | ||
28 | struct netns_ipv6 { | 29 | struct netns_ipv6 { |
diff --git a/net/ipv6/af_inet6.c b/net/ipv6/af_inet6.c index 3aea84a1822a..218b8b3050a1 100644 --- a/net/ipv6/af_inet6.c +++ b/net/ipv6/af_inet6.c | |||
@@ -734,6 +734,7 @@ static int inet6_net_init(struct net *net) | |||
734 | net->ipv6.sysctl.ip6_rt_gc_elasticity = 9; | 734 | net->ipv6.sysctl.ip6_rt_gc_elasticity = 9; |
735 | net->ipv6.sysctl.ip6_rt_mtu_expires = 10*60*HZ; | 735 | net->ipv6.sysctl.ip6_rt_mtu_expires = 10*60*HZ; |
736 | net->ipv6.sysctl.ip6_rt_min_advmss = IPV6_MIN_MTU - 20 - 40; | 736 | net->ipv6.sysctl.ip6_rt_min_advmss = IPV6_MIN_MTU - 20 - 40; |
737 | net->ipv6.sysctl.icmpv6_time = 1*HZ; | ||
737 | ipv6_frag_sysctl_init(net); | 738 | ipv6_frag_sysctl_init(net); |
738 | 739 | ||
739 | return 0; | 740 | return 0; |
diff --git a/net/ipv6/icmp.c b/net/ipv6/icmp.c index dfe3b37c43e9..5395afe55ca5 100644 --- a/net/ipv6/icmp.c +++ b/net/ipv6/icmp.c | |||
@@ -154,8 +154,6 @@ static int is_ineligible(struct sk_buff *skb) | |||
154 | return 0; | 154 | return 0; |
155 | } | 155 | } |
156 | 156 | ||
157 | static int sysctl_icmpv6_time __read_mostly = 1*HZ; | ||
158 | |||
159 | /* | 157 | /* |
160 | * Check the ICMP output rate limit | 158 | * Check the ICMP output rate limit |
161 | */ | 159 | */ |
@@ -186,7 +184,7 @@ static inline int icmpv6_xrlim_allow(struct sock *sk, int type, | |||
186 | res = 1; | 184 | res = 1; |
187 | } else { | 185 | } else { |
188 | struct rt6_info *rt = (struct rt6_info *)dst; | 186 | struct rt6_info *rt = (struct rt6_info *)dst; |
189 | int tmo = sysctl_icmpv6_time; | 187 | int tmo = init_net.ipv6.sysctl.icmpv6_time; |
190 | 188 | ||
191 | /* Give more bandwidth to wider prefixes. */ | 189 | /* Give more bandwidth to wider prefixes. */ |
192 | if (rt->rt6i_dst.plen < 128) | 190 | if (rt->rt6i_dst.plen < 128) |
@@ -911,7 +909,7 @@ ctl_table ipv6_icmp_table_template[] = { | |||
911 | { | 909 | { |
912 | .ctl_name = NET_IPV6_ICMP_RATELIMIT, | 910 | .ctl_name = NET_IPV6_ICMP_RATELIMIT, |
913 | .procname = "ratelimit", | 911 | .procname = "ratelimit", |
914 | .data = &sysctl_icmpv6_time, | 912 | .data = &init_net.ipv6.sysctl.icmpv6_time, |
915 | .maxlen = sizeof(int), | 913 | .maxlen = sizeof(int), |
916 | .mode = 0644, | 914 | .mode = 0644, |
917 | .proc_handler = &proc_dointvec | 915 | .proc_handler = &proc_dointvec |
diff --git a/net/ipv6/sysctl_net_ipv6.c b/net/ipv6/sysctl_net_ipv6.c index b4ba422f2714..5e0af4d46324 100644 --- a/net/ipv6/sysctl_net_ipv6.c +++ b/net/ipv6/sysctl_net_ipv6.c | |||
@@ -125,6 +125,7 @@ static int ipv6_sysctl_net_init(struct net *net) | |||
125 | ipv6_route_table[8].data = &net->ipv6.sysctl.ip6_rt_min_advmss; | 125 | ipv6_route_table[8].data = &net->ipv6.sysctl.ip6_rt_min_advmss; |
126 | ipv6_table[0].child = ipv6_route_table; | 126 | ipv6_table[0].child = ipv6_route_table; |
127 | 127 | ||
128 | ipv6_icmp_table[0].data = &net->ipv6.sysctl.icmpv6_time; | ||
128 | ipv6_table[1].child = ipv6_icmp_table; | 129 | ipv6_table[1].child = ipv6_icmp_table; |
129 | 130 | ||
130 | ipv6_table[2].data = &net->ipv6.sysctl.bindv6only; | 131 | ipv6_table[2].data = &net->ipv6.sysctl.bindv6only; |