diff options
Diffstat (limited to 'net/ipv4/sysctl_net_ipv4.c')
-rw-r--r-- | net/ipv4/sysctl_net_ipv4.c | 190 |
1 files changed, 27 insertions, 163 deletions
diff --git a/net/ipv4/sysctl_net_ipv4.c b/net/ipv4/sysctl_net_ipv4.c index 2dcf04d9b005..1cd5c15174b8 100644 --- a/net/ipv4/sysctl_net_ipv4.c +++ b/net/ipv4/sysctl_net_ipv4.c | |||
@@ -12,6 +12,7 @@ | |||
12 | #include <linux/inetdevice.h> | 12 | #include <linux/inetdevice.h> |
13 | #include <linux/seqlock.h> | 13 | #include <linux/seqlock.h> |
14 | #include <linux/init.h> | 14 | #include <linux/init.h> |
15 | #include <linux/slab.h> | ||
15 | #include <net/snmp.h> | 16 | #include <net/snmp.h> |
16 | #include <net/icmp.h> | 17 | #include <net/icmp.h> |
17 | #include <net/ip.h> | 18 | #include <net/ip.h> |
@@ -63,34 +64,6 @@ static int ipv4_local_port_range(ctl_table *table, int write, | |||
63 | return ret; | 64 | return ret; |
64 | } | 65 | } |
65 | 66 | ||
66 | /* Validate changes from sysctl interface. */ | ||
67 | static int ipv4_sysctl_local_port_range(ctl_table *table, | ||
68 | void __user *oldval, | ||
69 | size_t __user *oldlenp, | ||
70 | void __user *newval, size_t newlen) | ||
71 | { | ||
72 | int ret; | ||
73 | int range[2]; | ||
74 | ctl_table tmp = { | ||
75 | .data = &range, | ||
76 | .maxlen = sizeof(range), | ||
77 | .mode = table->mode, | ||
78 | .extra1 = &ip_local_port_range_min, | ||
79 | .extra2 = &ip_local_port_range_max, | ||
80 | }; | ||
81 | |||
82 | inet_get_local_port_range(range, range + 1); | ||
83 | ret = sysctl_intvec(&tmp, oldval, oldlenp, newval, newlen); | ||
84 | if (ret == 0 && newval && newlen) { | ||
85 | if (range[1] < range[0]) | ||
86 | ret = -EINVAL; | ||
87 | else | ||
88 | set_local_port_range(range); | ||
89 | } | ||
90 | return ret; | ||
91 | } | ||
92 | |||
93 | |||
94 | static int proc_tcp_congestion_control(ctl_table *ctl, int write, | 67 | static int proc_tcp_congestion_control(ctl_table *ctl, int write, |
95 | void __user *buffer, size_t *lenp, loff_t *ppos) | 68 | void __user *buffer, size_t *lenp, loff_t *ppos) |
96 | { | 69 | { |
@@ -109,25 +82,6 @@ static int proc_tcp_congestion_control(ctl_table *ctl, int write, | |||
109 | return ret; | 82 | return ret; |
110 | } | 83 | } |
111 | 84 | ||
112 | static int sysctl_tcp_congestion_control(ctl_table *table, | ||
113 | void __user *oldval, | ||
114 | size_t __user *oldlenp, | ||
115 | void __user *newval, size_t newlen) | ||
116 | { | ||
117 | char val[TCP_CA_NAME_MAX]; | ||
118 | ctl_table tbl = { | ||
119 | .data = val, | ||
120 | .maxlen = TCP_CA_NAME_MAX, | ||
121 | }; | ||
122 | int ret; | ||
123 | |||
124 | tcp_get_default_congestion_control(val); | ||
125 | ret = sysctl_string(&tbl, oldval, oldlenp, newval, newlen); | ||
126 | if (ret == 1 && newval && newlen) | ||
127 | ret = tcp_set_default_congestion_control(val); | ||
128 | return ret; | ||
129 | } | ||
130 | |||
131 | static int proc_tcp_available_congestion_control(ctl_table *ctl, | 85 | static int proc_tcp_available_congestion_control(ctl_table *ctl, |
132 | int write, | 86 | int write, |
133 | void __user *buffer, size_t *lenp, | 87 | void __user *buffer, size_t *lenp, |
@@ -165,32 +119,8 @@ static int proc_allowed_congestion_control(ctl_table *ctl, | |||
165 | return ret; | 119 | return ret; |
166 | } | 120 | } |
167 | 121 | ||
168 | static int strategy_allowed_congestion_control(ctl_table *table, | ||
169 | void __user *oldval, | ||
170 | size_t __user *oldlenp, | ||
171 | void __user *newval, | ||
172 | size_t newlen) | ||
173 | { | ||
174 | ctl_table tbl = { .maxlen = TCP_CA_BUF_MAX }; | ||
175 | int ret; | ||
176 | |||
177 | tbl.data = kmalloc(tbl.maxlen, GFP_USER); | ||
178 | if (!tbl.data) | ||
179 | return -ENOMEM; | ||
180 | |||
181 | tcp_get_available_congestion_control(tbl.data, tbl.maxlen); | ||
182 | ret = sysctl_string(&tbl, oldval, oldlenp, newval, newlen); | ||
183 | if (ret == 1 && newval && newlen) | ||
184 | ret = tcp_set_allowed_congestion_control(tbl.data); | ||
185 | kfree(tbl.data); | ||
186 | |||
187 | return ret; | ||
188 | |||
189 | } | ||
190 | |||
191 | static struct ctl_table ipv4_table[] = { | 122 | static struct ctl_table ipv4_table[] = { |
192 | { | 123 | { |
193 | .ctl_name = NET_IPV4_TCP_TIMESTAMPS, | ||
194 | .procname = "tcp_timestamps", | 124 | .procname = "tcp_timestamps", |
195 | .data = &sysctl_tcp_timestamps, | 125 | .data = &sysctl_tcp_timestamps, |
196 | .maxlen = sizeof(int), | 126 | .maxlen = sizeof(int), |
@@ -198,7 +128,6 @@ static struct ctl_table ipv4_table[] = { | |||
198 | .proc_handler = proc_dointvec | 128 | .proc_handler = proc_dointvec |
199 | }, | 129 | }, |
200 | { | 130 | { |
201 | .ctl_name = NET_IPV4_TCP_WINDOW_SCALING, | ||
202 | .procname = "tcp_window_scaling", | 131 | .procname = "tcp_window_scaling", |
203 | .data = &sysctl_tcp_window_scaling, | 132 | .data = &sysctl_tcp_window_scaling, |
204 | .maxlen = sizeof(int), | 133 | .maxlen = sizeof(int), |
@@ -206,7 +135,6 @@ static struct ctl_table ipv4_table[] = { | |||
206 | .proc_handler = proc_dointvec | 135 | .proc_handler = proc_dointvec |
207 | }, | 136 | }, |
208 | { | 137 | { |
209 | .ctl_name = NET_IPV4_TCP_SACK, | ||
210 | .procname = "tcp_sack", | 138 | .procname = "tcp_sack", |
211 | .data = &sysctl_tcp_sack, | 139 | .data = &sysctl_tcp_sack, |
212 | .maxlen = sizeof(int), | 140 | .maxlen = sizeof(int), |
@@ -214,7 +142,6 @@ static struct ctl_table ipv4_table[] = { | |||
214 | .proc_handler = proc_dointvec | 142 | .proc_handler = proc_dointvec |
215 | }, | 143 | }, |
216 | { | 144 | { |
217 | .ctl_name = NET_IPV4_TCP_RETRANS_COLLAPSE, | ||
218 | .procname = "tcp_retrans_collapse", | 145 | .procname = "tcp_retrans_collapse", |
219 | .data = &sysctl_tcp_retrans_collapse, | 146 | .data = &sysctl_tcp_retrans_collapse, |
220 | .maxlen = sizeof(int), | 147 | .maxlen = sizeof(int), |
@@ -222,17 +149,14 @@ static struct ctl_table ipv4_table[] = { | |||
222 | .proc_handler = proc_dointvec | 149 | .proc_handler = proc_dointvec |
223 | }, | 150 | }, |
224 | { | 151 | { |
225 | .ctl_name = NET_IPV4_DEFAULT_TTL, | ||
226 | .procname = "ip_default_ttl", | 152 | .procname = "ip_default_ttl", |
227 | .data = &sysctl_ip_default_ttl, | 153 | .data = &sysctl_ip_default_ttl, |
228 | .maxlen = sizeof(int), | 154 | .maxlen = sizeof(int), |
229 | .mode = 0644, | 155 | .mode = 0644, |
230 | .proc_handler = ipv4_doint_and_flush, | 156 | .proc_handler = ipv4_doint_and_flush, |
231 | .strategy = ipv4_doint_and_flush_strategy, | ||
232 | .extra2 = &init_net, | 157 | .extra2 = &init_net, |
233 | }, | 158 | }, |
234 | { | 159 | { |
235 | .ctl_name = NET_IPV4_NO_PMTU_DISC, | ||
236 | .procname = "ip_no_pmtu_disc", | 160 | .procname = "ip_no_pmtu_disc", |
237 | .data = &ipv4_config.no_pmtu_disc, | 161 | .data = &ipv4_config.no_pmtu_disc, |
238 | .maxlen = sizeof(int), | 162 | .maxlen = sizeof(int), |
@@ -240,7 +164,6 @@ static struct ctl_table ipv4_table[] = { | |||
240 | .proc_handler = proc_dointvec | 164 | .proc_handler = proc_dointvec |
241 | }, | 165 | }, |
242 | { | 166 | { |
243 | .ctl_name = NET_IPV4_NONLOCAL_BIND, | ||
244 | .procname = "ip_nonlocal_bind", | 167 | .procname = "ip_nonlocal_bind", |
245 | .data = &sysctl_ip_nonlocal_bind, | 168 | .data = &sysctl_ip_nonlocal_bind, |
246 | .maxlen = sizeof(int), | 169 | .maxlen = sizeof(int), |
@@ -248,7 +171,6 @@ static struct ctl_table ipv4_table[] = { | |||
248 | .proc_handler = proc_dointvec | 171 | .proc_handler = proc_dointvec |
249 | }, | 172 | }, |
250 | { | 173 | { |
251 | .ctl_name = NET_IPV4_TCP_SYN_RETRIES, | ||
252 | .procname = "tcp_syn_retries", | 174 | .procname = "tcp_syn_retries", |
253 | .data = &sysctl_tcp_syn_retries, | 175 | .data = &sysctl_tcp_syn_retries, |
254 | .maxlen = sizeof(int), | 176 | .maxlen = sizeof(int), |
@@ -256,7 +178,6 @@ static struct ctl_table ipv4_table[] = { | |||
256 | .proc_handler = proc_dointvec | 178 | .proc_handler = proc_dointvec |
257 | }, | 179 | }, |
258 | { | 180 | { |
259 | .ctl_name = NET_TCP_SYNACK_RETRIES, | ||
260 | .procname = "tcp_synack_retries", | 181 | .procname = "tcp_synack_retries", |
261 | .data = &sysctl_tcp_synack_retries, | 182 | .data = &sysctl_tcp_synack_retries, |
262 | .maxlen = sizeof(int), | 183 | .maxlen = sizeof(int), |
@@ -264,7 +185,6 @@ static struct ctl_table ipv4_table[] = { | |||
264 | .proc_handler = proc_dointvec | 185 | .proc_handler = proc_dointvec |
265 | }, | 186 | }, |
266 | { | 187 | { |
267 | .ctl_name = NET_TCP_MAX_ORPHANS, | ||
268 | .procname = "tcp_max_orphans", | 188 | .procname = "tcp_max_orphans", |
269 | .data = &sysctl_tcp_max_orphans, | 189 | .data = &sysctl_tcp_max_orphans, |
270 | .maxlen = sizeof(int), | 190 | .maxlen = sizeof(int), |
@@ -272,7 +192,6 @@ static struct ctl_table ipv4_table[] = { | |||
272 | .proc_handler = proc_dointvec | 192 | .proc_handler = proc_dointvec |
273 | }, | 193 | }, |
274 | { | 194 | { |
275 | .ctl_name = NET_TCP_MAX_TW_BUCKETS, | ||
276 | .procname = "tcp_max_tw_buckets", | 195 | .procname = "tcp_max_tw_buckets", |
277 | .data = &tcp_death_row.sysctl_max_tw_buckets, | 196 | .data = &tcp_death_row.sysctl_max_tw_buckets, |
278 | .maxlen = sizeof(int), | 197 | .maxlen = sizeof(int), |
@@ -280,7 +199,6 @@ static struct ctl_table ipv4_table[] = { | |||
280 | .proc_handler = proc_dointvec | 199 | .proc_handler = proc_dointvec |
281 | }, | 200 | }, |
282 | { | 201 | { |
283 | .ctl_name = NET_IPV4_DYNADDR, | ||
284 | .procname = "ip_dynaddr", | 202 | .procname = "ip_dynaddr", |
285 | .data = &sysctl_ip_dynaddr, | 203 | .data = &sysctl_ip_dynaddr, |
286 | .maxlen = sizeof(int), | 204 | .maxlen = sizeof(int), |
@@ -288,16 +206,13 @@ static struct ctl_table ipv4_table[] = { | |||
288 | .proc_handler = proc_dointvec | 206 | .proc_handler = proc_dointvec |
289 | }, | 207 | }, |
290 | { | 208 | { |
291 | .ctl_name = NET_IPV4_TCP_KEEPALIVE_TIME, | ||
292 | .procname = "tcp_keepalive_time", | 209 | .procname = "tcp_keepalive_time", |
293 | .data = &sysctl_tcp_keepalive_time, | 210 | .data = &sysctl_tcp_keepalive_time, |
294 | .maxlen = sizeof(int), | 211 | .maxlen = sizeof(int), |
295 | .mode = 0644, | 212 | .mode = 0644, |
296 | .proc_handler = proc_dointvec_jiffies, | 213 | .proc_handler = proc_dointvec_jiffies, |
297 | .strategy = sysctl_jiffies | ||
298 | }, | 214 | }, |
299 | { | 215 | { |
300 | .ctl_name = NET_IPV4_TCP_KEEPALIVE_PROBES, | ||
301 | .procname = "tcp_keepalive_probes", | 216 | .procname = "tcp_keepalive_probes", |
302 | .data = &sysctl_tcp_keepalive_probes, | 217 | .data = &sysctl_tcp_keepalive_probes, |
303 | .maxlen = sizeof(int), | 218 | .maxlen = sizeof(int), |
@@ -305,26 +220,21 @@ static struct ctl_table ipv4_table[] = { | |||
305 | .proc_handler = proc_dointvec | 220 | .proc_handler = proc_dointvec |
306 | }, | 221 | }, |
307 | { | 222 | { |
308 | .ctl_name = NET_IPV4_TCP_KEEPALIVE_INTVL, | ||
309 | .procname = "tcp_keepalive_intvl", | 223 | .procname = "tcp_keepalive_intvl", |
310 | .data = &sysctl_tcp_keepalive_intvl, | 224 | .data = &sysctl_tcp_keepalive_intvl, |
311 | .maxlen = sizeof(int), | 225 | .maxlen = sizeof(int), |
312 | .mode = 0644, | 226 | .mode = 0644, |
313 | .proc_handler = proc_dointvec_jiffies, | 227 | .proc_handler = proc_dointvec_jiffies, |
314 | .strategy = sysctl_jiffies | ||
315 | }, | 228 | }, |
316 | { | 229 | { |
317 | .ctl_name = NET_IPV4_TCP_RETRIES1, | ||
318 | .procname = "tcp_retries1", | 230 | .procname = "tcp_retries1", |
319 | .data = &sysctl_tcp_retries1, | 231 | .data = &sysctl_tcp_retries1, |
320 | .maxlen = sizeof(int), | 232 | .maxlen = sizeof(int), |
321 | .mode = 0644, | 233 | .mode = 0644, |
322 | .proc_handler = proc_dointvec_minmax, | 234 | .proc_handler = proc_dointvec_minmax, |
323 | .strategy = sysctl_intvec, | ||
324 | .extra2 = &tcp_retr1_max | 235 | .extra2 = &tcp_retr1_max |
325 | }, | 236 | }, |
326 | { | 237 | { |
327 | .ctl_name = NET_IPV4_TCP_RETRIES2, | ||
328 | .procname = "tcp_retries2", | 238 | .procname = "tcp_retries2", |
329 | .data = &sysctl_tcp_retries2, | 239 | .data = &sysctl_tcp_retries2, |
330 | .maxlen = sizeof(int), | 240 | .maxlen = sizeof(int), |
@@ -332,17 +242,14 @@ static struct ctl_table ipv4_table[] = { | |||
332 | .proc_handler = proc_dointvec | 242 | .proc_handler = proc_dointvec |
333 | }, | 243 | }, |
334 | { | 244 | { |
335 | .ctl_name = NET_IPV4_TCP_FIN_TIMEOUT, | ||
336 | .procname = "tcp_fin_timeout", | 245 | .procname = "tcp_fin_timeout", |
337 | .data = &sysctl_tcp_fin_timeout, | 246 | .data = &sysctl_tcp_fin_timeout, |
338 | .maxlen = sizeof(int), | 247 | .maxlen = sizeof(int), |
339 | .mode = 0644, | 248 | .mode = 0644, |
340 | .proc_handler = proc_dointvec_jiffies, | 249 | .proc_handler = proc_dointvec_jiffies, |
341 | .strategy = sysctl_jiffies | ||
342 | }, | 250 | }, |
343 | #ifdef CONFIG_SYN_COOKIES | 251 | #ifdef CONFIG_SYN_COOKIES |
344 | { | 252 | { |
345 | .ctl_name = NET_TCP_SYNCOOKIES, | ||
346 | .procname = "tcp_syncookies", | 253 | .procname = "tcp_syncookies", |
347 | .data = &sysctl_tcp_syncookies, | 254 | .data = &sysctl_tcp_syncookies, |
348 | .maxlen = sizeof(int), | 255 | .maxlen = sizeof(int), |
@@ -351,7 +258,6 @@ static struct ctl_table ipv4_table[] = { | |||
351 | }, | 258 | }, |
352 | #endif | 259 | #endif |
353 | { | 260 | { |
354 | .ctl_name = NET_TCP_TW_RECYCLE, | ||
355 | .procname = "tcp_tw_recycle", | 261 | .procname = "tcp_tw_recycle", |
356 | .data = &tcp_death_row.sysctl_tw_recycle, | 262 | .data = &tcp_death_row.sysctl_tw_recycle, |
357 | .maxlen = sizeof(int), | 263 | .maxlen = sizeof(int), |
@@ -359,7 +265,6 @@ static struct ctl_table ipv4_table[] = { | |||
359 | .proc_handler = proc_dointvec | 265 | .proc_handler = proc_dointvec |
360 | }, | 266 | }, |
361 | { | 267 | { |
362 | .ctl_name = NET_TCP_ABORT_ON_OVERFLOW, | ||
363 | .procname = "tcp_abort_on_overflow", | 268 | .procname = "tcp_abort_on_overflow", |
364 | .data = &sysctl_tcp_abort_on_overflow, | 269 | .data = &sysctl_tcp_abort_on_overflow, |
365 | .maxlen = sizeof(int), | 270 | .maxlen = sizeof(int), |
@@ -367,7 +272,6 @@ static struct ctl_table ipv4_table[] = { | |||
367 | .proc_handler = proc_dointvec | 272 | .proc_handler = proc_dointvec |
368 | }, | 273 | }, |
369 | { | 274 | { |
370 | .ctl_name = NET_TCP_STDURG, | ||
371 | .procname = "tcp_stdurg", | 275 | .procname = "tcp_stdurg", |
372 | .data = &sysctl_tcp_stdurg, | 276 | .data = &sysctl_tcp_stdurg, |
373 | .maxlen = sizeof(int), | 277 | .maxlen = sizeof(int), |
@@ -375,7 +279,6 @@ static struct ctl_table ipv4_table[] = { | |||
375 | .proc_handler = proc_dointvec | 279 | .proc_handler = proc_dointvec |
376 | }, | 280 | }, |
377 | { | 281 | { |
378 | .ctl_name = NET_TCP_RFC1337, | ||
379 | .procname = "tcp_rfc1337", | 282 | .procname = "tcp_rfc1337", |
380 | .data = &sysctl_tcp_rfc1337, | 283 | .data = &sysctl_tcp_rfc1337, |
381 | .maxlen = sizeof(int), | 284 | .maxlen = sizeof(int), |
@@ -383,7 +286,6 @@ static struct ctl_table ipv4_table[] = { | |||
383 | .proc_handler = proc_dointvec | 286 | .proc_handler = proc_dointvec |
384 | }, | 287 | }, |
385 | { | 288 | { |
386 | .ctl_name = NET_TCP_MAX_SYN_BACKLOG, | ||
387 | .procname = "tcp_max_syn_backlog", | 289 | .procname = "tcp_max_syn_backlog", |
388 | .data = &sysctl_max_syn_backlog, | 290 | .data = &sysctl_max_syn_backlog, |
389 | .maxlen = sizeof(int), | 291 | .maxlen = sizeof(int), |
@@ -391,17 +293,14 @@ static struct ctl_table ipv4_table[] = { | |||
391 | .proc_handler = proc_dointvec | 293 | .proc_handler = proc_dointvec |
392 | }, | 294 | }, |
393 | { | 295 | { |
394 | .ctl_name = NET_IPV4_LOCAL_PORT_RANGE, | ||
395 | .procname = "ip_local_port_range", | 296 | .procname = "ip_local_port_range", |
396 | .data = &sysctl_local_ports.range, | 297 | .data = &sysctl_local_ports.range, |
397 | .maxlen = sizeof(sysctl_local_ports.range), | 298 | .maxlen = sizeof(sysctl_local_ports.range), |
398 | .mode = 0644, | 299 | .mode = 0644, |
399 | .proc_handler = ipv4_local_port_range, | 300 | .proc_handler = ipv4_local_port_range, |
400 | .strategy = ipv4_sysctl_local_port_range, | ||
401 | }, | 301 | }, |
402 | #ifdef CONFIG_IP_MULTICAST | 302 | #ifdef CONFIG_IP_MULTICAST |
403 | { | 303 | { |
404 | .ctl_name = NET_IPV4_IGMP_MAX_MEMBERSHIPS, | ||
405 | .procname = "igmp_max_memberships", | 304 | .procname = "igmp_max_memberships", |
406 | .data = &sysctl_igmp_max_memberships, | 305 | .data = &sysctl_igmp_max_memberships, |
407 | .maxlen = sizeof(int), | 306 | .maxlen = sizeof(int), |
@@ -411,7 +310,6 @@ static struct ctl_table ipv4_table[] = { | |||
411 | 310 | ||
412 | #endif | 311 | #endif |
413 | { | 312 | { |
414 | .ctl_name = NET_IPV4_IGMP_MAX_MSF, | ||
415 | .procname = "igmp_max_msf", | 313 | .procname = "igmp_max_msf", |
416 | .data = &sysctl_igmp_max_msf, | 314 | .data = &sysctl_igmp_max_msf, |
417 | .maxlen = sizeof(int), | 315 | .maxlen = sizeof(int), |
@@ -419,7 +317,6 @@ static struct ctl_table ipv4_table[] = { | |||
419 | .proc_handler = proc_dointvec | 317 | .proc_handler = proc_dointvec |
420 | }, | 318 | }, |
421 | { | 319 | { |
422 | .ctl_name = NET_IPV4_INET_PEER_THRESHOLD, | ||
423 | .procname = "inet_peer_threshold", | 320 | .procname = "inet_peer_threshold", |
424 | .data = &inet_peer_threshold, | 321 | .data = &inet_peer_threshold, |
425 | .maxlen = sizeof(int), | 322 | .maxlen = sizeof(int), |
@@ -427,43 +324,34 @@ static struct ctl_table ipv4_table[] = { | |||
427 | .proc_handler = proc_dointvec | 324 | .proc_handler = proc_dointvec |
428 | }, | 325 | }, |
429 | { | 326 | { |
430 | .ctl_name = NET_IPV4_INET_PEER_MINTTL, | ||
431 | .procname = "inet_peer_minttl", | 327 | .procname = "inet_peer_minttl", |
432 | .data = &inet_peer_minttl, | 328 | .data = &inet_peer_minttl, |
433 | .maxlen = sizeof(int), | 329 | .maxlen = sizeof(int), |
434 | .mode = 0644, | 330 | .mode = 0644, |
435 | .proc_handler = proc_dointvec_jiffies, | 331 | .proc_handler = proc_dointvec_jiffies, |
436 | .strategy = sysctl_jiffies | ||
437 | }, | 332 | }, |
438 | { | 333 | { |
439 | .ctl_name = NET_IPV4_INET_PEER_MAXTTL, | ||
440 | .procname = "inet_peer_maxttl", | 334 | .procname = "inet_peer_maxttl", |
441 | .data = &inet_peer_maxttl, | 335 | .data = &inet_peer_maxttl, |
442 | .maxlen = sizeof(int), | 336 | .maxlen = sizeof(int), |
443 | .mode = 0644, | 337 | .mode = 0644, |
444 | .proc_handler = proc_dointvec_jiffies, | 338 | .proc_handler = proc_dointvec_jiffies, |
445 | .strategy = sysctl_jiffies | ||
446 | }, | 339 | }, |
447 | { | 340 | { |
448 | .ctl_name = NET_IPV4_INET_PEER_GC_MINTIME, | ||
449 | .procname = "inet_peer_gc_mintime", | 341 | .procname = "inet_peer_gc_mintime", |
450 | .data = &inet_peer_gc_mintime, | 342 | .data = &inet_peer_gc_mintime, |
451 | .maxlen = sizeof(int), | 343 | .maxlen = sizeof(int), |
452 | .mode = 0644, | 344 | .mode = 0644, |
453 | .proc_handler = proc_dointvec_jiffies, | 345 | .proc_handler = proc_dointvec_jiffies, |
454 | .strategy = sysctl_jiffies | ||
455 | }, | 346 | }, |
456 | { | 347 | { |
457 | .ctl_name = NET_IPV4_INET_PEER_GC_MAXTIME, | ||
458 | .procname = "inet_peer_gc_maxtime", | 348 | .procname = "inet_peer_gc_maxtime", |
459 | .data = &inet_peer_gc_maxtime, | 349 | .data = &inet_peer_gc_maxtime, |
460 | .maxlen = sizeof(int), | 350 | .maxlen = sizeof(int), |
461 | .mode = 0644, | 351 | .mode = 0644, |
462 | .proc_handler = proc_dointvec_jiffies, | 352 | .proc_handler = proc_dointvec_jiffies, |
463 | .strategy = sysctl_jiffies | ||
464 | }, | 353 | }, |
465 | { | 354 | { |
466 | .ctl_name = NET_TCP_ORPHAN_RETRIES, | ||
467 | .procname = "tcp_orphan_retries", | 355 | .procname = "tcp_orphan_retries", |
468 | .data = &sysctl_tcp_orphan_retries, | 356 | .data = &sysctl_tcp_orphan_retries, |
469 | .maxlen = sizeof(int), | 357 | .maxlen = sizeof(int), |
@@ -471,7 +359,6 @@ static struct ctl_table ipv4_table[] = { | |||
471 | .proc_handler = proc_dointvec | 359 | .proc_handler = proc_dointvec |
472 | }, | 360 | }, |
473 | { | 361 | { |
474 | .ctl_name = NET_TCP_FACK, | ||
475 | .procname = "tcp_fack", | 362 | .procname = "tcp_fack", |
476 | .data = &sysctl_tcp_fack, | 363 | .data = &sysctl_tcp_fack, |
477 | .maxlen = sizeof(int), | 364 | .maxlen = sizeof(int), |
@@ -479,7 +366,6 @@ static struct ctl_table ipv4_table[] = { | |||
479 | .proc_handler = proc_dointvec | 366 | .proc_handler = proc_dointvec |
480 | }, | 367 | }, |
481 | { | 368 | { |
482 | .ctl_name = NET_TCP_REORDERING, | ||
483 | .procname = "tcp_reordering", | 369 | .procname = "tcp_reordering", |
484 | .data = &sysctl_tcp_reordering, | 370 | .data = &sysctl_tcp_reordering, |
485 | .maxlen = sizeof(int), | 371 | .maxlen = sizeof(int), |
@@ -487,7 +373,6 @@ static struct ctl_table ipv4_table[] = { | |||
487 | .proc_handler = proc_dointvec | 373 | .proc_handler = proc_dointvec |
488 | }, | 374 | }, |
489 | { | 375 | { |
490 | .ctl_name = NET_TCP_ECN, | ||
491 | .procname = "tcp_ecn", | 376 | .procname = "tcp_ecn", |
492 | .data = &sysctl_tcp_ecn, | 377 | .data = &sysctl_tcp_ecn, |
493 | .maxlen = sizeof(int), | 378 | .maxlen = sizeof(int), |
@@ -495,7 +380,6 @@ static struct ctl_table ipv4_table[] = { | |||
495 | .proc_handler = proc_dointvec | 380 | .proc_handler = proc_dointvec |
496 | }, | 381 | }, |
497 | { | 382 | { |
498 | .ctl_name = NET_TCP_DSACK, | ||
499 | .procname = "tcp_dsack", | 383 | .procname = "tcp_dsack", |
500 | .data = &sysctl_tcp_dsack, | 384 | .data = &sysctl_tcp_dsack, |
501 | .maxlen = sizeof(int), | 385 | .maxlen = sizeof(int), |
@@ -503,7 +387,6 @@ static struct ctl_table ipv4_table[] = { | |||
503 | .proc_handler = proc_dointvec | 387 | .proc_handler = proc_dointvec |
504 | }, | 388 | }, |
505 | { | 389 | { |
506 | .ctl_name = NET_TCP_MEM, | ||
507 | .procname = "tcp_mem", | 390 | .procname = "tcp_mem", |
508 | .data = &sysctl_tcp_mem, | 391 | .data = &sysctl_tcp_mem, |
509 | .maxlen = sizeof(sysctl_tcp_mem), | 392 | .maxlen = sizeof(sysctl_tcp_mem), |
@@ -511,7 +394,6 @@ static struct ctl_table ipv4_table[] = { | |||
511 | .proc_handler = proc_dointvec | 394 | .proc_handler = proc_dointvec |
512 | }, | 395 | }, |
513 | { | 396 | { |
514 | .ctl_name = NET_TCP_WMEM, | ||
515 | .procname = "tcp_wmem", | 397 | .procname = "tcp_wmem", |
516 | .data = &sysctl_tcp_wmem, | 398 | .data = &sysctl_tcp_wmem, |
517 | .maxlen = sizeof(sysctl_tcp_wmem), | 399 | .maxlen = sizeof(sysctl_tcp_wmem), |
@@ -519,7 +401,6 @@ static struct ctl_table ipv4_table[] = { | |||
519 | .proc_handler = proc_dointvec | 401 | .proc_handler = proc_dointvec |
520 | }, | 402 | }, |
521 | { | 403 | { |
522 | .ctl_name = NET_TCP_RMEM, | ||
523 | .procname = "tcp_rmem", | 404 | .procname = "tcp_rmem", |
524 | .data = &sysctl_tcp_rmem, | 405 | .data = &sysctl_tcp_rmem, |
525 | .maxlen = sizeof(sysctl_tcp_rmem), | 406 | .maxlen = sizeof(sysctl_tcp_rmem), |
@@ -527,7 +408,6 @@ static struct ctl_table ipv4_table[] = { | |||
527 | .proc_handler = proc_dointvec | 408 | .proc_handler = proc_dointvec |
528 | }, | 409 | }, |
529 | { | 410 | { |
530 | .ctl_name = NET_TCP_APP_WIN, | ||
531 | .procname = "tcp_app_win", | 411 | .procname = "tcp_app_win", |
532 | .data = &sysctl_tcp_app_win, | 412 | .data = &sysctl_tcp_app_win, |
533 | .maxlen = sizeof(int), | 413 | .maxlen = sizeof(int), |
@@ -535,7 +415,6 @@ static struct ctl_table ipv4_table[] = { | |||
535 | .proc_handler = proc_dointvec | 415 | .proc_handler = proc_dointvec |
536 | }, | 416 | }, |
537 | { | 417 | { |
538 | .ctl_name = NET_TCP_ADV_WIN_SCALE, | ||
539 | .procname = "tcp_adv_win_scale", | 418 | .procname = "tcp_adv_win_scale", |
540 | .data = &sysctl_tcp_adv_win_scale, | 419 | .data = &sysctl_tcp_adv_win_scale, |
541 | .maxlen = sizeof(int), | 420 | .maxlen = sizeof(int), |
@@ -543,7 +422,6 @@ static struct ctl_table ipv4_table[] = { | |||
543 | .proc_handler = proc_dointvec | 422 | .proc_handler = proc_dointvec |
544 | }, | 423 | }, |
545 | { | 424 | { |
546 | .ctl_name = NET_TCP_TW_REUSE, | ||
547 | .procname = "tcp_tw_reuse", | 425 | .procname = "tcp_tw_reuse", |
548 | .data = &sysctl_tcp_tw_reuse, | 426 | .data = &sysctl_tcp_tw_reuse, |
549 | .maxlen = sizeof(int), | 427 | .maxlen = sizeof(int), |
@@ -551,7 +429,6 @@ static struct ctl_table ipv4_table[] = { | |||
551 | .proc_handler = proc_dointvec | 429 | .proc_handler = proc_dointvec |
552 | }, | 430 | }, |
553 | { | 431 | { |
554 | .ctl_name = NET_TCP_FRTO, | ||
555 | .procname = "tcp_frto", | 432 | .procname = "tcp_frto", |
556 | .data = &sysctl_tcp_frto, | 433 | .data = &sysctl_tcp_frto, |
557 | .maxlen = sizeof(int), | 434 | .maxlen = sizeof(int), |
@@ -559,7 +436,6 @@ static struct ctl_table ipv4_table[] = { | |||
559 | .proc_handler = proc_dointvec | 436 | .proc_handler = proc_dointvec |
560 | }, | 437 | }, |
561 | { | 438 | { |
562 | .ctl_name = NET_TCP_FRTO_RESPONSE, | ||
563 | .procname = "tcp_frto_response", | 439 | .procname = "tcp_frto_response", |
564 | .data = &sysctl_tcp_frto_response, | 440 | .data = &sysctl_tcp_frto_response, |
565 | .maxlen = sizeof(int), | 441 | .maxlen = sizeof(int), |
@@ -567,7 +443,6 @@ static struct ctl_table ipv4_table[] = { | |||
567 | .proc_handler = proc_dointvec | 443 | .proc_handler = proc_dointvec |
568 | }, | 444 | }, |
569 | { | 445 | { |
570 | .ctl_name = NET_TCP_LOW_LATENCY, | ||
571 | .procname = "tcp_low_latency", | 446 | .procname = "tcp_low_latency", |
572 | .data = &sysctl_tcp_low_latency, | 447 | .data = &sysctl_tcp_low_latency, |
573 | .maxlen = sizeof(int), | 448 | .maxlen = sizeof(int), |
@@ -575,7 +450,6 @@ static struct ctl_table ipv4_table[] = { | |||
575 | .proc_handler = proc_dointvec | 450 | .proc_handler = proc_dointvec |
576 | }, | 451 | }, |
577 | { | 452 | { |
578 | .ctl_name = NET_TCP_NO_METRICS_SAVE, | ||
579 | .procname = "tcp_no_metrics_save", | 453 | .procname = "tcp_no_metrics_save", |
580 | .data = &sysctl_tcp_nometrics_save, | 454 | .data = &sysctl_tcp_nometrics_save, |
581 | .maxlen = sizeof(int), | 455 | .maxlen = sizeof(int), |
@@ -583,7 +457,6 @@ static struct ctl_table ipv4_table[] = { | |||
583 | .proc_handler = proc_dointvec, | 457 | .proc_handler = proc_dointvec, |
584 | }, | 458 | }, |
585 | { | 459 | { |
586 | .ctl_name = NET_TCP_MODERATE_RCVBUF, | ||
587 | .procname = "tcp_moderate_rcvbuf", | 460 | .procname = "tcp_moderate_rcvbuf", |
588 | .data = &sysctl_tcp_moderate_rcvbuf, | 461 | .data = &sysctl_tcp_moderate_rcvbuf, |
589 | .maxlen = sizeof(int), | 462 | .maxlen = sizeof(int), |
@@ -591,7 +464,6 @@ static struct ctl_table ipv4_table[] = { | |||
591 | .proc_handler = proc_dointvec, | 464 | .proc_handler = proc_dointvec, |
592 | }, | 465 | }, |
593 | { | 466 | { |
594 | .ctl_name = NET_TCP_TSO_WIN_DIVISOR, | ||
595 | .procname = "tcp_tso_win_divisor", | 467 | .procname = "tcp_tso_win_divisor", |
596 | .data = &sysctl_tcp_tso_win_divisor, | 468 | .data = &sysctl_tcp_tso_win_divisor, |
597 | .maxlen = sizeof(int), | 469 | .maxlen = sizeof(int), |
@@ -599,15 +471,12 @@ static struct ctl_table ipv4_table[] = { | |||
599 | .proc_handler = proc_dointvec, | 471 | .proc_handler = proc_dointvec, |
600 | }, | 472 | }, |
601 | { | 473 | { |
602 | .ctl_name = NET_TCP_CONG_CONTROL, | ||
603 | .procname = "tcp_congestion_control", | 474 | .procname = "tcp_congestion_control", |
604 | .mode = 0644, | 475 | .mode = 0644, |
605 | .maxlen = TCP_CA_NAME_MAX, | 476 | .maxlen = TCP_CA_NAME_MAX, |
606 | .proc_handler = proc_tcp_congestion_control, | 477 | .proc_handler = proc_tcp_congestion_control, |
607 | .strategy = sysctl_tcp_congestion_control, | ||
608 | }, | 478 | }, |
609 | { | 479 | { |
610 | .ctl_name = NET_TCP_ABC, | ||
611 | .procname = "tcp_abc", | 480 | .procname = "tcp_abc", |
612 | .data = &sysctl_tcp_abc, | 481 | .data = &sysctl_tcp_abc, |
613 | .maxlen = sizeof(int), | 482 | .maxlen = sizeof(int), |
@@ -615,7 +484,6 @@ static struct ctl_table ipv4_table[] = { | |||
615 | .proc_handler = proc_dointvec, | 484 | .proc_handler = proc_dointvec, |
616 | }, | 485 | }, |
617 | { | 486 | { |
618 | .ctl_name = NET_TCP_MTU_PROBING, | ||
619 | .procname = "tcp_mtu_probing", | 487 | .procname = "tcp_mtu_probing", |
620 | .data = &sysctl_tcp_mtu_probing, | 488 | .data = &sysctl_tcp_mtu_probing, |
621 | .maxlen = sizeof(int), | 489 | .maxlen = sizeof(int), |
@@ -623,7 +491,6 @@ static struct ctl_table ipv4_table[] = { | |||
623 | .proc_handler = proc_dointvec, | 491 | .proc_handler = proc_dointvec, |
624 | }, | 492 | }, |
625 | { | 493 | { |
626 | .ctl_name = NET_TCP_BASE_MSS, | ||
627 | .procname = "tcp_base_mss", | 494 | .procname = "tcp_base_mss", |
628 | .data = &sysctl_tcp_base_mss, | 495 | .data = &sysctl_tcp_base_mss, |
629 | .maxlen = sizeof(int), | 496 | .maxlen = sizeof(int), |
@@ -631,7 +498,6 @@ static struct ctl_table ipv4_table[] = { | |||
631 | .proc_handler = proc_dointvec, | 498 | .proc_handler = proc_dointvec, |
632 | }, | 499 | }, |
633 | { | 500 | { |
634 | .ctl_name = NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS, | ||
635 | .procname = "tcp_workaround_signed_windows", | 501 | .procname = "tcp_workaround_signed_windows", |
636 | .data = &sysctl_tcp_workaround_signed_windows, | 502 | .data = &sysctl_tcp_workaround_signed_windows, |
637 | .maxlen = sizeof(int), | 503 | .maxlen = sizeof(int), |
@@ -640,7 +506,6 @@ static struct ctl_table ipv4_table[] = { | |||
640 | }, | 506 | }, |
641 | #ifdef CONFIG_NET_DMA | 507 | #ifdef CONFIG_NET_DMA |
642 | { | 508 | { |
643 | .ctl_name = NET_TCP_DMA_COPYBREAK, | ||
644 | .procname = "tcp_dma_copybreak", | 509 | .procname = "tcp_dma_copybreak", |
645 | .data = &sysctl_tcp_dma_copybreak, | 510 | .data = &sysctl_tcp_dma_copybreak, |
646 | .maxlen = sizeof(int), | 511 | .maxlen = sizeof(int), |
@@ -649,7 +514,6 @@ static struct ctl_table ipv4_table[] = { | |||
649 | }, | 514 | }, |
650 | #endif | 515 | #endif |
651 | { | 516 | { |
652 | .ctl_name = NET_TCP_SLOW_START_AFTER_IDLE, | ||
653 | .procname = "tcp_slow_start_after_idle", | 517 | .procname = "tcp_slow_start_after_idle", |
654 | .data = &sysctl_tcp_slow_start_after_idle, | 518 | .data = &sysctl_tcp_slow_start_after_idle, |
655 | .maxlen = sizeof(int), | 519 | .maxlen = sizeof(int), |
@@ -658,7 +522,6 @@ static struct ctl_table ipv4_table[] = { | |||
658 | }, | 522 | }, |
659 | #ifdef CONFIG_NETLABEL | 523 | #ifdef CONFIG_NETLABEL |
660 | { | 524 | { |
661 | .ctl_name = NET_CIPSOV4_CACHE_ENABLE, | ||
662 | .procname = "cipso_cache_enable", | 525 | .procname = "cipso_cache_enable", |
663 | .data = &cipso_v4_cache_enabled, | 526 | .data = &cipso_v4_cache_enabled, |
664 | .maxlen = sizeof(int), | 527 | .maxlen = sizeof(int), |
@@ -666,7 +529,6 @@ static struct ctl_table ipv4_table[] = { | |||
666 | .proc_handler = proc_dointvec, | 529 | .proc_handler = proc_dointvec, |
667 | }, | 530 | }, |
668 | { | 531 | { |
669 | .ctl_name = NET_CIPSOV4_CACHE_BUCKET_SIZE, | ||
670 | .procname = "cipso_cache_bucket_size", | 532 | .procname = "cipso_cache_bucket_size", |
671 | .data = &cipso_v4_cache_bucketsize, | 533 | .data = &cipso_v4_cache_bucketsize, |
672 | .maxlen = sizeof(int), | 534 | .maxlen = sizeof(int), |
@@ -674,7 +536,6 @@ static struct ctl_table ipv4_table[] = { | |||
674 | .proc_handler = proc_dointvec, | 536 | .proc_handler = proc_dointvec, |
675 | }, | 537 | }, |
676 | { | 538 | { |
677 | .ctl_name = NET_CIPSOV4_RBM_OPTFMT, | ||
678 | .procname = "cipso_rbm_optfmt", | 539 | .procname = "cipso_rbm_optfmt", |
679 | .data = &cipso_v4_rbm_optfmt, | 540 | .data = &cipso_v4_rbm_optfmt, |
680 | .maxlen = sizeof(int), | 541 | .maxlen = sizeof(int), |
@@ -682,7 +543,6 @@ static struct ctl_table ipv4_table[] = { | |||
682 | .proc_handler = proc_dointvec, | 543 | .proc_handler = proc_dointvec, |
683 | }, | 544 | }, |
684 | { | 545 | { |
685 | .ctl_name = NET_CIPSOV4_RBM_STRICTVALID, | ||
686 | .procname = "cipso_rbm_strictvalid", | 546 | .procname = "cipso_rbm_strictvalid", |
687 | .data = &cipso_v4_rbm_strictvalid, | 547 | .data = &cipso_v4_rbm_strictvalid, |
688 | .maxlen = sizeof(int), | 548 | .maxlen = sizeof(int), |
@@ -697,15 +557,12 @@ static struct ctl_table ipv4_table[] = { | |||
697 | .proc_handler = proc_tcp_available_congestion_control, | 557 | .proc_handler = proc_tcp_available_congestion_control, |
698 | }, | 558 | }, |
699 | { | 559 | { |
700 | .ctl_name = NET_TCP_ALLOWED_CONG_CONTROL, | ||
701 | .procname = "tcp_allowed_congestion_control", | 560 | .procname = "tcp_allowed_congestion_control", |
702 | .maxlen = TCP_CA_BUF_MAX, | 561 | .maxlen = TCP_CA_BUF_MAX, |
703 | .mode = 0644, | 562 | .mode = 0644, |
704 | .proc_handler = proc_allowed_congestion_control, | 563 | .proc_handler = proc_allowed_congestion_control, |
705 | .strategy = strategy_allowed_congestion_control, | ||
706 | }, | 564 | }, |
707 | { | 565 | { |
708 | .ctl_name = NET_TCP_MAX_SSTHRESH, | ||
709 | .procname = "tcp_max_ssthresh", | 566 | .procname = "tcp_max_ssthresh", |
710 | .data = &sysctl_tcp_max_ssthresh, | 567 | .data = &sysctl_tcp_max_ssthresh, |
711 | .maxlen = sizeof(int), | 568 | .maxlen = sizeof(int), |
@@ -713,41 +570,55 @@ static struct ctl_table ipv4_table[] = { | |||
713 | .proc_handler = proc_dointvec, | 570 | .proc_handler = proc_dointvec, |
714 | }, | 571 | }, |
715 | { | 572 | { |
716 | .ctl_name = CTL_UNNUMBERED, | 573 | .procname = "tcp_cookie_size", |
574 | .data = &sysctl_tcp_cookie_size, | ||
575 | .maxlen = sizeof(int), | ||
576 | .mode = 0644, | ||
577 | .proc_handler = proc_dointvec | ||
578 | }, | ||
579 | { | ||
580 | .procname = "tcp_thin_linear_timeouts", | ||
581 | .data = &sysctl_tcp_thin_linear_timeouts, | ||
582 | .maxlen = sizeof(int), | ||
583 | .mode = 0644, | ||
584 | .proc_handler = proc_dointvec | ||
585 | }, | ||
586 | { | ||
587 | .procname = "tcp_thin_dupack", | ||
588 | .data = &sysctl_tcp_thin_dupack, | ||
589 | .maxlen = sizeof(int), | ||
590 | .mode = 0644, | ||
591 | .proc_handler = proc_dointvec | ||
592 | }, | ||
593 | { | ||
717 | .procname = "udp_mem", | 594 | .procname = "udp_mem", |
718 | .data = &sysctl_udp_mem, | 595 | .data = &sysctl_udp_mem, |
719 | .maxlen = sizeof(sysctl_udp_mem), | 596 | .maxlen = sizeof(sysctl_udp_mem), |
720 | .mode = 0644, | 597 | .mode = 0644, |
721 | .proc_handler = proc_dointvec_minmax, | 598 | .proc_handler = proc_dointvec_minmax, |
722 | .strategy = sysctl_intvec, | ||
723 | .extra1 = &zero | 599 | .extra1 = &zero |
724 | }, | 600 | }, |
725 | { | 601 | { |
726 | .ctl_name = CTL_UNNUMBERED, | ||
727 | .procname = "udp_rmem_min", | 602 | .procname = "udp_rmem_min", |
728 | .data = &sysctl_udp_rmem_min, | 603 | .data = &sysctl_udp_rmem_min, |
729 | .maxlen = sizeof(sysctl_udp_rmem_min), | 604 | .maxlen = sizeof(sysctl_udp_rmem_min), |
730 | .mode = 0644, | 605 | .mode = 0644, |
731 | .proc_handler = proc_dointvec_minmax, | 606 | .proc_handler = proc_dointvec_minmax, |
732 | .strategy = sysctl_intvec, | ||
733 | .extra1 = &zero | 607 | .extra1 = &zero |
734 | }, | 608 | }, |
735 | { | 609 | { |
736 | .ctl_name = CTL_UNNUMBERED, | ||
737 | .procname = "udp_wmem_min", | 610 | .procname = "udp_wmem_min", |
738 | .data = &sysctl_udp_wmem_min, | 611 | .data = &sysctl_udp_wmem_min, |
739 | .maxlen = sizeof(sysctl_udp_wmem_min), | 612 | .maxlen = sizeof(sysctl_udp_wmem_min), |
740 | .mode = 0644, | 613 | .mode = 0644, |
741 | .proc_handler = proc_dointvec_minmax, | 614 | .proc_handler = proc_dointvec_minmax, |
742 | .strategy = sysctl_intvec, | ||
743 | .extra1 = &zero | 615 | .extra1 = &zero |
744 | }, | 616 | }, |
745 | { .ctl_name = 0 } | 617 | { } |
746 | }; | 618 | }; |
747 | 619 | ||
748 | static struct ctl_table ipv4_net_table[] = { | 620 | static struct ctl_table ipv4_net_table[] = { |
749 | { | 621 | { |
750 | .ctl_name = NET_IPV4_ICMP_ECHO_IGNORE_ALL, | ||
751 | .procname = "icmp_echo_ignore_all", | 622 | .procname = "icmp_echo_ignore_all", |
752 | .data = &init_net.ipv4.sysctl_icmp_echo_ignore_all, | 623 | .data = &init_net.ipv4.sysctl_icmp_echo_ignore_all, |
753 | .maxlen = sizeof(int), | 624 | .maxlen = sizeof(int), |
@@ -755,7 +626,6 @@ static struct ctl_table ipv4_net_table[] = { | |||
755 | .proc_handler = proc_dointvec | 626 | .proc_handler = proc_dointvec |
756 | }, | 627 | }, |
757 | { | 628 | { |
758 | .ctl_name = NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS, | ||
759 | .procname = "icmp_echo_ignore_broadcasts", | 629 | .procname = "icmp_echo_ignore_broadcasts", |
760 | .data = &init_net.ipv4.sysctl_icmp_echo_ignore_broadcasts, | 630 | .data = &init_net.ipv4.sysctl_icmp_echo_ignore_broadcasts, |
761 | .maxlen = sizeof(int), | 631 | .maxlen = sizeof(int), |
@@ -763,7 +633,6 @@ static struct ctl_table ipv4_net_table[] = { | |||
763 | .proc_handler = proc_dointvec | 633 | .proc_handler = proc_dointvec |
764 | }, | 634 | }, |
765 | { | 635 | { |
766 | .ctl_name = NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES, | ||
767 | .procname = "icmp_ignore_bogus_error_responses", | 636 | .procname = "icmp_ignore_bogus_error_responses", |
768 | .data = &init_net.ipv4.sysctl_icmp_ignore_bogus_error_responses, | 637 | .data = &init_net.ipv4.sysctl_icmp_ignore_bogus_error_responses, |
769 | .maxlen = sizeof(int), | 638 | .maxlen = sizeof(int), |
@@ -771,7 +640,6 @@ static struct ctl_table ipv4_net_table[] = { | |||
771 | .proc_handler = proc_dointvec | 640 | .proc_handler = proc_dointvec |
772 | }, | 641 | }, |
773 | { | 642 | { |
774 | .ctl_name = NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR, | ||
775 | .procname = "icmp_errors_use_inbound_ifaddr", | 643 | .procname = "icmp_errors_use_inbound_ifaddr", |
776 | .data = &init_net.ipv4.sysctl_icmp_errors_use_inbound_ifaddr, | 644 | .data = &init_net.ipv4.sysctl_icmp_errors_use_inbound_ifaddr, |
777 | .maxlen = sizeof(int), | 645 | .maxlen = sizeof(int), |
@@ -779,16 +647,13 @@ static struct ctl_table ipv4_net_table[] = { | |||
779 | .proc_handler = proc_dointvec | 647 | .proc_handler = proc_dointvec |
780 | }, | 648 | }, |
781 | { | 649 | { |
782 | .ctl_name = NET_IPV4_ICMP_RATELIMIT, | ||
783 | .procname = "icmp_ratelimit", | 650 | .procname = "icmp_ratelimit", |
784 | .data = &init_net.ipv4.sysctl_icmp_ratelimit, | 651 | .data = &init_net.ipv4.sysctl_icmp_ratelimit, |
785 | .maxlen = sizeof(int), | 652 | .maxlen = sizeof(int), |
786 | .mode = 0644, | 653 | .mode = 0644, |
787 | .proc_handler = proc_dointvec_ms_jiffies, | 654 | .proc_handler = proc_dointvec_ms_jiffies, |
788 | .strategy = sysctl_ms_jiffies | ||
789 | }, | 655 | }, |
790 | { | 656 | { |
791 | .ctl_name = NET_IPV4_ICMP_RATEMASK, | ||
792 | .procname = "icmp_ratemask", | 657 | .procname = "icmp_ratemask", |
793 | .data = &init_net.ipv4.sysctl_icmp_ratemask, | 658 | .data = &init_net.ipv4.sysctl_icmp_ratemask, |
794 | .maxlen = sizeof(int), | 659 | .maxlen = sizeof(int), |
@@ -796,7 +661,6 @@ static struct ctl_table ipv4_net_table[] = { | |||
796 | .proc_handler = proc_dointvec | 661 | .proc_handler = proc_dointvec |
797 | }, | 662 | }, |
798 | { | 663 | { |
799 | .ctl_name = CTL_UNNUMBERED, | ||
800 | .procname = "rt_cache_rebuild_count", | 664 | .procname = "rt_cache_rebuild_count", |
801 | .data = &init_net.ipv4.sysctl_rt_cache_rebuild_count, | 665 | .data = &init_net.ipv4.sysctl_rt_cache_rebuild_count, |
802 | .maxlen = sizeof(int), | 666 | .maxlen = sizeof(int), |
@@ -807,8 +671,8 @@ static struct ctl_table ipv4_net_table[] = { | |||
807 | }; | 671 | }; |
808 | 672 | ||
809 | struct ctl_path net_ipv4_ctl_path[] = { | 673 | struct ctl_path net_ipv4_ctl_path[] = { |
810 | { .procname = "net", .ctl_name = CTL_NET, }, | 674 | { .procname = "net", }, |
811 | { .procname = "ipv4", .ctl_name = NET_IPV4, }, | 675 | { .procname = "ipv4", }, |
812 | { }, | 676 | { }, |
813 | }; | 677 | }; |
814 | EXPORT_SYMBOL_GPL(net_ipv4_ctl_path); | 678 | EXPORT_SYMBOL_GPL(net_ipv4_ctl_path); |
@@ -818,7 +682,7 @@ static __net_init int ipv4_sysctl_init_net(struct net *net) | |||
818 | struct ctl_table *table; | 682 | struct ctl_table *table; |
819 | 683 | ||
820 | table = ipv4_net_table; | 684 | table = ipv4_net_table; |
821 | if (net != &init_net) { | 685 | if (!net_eq(net, &init_net)) { |
822 | table = kmemdup(table, sizeof(ipv4_net_table), GFP_KERNEL); | 686 | table = kmemdup(table, sizeof(ipv4_net_table), GFP_KERNEL); |
823 | if (table == NULL) | 687 | if (table == NULL) |
824 | goto err_alloc; | 688 | goto err_alloc; |
@@ -849,7 +713,7 @@ static __net_init int ipv4_sysctl_init_net(struct net *net) | |||
849 | return 0; | 713 | return 0; |
850 | 714 | ||
851 | err_reg: | 715 | err_reg: |
852 | if (net != &init_net) | 716 | if (!net_eq(net, &init_net)) |
853 | kfree(table); | 717 | kfree(table); |
854 | err_alloc: | 718 | err_alloc: |
855 | return -ENOMEM; | 719 | return -ENOMEM; |