net/ipv4/sysctl_net_ipv4.c
changeset 2 d1f6d8b6f81c
parent 0 aa628870c1d3
equal deleted inserted replaced
1:0056487c491e 2:d1f6d8b6f81c
   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 
   750 		.ctl_name	= NET_IPV4_ICMP_ECHO_IGNORE_ALL,
   750 		.ctl_name	= NET_IPV4_ICMP_ECHO_IGNORE_ALL,
   751 		.procname	= "icmp_echo_ignore_all",
   751 		.procname	= "icmp_echo_ignore_all",
   752 		.data		= &init_net.ipv4.sysctl_icmp_echo_ignore_all,
   752 		.data		= &init_net.ipv4.sysctl_icmp_echo_ignore_all,
   753 		.maxlen		= sizeof(int),
   753 		.maxlen		= sizeof(int),
   754 		.mode		= 0644,
   754 		.mode		= 0644,
   755 		.proc_handler	= &proc_dointvec
   755 		.proc_handler	= proc_dointvec
   756 	},
   756 	},
   757 	{
   757 	{
   758 		.ctl_name	= NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS,
   758 		.ctl_name	= NET_IPV4_ICMP_ECHO_IGNORE_BROADCASTS,
   759 		.procname	= "icmp_echo_ignore_broadcasts",
   759 		.procname	= "icmp_echo_ignore_broadcasts",
   760 		.data		= &init_net.ipv4.sysctl_icmp_echo_ignore_broadcasts,
   760 		.data		= &init_net.ipv4.sysctl_icmp_echo_ignore_broadcasts,
   761 		.maxlen		= sizeof(int),
   761 		.maxlen		= sizeof(int),
   762 		.mode		= 0644,
   762 		.mode		= 0644,
   763 		.proc_handler	= &proc_dointvec
   763 		.proc_handler	= proc_dointvec
   764 	},
   764 	},
   765 	{
   765 	{
   766 		.ctl_name	= NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES,
   766 		.ctl_name	= NET_IPV4_ICMP_IGNORE_BOGUS_ERROR_RESPONSES,
   767 		.procname	= "icmp_ignore_bogus_error_responses",
   767 		.procname	= "icmp_ignore_bogus_error_responses",
   768 		.data		= &init_net.ipv4.sysctl_icmp_ignore_bogus_error_responses,
   768 		.data		= &init_net.ipv4.sysctl_icmp_ignore_bogus_error_responses,
   769 		.maxlen		= sizeof(int),
   769 		.maxlen		= sizeof(int),
   770 		.mode		= 0644,
   770 		.mode		= 0644,
   771 		.proc_handler	= &proc_dointvec
   771 		.proc_handler	= proc_dointvec
   772 	},
   772 	},
   773 	{
   773 	{
   774 		.ctl_name	= NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR,
   774 		.ctl_name	= NET_IPV4_ICMP_ERRORS_USE_INBOUND_IFADDR,
   775 		.procname	= "icmp_errors_use_inbound_ifaddr",
   775 		.procname	= "icmp_errors_use_inbound_ifaddr",
   776 		.data		= &init_net.ipv4.sysctl_icmp_errors_use_inbound_ifaddr,
   776 		.data		= &init_net.ipv4.sysctl_icmp_errors_use_inbound_ifaddr,
   777 		.maxlen		= sizeof(int),
   777 		.maxlen		= sizeof(int),
   778 		.mode		= 0644,
   778 		.mode		= 0644,
   779 		.proc_handler	= &proc_dointvec
   779 		.proc_handler	= proc_dointvec
   780 	},
   780 	},
   781 	{
   781 	{
   782 		.ctl_name	= NET_IPV4_ICMP_RATELIMIT,
   782 		.ctl_name	= NET_IPV4_ICMP_RATELIMIT,
   783 		.procname	= "icmp_ratelimit",
   783 		.procname	= "icmp_ratelimit",
   784 		.data		= &init_net.ipv4.sysctl_icmp_ratelimit,
   784 		.data		= &init_net.ipv4.sysctl_icmp_ratelimit,
   785 		.maxlen		= sizeof(int),
   785 		.maxlen		= sizeof(int),
   786 		.mode		= 0644,
   786 		.mode		= 0644,
   787 		.proc_handler	= &proc_dointvec_ms_jiffies,
   787 		.proc_handler	= proc_dointvec_ms_jiffies,
   788 		.strategy	= &sysctl_ms_jiffies
   788 		.strategy	= sysctl_ms_jiffies
   789 	},
   789 	},
   790 	{
   790 	{
   791 		.ctl_name	= NET_IPV4_ICMP_RATEMASK,
   791 		.ctl_name	= NET_IPV4_ICMP_RATEMASK,
   792 		.procname	= "icmp_ratemask",
   792 		.procname	= "icmp_ratemask",
   793 		.data		= &init_net.ipv4.sysctl_icmp_ratemask,
   793 		.data		= &init_net.ipv4.sysctl_icmp_ratemask,
   794 		.maxlen		= sizeof(int),
   794 		.maxlen		= sizeof(int),
   795 		.mode		= 0644,
   795 		.mode		= 0644,
   796 		.proc_handler	= &proc_dointvec
   796 		.proc_handler	= proc_dointvec
       
   797 	},
       
   798 	{
       
   799 		.ctl_name	= CTL_UNNUMBERED,
       
   800 		.procname	= "rt_cache_rebuild_count",
       
   801 		.data		= &init_net.ipv4.sysctl_rt_cache_rebuild_count,
       
   802 		.maxlen		= sizeof(int),
       
   803 		.mode		= 0644,
       
   804 		.proc_handler	= proc_dointvec
   797 	},
   805 	},
   798 	{ }
   806 	{ }
   799 };
   807 };
   800 
   808 
   801 struct ctl_path net_ipv4_ctl_path[] = {
   809 struct ctl_path net_ipv4_ctl_path[] = {
   825 			&net->ipv4.sysctl_icmp_errors_use_inbound_ifaddr;
   833 			&net->ipv4.sysctl_icmp_errors_use_inbound_ifaddr;
   826 		table[4].data =
   834 		table[4].data =
   827 			&net->ipv4.sysctl_icmp_ratelimit;
   835 			&net->ipv4.sysctl_icmp_ratelimit;
   828 		table[5].data =
   836 		table[5].data =
   829 			&net->ipv4.sysctl_icmp_ratemask;
   837 			&net->ipv4.sysctl_icmp_ratemask;
       
   838 		table[6].data =
       
   839 			&net->ipv4.sysctl_rt_cache_rebuild_count;
   830 	}
   840 	}
       
   841 
       
   842 	net->ipv4.sysctl_rt_cache_rebuild_count = 4;
   831 
   843 
   832 	net->ipv4.ipv4_hdr = register_net_sysctl_table(net,
   844 	net->ipv4.ipv4_hdr = register_net_sysctl_table(net,
   833 			net_ipv4_ctl_path, table);
   845 			net_ipv4_ctl_path, table);
   834 	if (net->ipv4.ipv4_hdr == NULL)
   846 	if (net->ipv4.ipv4_hdr == NULL)
   835 		goto err_reg;
   847 		goto err_reg;