193 .ctl_name = NET_IPV4_TCP_TIMESTAMPS, |
193 .ctl_name = NET_IPV4_TCP_TIMESTAMPS, |
194 .procname = "tcp_timestamps", |
194 .procname = "tcp_timestamps", |
195 .data = &sysctl_tcp_timestamps, |
195 .data = &sysctl_tcp_timestamps, |
196 .maxlen = sizeof(int), |
196 .maxlen = sizeof(int), |
197 .mode = 0644, |
197 .mode = 0644, |
198 .proc_handler = &proc_dointvec |
198 .proc_handler = proc_dointvec |
199 }, |
199 }, |
200 { |
200 { |
201 .ctl_name = NET_IPV4_TCP_WINDOW_SCALING, |
201 .ctl_name = NET_IPV4_TCP_WINDOW_SCALING, |
202 .procname = "tcp_window_scaling", |
202 .procname = "tcp_window_scaling", |
203 .data = &sysctl_tcp_window_scaling, |
203 .data = &sysctl_tcp_window_scaling, |
204 .maxlen = sizeof(int), |
204 .maxlen = sizeof(int), |
205 .mode = 0644, |
205 .mode = 0644, |
206 .proc_handler = &proc_dointvec |
206 .proc_handler = proc_dointvec |
207 }, |
207 }, |
208 { |
208 { |
209 .ctl_name = NET_IPV4_TCP_SACK, |
209 .ctl_name = NET_IPV4_TCP_SACK, |
210 .procname = "tcp_sack", |
210 .procname = "tcp_sack", |
211 .data = &sysctl_tcp_sack, |
211 .data = &sysctl_tcp_sack, |
212 .maxlen = sizeof(int), |
212 .maxlen = sizeof(int), |
213 .mode = 0644, |
213 .mode = 0644, |
214 .proc_handler = &proc_dointvec |
214 .proc_handler = proc_dointvec |
215 }, |
215 }, |
216 { |
216 { |
217 .ctl_name = NET_IPV4_TCP_RETRANS_COLLAPSE, |
217 .ctl_name = NET_IPV4_TCP_RETRANS_COLLAPSE, |
218 .procname = "tcp_retrans_collapse", |
218 .procname = "tcp_retrans_collapse", |
219 .data = &sysctl_tcp_retrans_collapse, |
219 .data = &sysctl_tcp_retrans_collapse, |
220 .maxlen = sizeof(int), |
220 .maxlen = sizeof(int), |
221 .mode = 0644, |
221 .mode = 0644, |
222 .proc_handler = &proc_dointvec |
222 .proc_handler = proc_dointvec |
223 }, |
223 }, |
224 { |
224 { |
225 .ctl_name = NET_IPV4_DEFAULT_TTL, |
225 .ctl_name = NET_IPV4_DEFAULT_TTL, |
226 .procname = "ip_default_ttl", |
226 .procname = "ip_default_ttl", |
227 .data = &sysctl_ip_default_ttl, |
227 .data = &sysctl_ip_default_ttl, |
228 .maxlen = sizeof(int), |
228 .maxlen = sizeof(int), |
229 .mode = 0644, |
229 .mode = 0644, |
230 .proc_handler = &ipv4_doint_and_flush, |
230 .proc_handler = ipv4_doint_and_flush, |
231 .strategy = &ipv4_doint_and_flush_strategy, |
231 .strategy = ipv4_doint_and_flush_strategy, |
232 .extra2 = &init_net, |
232 .extra2 = &init_net, |
233 }, |
233 }, |
234 { |
234 { |
235 .ctl_name = NET_IPV4_NO_PMTU_DISC, |
235 .ctl_name = NET_IPV4_NO_PMTU_DISC, |
236 .procname = "ip_no_pmtu_disc", |
236 .procname = "ip_no_pmtu_disc", |
237 .data = &ipv4_config.no_pmtu_disc, |
237 .data = &ipv4_config.no_pmtu_disc, |
238 .maxlen = sizeof(int), |
238 .maxlen = sizeof(int), |
239 .mode = 0644, |
239 .mode = 0644, |
240 .proc_handler = &proc_dointvec |
240 .proc_handler = proc_dointvec |
241 }, |
241 }, |
242 { |
242 { |
243 .ctl_name = NET_IPV4_NONLOCAL_BIND, |
243 .ctl_name = NET_IPV4_NONLOCAL_BIND, |
244 .procname = "ip_nonlocal_bind", |
244 .procname = "ip_nonlocal_bind", |
245 .data = &sysctl_ip_nonlocal_bind, |
245 .data = &sysctl_ip_nonlocal_bind, |
246 .maxlen = sizeof(int), |
246 .maxlen = sizeof(int), |
247 .mode = 0644, |
247 .mode = 0644, |
248 .proc_handler = &proc_dointvec |
248 .proc_handler = proc_dointvec |
249 }, |
249 }, |
250 { |
250 { |
251 .ctl_name = NET_IPV4_TCP_SYN_RETRIES, |
251 .ctl_name = NET_IPV4_TCP_SYN_RETRIES, |
252 .procname = "tcp_syn_retries", |
252 .procname = "tcp_syn_retries", |
253 .data = &sysctl_tcp_syn_retries, |
253 .data = &sysctl_tcp_syn_retries, |
254 .maxlen = sizeof(int), |
254 .maxlen = sizeof(int), |
255 .mode = 0644, |
255 .mode = 0644, |
256 .proc_handler = &proc_dointvec |
256 .proc_handler = proc_dointvec |
257 }, |
257 }, |
258 { |
258 { |
259 .ctl_name = NET_TCP_SYNACK_RETRIES, |
259 .ctl_name = NET_TCP_SYNACK_RETRIES, |
260 .procname = "tcp_synack_retries", |
260 .procname = "tcp_synack_retries", |
261 .data = &sysctl_tcp_synack_retries, |
261 .data = &sysctl_tcp_synack_retries, |
262 .maxlen = sizeof(int), |
262 .maxlen = sizeof(int), |
263 .mode = 0644, |
263 .mode = 0644, |
264 .proc_handler = &proc_dointvec |
264 .proc_handler = proc_dointvec |
265 }, |
265 }, |
266 { |
266 { |
267 .ctl_name = NET_TCP_MAX_ORPHANS, |
267 .ctl_name = NET_TCP_MAX_ORPHANS, |
268 .procname = "tcp_max_orphans", |
268 .procname = "tcp_max_orphans", |
269 .data = &sysctl_tcp_max_orphans, |
269 .data = &sysctl_tcp_max_orphans, |
270 .maxlen = sizeof(int), |
270 .maxlen = sizeof(int), |
271 .mode = 0644, |
271 .mode = 0644, |
272 .proc_handler = &proc_dointvec |
272 .proc_handler = proc_dointvec |
273 }, |
273 }, |
274 { |
274 { |
275 .ctl_name = NET_TCP_MAX_TW_BUCKETS, |
275 .ctl_name = NET_TCP_MAX_TW_BUCKETS, |
276 .procname = "tcp_max_tw_buckets", |
276 .procname = "tcp_max_tw_buckets", |
277 .data = &tcp_death_row.sysctl_max_tw_buckets, |
277 .data = &tcp_death_row.sysctl_max_tw_buckets, |
278 .maxlen = sizeof(int), |
278 .maxlen = sizeof(int), |
279 .mode = 0644, |
279 .mode = 0644, |
280 .proc_handler = &proc_dointvec |
280 .proc_handler = proc_dointvec |
281 }, |
281 }, |
282 { |
282 { |
283 .ctl_name = NET_IPV4_DYNADDR, |
283 .ctl_name = NET_IPV4_DYNADDR, |
284 .procname = "ip_dynaddr", |
284 .procname = "ip_dynaddr", |
285 .data = &sysctl_ip_dynaddr, |
285 .data = &sysctl_ip_dynaddr, |
286 .maxlen = sizeof(int), |
286 .maxlen = sizeof(int), |
287 .mode = 0644, |
287 .mode = 0644, |
288 .proc_handler = &proc_dointvec |
288 .proc_handler = proc_dointvec |
289 }, |
289 }, |
290 { |
290 { |
291 .ctl_name = NET_IPV4_TCP_KEEPALIVE_TIME, |
291 .ctl_name = NET_IPV4_TCP_KEEPALIVE_TIME, |
292 .procname = "tcp_keepalive_time", |
292 .procname = "tcp_keepalive_time", |
293 .data = &sysctl_tcp_keepalive_time, |
293 .data = &sysctl_tcp_keepalive_time, |
294 .maxlen = sizeof(int), |
294 .maxlen = sizeof(int), |
295 .mode = 0644, |
295 .mode = 0644, |
296 .proc_handler = &proc_dointvec_jiffies, |
296 .proc_handler = proc_dointvec_jiffies, |
297 .strategy = &sysctl_jiffies |
297 .strategy = sysctl_jiffies |
298 }, |
298 }, |
299 { |
299 { |
300 .ctl_name = NET_IPV4_TCP_KEEPALIVE_PROBES, |
300 .ctl_name = NET_IPV4_TCP_KEEPALIVE_PROBES, |
301 .procname = "tcp_keepalive_probes", |
301 .procname = "tcp_keepalive_probes", |
302 .data = &sysctl_tcp_keepalive_probes, |
302 .data = &sysctl_tcp_keepalive_probes, |
303 .maxlen = sizeof(int), |
303 .maxlen = sizeof(int), |
304 .mode = 0644, |
304 .mode = 0644, |
305 .proc_handler = &proc_dointvec |
305 .proc_handler = proc_dointvec |
306 }, |
306 }, |
307 { |
307 { |
308 .ctl_name = NET_IPV4_TCP_KEEPALIVE_INTVL, |
308 .ctl_name = NET_IPV4_TCP_KEEPALIVE_INTVL, |
309 .procname = "tcp_keepalive_intvl", |
309 .procname = "tcp_keepalive_intvl", |
310 .data = &sysctl_tcp_keepalive_intvl, |
310 .data = &sysctl_tcp_keepalive_intvl, |
311 .maxlen = sizeof(int), |
311 .maxlen = sizeof(int), |
312 .mode = 0644, |
312 .mode = 0644, |
313 .proc_handler = &proc_dointvec_jiffies, |
313 .proc_handler = proc_dointvec_jiffies, |
314 .strategy = &sysctl_jiffies |
314 .strategy = sysctl_jiffies |
315 }, |
315 }, |
316 { |
316 { |
317 .ctl_name = NET_IPV4_TCP_RETRIES1, |
317 .ctl_name = NET_IPV4_TCP_RETRIES1, |
318 .procname = "tcp_retries1", |
318 .procname = "tcp_retries1", |
319 .data = &sysctl_tcp_retries1, |
319 .data = &sysctl_tcp_retries1, |
320 .maxlen = sizeof(int), |
320 .maxlen = sizeof(int), |
321 .mode = 0644, |
321 .mode = 0644, |
322 .proc_handler = &proc_dointvec_minmax, |
322 .proc_handler = proc_dointvec_minmax, |
323 .strategy = &sysctl_intvec, |
323 .strategy = sysctl_intvec, |
324 .extra2 = &tcp_retr1_max |
324 .extra2 = &tcp_retr1_max |
325 }, |
325 }, |
326 { |
326 { |
327 .ctl_name = NET_IPV4_TCP_RETRIES2, |
327 .ctl_name = NET_IPV4_TCP_RETRIES2, |
328 .procname = "tcp_retries2", |
328 .procname = "tcp_retries2", |
329 .data = &sysctl_tcp_retries2, |
329 .data = &sysctl_tcp_retries2, |
330 .maxlen = sizeof(int), |
330 .maxlen = sizeof(int), |
331 .mode = 0644, |
331 .mode = 0644, |
332 .proc_handler = &proc_dointvec |
332 .proc_handler = proc_dointvec |
333 }, |
333 }, |
334 { |
334 { |
335 .ctl_name = NET_IPV4_TCP_FIN_TIMEOUT, |
335 .ctl_name = NET_IPV4_TCP_FIN_TIMEOUT, |
336 .procname = "tcp_fin_timeout", |
336 .procname = "tcp_fin_timeout", |
337 .data = &sysctl_tcp_fin_timeout, |
337 .data = &sysctl_tcp_fin_timeout, |
338 .maxlen = sizeof(int), |
338 .maxlen = sizeof(int), |
339 .mode = 0644, |
339 .mode = 0644, |
340 .proc_handler = &proc_dointvec_jiffies, |
340 .proc_handler = proc_dointvec_jiffies, |
341 .strategy = &sysctl_jiffies |
341 .strategy = sysctl_jiffies |
342 }, |
342 }, |
343 #ifdef CONFIG_SYN_COOKIES |
343 #ifdef CONFIG_SYN_COOKIES |
344 { |
344 { |
345 .ctl_name = NET_TCP_SYNCOOKIES, |
345 .ctl_name = NET_TCP_SYNCOOKIES, |
346 .procname = "tcp_syncookies", |
346 .procname = "tcp_syncookies", |
347 .data = &sysctl_tcp_syncookies, |
347 .data = &sysctl_tcp_syncookies, |
348 .maxlen = sizeof(int), |
348 .maxlen = sizeof(int), |
349 .mode = 0644, |
349 .mode = 0644, |
350 .proc_handler = &proc_dointvec |
350 .proc_handler = proc_dointvec |
351 }, |
351 }, |
352 #endif |
352 #endif |
353 { |
353 { |
354 .ctl_name = NET_TCP_TW_RECYCLE, |
354 .ctl_name = NET_TCP_TW_RECYCLE, |
355 .procname = "tcp_tw_recycle", |
355 .procname = "tcp_tw_recycle", |
356 .data = &tcp_death_row.sysctl_tw_recycle, |
356 .data = &tcp_death_row.sysctl_tw_recycle, |
357 .maxlen = sizeof(int), |
357 .maxlen = sizeof(int), |
358 .mode = 0644, |
358 .mode = 0644, |
359 .proc_handler = &proc_dointvec |
359 .proc_handler = proc_dointvec |
360 }, |
360 }, |
361 { |
361 { |
362 .ctl_name = NET_TCP_ABORT_ON_OVERFLOW, |
362 .ctl_name = NET_TCP_ABORT_ON_OVERFLOW, |
363 .procname = "tcp_abort_on_overflow", |
363 .procname = "tcp_abort_on_overflow", |
364 .data = &sysctl_tcp_abort_on_overflow, |
364 .data = &sysctl_tcp_abort_on_overflow, |
365 .maxlen = sizeof(int), |
365 .maxlen = sizeof(int), |
366 .mode = 0644, |
366 .mode = 0644, |
367 .proc_handler = &proc_dointvec |
367 .proc_handler = proc_dointvec |
368 }, |
368 }, |
369 { |
369 { |
370 .ctl_name = NET_TCP_STDURG, |
370 .ctl_name = NET_TCP_STDURG, |
371 .procname = "tcp_stdurg", |
371 .procname = "tcp_stdurg", |
372 .data = &sysctl_tcp_stdurg, |
372 .data = &sysctl_tcp_stdurg, |
373 .maxlen = sizeof(int), |
373 .maxlen = sizeof(int), |
374 .mode = 0644, |
374 .mode = 0644, |
375 .proc_handler = &proc_dointvec |
375 .proc_handler = proc_dointvec |
376 }, |
376 }, |
377 { |
377 { |
378 .ctl_name = NET_TCP_RFC1337, |
378 .ctl_name = NET_TCP_RFC1337, |
379 .procname = "tcp_rfc1337", |
379 .procname = "tcp_rfc1337", |
380 .data = &sysctl_tcp_rfc1337, |
380 .data = &sysctl_tcp_rfc1337, |
381 .maxlen = sizeof(int), |
381 .maxlen = sizeof(int), |
382 .mode = 0644, |
382 .mode = 0644, |
383 .proc_handler = &proc_dointvec |
383 .proc_handler = proc_dointvec |
384 }, |
384 }, |
385 { |
385 { |
386 .ctl_name = NET_TCP_MAX_SYN_BACKLOG, |
386 .ctl_name = NET_TCP_MAX_SYN_BACKLOG, |
387 .procname = "tcp_max_syn_backlog", |
387 .procname = "tcp_max_syn_backlog", |
388 .data = &sysctl_max_syn_backlog, |
388 .data = &sysctl_max_syn_backlog, |
389 .maxlen = sizeof(int), |
389 .maxlen = sizeof(int), |
390 .mode = 0644, |
390 .mode = 0644, |
391 .proc_handler = &proc_dointvec |
391 .proc_handler = proc_dointvec |
392 }, |
392 }, |
393 { |
393 { |
394 .ctl_name = NET_IPV4_LOCAL_PORT_RANGE, |
394 .ctl_name = NET_IPV4_LOCAL_PORT_RANGE, |
395 .procname = "ip_local_port_range", |
395 .procname = "ip_local_port_range", |
396 .data = &sysctl_local_ports.range, |
396 .data = &sysctl_local_ports.range, |
397 .maxlen = sizeof(sysctl_local_ports.range), |
397 .maxlen = sizeof(sysctl_local_ports.range), |
398 .mode = 0644, |
398 .mode = 0644, |
399 .proc_handler = &ipv4_local_port_range, |
399 .proc_handler = ipv4_local_port_range, |
400 .strategy = &ipv4_sysctl_local_port_range, |
400 .strategy = ipv4_sysctl_local_port_range, |
401 }, |
401 }, |
402 #ifdef CONFIG_IP_MULTICAST |
402 #ifdef CONFIG_IP_MULTICAST |
403 { |
403 { |
404 .ctl_name = NET_IPV4_IGMP_MAX_MEMBERSHIPS, |
404 .ctl_name = NET_IPV4_IGMP_MAX_MEMBERSHIPS, |
405 .procname = "igmp_max_memberships", |
405 .procname = "igmp_max_memberships", |
406 .data = &sysctl_igmp_max_memberships, |
406 .data = &sysctl_igmp_max_memberships, |
407 .maxlen = sizeof(int), |
407 .maxlen = sizeof(int), |
408 .mode = 0644, |
408 .mode = 0644, |
409 .proc_handler = &proc_dointvec |
409 .proc_handler = proc_dointvec |
410 }, |
410 }, |
411 |
411 |
412 #endif |
412 #endif |
413 { |
413 { |
414 .ctl_name = NET_IPV4_IGMP_MAX_MSF, |
414 .ctl_name = NET_IPV4_IGMP_MAX_MSF, |
415 .procname = "igmp_max_msf", |
415 .procname = "igmp_max_msf", |
416 .data = &sysctl_igmp_max_msf, |
416 .data = &sysctl_igmp_max_msf, |
417 .maxlen = sizeof(int), |
417 .maxlen = sizeof(int), |
418 .mode = 0644, |
418 .mode = 0644, |
419 .proc_handler = &proc_dointvec |
419 .proc_handler = proc_dointvec |
420 }, |
420 }, |
421 { |
421 { |
422 .ctl_name = NET_IPV4_INET_PEER_THRESHOLD, |
422 .ctl_name = NET_IPV4_INET_PEER_THRESHOLD, |
423 .procname = "inet_peer_threshold", |
423 .procname = "inet_peer_threshold", |
424 .data = &inet_peer_threshold, |
424 .data = &inet_peer_threshold, |
425 .maxlen = sizeof(int), |
425 .maxlen = sizeof(int), |
426 .mode = 0644, |
426 .mode = 0644, |
427 .proc_handler = &proc_dointvec |
427 .proc_handler = proc_dointvec |
428 }, |
428 }, |
429 { |
429 { |
430 .ctl_name = NET_IPV4_INET_PEER_MINTTL, |
430 .ctl_name = NET_IPV4_INET_PEER_MINTTL, |
431 .procname = "inet_peer_minttl", |
431 .procname = "inet_peer_minttl", |
432 .data = &inet_peer_minttl, |
432 .data = &inet_peer_minttl, |
433 .maxlen = sizeof(int), |
433 .maxlen = sizeof(int), |
434 .mode = 0644, |
434 .mode = 0644, |
435 .proc_handler = &proc_dointvec_jiffies, |
435 .proc_handler = proc_dointvec_jiffies, |
436 .strategy = &sysctl_jiffies |
436 .strategy = sysctl_jiffies |
437 }, |
437 }, |
438 { |
438 { |
439 .ctl_name = NET_IPV4_INET_PEER_MAXTTL, |
439 .ctl_name = NET_IPV4_INET_PEER_MAXTTL, |
440 .procname = "inet_peer_maxttl", |
440 .procname = "inet_peer_maxttl", |
441 .data = &inet_peer_maxttl, |
441 .data = &inet_peer_maxttl, |
442 .maxlen = sizeof(int), |
442 .maxlen = sizeof(int), |
443 .mode = 0644, |
443 .mode = 0644, |
444 .proc_handler = &proc_dointvec_jiffies, |
444 .proc_handler = proc_dointvec_jiffies, |
445 .strategy = &sysctl_jiffies |
445 .strategy = sysctl_jiffies |
446 }, |
446 }, |
447 { |
447 { |
448 .ctl_name = NET_IPV4_INET_PEER_GC_MINTIME, |
448 .ctl_name = NET_IPV4_INET_PEER_GC_MINTIME, |
449 .procname = "inet_peer_gc_mintime", |
449 .procname = "inet_peer_gc_mintime", |
450 .data = &inet_peer_gc_mintime, |
450 .data = &inet_peer_gc_mintime, |
451 .maxlen = sizeof(int), |
451 .maxlen = sizeof(int), |
452 .mode = 0644, |
452 .mode = 0644, |
453 .proc_handler = &proc_dointvec_jiffies, |
453 .proc_handler = proc_dointvec_jiffies, |
454 .strategy = &sysctl_jiffies |
454 .strategy = sysctl_jiffies |
455 }, |
455 }, |
456 { |
456 { |
457 .ctl_name = NET_IPV4_INET_PEER_GC_MAXTIME, |
457 .ctl_name = NET_IPV4_INET_PEER_GC_MAXTIME, |
458 .procname = "inet_peer_gc_maxtime", |
458 .procname = "inet_peer_gc_maxtime", |
459 .data = &inet_peer_gc_maxtime, |
459 .data = &inet_peer_gc_maxtime, |
460 .maxlen = sizeof(int), |
460 .maxlen = sizeof(int), |
461 .mode = 0644, |
461 .mode = 0644, |
462 .proc_handler = &proc_dointvec_jiffies, |
462 .proc_handler = proc_dointvec_jiffies, |
463 .strategy = &sysctl_jiffies |
463 .strategy = sysctl_jiffies |
464 }, |
464 }, |
465 { |
465 { |
466 .ctl_name = NET_TCP_ORPHAN_RETRIES, |
466 .ctl_name = NET_TCP_ORPHAN_RETRIES, |
467 .procname = "tcp_orphan_retries", |
467 .procname = "tcp_orphan_retries", |
468 .data = &sysctl_tcp_orphan_retries, |
468 .data = &sysctl_tcp_orphan_retries, |
469 .maxlen = sizeof(int), |
469 .maxlen = sizeof(int), |
470 .mode = 0644, |
470 .mode = 0644, |
471 .proc_handler = &proc_dointvec |
471 .proc_handler = proc_dointvec |
472 }, |
472 }, |
473 { |
473 { |
474 .ctl_name = NET_TCP_FACK, |
474 .ctl_name = NET_TCP_FACK, |
475 .procname = "tcp_fack", |
475 .procname = "tcp_fack", |
476 .data = &sysctl_tcp_fack, |
476 .data = &sysctl_tcp_fack, |
477 .maxlen = sizeof(int), |
477 .maxlen = sizeof(int), |
478 .mode = 0644, |
478 .mode = 0644, |
479 .proc_handler = &proc_dointvec |
479 .proc_handler = proc_dointvec |
480 }, |
480 }, |
481 { |
481 { |
482 .ctl_name = NET_TCP_REORDERING, |
482 .ctl_name = NET_TCP_REORDERING, |
483 .procname = "tcp_reordering", |
483 .procname = "tcp_reordering", |
484 .data = &sysctl_tcp_reordering, |
484 .data = &sysctl_tcp_reordering, |
485 .maxlen = sizeof(int), |
485 .maxlen = sizeof(int), |
486 .mode = 0644, |
486 .mode = 0644, |
487 .proc_handler = &proc_dointvec |
487 .proc_handler = proc_dointvec |
488 }, |
488 }, |
489 { |
489 { |
490 .ctl_name = NET_TCP_ECN, |
490 .ctl_name = NET_TCP_ECN, |
491 .procname = "tcp_ecn", |
491 .procname = "tcp_ecn", |
492 .data = &sysctl_tcp_ecn, |
492 .data = &sysctl_tcp_ecn, |
493 .maxlen = sizeof(int), |
493 .maxlen = sizeof(int), |
494 .mode = 0644, |
494 .mode = 0644, |
495 .proc_handler = &proc_dointvec |
495 .proc_handler = proc_dointvec |
496 }, |
496 }, |
497 { |
497 { |
498 .ctl_name = NET_TCP_DSACK, |
498 .ctl_name = NET_TCP_DSACK, |
499 .procname = "tcp_dsack", |
499 .procname = "tcp_dsack", |
500 .data = &sysctl_tcp_dsack, |
500 .data = &sysctl_tcp_dsack, |
501 .maxlen = sizeof(int), |
501 .maxlen = sizeof(int), |
502 .mode = 0644, |
502 .mode = 0644, |
503 .proc_handler = &proc_dointvec |
503 .proc_handler = proc_dointvec |
504 }, |
504 }, |
505 { |
505 { |
506 .ctl_name = NET_TCP_MEM, |
506 .ctl_name = NET_TCP_MEM, |
507 .procname = "tcp_mem", |
507 .procname = "tcp_mem", |
508 .data = &sysctl_tcp_mem, |
508 .data = &sysctl_tcp_mem, |
509 .maxlen = sizeof(sysctl_tcp_mem), |
509 .maxlen = sizeof(sysctl_tcp_mem), |
510 .mode = 0644, |
510 .mode = 0644, |
511 .proc_handler = &proc_dointvec |
511 .proc_handler = proc_dointvec |
512 }, |
512 }, |
513 { |
513 { |
514 .ctl_name = NET_TCP_WMEM, |
514 .ctl_name = NET_TCP_WMEM, |
515 .procname = "tcp_wmem", |
515 .procname = "tcp_wmem", |
516 .data = &sysctl_tcp_wmem, |
516 .data = &sysctl_tcp_wmem, |
517 .maxlen = sizeof(sysctl_tcp_wmem), |
517 .maxlen = sizeof(sysctl_tcp_wmem), |
518 .mode = 0644, |
518 .mode = 0644, |
519 .proc_handler = &proc_dointvec |
519 .proc_handler = proc_dointvec |
520 }, |
520 }, |
521 { |
521 { |
522 .ctl_name = NET_TCP_RMEM, |
522 .ctl_name = NET_TCP_RMEM, |
523 .procname = "tcp_rmem", |
523 .procname = "tcp_rmem", |
524 .data = &sysctl_tcp_rmem, |
524 .data = &sysctl_tcp_rmem, |
525 .maxlen = sizeof(sysctl_tcp_rmem), |
525 .maxlen = sizeof(sysctl_tcp_rmem), |
526 .mode = 0644, |
526 .mode = 0644, |
527 .proc_handler = &proc_dointvec |
527 .proc_handler = proc_dointvec |
528 }, |
528 }, |
529 { |
529 { |
530 .ctl_name = NET_TCP_APP_WIN, |
530 .ctl_name = NET_TCP_APP_WIN, |
531 .procname = "tcp_app_win", |
531 .procname = "tcp_app_win", |
532 .data = &sysctl_tcp_app_win, |
532 .data = &sysctl_tcp_app_win, |
533 .maxlen = sizeof(int), |
533 .maxlen = sizeof(int), |
534 .mode = 0644, |
534 .mode = 0644, |
535 .proc_handler = &proc_dointvec |
535 .proc_handler = proc_dointvec |
536 }, |
536 }, |
537 { |
537 { |
538 .ctl_name = NET_TCP_ADV_WIN_SCALE, |
538 .ctl_name = NET_TCP_ADV_WIN_SCALE, |
539 .procname = "tcp_adv_win_scale", |
539 .procname = "tcp_adv_win_scale", |
540 .data = &sysctl_tcp_adv_win_scale, |
540 .data = &sysctl_tcp_adv_win_scale, |
541 .maxlen = sizeof(int), |
541 .maxlen = sizeof(int), |
542 .mode = 0644, |
542 .mode = 0644, |
543 .proc_handler = &proc_dointvec |
543 .proc_handler = proc_dointvec |
544 }, |
544 }, |
545 { |
545 { |
546 .ctl_name = NET_TCP_TW_REUSE, |
546 .ctl_name = NET_TCP_TW_REUSE, |
547 .procname = "tcp_tw_reuse", |
547 .procname = "tcp_tw_reuse", |
548 .data = &sysctl_tcp_tw_reuse, |
548 .data = &sysctl_tcp_tw_reuse, |
549 .maxlen = sizeof(int), |
549 .maxlen = sizeof(int), |
550 .mode = 0644, |
550 .mode = 0644, |
551 .proc_handler = &proc_dointvec |
551 .proc_handler = proc_dointvec |
552 }, |
552 }, |
553 { |
553 { |
554 .ctl_name = NET_TCP_FRTO, |
554 .ctl_name = NET_TCP_FRTO, |
555 .procname = "tcp_frto", |
555 .procname = "tcp_frto", |
556 .data = &sysctl_tcp_frto, |
556 .data = &sysctl_tcp_frto, |
557 .maxlen = sizeof(int), |
557 .maxlen = sizeof(int), |
558 .mode = 0644, |
558 .mode = 0644, |
559 .proc_handler = &proc_dointvec |
559 .proc_handler = proc_dointvec |
560 }, |
560 }, |
561 { |
561 { |
562 .ctl_name = NET_TCP_FRTO_RESPONSE, |
562 .ctl_name = NET_TCP_FRTO_RESPONSE, |
563 .procname = "tcp_frto_response", |
563 .procname = "tcp_frto_response", |
564 .data = &sysctl_tcp_frto_response, |
564 .data = &sysctl_tcp_frto_response, |
565 .maxlen = sizeof(int), |
565 .maxlen = sizeof(int), |
566 .mode = 0644, |
566 .mode = 0644, |
567 .proc_handler = &proc_dointvec |
567 .proc_handler = proc_dointvec |
568 }, |
568 }, |
569 { |
569 { |
570 .ctl_name = NET_TCP_LOW_LATENCY, |
570 .ctl_name = NET_TCP_LOW_LATENCY, |
571 .procname = "tcp_low_latency", |
571 .procname = "tcp_low_latency", |
572 .data = &sysctl_tcp_low_latency, |
572 .data = &sysctl_tcp_low_latency, |
573 .maxlen = sizeof(int), |
573 .maxlen = sizeof(int), |
574 .mode = 0644, |
574 .mode = 0644, |
575 .proc_handler = &proc_dointvec |
575 .proc_handler = proc_dointvec |
576 }, |
576 }, |
577 { |
577 { |
578 .ctl_name = NET_TCP_NO_METRICS_SAVE, |
578 .ctl_name = NET_TCP_NO_METRICS_SAVE, |
579 .procname = "tcp_no_metrics_save", |
579 .procname = "tcp_no_metrics_save", |
580 .data = &sysctl_tcp_nometrics_save, |
580 .data = &sysctl_tcp_nometrics_save, |
581 .maxlen = sizeof(int), |
581 .maxlen = sizeof(int), |
582 .mode = 0644, |
582 .mode = 0644, |
583 .proc_handler = &proc_dointvec, |
583 .proc_handler = proc_dointvec, |
584 }, |
584 }, |
585 { |
585 { |
586 .ctl_name = NET_TCP_MODERATE_RCVBUF, |
586 .ctl_name = NET_TCP_MODERATE_RCVBUF, |
587 .procname = "tcp_moderate_rcvbuf", |
587 .procname = "tcp_moderate_rcvbuf", |
588 .data = &sysctl_tcp_moderate_rcvbuf, |
588 .data = &sysctl_tcp_moderate_rcvbuf, |
589 .maxlen = sizeof(int), |
589 .maxlen = sizeof(int), |
590 .mode = 0644, |
590 .mode = 0644, |
591 .proc_handler = &proc_dointvec, |
591 .proc_handler = proc_dointvec, |
592 }, |
592 }, |
593 { |
593 { |
594 .ctl_name = NET_TCP_TSO_WIN_DIVISOR, |
594 .ctl_name = NET_TCP_TSO_WIN_DIVISOR, |
595 .procname = "tcp_tso_win_divisor", |
595 .procname = "tcp_tso_win_divisor", |
596 .data = &sysctl_tcp_tso_win_divisor, |
596 .data = &sysctl_tcp_tso_win_divisor, |
597 .maxlen = sizeof(int), |
597 .maxlen = sizeof(int), |
598 .mode = 0644, |
598 .mode = 0644, |
599 .proc_handler = &proc_dointvec, |
599 .proc_handler = proc_dointvec, |
600 }, |
600 }, |
601 { |
601 { |
602 .ctl_name = NET_TCP_CONG_CONTROL, |
602 .ctl_name = NET_TCP_CONG_CONTROL, |
603 .procname = "tcp_congestion_control", |
603 .procname = "tcp_congestion_control", |
604 .mode = 0644, |
604 .mode = 0644, |
605 .maxlen = TCP_CA_NAME_MAX, |
605 .maxlen = TCP_CA_NAME_MAX, |
606 .proc_handler = &proc_tcp_congestion_control, |
606 .proc_handler = proc_tcp_congestion_control, |
607 .strategy = &sysctl_tcp_congestion_control, |
607 .strategy = sysctl_tcp_congestion_control, |
608 }, |
608 }, |
609 { |
609 { |
610 .ctl_name = NET_TCP_ABC, |
610 .ctl_name = NET_TCP_ABC, |
611 .procname = "tcp_abc", |
611 .procname = "tcp_abc", |
612 .data = &sysctl_tcp_abc, |
612 .data = &sysctl_tcp_abc, |
613 .maxlen = sizeof(int), |
613 .maxlen = sizeof(int), |
614 .mode = 0644, |
614 .mode = 0644, |
615 .proc_handler = &proc_dointvec, |
615 .proc_handler = proc_dointvec, |
616 }, |
616 }, |
617 { |
617 { |
618 .ctl_name = NET_TCP_MTU_PROBING, |
618 .ctl_name = NET_TCP_MTU_PROBING, |
619 .procname = "tcp_mtu_probing", |
619 .procname = "tcp_mtu_probing", |
620 .data = &sysctl_tcp_mtu_probing, |
620 .data = &sysctl_tcp_mtu_probing, |
621 .maxlen = sizeof(int), |
621 .maxlen = sizeof(int), |
622 .mode = 0644, |
622 .mode = 0644, |
623 .proc_handler = &proc_dointvec, |
623 .proc_handler = proc_dointvec, |
624 }, |
624 }, |
625 { |
625 { |
626 .ctl_name = NET_TCP_BASE_MSS, |
626 .ctl_name = NET_TCP_BASE_MSS, |
627 .procname = "tcp_base_mss", |
627 .procname = "tcp_base_mss", |
628 .data = &sysctl_tcp_base_mss, |
628 .data = &sysctl_tcp_base_mss, |
629 .maxlen = sizeof(int), |
629 .maxlen = sizeof(int), |
630 .mode = 0644, |
630 .mode = 0644, |
631 .proc_handler = &proc_dointvec, |
631 .proc_handler = proc_dointvec, |
632 }, |
632 }, |
633 { |
633 { |
634 .ctl_name = NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS, |
634 .ctl_name = NET_IPV4_TCP_WORKAROUND_SIGNED_WINDOWS, |
635 .procname = "tcp_workaround_signed_windows", |
635 .procname = "tcp_workaround_signed_windows", |
636 .data = &sysctl_tcp_workaround_signed_windows, |
636 .data = &sysctl_tcp_workaround_signed_windows, |
637 .maxlen = sizeof(int), |
637 .maxlen = sizeof(int), |
638 .mode = 0644, |
638 .mode = 0644, |
639 .proc_handler = &proc_dointvec |
639 .proc_handler = proc_dointvec |
640 }, |
640 }, |
641 #ifdef CONFIG_NET_DMA |
641 #ifdef CONFIG_NET_DMA |
642 { |
642 { |
643 .ctl_name = NET_TCP_DMA_COPYBREAK, |
643 .ctl_name = NET_TCP_DMA_COPYBREAK, |
644 .procname = "tcp_dma_copybreak", |
644 .procname = "tcp_dma_copybreak", |
645 .data = &sysctl_tcp_dma_copybreak, |
645 .data = &sysctl_tcp_dma_copybreak, |
646 .maxlen = sizeof(int), |
646 .maxlen = sizeof(int), |
647 .mode = 0644, |
647 .mode = 0644, |
648 .proc_handler = &proc_dointvec |
648 .proc_handler = proc_dointvec |
649 }, |
649 }, |
650 #endif |
650 #endif |
651 { |
651 { |
652 .ctl_name = NET_TCP_SLOW_START_AFTER_IDLE, |
652 .ctl_name = NET_TCP_SLOW_START_AFTER_IDLE, |
653 .procname = "tcp_slow_start_after_idle", |
653 .procname = "tcp_slow_start_after_idle", |
654 .data = &sysctl_tcp_slow_start_after_idle, |
654 .data = &sysctl_tcp_slow_start_after_idle, |
655 .maxlen = sizeof(int), |
655 .maxlen = sizeof(int), |
656 .mode = 0644, |
656 .mode = 0644, |
657 .proc_handler = &proc_dointvec |
657 .proc_handler = proc_dointvec |
658 }, |
658 }, |
659 #ifdef CONFIG_NETLABEL |
659 #ifdef CONFIG_NETLABEL |
660 { |
660 { |
661 .ctl_name = NET_CIPSOV4_CACHE_ENABLE, |
661 .ctl_name = NET_CIPSOV4_CACHE_ENABLE, |
662 .procname = "cipso_cache_enable", |
662 .procname = "cipso_cache_enable", |
663 .data = &cipso_v4_cache_enabled, |
663 .data = &cipso_v4_cache_enabled, |
664 .maxlen = sizeof(int), |
664 .maxlen = sizeof(int), |
665 .mode = 0644, |
665 .mode = 0644, |
666 .proc_handler = &proc_dointvec, |
666 .proc_handler = proc_dointvec, |
667 }, |
667 }, |
668 { |
668 { |
669 .ctl_name = NET_CIPSOV4_CACHE_BUCKET_SIZE, |
669 .ctl_name = NET_CIPSOV4_CACHE_BUCKET_SIZE, |
670 .procname = "cipso_cache_bucket_size", |
670 .procname = "cipso_cache_bucket_size", |
671 .data = &cipso_v4_cache_bucketsize, |
671 .data = &cipso_v4_cache_bucketsize, |
672 .maxlen = sizeof(int), |
672 .maxlen = sizeof(int), |
673 .mode = 0644, |
673 .mode = 0644, |
674 .proc_handler = &proc_dointvec, |
674 .proc_handler = proc_dointvec, |
675 }, |
675 }, |
676 { |
676 { |
677 .ctl_name = NET_CIPSOV4_RBM_OPTFMT, |
677 .ctl_name = NET_CIPSOV4_RBM_OPTFMT, |
678 .procname = "cipso_rbm_optfmt", |
678 .procname = "cipso_rbm_optfmt", |
679 .data = &cipso_v4_rbm_optfmt, |
679 .data = &cipso_v4_rbm_optfmt, |
680 .maxlen = sizeof(int), |
680 .maxlen = sizeof(int), |
681 .mode = 0644, |
681 .mode = 0644, |
682 .proc_handler = &proc_dointvec, |
682 .proc_handler = proc_dointvec, |
683 }, |
683 }, |
684 { |
684 { |
685 .ctl_name = NET_CIPSOV4_RBM_STRICTVALID, |
685 .ctl_name = NET_CIPSOV4_RBM_STRICTVALID, |
686 .procname = "cipso_rbm_strictvalid", |
686 .procname = "cipso_rbm_strictvalid", |
687 .data = &cipso_v4_rbm_strictvalid, |
687 .data = &cipso_v4_rbm_strictvalid, |
688 .maxlen = sizeof(int), |
688 .maxlen = sizeof(int), |
689 .mode = 0644, |
689 .mode = 0644, |
690 .proc_handler = &proc_dointvec, |
690 .proc_handler = proc_dointvec, |
691 }, |
691 }, |
692 #endif /* CONFIG_NETLABEL */ |
692 #endif /* CONFIG_NETLABEL */ |
693 { |
693 { |
694 .procname = "tcp_available_congestion_control", |
694 .procname = "tcp_available_congestion_control", |
695 .maxlen = TCP_CA_BUF_MAX, |
695 .maxlen = TCP_CA_BUF_MAX, |
696 .mode = 0444, |
696 .mode = 0444, |
697 .proc_handler = &proc_tcp_available_congestion_control, |
697 .proc_handler = proc_tcp_available_congestion_control, |
698 }, |
698 }, |
699 { |
699 { |
700 .ctl_name = NET_TCP_ALLOWED_CONG_CONTROL, |
700 .ctl_name = NET_TCP_ALLOWED_CONG_CONTROL, |
701 .procname = "tcp_allowed_congestion_control", |
701 .procname = "tcp_allowed_congestion_control", |
702 .maxlen = TCP_CA_BUF_MAX, |
702 .maxlen = TCP_CA_BUF_MAX, |
703 .mode = 0644, |
703 .mode = 0644, |
704 .proc_handler = &proc_allowed_congestion_control, |
704 .proc_handler = proc_allowed_congestion_control, |
705 .strategy = &strategy_allowed_congestion_control, |
705 .strategy = strategy_allowed_congestion_control, |
706 }, |
706 }, |
707 { |
707 { |
708 .ctl_name = NET_TCP_MAX_SSTHRESH, |
708 .ctl_name = NET_TCP_MAX_SSTHRESH, |
709 .procname = "tcp_max_ssthresh", |
709 .procname = "tcp_max_ssthresh", |
710 .data = &sysctl_tcp_max_ssthresh, |
710 .data = &sysctl_tcp_max_ssthresh, |
711 .maxlen = sizeof(int), |
711 .maxlen = sizeof(int), |
712 .mode = 0644, |
712 .mode = 0644, |
713 .proc_handler = &proc_dointvec, |
713 .proc_handler = proc_dointvec, |
714 }, |
714 }, |
715 { |
715 { |
716 .ctl_name = CTL_UNNUMBERED, |
716 .ctl_name = CTL_UNNUMBERED, |
717 .procname = "udp_mem", |
717 .procname = "udp_mem", |
718 .data = &sysctl_udp_mem, |
718 .data = &sysctl_udp_mem, |
719 .maxlen = sizeof(sysctl_udp_mem), |
719 .maxlen = sizeof(sysctl_udp_mem), |
720 .mode = 0644, |
720 .mode = 0644, |
721 .proc_handler = &proc_dointvec_minmax, |
721 .proc_handler = proc_dointvec_minmax, |
722 .strategy = &sysctl_intvec, |
722 .strategy = sysctl_intvec, |
723 .extra1 = &zero |
723 .extra1 = &zero |
724 }, |
724 }, |
725 { |
725 { |
726 .ctl_name = CTL_UNNUMBERED, |
726 .ctl_name = CTL_UNNUMBERED, |
727 .procname = "udp_rmem_min", |
727 .procname = "udp_rmem_min", |
728 .data = &sysctl_udp_rmem_min, |
728 .data = &sysctl_udp_rmem_min, |
729 .maxlen = sizeof(sysctl_udp_rmem_min), |
729 .maxlen = sizeof(sysctl_udp_rmem_min), |
730 .mode = 0644, |
730 .mode = 0644, |
731 .proc_handler = &proc_dointvec_minmax, |
731 .proc_handler = proc_dointvec_minmax, |
732 .strategy = &sysctl_intvec, |
732 .strategy = sysctl_intvec, |
733 .extra1 = &zero |
733 .extra1 = &zero |
734 }, |
734 }, |
735 { |
735 { |
736 .ctl_name = CTL_UNNUMBERED, |
736 .ctl_name = CTL_UNNUMBERED, |
737 .procname = "udp_wmem_min", |
737 .procname = "udp_wmem_min", |
738 .data = &sysctl_udp_wmem_min, |
738 .data = &sysctl_udp_wmem_min, |
739 .maxlen = sizeof(sysctl_udp_wmem_min), |
739 .maxlen = sizeof(sysctl_udp_wmem_min), |
740 .mode = 0644, |
740 .mode = 0644, |
741 .proc_handler = &proc_dointvec_minmax, |
741 .proc_handler = proc_dointvec_minmax, |
742 .strategy = &sysctl_intvec, |
742 .strategy = sysctl_intvec, |
743 .extra1 = &zero |
743 .extra1 = &zero |
744 }, |
744 }, |
745 { .ctl_name = 0 } |
745 { .ctl_name = 0 } |
746 }; |
746 }; |
747 |
747 |