1 /proc/sys/net/ipv4/* Variables:
7 Forward Packets between interfaces.
9 This variable is special, its change resets all configuration
10 parameters to their default state (RFC1122 for hosts, RFC1812
13 ip_default_ttl - INTEGER
16 ip_no_pmtu_disc - BOOLEAN
17 Disable Path MTU Discovery.
21 default 562 - minimum discovered Path MTU
23 route/max_size - INTEGER
24 Maximum number of routes allowed in the kernel. Increase
25 this when using large numbers of interfaces and/or routes.
27 neigh/default/gc_thresh3 - INTEGER
28 Maximum number of neighbor entries allowed. Increase this
29 when using large numbers of interfaces and when communicating
30 with large numbers of directly-connected peers.
33 Time, in seconds, that cached PMTU information is kept.
36 The advertised MSS depends on the first hop route MTU, but will
37 never be lower than this setting.
39 rt_cache_rebuild_count - INTEGER
40 The per net-namespace route cache emergency rebuild threshold.
41 Any net-namespace having its route cache rebuilt due to
42 a hash bucket chain being too long more than this many times
43 will have its route caching disabled
47 ipfrag_high_thresh - INTEGER
48 Maximum memory used to reassemble IP fragments. When
49 ipfrag_high_thresh bytes of memory is allocated for this purpose,
50 the fragment handler will toss packets until ipfrag_low_thresh
53 ipfrag_low_thresh - INTEGER
54 See ipfrag_high_thresh
57 Time in seconds to keep an IP fragment in memory.
59 ipfrag_secret_interval - INTEGER
60 Regeneration interval (in seconds) of the hash secret (or lifetime
61 for the hash secret) for IP fragments.
64 ipfrag_max_dist - INTEGER
65 ipfrag_max_dist is a non-negative integer value which defines the
66 maximum "disorder" which is allowed among fragments which share a
67 common IP source address. Note that reordering of packets is
68 not unusual, but if a large number of fragments arrive from a source
69 IP address while a particular fragment queue remains incomplete, it
70 probably indicates that one or more fragments belonging to that queue
71 have been lost. When ipfrag_max_dist is positive, an additional check
72 is done on fragments before they are added to a reassembly queue - if
73 ipfrag_max_dist (or more) fragments have arrived from a particular IP
74 address between additions to any IP fragment queue using that source
75 address, it's presumed that one or more fragments in the queue are
76 lost. The existing fragment queue will be dropped, and a new one
77 started. An ipfrag_max_dist value of zero disables this check.
79 Using a very small value, e.g. 1 or 2, for ipfrag_max_dist can
80 result in unnecessarily dropping fragment queues when normal
81 reordering of packets occurs, which could lead to poor application
82 performance. Using a very large value, e.g. 50000, increases the
83 likelihood of incorrectly reassembling IP fragments that originate
84 from different IP datagrams, which could result in data corruption.
89 inet_peer_threshold - INTEGER
90 The approximate size of the storage. Starting from this threshold
91 entries will be thrown aggressively. This threshold also determines
92 entries' time-to-live and time intervals between garbage collection
93 passes. More entries, less time-to-live, less GC interval.
95 inet_peer_minttl - INTEGER
96 Minimum time-to-live of entries. Should be enough to cover fragment
97 time-to-live on the reassembling side. This minimum time-to-live is
98 guaranteed if the pool size is less than inet_peer_threshold.
101 inet_peer_maxttl - INTEGER
102 Maximum time-to-live of entries. Unused entries will expire after
103 this period of time if there is no memory pressure on the pool (i.e.
104 when the number of entries in the pool is very small).
107 inet_peer_gc_mintime - INTEGER
108 Minimum interval between garbage collection passes. This interval is
109 in effect under high memory pressure on the pool.
112 inet_peer_gc_maxtime - INTEGER
113 Minimum interval between garbage collection passes. This interval is
114 in effect under low (or absent) memory pressure on the pool.
120 Limit of socket listen() backlog, known in userspace as SOMAXCONN.
121 Defaults to 128. See also tcp_max_syn_backlog for additional tuning
125 Controls Appropriate Byte Count (ABC) defined in RFC3465.
126 ABC is a way of increasing congestion window (cwnd) more slowly
127 in response to partial acknowledgments.
129 0 increase cwnd once per acknowledgment (no ABC)
130 1 increase cwnd once per acknowledgment of full sized segment
131 2 allow increase cwnd by two if acknowledgment is
132 of two segments to compensate for delayed acknowledgments.
135 tcp_abort_on_overflow - BOOLEAN
136 If listening service is too slow to accept new connections,
137 reset them. Default state is FALSE. It means that if overflow
138 occurred due to a burst, connection will recover. Enable this
139 option _only_ if you are really sure that listening daemon
140 cannot be tuned to accept connections faster. Enabling this
141 option can harm clients of your server.
143 tcp_adv_win_scale - INTEGER
144 Count buffering overhead as bytes/2^tcp_adv_win_scale
145 (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale),
149 tcp_allowed_congestion_control - STRING
150 Show/set the congestion control choices available to non-privileged
151 processes. The list is a subset of those listed in
152 tcp_available_congestion_control.
153 Default is "reno" and the default setting (tcp_congestion_control).
155 tcp_app_win - INTEGER
156 Reserve max(window/2^tcp_app_win, mss) of window for application
157 buffer. Value 0 is special, it means that nothing is reserved.
160 tcp_available_congestion_control - STRING
161 Shows the available congestion control choices that are registered.
162 More congestion control algorithms may be available as modules,
165 tcp_base_mss - INTEGER
166 The initial value of search_low to be used by the packetization layer
167 Path MTU discovery (MTU probing). If MTU probing is enabled,
168 this is the initial MSS used by the connection.
170 tcp_congestion_control - STRING
171 Set the congestion control algorithm to be used for new
172 connections. The algorithm "reno" is always available, but
173 additional choices may be available based on kernel configuration.
174 Default is set as part of kernel configuration.
176 tcp_cookie_size - INTEGER
177 Default size of TCP Cookie Transactions (TCPCT) option, that may be
178 overridden on a per socket basis by the TCPCT socket option.
179 Values greater than the maximum (16) are interpreted as the maximum.
180 Values greater than zero and less than the minimum (8) are interpreted
181 as the minimum. Odd values are interpreted as the next even value.
185 Allows TCP to send "duplicate" SACKs.
188 Enable Explicit Congestion Notification (ECN) in TCP. ECN is only
189 used when both ends of the TCP flow support it. It is useful to
190 avoid losses due to congestion (when the bottleneck router supports
195 2 Only server-side ECN enabled. If the other end does
196 not support ECN, behavior is like with ECN disabled.
200 Enable FACK congestion avoidance and fast retransmission.
201 The value is not used, if tcp_sack is not enabled.
203 tcp_fin_timeout - INTEGER
204 Time to hold socket in state FIN-WAIT-2, if it was closed
205 by our side. Peer can be broken and never close its side,
206 or even died unexpectedly. Default value is 60sec.
207 Usual value used in 2.2 was 180 seconds, you may restore
208 it, but remember that if your machine is even underloaded WEB server,
209 you risk to overflow memory with kilotons of dead sockets,
210 FIN-WAIT-2 sockets are less dangerous than FIN-WAIT-1,
211 because they eat maximum 1.5K of memory, but they tend
212 to live longer. Cf. tcp_max_orphans.
215 Enables Forward RTO-Recovery (F-RTO) defined in RFC4138.
216 F-RTO is an enhanced recovery algorithm for TCP retransmission
217 timeouts. It is particularly beneficial in wireless environments
218 where packet loss is typically due to random radio interference
219 rather than intermediate router congestion. F-RTO is sender-side
220 only modification. Therefore it does not require any support from
223 If set to 1, basic version is enabled. 2 enables SACK enhanced
224 F-RTO if flow uses SACK. The basic version can be used also when
225 SACK is in use though scenario(s) with it exists where F-RTO
226 interacts badly with the packet counting of the SACK enabled TCP
229 tcp_frto_response - INTEGER
230 When F-RTO has detected that a TCP retransmission timeout was
231 spurious (i.e, the timeout would have been avoided had TCP set a
232 longer retransmission timeout), TCP has several options what to do
233 next. Possible values are:
234 0 Rate halving based; a smooth and conservative response,
235 results in halved cwnd and ssthresh after one RTT
236 1 Very conservative response; not recommended because even
237 though being valid, it interacts poorly with the rest of
238 Linux TCP, halves cwnd and ssthresh immediately
239 2 Aggressive response; undoes congestion control measures
240 that are now known to be unnecessary (ignoring the
241 possibility of a lost retransmission that would require
242 TCP to be more cautious), cwnd and ssthresh are restored
243 to the values prior timeout
244 Default: 0 (rate halving based)
246 tcp_keepalive_time - INTEGER
247 How often TCP sends out keepalive messages when keepalive is enabled.
250 tcp_keepalive_probes - INTEGER
251 How many keepalive probes TCP sends out, until it decides that the
252 connection is broken. Default value: 9.
254 tcp_keepalive_intvl - INTEGER
255 How frequently the probes are send out. Multiplied by
256 tcp_keepalive_probes it is time to kill not responding connection,
257 after probes started. Default value: 75sec i.e. connection
258 will be aborted after ~11 minutes of retries.
260 tcp_low_latency - BOOLEAN
261 If set, the TCP stack makes decisions that prefer lower
262 latency as opposed to higher throughput. By default, this
263 option is not set meaning that higher throughput is preferred.
264 An example of an application where this default should be
265 changed would be a Beowulf compute cluster.
268 tcp_max_orphans - INTEGER
269 Maximal number of TCP sockets not attached to any user file handle,
270 held by system. If this number is exceeded orphaned connections are
271 reset immediately and warning is printed. This limit exists
272 only to prevent simple DoS attacks, you _must_ not rely on this
273 or lower the limit artificially, but rather increase it
274 (probably, after increasing installed memory),
275 if network conditions require more than default value,
276 and tune network services to linger and kill such states
277 more aggressively. Let me to remind again: each orphan eats
278 up to ~64K of unswappable memory.
280 tcp_max_syn_backlog - INTEGER
281 Maximal number of remembered connection requests, which are
282 still did not receive an acknowledgment from connecting client.
283 Default value is 1024 for systems with more than 128Mb of memory,
284 and 128 for low memory machines. If server suffers of overload,
285 try to increase this number.
287 tcp_max_tw_buckets - INTEGER
288 Maximal number of timewait sockets held by system simultaneously.
289 If this number is exceeded time-wait socket is immediately destroyed
290 and warning is printed. This limit exists only to prevent
291 simple DoS attacks, you _must_ not lower the limit artificially,
292 but rather increase it (probably, after increasing installed memory),
293 if network conditions require more than default value.
295 tcp_mem - vector of 3 INTEGERs: min, pressure, max
296 min: below this number of pages TCP is not bothered about its
299 pressure: when amount of memory allocated by TCP exceeds this number
300 of pages, TCP moderates its memory consumption and enters memory
301 pressure mode, which is exited when memory consumption falls
304 max: number of pages allowed for queueing by all TCP sockets.
306 Defaults are calculated at boot time from amount of available
309 tcp_moderate_rcvbuf - BOOLEAN
310 If set, TCP performs receive buffer auto-tuning, attempting to
311 automatically size the buffer (no greater than tcp_rmem[2]) to
312 match the size required by the path for full throughput. Enabled by
315 tcp_mtu_probing - INTEGER
316 Controls TCP Packetization-Layer Path MTU Discovery. Takes three
319 1 - Disabled by default, enabled when an ICMP black hole detected
320 2 - Always enabled, use initial MSS of tcp_base_mss.
322 tcp_no_metrics_save - BOOLEAN
323 By default, TCP saves various connection metrics in the route cache
324 when the connection closes, so that connections established in the
325 near future can use these to set initial conditions. Usually, this
326 increases overall performance, but may sometimes cause performance
327 degradation. If set, TCP will not cache metrics on closing
330 tcp_orphan_retries - INTEGER
331 This value influences the timeout of a locally closed TCP connection,
332 when RTO retransmissions remain unacknowledged.
333 See tcp_retries2 for more details.
335 The default value is 7.
336 If your machine is a loaded WEB server,
337 you should think about lowering this value, such sockets
338 may consume significant resources. Cf. tcp_max_orphans.
340 tcp_reordering - INTEGER
341 Maximal reordering of packets in a TCP stream.
344 tcp_retrans_collapse - BOOLEAN
345 Bug-to-bug compatibility with some broken printers.
346 On retransmit try to send bigger packets to work around bugs in
349 tcp_retries1 - INTEGER
350 This value influences the time, after which TCP decides, that
351 something is wrong due to unacknowledged RTO retransmissions,
352 and reports this suspicion to the network layer.
353 See tcp_retries2 for more details.
355 RFC 1122 recommends at least 3 retransmissions, which is the
358 tcp_retries2 - INTEGER
359 This value influences the timeout of an alive TCP connection,
360 when RTO retransmissions remain unacknowledged.
361 Given a value of N, a hypothetical TCP connection following
362 exponential backoff with an initial RTO of TCP_RTO_MIN would
363 retransmit N times before killing the connection at the (N+1)th RTO.
365 The default value of 15 yields a hypothetical timeout of 924.6
366 seconds and is a lower bound for the effective timeout.
367 TCP will effectively time out at the first RTO which exceeds the
368 hypothetical timeout.
370 RFC 1122 recommends at least 100 seconds for the timeout,
371 which corresponds to a value of at least 8.
373 tcp_rfc1337 - BOOLEAN
374 If set, the TCP stack behaves conforming to RFC1337. If unset,
375 we are not conforming to RFC, but prevent TCP TIME_WAIT
379 tcp_rmem - vector of 3 INTEGERs: min, default, max
380 min: Minimal size of receive buffer used by TCP sockets.
381 It is guaranteed to each TCP socket, even under moderate memory
385 default: initial size of receive buffer used by TCP sockets.
386 This value overrides net.core.rmem_default used by other protocols.
387 Default: 87380 bytes. This value results in window of 65535 with
388 default setting of tcp_adv_win_scale and tcp_app_win:0 and a bit
389 less for default tcp_app_win. See below about these variables.
391 max: maximal size of receive buffer allowed for automatically
392 selected receiver buffers for TCP socket. This value does not override
393 net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables
394 automatic tuning of that socket's receive buffer size, in which
395 case this value is ignored.
396 Default: between 87380B and 4MB, depending on RAM size.
399 Enable select acknowledgments (SACKS).
401 tcp_slow_start_after_idle - BOOLEAN
402 If set, provide RFC2861 behavior and time out the congestion
403 window after an idle period. An idle period is defined at
404 the current RTO. If unset, the congestion window will not
405 be timed out after an idle period.
409 Use the Host requirements interpretation of the TCP urgent pointer field.
410 Most hosts use the older BSD interpretation, so if you turn this on
411 Linux might not communicate correctly with them.
414 tcp_synack_retries - INTEGER
415 Number of times SYNACKs for a passive TCP connection attempt will
416 be retransmitted. Should not be higher than 255. Default value
417 is 5, which corresponds to ~180seconds.
419 tcp_syncookies - BOOLEAN
420 Only valid when the kernel was compiled with CONFIG_SYNCOOKIES
421 Send out syncookies when the syn backlog queue of a socket
422 overflows. This is to prevent against the common 'SYN flood attack'
425 Note, that syncookies is fallback facility.
426 It MUST NOT be used to help highly loaded servers to stand
427 against legal connection rate. If you see SYN flood warnings
428 in your logs, but investigation shows that they occur
429 because of overload with legal connections, you should tune
430 another parameters until this warning disappear.
431 See: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.
433 syncookies seriously violate TCP protocol, do not allow
434 to use TCP extensions, can result in serious degradation
435 of some services (f.e. SMTP relaying), visible not by you,
436 but your clients and relays, contacting you. While you see
437 SYN flood warnings in logs not being really flooded, your server
438 is seriously misconfigured.
440 tcp_syn_retries - INTEGER
441 Number of times initial SYNs for an active TCP connection attempt
442 will be retransmitted. Should not be higher than 255. Default value
443 is 5, which corresponds to ~180seconds.
445 tcp_timestamps - BOOLEAN
446 Enable timestamps as defined in RFC1323.
448 tcp_tso_win_divisor - INTEGER
449 This allows control over what percentage of the congestion window
450 can be consumed by a single TSO frame.
451 The setting of this parameter is a choice between burstiness and
452 building larger TSO frames.
455 tcp_tw_recycle - BOOLEAN
456 Enable fast recycling TIME-WAIT sockets. Default value is 0.
457 It should not be changed without advice/request of technical
460 tcp_tw_reuse - BOOLEAN
461 Allow to reuse TIME-WAIT sockets for new connections when it is
462 safe from protocol viewpoint. Default value is 0.
463 It should not be changed without advice/request of technical
466 tcp_window_scaling - BOOLEAN
467 Enable window scaling as defined in RFC1323.
469 tcp_wmem - vector of 3 INTEGERs: min, default, max
470 min: Amount of memory reserved for send buffers for TCP sockets.
471 Each TCP socket has rights to use it due to fact of its birth.
474 default: initial size of send buffer used by TCP sockets. This
475 value overrides net.core.wmem_default used by other protocols.
476 It is usually lower than net.core.wmem_default.
479 max: Maximal amount of memory allowed for automatically tuned
480 send buffers for TCP sockets. This value does not override
481 net.core.wmem_max. Calling setsockopt() with SO_SNDBUF disables
482 automatic tuning of that socket's send buffer size, in which case
483 this value is ignored.
484 Default: between 64K and 4MB, depending on RAM size.
486 tcp_workaround_signed_windows - BOOLEAN
487 If set, assume no receipt of a window scaling option means the
488 remote TCP is broken and treats the window as a signed quantity.
489 If unset, assume the remote TCP is not broken even if we do
490 not receive a window scaling option from them.
493 tcp_dma_copybreak - INTEGER
494 Lower limit, in bytes, of the size of socket reads that will be
495 offloaded to a DMA copy engine, if one is present in the system
496 and CONFIG_NET_DMA is enabled.
499 tcp_thin_linear_timeouts - BOOLEAN
500 Enable dynamic triggering of linear timeouts for thin streams.
501 If set, a check is performed upon retransmission by timeout to
502 determine if the stream is thin (less than 4 packets in flight).
503 As long as the stream is found to be thin, up to 6 linear
504 timeouts may be performed before exponential backoff mode is
505 initiated. This improves retransmission latency for
506 non-aggressive thin streams, often found to be time-dependent.
507 For more information on thin streams, see
508 Documentation/networking/tcp-thin.txt
511 tcp_thin_dupack - BOOLEAN
512 Enable dynamic triggering of retransmissions after one dupACK
513 for thin streams. If set, a check is performed upon reception
514 of a dupACK to determine if the stream is thin (less than 4
515 packets in flight). As long as the stream is found to be thin,
516 data is retransmitted on the first received dupACK. This
517 improves retransmission latency for non-aggressive thin
518 streams, often found to be time-dependent.
519 For more information on thin streams, see
520 Documentation/networking/tcp-thin.txt
525 udp_mem - vector of 3 INTEGERs: min, pressure, max
526 Number of pages allowed for queueing by all UDP sockets.
528 min: Below this number of pages UDP is not bothered about its
529 memory appetite. When amount of memory allocated by UDP exceeds
530 this number, UDP starts to moderate memory usage.
532 pressure: This value was introduced to follow format of tcp_mem.
534 max: Number of pages allowed for queueing by all UDP sockets.
536 Default is calculated at boot time from amount of available memory.
538 udp_rmem_min - INTEGER
539 Minimal size of receive buffer used by UDP sockets in moderation.
540 Each UDP socket is able to use the size for receiving data, even if
541 total pages of UDP sockets exceed udp_mem pressure. The unit is byte.
544 udp_wmem_min - INTEGER
545 Minimal size of send buffer used by UDP sockets in moderation.
546 Each UDP socket is able to use the size for sending data, even if
547 total pages of UDP sockets exceed udp_mem pressure. The unit is byte.
552 cipso_cache_enable - BOOLEAN
553 If set, enable additions to and lookups from the CIPSO label mapping
554 cache. If unset, additions are ignored and lookups always result in a
555 miss. However, regardless of the setting the cache is still
556 invalidated when required when means you can safely toggle this on and
557 off and the cache will always be "safe".
560 cipso_cache_bucket_size - INTEGER
561 The CIPSO label cache consists of a fixed size hash table with each
562 hash bucket containing a number of cache entries. This variable limits
563 the number of entries in each hash bucket; the larger the value the
564 more CIPSO label mappings that can be cached. When the number of
565 entries in a given hash bucket reaches this limit adding new entries
566 causes the oldest entry in the bucket to be removed to make room.
569 cipso_rbm_optfmt - BOOLEAN
570 Enable the "Optimized Tag 1 Format" as defined in section 3.4.2.6 of
571 the CIPSO draft specification (see Documentation/netlabel for details).
572 This means that when set the CIPSO tag will be padded with empty
573 categories in order to make the packet data 32-bit aligned.
576 cipso_rbm_structvalid - BOOLEAN
577 If set, do a very strict check of the CIPSO option when
578 ip_options_compile() is called. If unset, relax the checks done during
579 ip_options_compile(). Either way is "safe" as errors are caught else
580 where in the CIPSO processing code but setting this to 0 (False) should
581 result in less work (i.e. it should be faster) but could cause problems
582 with other implementations that require strict checking.
587 ip_local_port_range - 2 INTEGERS
588 Defines the local port range that is used by TCP and UDP to
589 choose the local port. The first number is the first, the
590 second the last local port number. Default value depends on
591 amount of memory available on the system:
593 < 128Mb 1024-4999 or even less.
594 This number defines number of active connections, which this
595 system can issue simultaneously to systems not supporting
596 TCP extensions (timestamps). With tcp_tw_recycle enabled
597 (i.e. by default) range 1024-4999 is enough to issue up to
598 2000 connections per second to systems supporting timestamps.
600 ip_local_reserved_ports - list of comma separated ranges
601 Specify the ports which are reserved for known third-party
602 applications. These ports will not be used by automatic port
603 assignments (e.g. when calling connect() or bind() with port
604 number 0). Explicit port allocation behavior is unchanged.
606 The format used for both input and output is a comma separated
607 list of ranges (e.g. "1,2-4,10-10" for ports 1, 2, 3, 4 and
608 10). Writing to the file will clear all previously reserved
609 ports and update the current list with the one given in the
612 Note that ip_local_port_range and ip_local_reserved_ports
613 settings are independent and both are considered by the kernel
614 when determining which ports are available for automatic port
617 You can reserve ports which are not in the current
618 ip_local_port_range, e.g.:
620 $ cat /proc/sys/net/ipv4/ip_local_port_range
622 $ cat /proc/sys/net/ipv4/ip_local_reserved_ports
625 although this is redundant. However such a setting is useful
626 if later the port range is changed to a value that will
627 include the reserved ports.
631 ip_nonlocal_bind - BOOLEAN
632 If set, allows processes to bind() to non-local IP addresses,
633 which can be quite useful - but may break some applications.
637 If set non-zero, enables support for dynamic addresses.
638 If set to a non-zero value larger than 1, a kernel log
639 message will be printed when dynamic address rewriting
643 icmp_echo_ignore_all - BOOLEAN
644 If set non-zero, then the kernel will ignore all ICMP ECHO
648 icmp_echo_ignore_broadcasts - BOOLEAN
649 If set non-zero, then the kernel will ignore all ICMP ECHO and
650 TIMESTAMP requests sent to it via broadcast/multicast.
653 icmp_ratelimit - INTEGER
654 Limit the maximal rates for sending ICMP packets whose type matches
655 icmp_ratemask (see below) to specific targets.
656 0 to disable any limiting,
657 otherwise the minimal space between responses in milliseconds.
660 icmp_ratemask - INTEGER
661 Mask made of ICMP types for which rates are being limited.
662 Significant bits: IHGFEDCBA9876543210
663 Default mask: 0000001100000011000 (6168)
665 Bit definitions (see include/linux/icmp.h):
667 3 Destination Unreachable *
672 C Parameter Problem *
677 H Address Mask Request
680 * These are rate limited by default (see default mask above)
682 icmp_ignore_bogus_error_responses - BOOLEAN
683 Some routers violate RFC1122 by sending bogus responses to broadcast
684 frames. Such violations are normally logged via a kernel warning.
685 If this is set to TRUE, the kernel will not give such warnings, which
686 will avoid log file clutter.
689 icmp_errors_use_inbound_ifaddr - BOOLEAN
691 If zero, icmp error messages are sent with the primary address of
692 the exiting interface.
694 If non-zero, the message will be sent with the primary address of
695 the interface that received the packet that caused the icmp error.
696 This is the behaviour network many administrators will expect from
697 a router. And it can make debugging complicated network layouts
700 Note that if no primary address exists for the interface selected,
701 then the primary address of the first non-loopback interface that
702 has one will be used regardless of this setting.
706 igmp_max_memberships - INTEGER
707 Change the maximum number of multicast groups we can subscribe to.
710 conf/interface/* changes special settings per interface (where "interface" is
711 the name of your network interface)
712 conf/all/* is special, changes the settings for all interfaces
715 log_martians - BOOLEAN
716 Log packets with impossible addresses to kernel log.
717 log_martians for the interface will be enabled if at least one of
718 conf/{all,interface}/log_martians is set to TRUE,
719 it will be disabled otherwise
721 accept_redirects - BOOLEAN
722 Accept ICMP redirect messages.
723 accept_redirects for the interface will be enabled if:
724 - both conf/{all,interface}/accept_redirects are TRUE in the case
725 forwarding for the interface is enabled
727 - at least one of conf/{all,interface}/accept_redirects is TRUE in the
728 case forwarding for the interface is disabled
729 accept_redirects for the interface will be disabled otherwise
734 Enable IP forwarding on this interface.
736 mc_forwarding - BOOLEAN
737 Do multicast routing. The kernel needs to be compiled with CONFIG_MROUTE
738 and a multicast routing daemon is required.
739 conf/all/mc_forwarding must also be set to TRUE to enable multicast
740 routing for the interface
743 Integer value used to differentiate the devices by the medium they
744 are attached to. Two devices can have different id values when
745 the broadcast packets are received only on one of them.
746 The default value 0 means that the device is the only interface
747 to its medium, value of -1 means that medium is not known.
749 Currently, it is used to change the proxy_arp behavior:
750 the proxy_arp feature is enabled for packets forwarded between
751 two devices attached to different media.
755 proxy_arp for the interface will be enabled if at least one of
756 conf/{all,interface}/proxy_arp is set to TRUE,
757 it will be disabled otherwise
759 proxy_arp_pvlan - BOOLEAN
760 Private VLAN proxy arp.
761 Basically allow proxy arp replies back to the same interface
762 (from which the ARP request/solicitation was received).
764 This is done to support (ethernet) switch features, like RFC
765 3069, where the individual ports are NOT allowed to
766 communicate with each other, but they are allowed to talk to
767 the upstream router. As described in RFC 3069, it is possible
768 to allow these hosts to communicate through the upstream
769 router by proxy_arp'ing. Don't need to be used together with
772 This technology is known by different names:
773 In RFC 3069 it is called VLAN Aggregation.
774 Cisco and Allied Telesyn call it Private VLAN.
775 Hewlett-Packard call it Source-Port filtering or port-isolation.
776 Ericsson call it MAC-Forced Forwarding (RFC Draft).
778 shared_media - BOOLEAN
779 Send(router) or accept(host) RFC1620 shared media redirects.
780 Overrides ip_secure_redirects.
781 shared_media for the interface will be enabled if at least one of
782 conf/{all,interface}/shared_media is set to TRUE,
783 it will be disabled otherwise
786 secure_redirects - BOOLEAN
787 Accept ICMP redirect messages only for gateways,
788 listed in default gateway list.
789 secure_redirects for the interface will be enabled if at least one of
790 conf/{all,interface}/secure_redirects is set to TRUE,
791 it will be disabled otherwise
794 send_redirects - BOOLEAN
795 Send redirects, if router.
796 send_redirects for the interface will be enabled if at least one of
797 conf/{all,interface}/send_redirects is set to TRUE,
798 it will be disabled otherwise
801 bootp_relay - BOOLEAN
802 Accept packets with source address 0.b.c.d destined
803 not to this host as local ones. It is supposed, that
804 BOOTP relay daemon will catch and forward such packets.
805 conf/all/bootp_relay must also be set to TRUE to enable BOOTP relay
810 accept_source_route - BOOLEAN
811 Accept packets with SRR option.
812 conf/all/accept_source_route must also be set to TRUE to accept packets
813 with SRR option on the interface
814 default TRUE (router)
817 accept_local - BOOLEAN
818 Accept packets with local source addresses. In combination with
819 suitable routing, this can be used to direct packets between two
820 local interfaces over the wire and have them accepted properly.
824 0 - No source validation.
825 1 - Strict mode as defined in RFC3704 Strict Reverse Path
826 Each incoming packet is tested against the FIB and if the interface
827 is not the best reverse path the packet check will fail.
828 By default failed packets are discarded.
829 2 - Loose mode as defined in RFC3704 Loose Reverse Path
830 Each incoming packet's source address is also tested against the FIB
831 and if the source address is not reachable via any interface
832 the packet check will fail.
834 Current recommended practice in RFC3704 is to enable strict mode
835 to prevent IP spoofing from DDos attacks. If using asymmetric routing
836 or other complicated routing, then loose mode is recommended.
838 The max value from conf/{all,interface}/rp_filter is used
839 when doing source validation on the {interface}.
841 Default value is 0. Note that some distributions enable it
845 1 - Allows you to have multiple network interfaces on the same
846 subnet, and have the ARPs for each interface be answered
847 based on whether or not the kernel would route a packet from
848 the ARP'd IP out that interface (therefore you must use source
849 based routing for this to work). In other words it allows control
850 of which cards (usually 1) will respond to an arp request.
852 0 - (default) The kernel can respond to arp requests with addresses
853 from other interfaces. This may seem wrong but it usually makes
854 sense, because it increases the chance of successful communication.
855 IP addresses are owned by the complete host on Linux, not by
856 particular interfaces. Only for more complex setups like load-
857 balancing, does this behaviour cause problems.
859 arp_filter for the interface will be enabled if at least one of
860 conf/{all,interface}/arp_filter is set to TRUE,
861 it will be disabled otherwise
863 arp_announce - INTEGER
864 Define different restriction levels for announcing the local
865 source IP address from IP packets in ARP requests sent on
867 0 - (default) Use any local address, configured on any interface
868 1 - Try to avoid local addresses that are not in the target's
869 subnet for this interface. This mode is useful when target
870 hosts reachable via this interface require the source IP
871 address in ARP requests to be part of their logical network
872 configured on the receiving interface. When we generate the
873 request we will check all our subnets that include the
874 target IP and will preserve the source address if it is from
875 such subnet. If there is no such subnet we select source
876 address according to the rules for level 2.
877 2 - Always use the best local address for this target.
878 In this mode we ignore the source address in the IP packet
879 and try to select local address that we prefer for talks with
880 the target host. Such local address is selected by looking
881 for primary IP addresses on all our subnets on the outgoing
882 interface that include the target IP address. If no suitable
883 local address is found we select the first local address
884 we have on the outgoing interface or on all other interfaces,
885 with the hope we will receive reply for our request and
886 even sometimes no matter the source IP address we announce.
888 The max value from conf/{all,interface}/arp_announce is used.
890 Increasing the restriction level gives more chance for
891 receiving answer from the resolved target while decreasing
892 the level announces more valid sender's information.
895 Define different modes for sending replies in response to
896 received ARP requests that resolve local target IP addresses:
897 0 - (default): reply for any local target IP address, configured
899 1 - reply only if the target IP address is local address
900 configured on the incoming interface
901 2 - reply only if the target IP address is local address
902 configured on the incoming interface and both with the
903 sender's IP address are part from same subnet on this interface
904 3 - do not reply for local addresses configured with scope host,
905 only resolutions for global and link addresses are replied
907 8 - do not reply for all local addresses
909 The max value from conf/{all,interface}/arp_ignore is used
910 when ARP request is received on the {interface}
913 Define mode for notification of address and device changes.
914 0 - (default): do nothing
915 1 - Generate gratuitous arp requests when device is brought up
916 or hardware address changes.
919 Define behavior for gratuitous ARP frames who's IP is not
920 already present in the ARP table:
921 0 - don't create new entries in the ARP table
922 1 - create new entries in the ARP table
924 Both replies and requests type gratuitous arp will trigger the
925 ARP table to be updated, if this setting is on.
927 If the ARP table already contains the IP address of the
928 gratuitous arp frame, the arp table will be updated regardless
929 if this setting is on or off.
932 app_solicit - INTEGER
933 The maximum number of probes to send to the user space ARP daemon
934 via netlink before dropping back to multicast probes (see
935 mcast_solicit). Defaults to 0.
937 disable_policy - BOOLEAN
938 Disable IPSEC policy (SPD) for this interface
940 disable_xfrm - BOOLEAN
941 Disable IPSEC encryption on this interface, whatever the policy
946 Allows you to write a number, which can be used as required.
956 delon.nicolas@wanadoo.fr
961 /proc/sys/net/ipv6/* Variables:
963 IPv6 has no global variables such as tcp_*. tcp_* settings under ipv4/ also
964 apply to IPv6 [XXX?].
967 Default value for IPV6_V6ONLY socket option,
968 which restricts use of the IPv6 socket to IPv6 communication
970 TRUE: disable IPv4-mapped address feature
971 FALSE: enable IPv4-mapped address feature
973 Default: FALSE (as specified in RFC2553bis)
977 ip6frag_high_thresh - INTEGER
978 Maximum memory used to reassemble IPv6 fragments. When
979 ip6frag_high_thresh bytes of memory is allocated for this purpose,
980 the fragment handler will toss packets until ip6frag_low_thresh
983 ip6frag_low_thresh - INTEGER
984 See ip6frag_high_thresh
986 ip6frag_time - INTEGER
987 Time in seconds to keep an IPv6 fragment in memory.
989 ip6frag_secret_interval - INTEGER
990 Regeneration interval (in seconds) of the hash secret (or lifetime
991 for the hash secret) for IPv6 fragments.
995 Change the interface-specific default settings.
999 Change all the interface-specific settings.
1001 [XXX: Other special features than forwarding?]
1003 conf/all/forwarding - BOOLEAN
1004 Enable global IPv6 forwarding between all interfaces.
1006 IPv4 and IPv6 work differently here; e.g. netfilter must be used
1007 to control which interfaces may forward packets and which not.
1009 This also sets all interfaces' Host/Router setting
1010 'forwarding' to the specified value. See below for details.
1012 This referred to as global forwarding.
1018 Change special settings per interface.
1020 The functional behaviour for certain settings is different
1021 depending on whether local forwarding is enabled or not.
1024 Accept Router Advertisements; autoconfigure using them.
1026 Possible values are:
1027 0 Do not accept Router Advertisements.
1028 1 Accept Router Advertisements if forwarding is disabled.
1029 2 Overrule forwarding behaviour. Accept Router Advertisements
1030 even if forwarding is enabled.
1032 Functional default: enabled if local forwarding is disabled.
1033 disabled if local forwarding is enabled.
1035 accept_ra_defrtr - BOOLEAN
1036 Learn default router in Router Advertisement.
1038 Functional default: enabled if accept_ra is enabled.
1039 disabled if accept_ra is disabled.
1041 accept_ra_pinfo - BOOLEAN
1042 Learn Prefix Information in Router Advertisement.
1044 Functional default: enabled if accept_ra is enabled.
1045 disabled if accept_ra is disabled.
1047 accept_ra_rt_info_max_plen - INTEGER
1048 Maximum prefix length of Route Information in RA.
1050 Route Information w/ prefix larger than or equal to this
1051 variable shall be ignored.
1053 Functional default: 0 if accept_ra_rtr_pref is enabled.
1054 -1 if accept_ra_rtr_pref is disabled.
1056 accept_ra_rtr_pref - BOOLEAN
1057 Accept Router Preference in RA.
1059 Functional default: enabled if accept_ra is enabled.
1060 disabled if accept_ra is disabled.
1062 accept_redirects - BOOLEAN
1065 Functional default: enabled if local forwarding is disabled.
1066 disabled if local forwarding is enabled.
1068 accept_source_route - INTEGER
1069 Accept source routing (routing extension header).
1071 >= 0: Accept only routing header type 2.
1072 < 0: Do not accept routing header.
1077 Autoconfigure addresses using Prefix Information in Router
1080 Functional default: enabled if accept_ra_pinfo is enabled.
1081 disabled if accept_ra_pinfo is disabled.
1083 dad_transmits - INTEGER
1084 The amount of Duplicate Address Detection probes to send.
1087 forwarding - BOOLEAN
1088 Configure interface-specific Host/Router behaviour.
1090 Note: It is recommended to have the same setting on all
1091 interfaces; mixed router/host scenarios are rather uncommon.
1093 Possible values are:
1094 0 Forwarding disabled
1095 1 Forwarding enabled
1096 2 Forwarding enabled (Hybrid Mode)
1100 By default, Host behaviour is assumed. This means:
1102 1. IsRouter flag is not set in Neighbour Advertisements.
1103 2. Router Solicitations are being sent when necessary.
1104 3. If accept_ra is TRUE (default), accept Router
1105 Advertisements (and do autoconfiguration).
1106 4. If accept_redirects is TRUE (default), accept Redirects.
1110 If local forwarding is enabled, Router behaviour is assumed.
1111 This means exactly the reverse from the above:
1113 1. IsRouter flag is set in Neighbour Advertisements.
1114 2. Router Solicitations are not sent.
1115 3. Router Advertisements are ignored unless accept_ra is 2.
1116 4. Redirects are ignored.
1120 Hybrid mode. Same behaviour as TRUE, except for:
1122 2. Router Solicitations are being sent when necessary.
1124 Default: 0 (disabled) if global forwarding is disabled (default),
1125 otherwise 1 (enabled).
1128 Default Hop Limit to set.
1132 Default Maximum Transfer Unit
1133 Default: 1280 (IPv6 required minimum)
1135 router_probe_interval - INTEGER
1136 Minimum interval (in seconds) between Router Probing described
1141 router_solicitation_delay - INTEGER
1142 Number of seconds to wait after interface is brought up
1143 before sending Router Solicitations.
1146 router_solicitation_interval - INTEGER
1147 Number of seconds to wait between Router Solicitations.
1150 router_solicitations - INTEGER
1151 Number of Router Solicitations to send until assuming no
1152 routers are present.
1155 use_tempaddr - INTEGER
1156 Preference for Privacy Extensions (RFC3041).
1157 <= 0 : disable Privacy Extensions
1158 == 1 : enable Privacy Extensions, but prefer public
1159 addresses over temporary addresses.
1160 > 1 : enable Privacy Extensions and prefer temporary
1161 addresses over public addresses.
1162 Default: 0 (for most devices)
1163 -1 (for point-to-point devices and loopback devices)
1165 temp_valid_lft - INTEGER
1166 valid lifetime (in seconds) for temporary addresses.
1167 Default: 604800 (7 days)
1169 temp_prefered_lft - INTEGER
1170 Preferred lifetime (in seconds) for temporary addresses.
1171 Default: 86400 (1 day)
1173 max_desync_factor - INTEGER
1174 Maximum value for DESYNC_FACTOR, which is a random value
1175 that ensures that clients don't synchronize with each
1176 other and generate new addresses at exactly the same time.
1177 value is in seconds.
1180 regen_max_retry - INTEGER
1181 Number of attempts before give up attempting to generate
1182 valid temporary addresses.
1185 max_addresses - INTEGER
1186 Maximum number of autoconfigured addresses per interface. Setting
1187 to zero disables the limitation. It is not recommended to set this
1188 value too large (or to zero) because it would be an easy way to
1189 crash the kernel by allowing too many addresses to be created.
1192 disable_ipv6 - BOOLEAN
1193 Disable IPv6 operation. If accept_dad is set to 2, this value
1194 will be dynamically set to TRUE if DAD fails for the link-local
1196 Default: FALSE (enable IPv6 operation)
1198 When this value is changed from 1 to 0 (IPv6 is being enabled),
1199 it will dynamically create a link-local address on the given
1200 interface and start Duplicate Address Detection, if necessary.
1202 When this value is changed from 0 to 1 (IPv6 is being disabled),
1203 it will dynamically delete all address on the given interface.
1205 accept_dad - INTEGER
1206 Whether to accept DAD (Duplicate Address Detection).
1208 1: Enable DAD (default)
1209 2: Enable DAD, and disable IPv6 operation if MAC-based duplicate
1210 link-local address has been found.
1212 force_tllao - BOOLEAN
1213 Enable sending the target link-layer address option even when
1214 responding to a unicast neighbor solicitation.
1217 Quoting from RFC 2461, section 4.4, Target link-layer address:
1219 "The option MUST be included for multicast solicitations in order to
1220 avoid infinite Neighbor Solicitation "recursion" when the peer node
1221 does not have a cache entry to return a Neighbor Advertisements
1222 message. When responding to unicast solicitations, the option can be
1223 omitted since the sender of the solicitation has the correct link-
1224 layer address; otherwise it would not have be able to send the unicast
1225 solicitation in the first place. However, including the link-layer
1226 address in this case adds little overhead and eliminates a potential
1227 race condition where the sender deletes the cached link-layer address
1228 prior to receiving a response to a previous solicitation."
1232 Limit the maximal rates for sending ICMPv6 packets.
1233 0 to disable any limiting,
1234 otherwise the minimal space between responses in milliseconds.
1239 Pekka Savola <pekkas@netcore.fi>
1240 YOSHIFUJI Hideaki / USAGI Project <yoshfuji@linux-ipv6.org>
1243 /proc/sys/net/bridge/* Variables:
1245 bridge-nf-call-arptables - BOOLEAN
1246 1 : pass bridged ARP traffic to arptables' FORWARD chain.
1250 bridge-nf-call-iptables - BOOLEAN
1251 1 : pass bridged IPv4 traffic to iptables' chains.
1255 bridge-nf-call-ip6tables - BOOLEAN
1256 1 : pass bridged IPv6 traffic to ip6tables' chains.
1260 bridge-nf-filter-vlan-tagged - BOOLEAN
1261 1 : pass bridged vlan-tagged ARP/IP/IPv6 traffic to {arp,ip,ip6}tables.
1265 bridge-nf-filter-pppoe-tagged - BOOLEAN
1266 1 : pass bridged pppoe-tagged IP/IPv6 traffic to {ip,ip6}tables.
1271 proc/sys/net/sctp/* Variables:
1273 addip_enable - BOOLEAN
1274 Enable or disable extension of Dynamic Address Reconfiguration
1275 (ADD-IP) functionality specified in RFC5061. This extension provides
1276 the ability to dynamically add and remove new addresses for the SCTP
1279 1: Enable extension.
1281 0: Disable extension.
1285 addip_noauth_enable - BOOLEAN
1286 Dynamic Address Reconfiguration (ADD-IP) requires the use of
1287 authentication to protect the operations of adding or removing new
1288 addresses. This requirement is mandated so that unauthorized hosts
1289 would not be able to hijack associations. However, older
1290 implementations may not have implemented this requirement while
1291 allowing the ADD-IP extension. For reasons of interoperability,
1292 we provide this variable to control the enforcement of the
1293 authentication requirement.
1295 1: Allow ADD-IP extension to be used without authentication. This
1296 should only be set in a closed environment for interoperability
1297 with older implementations.
1299 0: Enforce the authentication requirement
1303 auth_enable - BOOLEAN
1304 Enable or disable Authenticated Chunks extension. This extension
1305 provides the ability to send and receive authenticated chunks and is
1306 required for secure operation of Dynamic Address Reconfiguration
1309 1: Enable this extension.
1310 0: Disable this extension.
1314 prsctp_enable - BOOLEAN
1315 Enable or disable the Partial Reliability extension (RFC3758) which
1316 is used to notify peers that a given DATA should no longer be expected.
1324 The limit of the number of new packets that can be initially sent. It
1325 controls how bursty the generated traffic can be.
1329 association_max_retrans - INTEGER
1330 Set the maximum number for retransmissions that an association can
1331 attempt deciding that the remote end is unreachable. If this value
1332 is exceeded, the association is terminated.
1336 max_init_retransmits - INTEGER
1337 The maximum number of retransmissions of INIT and COOKIE-ECHO chunks
1338 that an association will attempt before declaring the destination
1339 unreachable and terminating.
1343 path_max_retrans - INTEGER
1344 The maximum number of retransmissions that will be attempted on a given
1345 path. Once this threshold is exceeded, the path is considered
1346 unreachable, and new traffic will use a different path when the
1347 association is multihomed.
1351 rto_initial - INTEGER
1352 The initial round trip timeout value in milliseconds that will be used
1353 in calculating round trip times. This is the initial time interval
1354 for retransmissions.
1359 The maximum value (in milliseconds) of the round trip timeout. This
1360 is the largest time interval that can elapse between retransmissions.
1365 The minimum value (in milliseconds) of the round trip timeout. This
1366 is the smallest time interval the can elapse between retransmissions.
1370 hb_interval - INTEGER
1371 The interval (in milliseconds) between HEARTBEAT chunks. These chunks
1372 are sent at the specified interval on idle paths to probe the state of
1373 a given path between 2 associations.
1377 sack_timeout - INTEGER
1378 The amount of time (in milliseconds) that the implementation will wait
1383 valid_cookie_life - INTEGER
1384 The default lifetime of the SCTP cookie (in milliseconds). The cookie
1385 is used during association establishment.
1389 cookie_preserve_enable - BOOLEAN
1390 Enable or disable the ability to extend the lifetime of the SCTP cookie
1391 that is used during the establishment phase of SCTP association
1393 1: Enable cookie lifetime extension.
1398 rcvbuf_policy - INTEGER
1399 Determines if the receive buffer is attributed to the socket or to
1400 association. SCTP supports the capability to create multiple
1401 associations on a single socket. When using this capability, it is
1402 possible that a single stalled association that's buffering a lot
1403 of data may block other associations from delivering their data by
1404 consuming all of the receive buffer space. To work around this,
1405 the rcvbuf_policy could be set to attribute the receiver buffer space
1406 to each association instead of the socket. This prevents the described
1409 1: rcvbuf space is per association
1410 0: recbuf space is per socket
1414 sndbuf_policy - INTEGER
1415 Similar to rcvbuf_policy above, this applies to send buffer space.
1417 1: Send buffer is tracked per association
1418 0: Send buffer is tracked per socket.
1422 sctp_mem - vector of 3 INTEGERs: min, pressure, max
1423 Number of pages allowed for queueing by all SCTP sockets.
1425 min: Below this number of pages SCTP is not bothered about its
1426 memory appetite. When amount of memory allocated by SCTP exceeds
1427 this number, SCTP starts to moderate memory usage.
1429 pressure: This value was introduced to follow format of tcp_mem.
1431 max: Number of pages allowed for queueing by all SCTP sockets.
1433 Default is calculated at boot time from amount of available memory.
1435 sctp_rmem - vector of 3 INTEGERs: min, default, max
1436 See tcp_rmem for a description.
1438 sctp_wmem - vector of 3 INTEGERs: min, default, max
1439 See tcp_wmem for a description.
1441 addr_scope_policy - INTEGER
1442 Control IPv4 address scoping - draft-stewart-tsvwg-sctp-ipv4-00
1444 0 - Disable IPv4 address scoping
1445 1 - Enable IPv4 address scoping
1446 2 - Follow draft but allow IPv4 private addresses
1447 3 - Follow draft but allow IPv4 link local addresses
1452 /proc/sys/net/core/*
1453 dev_weight - INTEGER
1454 The maximum number of packets that kernel can handle on a NAPI
1455 interrupt, it's a Per-CPU variable.
1459 /proc/sys/net/unix/*
1460 max_dgram_qlen - INTEGER
1461 The maximum length of dgram socket receive queue
1468 /proc/sys/net/irda/*
1469 fast_poll_increase FIXME
1470 warn_noreply_time FIXME
1471 discovery_slots FIXME
1474 discovery_timeout FIXME
1475 lap_keepalive_time FIXME
1476 max_noreply_time FIXME
1477 max_tx_data_size FIXME
1479 min_tx_turn_time FIXME