Merge tag 'for-linus-5.0-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / networking / ip-sysctl.txt
1 /proc/sys/net/ipv4/* Variables:
2
3 ip_forward - BOOLEAN
4         0 - disabled (default)
5         not 0 - enabled
6
7         Forward Packets between interfaces.
8
9         This variable is special, its change resets all configuration
10         parameters to their default state (RFC1122 for hosts, RFC1812
11         for routers)
12
13 ip_default_ttl - INTEGER
14         Default value of TTL field (Time To Live) for outgoing (but not
15         forwarded) IP packets. Should be between 1 and 255 inclusive.
16         Default: 64 (as recommended by RFC1700)
17
18 ip_no_pmtu_disc - INTEGER
19         Disable Path MTU Discovery. If enabled in mode 1 and a
20         fragmentation-required ICMP is received, the PMTU to this
21         destination will be set to min_pmtu (see below). You will need
22         to raise min_pmtu to the smallest interface MTU on your system
23         manually if you want to avoid locally generated fragments.
24
25         In mode 2 incoming Path MTU Discovery messages will be
26         discarded. Outgoing frames are handled the same as in mode 1,
27         implicitly setting IP_PMTUDISC_DONT on every created socket.
28
29         Mode 3 is a hardened pmtu discover mode. The kernel will only
30         accept fragmentation-needed errors if the underlying protocol
31         can verify them besides a plain socket lookup. Current
32         protocols for which pmtu events will be honored are TCP, SCTP
33         and DCCP as they verify e.g. the sequence number or the
34         association. This mode should not be enabled globally but is
35         only intended to secure e.g. name servers in namespaces where
36         TCP path mtu must still work but path MTU information of other
37         protocols should be discarded. If enabled globally this mode
38         could break other protocols.
39
40         Possible values: 0-3
41         Default: FALSE
42
43 min_pmtu - INTEGER
44         default 552 - minimum discovered Path MTU
45
46 ip_forward_use_pmtu - BOOLEAN
47         By default we don't trust protocol path MTUs while forwarding
48         because they could be easily forged and can lead to unwanted
49         fragmentation by the router.
50         You only need to enable this if you have user-space software
51         which tries to discover path mtus by itself and depends on the
52         kernel honoring this information. This is normally not the
53         case.
54         Default: 0 (disabled)
55         Possible values:
56         0 - disabled
57         1 - enabled
58
59 fwmark_reflect - BOOLEAN
60         Controls the fwmark of kernel-generated IPv4 reply packets that are not
61         associated with a socket for example, TCP RSTs or ICMP echo replies).
62         If unset, these packets have a fwmark of zero. If set, they have the
63         fwmark of the packet they are replying to.
64         Default: 0
65
66 fib_multipath_use_neigh - BOOLEAN
67         Use status of existing neighbor entry when determining nexthop for
68         multipath routes. If disabled, neighbor information is not used and
69         packets could be directed to a failed nexthop. Only valid for kernels
70         built with CONFIG_IP_ROUTE_MULTIPATH enabled.
71         Default: 0 (disabled)
72         Possible values:
73         0 - disabled
74         1 - enabled
75
76 fib_multipath_hash_policy - INTEGER
77         Controls which hash policy to use for multipath routes. Only valid
78         for kernels built with CONFIG_IP_ROUTE_MULTIPATH enabled.
79         Default: 0 (Layer 3)
80         Possible values:
81         0 - Layer 3
82         1 - Layer 4
83
84 ip_forward_update_priority - INTEGER
85         Whether to update SKB priority from "TOS" field in IPv4 header after it
86         is forwarded. The new SKB priority is mapped from TOS field value
87         according to an rt_tos2priority table (see e.g. man tc-prio).
88         Default: 1 (Update priority.)
89         Possible values:
90         0 - Do not update priority.
91         1 - Update priority.
92
93 route/max_size - INTEGER
94         Maximum number of routes allowed in the kernel.  Increase
95         this when using large numbers of interfaces and/or routes.
96         From linux kernel 3.6 onwards, this is deprecated for ipv4
97         as route cache is no longer used.
98
99 neigh/default/gc_thresh1 - INTEGER
100         Minimum number of entries to keep.  Garbage collector will not
101         purge entries if there are fewer than this number.
102         Default: 128
103
104 neigh/default/gc_thresh2 - INTEGER
105         Threshold when garbage collector becomes more aggressive about
106         purging entries. Entries older than 5 seconds will be cleared
107         when over this number.
108         Default: 512
109
110 neigh/default/gc_thresh3 - INTEGER
111         Maximum number of non-PERMANENT neighbor entries allowed.  Increase
112         this when using large numbers of interfaces and when communicating
113         with large numbers of directly-connected peers.
114         Default: 1024
115
116 neigh/default/unres_qlen_bytes - INTEGER
117         The maximum number of bytes which may be used by packets
118         queued for each unresolved address by other network layers.
119         (added in linux 3.3)
120         Setting negative value is meaningless and will return error.
121         Default: SK_WMEM_MAX, (same as net.core.wmem_default).
122                 Exact value depends on architecture and kernel options,
123                 but should be enough to allow queuing 256 packets
124                 of medium size.
125
126 neigh/default/unres_qlen - INTEGER
127         The maximum number of packets which may be queued for each
128         unresolved address by other network layers.
129         (deprecated in linux 3.3) : use unres_qlen_bytes instead.
130         Prior to linux 3.3, the default value is 3 which may cause
131         unexpected packet loss. The current default value is calculated
132         according to default value of unres_qlen_bytes and true size of
133         packet.
134         Default: 101
135
136 mtu_expires - INTEGER
137         Time, in seconds, that cached PMTU information is kept.
138
139 min_adv_mss - INTEGER
140         The advertised MSS depends on the first hop route MTU, but will
141         never be lower than this setting.
142
143 IP Fragmentation:
144
145 ipfrag_high_thresh - LONG INTEGER
146         Maximum memory used to reassemble IP fragments.
147
148 ipfrag_low_thresh - LONG INTEGER
149         (Obsolete since linux-4.17)
150         Maximum memory used to reassemble IP fragments before the kernel
151         begins to remove incomplete fragment queues to free up resources.
152         The kernel still accepts new fragments for defragmentation.
153
154 ipfrag_time - INTEGER
155         Time in seconds to keep an IP fragment in memory.
156
157 ipfrag_max_dist - INTEGER
158         ipfrag_max_dist is a non-negative integer value which defines the
159         maximum "disorder" which is allowed among fragments which share a
160         common IP source address. Note that reordering of packets is
161         not unusual, but if a large number of fragments arrive from a source
162         IP address while a particular fragment queue remains incomplete, it
163         probably indicates that one or more fragments belonging to that queue
164         have been lost. When ipfrag_max_dist is positive, an additional check
165         is done on fragments before they are added to a reassembly queue - if
166         ipfrag_max_dist (or more) fragments have arrived from a particular IP
167         address between additions to any IP fragment queue using that source
168         address, it's presumed that one or more fragments in the queue are
169         lost. The existing fragment queue will be dropped, and a new one
170         started. An ipfrag_max_dist value of zero disables this check.
171
172         Using a very small value, e.g. 1 or 2, for ipfrag_max_dist can
173         result in unnecessarily dropping fragment queues when normal
174         reordering of packets occurs, which could lead to poor application
175         performance. Using a very large value, e.g. 50000, increases the
176         likelihood of incorrectly reassembling IP fragments that originate
177         from different IP datagrams, which could result in data corruption.
178         Default: 64
179
180 INET peer storage:
181
182 inet_peer_threshold - INTEGER
183         The approximate size of the storage.  Starting from this threshold
184         entries will be thrown aggressively.  This threshold also determines
185         entries' time-to-live and time intervals between garbage collection
186         passes.  More entries, less time-to-live, less GC interval.
187
188 inet_peer_minttl - INTEGER
189         Minimum time-to-live of entries.  Should be enough to cover fragment
190         time-to-live on the reassembling side.  This minimum time-to-live  is
191         guaranteed if the pool size is less than inet_peer_threshold.
192         Measured in seconds.
193
194 inet_peer_maxttl - INTEGER
195         Maximum time-to-live of entries.  Unused entries will expire after
196         this period of time if there is no memory pressure on the pool (i.e.
197         when the number of entries in the pool is very small).
198         Measured in seconds.
199
200 TCP variables:
201
202 somaxconn - INTEGER
203         Limit of socket listen() backlog, known in userspace as SOMAXCONN.
204         Defaults to 128.  See also tcp_max_syn_backlog for additional tuning
205         for TCP sockets.
206
207 tcp_abort_on_overflow - BOOLEAN
208         If listening service is too slow to accept new connections,
209         reset them. Default state is FALSE. It means that if overflow
210         occurred due to a burst, connection will recover. Enable this
211         option _only_ if you are really sure that listening daemon
212         cannot be tuned to accept connections faster. Enabling this
213         option can harm clients of your server.
214
215 tcp_adv_win_scale - INTEGER
216         Count buffering overhead as bytes/2^tcp_adv_win_scale
217         (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale),
218         if it is <= 0.
219         Possible values are [-31, 31], inclusive.
220         Default: 1
221
222 tcp_allowed_congestion_control - STRING
223         Show/set the congestion control choices available to non-privileged
224         processes. The list is a subset of those listed in
225         tcp_available_congestion_control.
226         Default is "reno" and the default setting (tcp_congestion_control).
227
228 tcp_app_win - INTEGER
229         Reserve max(window/2^tcp_app_win, mss) of window for application
230         buffer. Value 0 is special, it means that nothing is reserved.
231         Default: 31
232
233 tcp_autocorking - BOOLEAN
234         Enable TCP auto corking :
235         When applications do consecutive small write()/sendmsg() system calls,
236         we try to coalesce these small writes as much as possible, to lower
237         total amount of sent packets. This is done if at least one prior
238         packet for the flow is waiting in Qdisc queues or device transmit
239         queue. Applications can still use TCP_CORK for optimal behavior
240         when they know how/when to uncork their sockets.
241         Default : 1
242
243 tcp_available_congestion_control - STRING
244         Shows the available congestion control choices that are registered.
245         More congestion control algorithms may be available as modules,
246         but not loaded.
247
248 tcp_base_mss - INTEGER
249         The initial value of search_low to be used by the packetization layer
250         Path MTU discovery (MTU probing).  If MTU probing is enabled,
251         this is the initial MSS used by the connection.
252
253 tcp_congestion_control - STRING
254         Set the congestion control algorithm to be used for new
255         connections. The algorithm "reno" is always available, but
256         additional choices may be available based on kernel configuration.
257         Default is set as part of kernel configuration.
258         For passive connections, the listener congestion control choice
259         is inherited.
260         [see setsockopt(listenfd, SOL_TCP, TCP_CONGESTION, "name" ...) ]
261
262 tcp_dsack - BOOLEAN
263         Allows TCP to send "duplicate" SACKs.
264
265 tcp_early_retrans - INTEGER
266         Tail loss probe (TLP) converts RTOs occurring due to tail
267         losses into fast recovery (draft-ietf-tcpm-rack). Note that
268         TLP requires RACK to function properly (see tcp_recovery below)
269         Possible values:
270                 0 disables TLP
271                 3 or 4 enables TLP
272         Default: 3
273
274 tcp_ecn - INTEGER
275         Control use of Explicit Congestion Notification (ECN) by TCP.
276         ECN is used only when both ends of the TCP connection indicate
277         support for it.  This feature is useful in avoiding losses due
278         to congestion by allowing supporting routers to signal
279         congestion before having to drop packets.
280         Possible values are:
281                 0 Disable ECN.  Neither initiate nor accept ECN.
282                 1 Enable ECN when requested by incoming connections and
283                   also request ECN on outgoing connection attempts.
284                 2 Enable ECN when requested by incoming connections
285                   but do not request ECN on outgoing connections.
286         Default: 2
287
288 tcp_ecn_fallback - BOOLEAN
289         If the kernel detects that ECN connection misbehaves, enable fall
290         back to non-ECN. Currently, this knob implements the fallback
291         from RFC3168, section 6.1.1.1., but we reserve that in future,
292         additional detection mechanisms could be implemented under this
293         knob. The value is not used, if tcp_ecn or per route (or congestion
294         control) ECN settings are disabled.
295         Default: 1 (fallback enabled)
296
297 tcp_fack - BOOLEAN
298         This is a legacy option, it has no effect anymore.
299
300 tcp_fin_timeout - INTEGER
301         The length of time an orphaned (no longer referenced by any
302         application) connection will remain in the FIN_WAIT_2 state
303         before it is aborted at the local end.  While a perfectly
304         valid "receive only" state for an un-orphaned connection, an
305         orphaned connection in FIN_WAIT_2 state could otherwise wait
306         forever for the remote to close its end of the connection.
307         Cf. tcp_max_orphans
308         Default: 60 seconds
309
310 tcp_frto - INTEGER
311         Enables Forward RTO-Recovery (F-RTO) defined in RFC5682.
312         F-RTO is an enhanced recovery algorithm for TCP retransmission
313         timeouts.  It is particularly beneficial in networks where the
314         RTT fluctuates (e.g., wireless). F-RTO is sender-side only
315         modification. It does not require any support from the peer.
316
317         By default it's enabled with a non-zero value. 0 disables F-RTO.
318
319 tcp_fwmark_accept - BOOLEAN
320         If set, incoming connections to listening sockets that do not have a
321         socket mark will set the mark of the accepting socket to the fwmark of
322         the incoming SYN packet. This will cause all packets on that connection
323         (starting from the first SYNACK) to be sent with that fwmark. The
324         listening socket's mark is unchanged. Listening sockets that already
325         have a fwmark set via setsockopt(SOL_SOCKET, SO_MARK, ...) are
326         unaffected.
327
328         Default: 0
329
330 tcp_invalid_ratelimit - INTEGER
331         Limit the maximal rate for sending duplicate acknowledgments
332         in response to incoming TCP packets that are for an existing
333         connection but that are invalid due to any of these reasons:
334
335           (a) out-of-window sequence number,
336           (b) out-of-window acknowledgment number, or
337           (c) PAWS (Protection Against Wrapped Sequence numbers) check failure
338
339         This can help mitigate simple "ack loop" DoS attacks, wherein
340         a buggy or malicious middlebox or man-in-the-middle can
341         rewrite TCP header fields in manner that causes each endpoint
342         to think that the other is sending invalid TCP segments, thus
343         causing each side to send an unterminating stream of duplicate
344         acknowledgments for invalid segments.
345
346         Using 0 disables rate-limiting of dupacks in response to
347         invalid segments; otherwise this value specifies the minimal
348         space between sending such dupacks, in milliseconds.
349
350         Default: 500 (milliseconds).
351
352 tcp_keepalive_time - INTEGER
353         How often TCP sends out keepalive messages when keepalive is enabled.
354         Default: 2hours.
355
356 tcp_keepalive_probes - INTEGER
357         How many keepalive probes TCP sends out, until it decides that the
358         connection is broken. Default value: 9.
359
360 tcp_keepalive_intvl - INTEGER
361         How frequently the probes are send out. Multiplied by
362         tcp_keepalive_probes it is time to kill not responding connection,
363         after probes started. Default value: 75sec i.e. connection
364         will be aborted after ~11 minutes of retries.
365
366 tcp_l3mdev_accept - BOOLEAN
367         Enables child sockets to inherit the L3 master device index.
368         Enabling this option allows a "global" listen socket to work
369         across L3 master domains (e.g., VRFs) with connected sockets
370         derived from the listen socket to be bound to the L3 domain in
371         which the packets originated. Only valid when the kernel was
372         compiled with CONFIG_NET_L3_MASTER_DEV.
373         Default: 0 (disabled)
374
375 tcp_low_latency - BOOLEAN
376         This is a legacy option, it has no effect anymore.
377
378 tcp_max_orphans - INTEGER
379         Maximal number of TCP sockets not attached to any user file handle,
380         held by system. If this number is exceeded orphaned connections are
381         reset immediately and warning is printed. This limit exists
382         only to prevent simple DoS attacks, you _must_ not rely on this
383         or lower the limit artificially, but rather increase it
384         (probably, after increasing installed memory),
385         if network conditions require more than default value,
386         and tune network services to linger and kill such states
387         more aggressively. Let me to remind again: each orphan eats
388         up to ~64K of unswappable memory.
389
390 tcp_max_syn_backlog - INTEGER
391         Maximal number of remembered connection requests, which have not
392         received an acknowledgment from connecting client.
393         The minimal value is 128 for low memory machines, and it will
394         increase in proportion to the memory of machine.
395         If server suffers from overload, try increasing this number.
396
397 tcp_max_tw_buckets - INTEGER
398         Maximal number of timewait sockets held by system simultaneously.
399         If this number is exceeded time-wait socket is immediately destroyed
400         and warning is printed. This limit exists only to prevent
401         simple DoS attacks, you _must_ not lower the limit artificially,
402         but rather increase it (probably, after increasing installed memory),
403         if network conditions require more than default value.
404
405 tcp_mem - vector of 3 INTEGERs: min, pressure, max
406         min: below this number of pages TCP is not bothered about its
407         memory appetite.
408
409         pressure: when amount of memory allocated by TCP exceeds this number
410         of pages, TCP moderates its memory consumption and enters memory
411         pressure mode, which is exited when memory consumption falls
412         under "min".
413
414         max: number of pages allowed for queueing by all TCP sockets.
415
416         Defaults are calculated at boot time from amount of available
417         memory.
418
419 tcp_min_rtt_wlen - INTEGER
420         The window length of the windowed min filter to track the minimum RTT.
421         A shorter window lets a flow more quickly pick up new (higher)
422         minimum RTT when it is moved to a longer path (e.g., due to traffic
423         engineering). A longer window makes the filter more resistant to RTT
424         inflations such as transient congestion. The unit is seconds.
425         Default: 300
426
427 tcp_moderate_rcvbuf - BOOLEAN
428         If set, TCP performs receive buffer auto-tuning, attempting to
429         automatically size the buffer (no greater than tcp_rmem[2]) to
430         match the size required by the path for full throughput.  Enabled by
431         default.
432
433 tcp_mtu_probing - INTEGER
434         Controls TCP Packetization-Layer Path MTU Discovery.  Takes three
435         values:
436           0 - Disabled
437           1 - Disabled by default, enabled when an ICMP black hole detected
438           2 - Always enabled, use initial MSS of tcp_base_mss.
439
440 tcp_probe_interval - UNSIGNED INTEGER
441         Controls how often to start TCP Packetization-Layer Path MTU
442         Discovery reprobe. The default is reprobing every 10 minutes as
443         per RFC4821.
444
445 tcp_probe_threshold - INTEGER
446         Controls when TCP Packetization-Layer Path MTU Discovery probing
447         will stop in respect to the width of search range in bytes. Default
448         is 8 bytes.
449
450 tcp_no_metrics_save - BOOLEAN
451         By default, TCP saves various connection metrics in the route cache
452         when the connection closes, so that connections established in the
453         near future can use these to set initial conditions.  Usually, this
454         increases overall performance, but may sometimes cause performance
455         degradation.  If set, TCP will not cache metrics on closing
456         connections.
457
458 tcp_orphan_retries - INTEGER
459         This value influences the timeout of a locally closed TCP connection,
460         when RTO retransmissions remain unacknowledged.
461         See tcp_retries2 for more details.
462
463         The default value is 8.
464         If your machine is a loaded WEB server,
465         you should think about lowering this value, such sockets
466         may consume significant resources. Cf. tcp_max_orphans.
467
468 tcp_recovery - INTEGER
469         This value is a bitmap to enable various experimental loss recovery
470         features.
471
472         RACK: 0x1 enables the RACK loss detection for fast detection of lost
473               retransmissions and tail drops. It also subsumes and disables
474               RFC6675 recovery for SACK connections.
475         RACK: 0x2 makes RACK's reordering window static (min_rtt/4).
476         RACK: 0x4 disables RACK's DUPACK threshold heuristic
477
478         Default: 0x1
479
480 tcp_reordering - INTEGER
481         Initial reordering level of packets in a TCP stream.
482         TCP stack can then dynamically adjust flow reordering level
483         between this initial value and tcp_max_reordering
484         Default: 3
485
486 tcp_max_reordering - INTEGER
487         Maximal reordering level of packets in a TCP stream.
488         300 is a fairly conservative value, but you might increase it
489         if paths are using per packet load balancing (like bonding rr mode)
490         Default: 300
491
492 tcp_retrans_collapse - BOOLEAN
493         Bug-to-bug compatibility with some broken printers.
494         On retransmit try to send bigger packets to work around bugs in
495         certain TCP stacks.
496
497 tcp_retries1 - INTEGER
498         This value influences the time, after which TCP decides, that
499         something is wrong due to unacknowledged RTO retransmissions,
500         and reports this suspicion to the network layer.
501         See tcp_retries2 for more details.
502
503         RFC 1122 recommends at least 3 retransmissions, which is the
504         default.
505
506 tcp_retries2 - INTEGER
507         This value influences the timeout of an alive TCP connection,
508         when RTO retransmissions remain unacknowledged.
509         Given a value of N, a hypothetical TCP connection following
510         exponential backoff with an initial RTO of TCP_RTO_MIN would
511         retransmit N times before killing the connection at the (N+1)th RTO.
512
513         The default value of 15 yields a hypothetical timeout of 924.6
514         seconds and is a lower bound for the effective timeout.
515         TCP will effectively time out at the first RTO which exceeds the
516         hypothetical timeout.
517
518         RFC 1122 recommends at least 100 seconds for the timeout,
519         which corresponds to a value of at least 8.
520
521 tcp_rfc1337 - BOOLEAN
522         If set, the TCP stack behaves conforming to RFC1337. If unset,
523         we are not conforming to RFC, but prevent TCP TIME_WAIT
524         assassination.
525         Default: 0
526
527 tcp_rmem - vector of 3 INTEGERs: min, default, max
528         min: Minimal size of receive buffer used by TCP sockets.
529         It is guaranteed to each TCP socket, even under moderate memory
530         pressure.
531         Default: 4K
532
533         default: initial size of receive buffer used by TCP sockets.
534         This value overrides net.core.rmem_default used by other protocols.
535         Default: 87380 bytes. This value results in window of 65535 with
536         default setting of tcp_adv_win_scale and tcp_app_win:0 and a bit
537         less for default tcp_app_win. See below about these variables.
538
539         max: maximal size of receive buffer allowed for automatically
540         selected receiver buffers for TCP socket. This value does not override
541         net.core.rmem_max.  Calling setsockopt() with SO_RCVBUF disables
542         automatic tuning of that socket's receive buffer size, in which
543         case this value is ignored.
544         Default: between 87380B and 6MB, depending on RAM size.
545
546 tcp_sack - BOOLEAN
547         Enable select acknowledgments (SACKS).
548
549 tcp_comp_sack_delay_ns - LONG INTEGER
550         TCP tries to reduce number of SACK sent, using a timer
551         based on 5% of SRTT, capped by this sysctl, in nano seconds.
552         The default is 1ms, based on TSO autosizing period.
553
554         Default : 1,000,000 ns (1 ms)
555
556 tcp_comp_sack_nr - INTEGER
557         Max numer of SACK that can be compressed.
558         Using 0 disables SACK compression.
559
560         Detault : 44
561
562 tcp_slow_start_after_idle - BOOLEAN
563         If set, provide RFC2861 behavior and time out the congestion
564         window after an idle period.  An idle period is defined at
565         the current RTO.  If unset, the congestion window will not
566         be timed out after an idle period.
567         Default: 1
568
569 tcp_stdurg - BOOLEAN
570         Use the Host requirements interpretation of the TCP urgent pointer field.
571         Most hosts use the older BSD interpretation, so if you turn this on
572         Linux might not communicate correctly with them.
573         Default: FALSE
574
575 tcp_synack_retries - INTEGER
576         Number of times SYNACKs for a passive TCP connection attempt will
577         be retransmitted. Should not be higher than 255. Default value
578         is 5, which corresponds to 31seconds till the last retransmission
579         with the current initial RTO of 1second. With this the final timeout
580         for a passive TCP connection will happen after 63seconds.
581
582 tcp_syncookies - BOOLEAN
583         Only valid when the kernel was compiled with CONFIG_SYN_COOKIES
584         Send out syncookies when the syn backlog queue of a socket
585         overflows. This is to prevent against the common 'SYN flood attack'
586         Default: 1
587
588         Note, that syncookies is fallback facility.
589         It MUST NOT be used to help highly loaded servers to stand
590         against legal connection rate. If you see SYN flood warnings
591         in your logs, but investigation shows that they occur
592         because of overload with legal connections, you should tune
593         another parameters until this warning disappear.
594         See: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow.
595
596         syncookies seriously violate TCP protocol, do not allow
597         to use TCP extensions, can result in serious degradation
598         of some services (f.e. SMTP relaying), visible not by you,
599         but your clients and relays, contacting you. While you see
600         SYN flood warnings in logs not being really flooded, your server
601         is seriously misconfigured.
602
603         If you want to test which effects syncookies have to your
604         network connections you can set this knob to 2 to enable
605         unconditionally generation of syncookies.
606
607 tcp_fastopen - INTEGER
608         Enable TCP Fast Open (RFC7413) to send and accept data in the opening
609         SYN packet.
610
611         The client support is enabled by flag 0x1 (on by default). The client
612         then must use sendmsg() or sendto() with the MSG_FASTOPEN flag,
613         rather than connect() to send data in SYN.
614
615         The server support is enabled by flag 0x2 (off by default). Then
616         either enable for all listeners with another flag (0x400) or
617         enable individual listeners via TCP_FASTOPEN socket option with
618         the option value being the length of the syn-data backlog.
619
620         The values (bitmap) are
621           0x1: (client) enables sending data in the opening SYN on the client.
622           0x2: (server) enables the server support, i.e., allowing data in
623                         a SYN packet to be accepted and passed to the
624                         application before 3-way handshake finishes.
625           0x4: (client) send data in the opening SYN regardless of cookie
626                         availability and without a cookie option.
627         0x200: (server) accept data-in-SYN w/o any cookie option present.
628         0x400: (server) enable all listeners to support Fast Open by
629                         default without explicit TCP_FASTOPEN socket option.
630
631         Default: 0x1
632
633         Note that that additional client or server features are only
634         effective if the basic support (0x1 and 0x2) are enabled respectively.
635
636 tcp_fastopen_blackhole_timeout_sec - INTEGER
637         Initial time period in second to disable Fastopen on active TCP sockets
638         when a TFO firewall blackhole issue happens.
639         This time period will grow exponentially when more blackhole issues
640         get detected right after Fastopen is re-enabled and will reset to
641         initial value when the blackhole issue goes away.
642         0 to disable the blackhole detection.
643         By default, it is set to 1hr.
644
645 tcp_syn_retries - INTEGER
646         Number of times initial SYNs for an active TCP connection attempt
647         will be retransmitted. Should not be higher than 127. Default value
648         is 6, which corresponds to 63seconds till the last retransmission
649         with the current initial RTO of 1second. With this the final timeout
650         for an active TCP connection attempt will happen after 127seconds.
651
652 tcp_timestamps - INTEGER
653 Enable timestamps as defined in RFC1323.
654         0: Disabled.
655         1: Enable timestamps as defined in RFC1323 and use random offset for
656         each connection rather than only using the current time.
657         2: Like 1, but without random offsets.
658         Default: 1
659
660 tcp_min_tso_segs - INTEGER
661         Minimal number of segments per TSO frame.
662         Since linux-3.12, TCP does an automatic sizing of TSO frames,
663         depending on flow rate, instead of filling 64Kbytes packets.
664         For specific usages, it's possible to force TCP to build big
665         TSO frames. Note that TCP stack might split too big TSO packets
666         if available window is too small.
667         Default: 2
668
669 tcp_pacing_ss_ratio - INTEGER
670         sk->sk_pacing_rate is set by TCP stack using a ratio applied
671         to current rate. (current_rate = cwnd * mss / srtt)
672         If TCP is in slow start, tcp_pacing_ss_ratio is applied
673         to let TCP probe for bigger speeds, assuming cwnd can be
674         doubled every other RTT.
675         Default: 200
676
677 tcp_pacing_ca_ratio - INTEGER
678         sk->sk_pacing_rate is set by TCP stack using a ratio applied
679         to current rate. (current_rate = cwnd * mss / srtt)
680         If TCP is in congestion avoidance phase, tcp_pacing_ca_ratio
681         is applied to conservatively probe for bigger throughput.
682         Default: 120
683
684 tcp_tso_win_divisor - INTEGER
685         This allows control over what percentage of the congestion window
686         can be consumed by a single TSO frame.
687         The setting of this parameter is a choice between burstiness and
688         building larger TSO frames.
689         Default: 3
690
691 tcp_tw_reuse - INTEGER
692         Enable reuse of TIME-WAIT sockets for new connections when it is
693         safe from protocol viewpoint.
694         0 - disable
695         1 - global enable
696         2 - enable for loopback traffic only
697         It should not be changed without advice/request of technical
698         experts.
699         Default: 2
700
701 tcp_window_scaling - BOOLEAN
702         Enable window scaling as defined in RFC1323.
703
704 tcp_wmem - vector of 3 INTEGERs: min, default, max
705         min: Amount of memory reserved for send buffers for TCP sockets.
706         Each TCP socket has rights to use it due to fact of its birth.
707         Default: 4K
708
709         default: initial size of send buffer used by TCP sockets.  This
710         value overrides net.core.wmem_default used by other protocols.
711         It is usually lower than net.core.wmem_default.
712         Default: 16K
713
714         max: Maximal amount of memory allowed for automatically tuned
715         send buffers for TCP sockets. This value does not override
716         net.core.wmem_max.  Calling setsockopt() with SO_SNDBUF disables
717         automatic tuning of that socket's send buffer size, in which case
718         this value is ignored.
719         Default: between 64K and 4MB, depending on RAM size.
720
721 tcp_notsent_lowat - UNSIGNED INTEGER
722         A TCP socket can control the amount of unsent bytes in its write queue,
723         thanks to TCP_NOTSENT_LOWAT socket option. poll()/select()/epoll()
724         reports POLLOUT events if the amount of unsent bytes is below a per
725         socket value, and if the write queue is not full. sendmsg() will
726         also not add new buffers if the limit is hit.
727
728         This global variable controls the amount of unsent data for
729         sockets not using TCP_NOTSENT_LOWAT. For these sockets, a change
730         to the global variable has immediate effect.
731
732         Default: UINT_MAX (0xFFFFFFFF)
733
734 tcp_workaround_signed_windows - BOOLEAN
735         If set, assume no receipt of a window scaling option means the
736         remote TCP is broken and treats the window as a signed quantity.
737         If unset, assume the remote TCP is not broken even if we do
738         not receive a window scaling option from them.
739         Default: 0
740
741 tcp_thin_linear_timeouts - BOOLEAN
742         Enable dynamic triggering of linear timeouts for thin streams.
743         If set, a check is performed upon retransmission by timeout to
744         determine if the stream is thin (less than 4 packets in flight).
745         As long as the stream is found to be thin, up to 6 linear
746         timeouts may be performed before exponential backoff mode is
747         initiated. This improves retransmission latency for
748         non-aggressive thin streams, often found to be time-dependent.
749         For more information on thin streams, see
750         Documentation/networking/tcp-thin.txt
751         Default: 0
752
753 tcp_limit_output_bytes - INTEGER
754         Controls TCP Small Queue limit per tcp socket.
755         TCP bulk sender tends to increase packets in flight until it
756         gets losses notifications. With SNDBUF autotuning, this can
757         result in a large amount of packets queued on the local machine
758         (e.g.: qdiscs, CPU backlog, or device) hurting latency of other
759         flows, for typical pfifo_fast qdiscs.  tcp_limit_output_bytes
760         limits the number of bytes on qdisc or device to reduce artificial
761         RTT/cwnd and reduce bufferbloat.
762         Default: 1048576 (16 * 65536)
763
764 tcp_challenge_ack_limit - INTEGER
765         Limits number of Challenge ACK sent per second, as recommended
766         in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks)
767         Default: 100
768
769 UDP variables:
770
771 udp_l3mdev_accept - BOOLEAN
772         Enabling this option allows a "global" bound socket to work
773         across L3 master domains (e.g., VRFs) with packets capable of
774         being received regardless of the L3 domain in which they
775         originated. Only valid when the kernel was compiled with
776         CONFIG_NET_L3_MASTER_DEV.
777         Default: 0 (disabled)
778
779 udp_mem - vector of 3 INTEGERs: min, pressure, max
780         Number of pages allowed for queueing by all UDP sockets.
781
782         min: Below this number of pages UDP is not bothered about its
783         memory appetite. When amount of memory allocated by UDP exceeds
784         this number, UDP starts to moderate memory usage.
785
786         pressure: This value was introduced to follow format of tcp_mem.
787
788         max: Number of pages allowed for queueing by all UDP sockets.
789
790         Default is calculated at boot time from amount of available memory.
791
792 udp_rmem_min - INTEGER
793         Minimal size of receive buffer used by UDP sockets in moderation.
794         Each UDP socket is able to use the size for receiving data, even if
795         total pages of UDP sockets exceed udp_mem pressure. The unit is byte.
796         Default: 4K
797
798 udp_wmem_min - INTEGER
799         Minimal size of send buffer used by UDP sockets in moderation.
800         Each UDP socket is able to use the size for sending data, even if
801         total pages of UDP sockets exceed udp_mem pressure. The unit is byte.
802         Default: 4K
803
804 RAW variables:
805
806 raw_l3mdev_accept - BOOLEAN
807         Enabling this option allows a "global" bound socket to work
808         across L3 master domains (e.g., VRFs) with packets capable of
809         being received regardless of the L3 domain in which they
810         originated. Only valid when the kernel was compiled with
811         CONFIG_NET_L3_MASTER_DEV.
812         Default: 1 (enabled)
813
814 CIPSOv4 Variables:
815
816 cipso_cache_enable - BOOLEAN
817         If set, enable additions to and lookups from the CIPSO label mapping
818         cache.  If unset, additions are ignored and lookups always result in a
819         miss.  However, regardless of the setting the cache is still
820         invalidated when required when means you can safely toggle this on and
821         off and the cache will always be "safe".
822         Default: 1
823
824 cipso_cache_bucket_size - INTEGER
825         The CIPSO label cache consists of a fixed size hash table with each
826         hash bucket containing a number of cache entries.  This variable limits
827         the number of entries in each hash bucket; the larger the value the
828         more CIPSO label mappings that can be cached.  When the number of
829         entries in a given hash bucket reaches this limit adding new entries
830         causes the oldest entry in the bucket to be removed to make room.
831         Default: 10
832
833 cipso_rbm_optfmt - BOOLEAN
834         Enable the "Optimized Tag 1 Format" as defined in section 3.4.2.6 of
835         the CIPSO draft specification (see Documentation/netlabel for details).
836         This means that when set the CIPSO tag will be padded with empty
837         categories in order to make the packet data 32-bit aligned.
838         Default: 0
839
840 cipso_rbm_structvalid - BOOLEAN
841         If set, do a very strict check of the CIPSO option when
842         ip_options_compile() is called.  If unset, relax the checks done during
843         ip_options_compile().  Either way is "safe" as errors are caught else
844         where in the CIPSO processing code but setting this to 0 (False) should
845         result in less work (i.e. it should be faster) but could cause problems
846         with other implementations that require strict checking.
847         Default: 0
848
849 IP Variables:
850
851 ip_local_port_range - 2 INTEGERS
852         Defines the local port range that is used by TCP and UDP to
853         choose the local port. The first number is the first, the
854         second the last local port number.
855         If possible, it is better these numbers have different parity.
856         (one even and one odd values)
857         The default values are 32768 and 60999 respectively.
858
859 ip_local_reserved_ports - list of comma separated ranges
860         Specify the ports which are reserved for known third-party
861         applications. These ports will not be used by automatic port
862         assignments (e.g. when calling connect() or bind() with port
863         number 0). Explicit port allocation behavior is unchanged.
864
865         The format used for both input and output is a comma separated
866         list of ranges (e.g. "1,2-4,10-10" for ports 1, 2, 3, 4 and
867         10). Writing to the file will clear all previously reserved
868         ports and update the current list with the one given in the
869         input.
870
871         Note that ip_local_port_range and ip_local_reserved_ports
872         settings are independent and both are considered by the kernel
873         when determining which ports are available for automatic port
874         assignments.
875
876         You can reserve ports which are not in the current
877         ip_local_port_range, e.g.:
878
879         $ cat /proc/sys/net/ipv4/ip_local_port_range
880         32000   60999
881         $ cat /proc/sys/net/ipv4/ip_local_reserved_ports
882         8080,9148
883
884         although this is redundant. However such a setting is useful
885         if later the port range is changed to a value that will
886         include the reserved ports.
887
888         Default: Empty
889
890 ip_unprivileged_port_start - INTEGER
891         This is a per-namespace sysctl.  It defines the first
892         unprivileged port in the network namespace.  Privileged ports
893         require root or CAP_NET_BIND_SERVICE in order to bind to them.
894         To disable all privileged ports, set this to 0.  It may not
895         overlap with the ip_local_reserved_ports range.
896
897         Default: 1024
898
899 ip_nonlocal_bind - BOOLEAN
900         If set, allows processes to bind() to non-local IP addresses,
901         which can be quite useful - but may break some applications.
902         Default: 0
903
904 ip_dynaddr - BOOLEAN
905         If set non-zero, enables support for dynamic addresses.
906         If set to a non-zero value larger than 1, a kernel log
907         message will be printed when dynamic address rewriting
908         occurs.
909         Default: 0
910
911 ip_early_demux - BOOLEAN
912         Optimize input packet processing down to one demux for
913         certain kinds of local sockets.  Currently we only do this
914         for established TCP and connected UDP sockets.
915
916         It may add an additional cost for pure routing workloads that
917         reduces overall throughput, in such case you should disable it.
918         Default: 1
919
920 tcp_early_demux - BOOLEAN
921         Enable early demux for established TCP sockets.
922         Default: 1
923
924 udp_early_demux - BOOLEAN
925         Enable early demux for connected UDP sockets. Disable this if
926         your system could experience more unconnected load.
927         Default: 1
928
929 icmp_echo_ignore_all - BOOLEAN
930         If set non-zero, then the kernel will ignore all ICMP ECHO
931         requests sent to it.
932         Default: 0
933
934 icmp_echo_ignore_broadcasts - BOOLEAN
935         If set non-zero, then the kernel will ignore all ICMP ECHO and
936         TIMESTAMP requests sent to it via broadcast/multicast.
937         Default: 1
938
939 icmp_ratelimit - INTEGER
940         Limit the maximal rates for sending ICMP packets whose type matches
941         icmp_ratemask (see below) to specific targets.
942         0 to disable any limiting,
943         otherwise the minimal space between responses in milliseconds.
944         Note that another sysctl, icmp_msgs_per_sec limits the number
945         of ICMP packets sent on all targets.
946         Default: 1000
947
948 icmp_msgs_per_sec - INTEGER
949         Limit maximal number of ICMP packets sent per second from this host.
950         Only messages whose type matches icmp_ratemask (see below) are
951         controlled by this limit.
952         Default: 1000
953
954 icmp_msgs_burst - INTEGER
955         icmp_msgs_per_sec controls number of ICMP packets sent per second,
956         while icmp_msgs_burst controls the burst size of these packets.
957         Default: 50
958
959 icmp_ratemask - INTEGER
960         Mask made of ICMP types for which rates are being limited.
961         Significant bits: IHGFEDCBA9876543210
962         Default mask:     0000001100000011000 (6168)
963
964         Bit definitions (see include/linux/icmp.h):
965                 0 Echo Reply
966                 3 Destination Unreachable *
967                 4 Source Quench *
968                 5 Redirect
969                 8 Echo Request
970                 B Time Exceeded *
971                 C Parameter Problem *
972                 D Timestamp Request
973                 E Timestamp Reply
974                 F Info Request
975                 G Info Reply
976                 H Address Mask Request
977                 I Address Mask Reply
978
979         * These are rate limited by default (see default mask above)
980
981 icmp_ignore_bogus_error_responses - BOOLEAN
982         Some routers violate RFC1122 by sending bogus responses to broadcast
983         frames.  Such violations are normally logged via a kernel warning.
984         If this is set to TRUE, the kernel will not give such warnings, which
985         will avoid log file clutter.
986         Default: 1
987
988 icmp_errors_use_inbound_ifaddr - BOOLEAN
989
990         If zero, icmp error messages are sent with the primary address of
991         the exiting interface.
992
993         If non-zero, the message will be sent with the primary address of
994         the interface that received the packet that caused the icmp error.
995         This is the behaviour network many administrators will expect from
996         a router. And it can make debugging complicated network layouts
997         much easier.
998
999         Note that if no primary address exists for the interface selected,
1000         then the primary address of the first non-loopback interface that
1001         has one will be used regardless of this setting.
1002
1003         Default: 0
1004
1005 igmp_max_memberships - INTEGER
1006         Change the maximum number of multicast groups we can subscribe to.
1007         Default: 20
1008
1009         Theoretical maximum value is bounded by having to send a membership
1010         report in a single datagram (i.e. the report can't span multiple
1011         datagrams, or risk confusing the switch and leaving groups you don't
1012         intend to).
1013
1014         The number of supported groups 'M' is bounded by the number of group
1015         report entries you can fit into a single datagram of 65535 bytes.
1016
1017         M = 65536-sizeof (ip header)/(sizeof(Group record))
1018
1019         Group records are variable length, with a minimum of 12 bytes.
1020         So net.ipv4.igmp_max_memberships should not be set higher than:
1021
1022         (65536-24) / 12 = 5459
1023
1024         The value 5459 assumes no IP header options, so in practice
1025         this number may be lower.
1026
1027 igmp_max_msf - INTEGER
1028         Maximum number of addresses allowed in the source filter list for a
1029         multicast group.
1030         Default: 10
1031
1032 igmp_qrv - INTEGER
1033         Controls the IGMP query robustness variable (see RFC2236 8.1).
1034         Default: 2 (as specified by RFC2236 8.1)
1035         Minimum: 1 (as specified by RFC6636 4.5)
1036
1037 force_igmp_version - INTEGER
1038         0 - (default) No enforcement of a IGMP version, IGMPv1/v2 fallback
1039             allowed. Will back to IGMPv3 mode again if all IGMPv1/v2 Querier
1040             Present timer expires.
1041         1 - Enforce to use IGMP version 1. Will also reply IGMPv1 report if
1042             receive IGMPv2/v3 query.
1043         2 - Enforce to use IGMP version 2. Will fallback to IGMPv1 if receive
1044             IGMPv1 query message. Will reply report if receive IGMPv3 query.
1045         3 - Enforce to use IGMP version 3. The same react with default 0.
1046
1047         Note: this is not the same with force_mld_version because IGMPv3 RFC3376
1048         Security Considerations does not have clear description that we could
1049         ignore other version messages completely as MLDv2 RFC3810. So make
1050         this value as default 0 is recommended.
1051
1052 conf/interface/*  changes special settings per interface (where
1053 "interface" is the name of your network interface)
1054
1055 conf/all/*        is special, changes the settings for all interfaces
1056
1057 log_martians - BOOLEAN
1058         Log packets with impossible addresses to kernel log.
1059         log_martians for the interface will be enabled if at least one of
1060         conf/{all,interface}/log_martians is set to TRUE,
1061         it will be disabled otherwise
1062
1063 accept_redirects - BOOLEAN
1064         Accept ICMP redirect messages.
1065         accept_redirects for the interface will be enabled if:
1066         - both conf/{all,interface}/accept_redirects are TRUE in the case
1067           forwarding for the interface is enabled
1068         or
1069         - at least one of conf/{all,interface}/accept_redirects is TRUE in the
1070           case forwarding for the interface is disabled
1071         accept_redirects for the interface will be disabled otherwise
1072         default TRUE (host)
1073                 FALSE (router)
1074
1075 forwarding - BOOLEAN
1076         Enable IP forwarding on this interface.  This controls whether packets
1077         received _on_ this interface can be forwarded.
1078
1079 mc_forwarding - BOOLEAN
1080         Do multicast routing. The kernel needs to be compiled with CONFIG_MROUTE
1081         and a multicast routing daemon is required.
1082         conf/all/mc_forwarding must also be set to TRUE to enable multicast
1083         routing for the interface
1084
1085 medium_id - INTEGER
1086         Integer value used to differentiate the devices by the medium they
1087         are attached to. Two devices can have different id values when
1088         the broadcast packets are received only on one of them.
1089         The default value 0 means that the device is the only interface
1090         to its medium, value of -1 means that medium is not known.
1091
1092         Currently, it is used to change the proxy_arp behavior:
1093         the proxy_arp feature is enabled for packets forwarded between
1094         two devices attached to different media.
1095
1096 proxy_arp - BOOLEAN
1097         Do proxy arp.
1098         proxy_arp for the interface will be enabled if at least one of
1099         conf/{all,interface}/proxy_arp is set to TRUE,
1100         it will be disabled otherwise
1101
1102 proxy_arp_pvlan - BOOLEAN
1103         Private VLAN proxy arp.
1104         Basically allow proxy arp replies back to the same interface
1105         (from which the ARP request/solicitation was received).
1106
1107         This is done to support (ethernet) switch features, like RFC
1108         3069, where the individual ports are NOT allowed to
1109         communicate with each other, but they are allowed to talk to
1110         the upstream router.  As described in RFC 3069, it is possible
1111         to allow these hosts to communicate through the upstream
1112         router by proxy_arp'ing. Don't need to be used together with
1113         proxy_arp.
1114
1115         This technology is known by different names:
1116           In RFC 3069 it is called VLAN Aggregation.
1117           Cisco and Allied Telesyn call it Private VLAN.
1118           Hewlett-Packard call it Source-Port filtering or port-isolation.
1119           Ericsson call it MAC-Forced Forwarding (RFC Draft).
1120
1121 shared_media - BOOLEAN
1122         Send(router) or accept(host) RFC1620 shared media redirects.
1123         Overrides secure_redirects.
1124         shared_media for the interface will be enabled if at least one of
1125         conf/{all,interface}/shared_media is set to TRUE,
1126         it will be disabled otherwise
1127         default TRUE
1128
1129 secure_redirects - BOOLEAN
1130         Accept ICMP redirect messages only to gateways listed in the
1131         interface's current gateway list. Even if disabled, RFC1122 redirect
1132         rules still apply.
1133         Overridden by shared_media.
1134         secure_redirects for the interface will be enabled if at least one of
1135         conf/{all,interface}/secure_redirects is set to TRUE,
1136         it will be disabled otherwise
1137         default TRUE
1138
1139 send_redirects - BOOLEAN
1140         Send redirects, if router.
1141         send_redirects for the interface will be enabled if at least one of
1142         conf/{all,interface}/send_redirects is set to TRUE,
1143         it will be disabled otherwise
1144         Default: TRUE
1145
1146 bootp_relay - BOOLEAN
1147         Accept packets with source address 0.b.c.d destined
1148         not to this host as local ones. It is supposed, that
1149         BOOTP relay daemon will catch and forward such packets.
1150         conf/all/bootp_relay must also be set to TRUE to enable BOOTP relay
1151         for the interface
1152         default FALSE
1153         Not Implemented Yet.
1154
1155 accept_source_route - BOOLEAN
1156         Accept packets with SRR option.
1157         conf/all/accept_source_route must also be set to TRUE to accept packets
1158         with SRR option on the interface
1159         default TRUE (router)
1160                 FALSE (host)
1161
1162 accept_local - BOOLEAN
1163         Accept packets with local source addresses. In combination with
1164         suitable routing, this can be used to direct packets between two
1165         local interfaces over the wire and have them accepted properly.
1166         default FALSE
1167
1168 route_localnet - BOOLEAN
1169         Do not consider loopback addresses as martian source or destination
1170         while routing. This enables the use of 127/8 for local routing purposes.
1171         default FALSE
1172
1173 rp_filter - INTEGER
1174         0 - No source validation.
1175         1 - Strict mode as defined in RFC3704 Strict Reverse Path
1176             Each incoming packet is tested against the FIB and if the interface
1177             is not the best reverse path the packet check will fail.
1178             By default failed packets are discarded.
1179         2 - Loose mode as defined in RFC3704 Loose Reverse Path
1180             Each incoming packet's source address is also tested against the FIB
1181             and if the source address is not reachable via any interface
1182             the packet check will fail.
1183
1184         Current recommended practice in RFC3704 is to enable strict mode
1185         to prevent IP spoofing from DDos attacks. If using asymmetric routing
1186         or other complicated routing, then loose mode is recommended.
1187
1188         The max value from conf/{all,interface}/rp_filter is used
1189         when doing source validation on the {interface}.
1190
1191         Default value is 0. Note that some distributions enable it
1192         in startup scripts.
1193
1194 arp_filter - BOOLEAN
1195         1 - Allows you to have multiple network interfaces on the same
1196         subnet, and have the ARPs for each interface be answered
1197         based on whether or not the kernel would route a packet from
1198         the ARP'd IP out that interface (therefore you must use source
1199         based routing for this to work). In other words it allows control
1200         of which cards (usually 1) will respond to an arp request.
1201
1202         0 - (default) The kernel can respond to arp requests with addresses
1203         from other interfaces. This may seem wrong but it usually makes
1204         sense, because it increases the chance of successful communication.
1205         IP addresses are owned by the complete host on Linux, not by
1206         particular interfaces. Only for more complex setups like load-
1207         balancing, does this behaviour cause problems.
1208
1209         arp_filter for the interface will be enabled if at least one of
1210         conf/{all,interface}/arp_filter is set to TRUE,
1211         it will be disabled otherwise
1212
1213 arp_announce - INTEGER
1214         Define different restriction levels for announcing the local
1215         source IP address from IP packets in ARP requests sent on
1216         interface:
1217         0 - (default) Use any local address, configured on any interface
1218         1 - Try to avoid local addresses that are not in the target's
1219         subnet for this interface. This mode is useful when target
1220         hosts reachable via this interface require the source IP
1221         address in ARP requests to be part of their logical network
1222         configured on the receiving interface. When we generate the
1223         request we will check all our subnets that include the
1224         target IP and will preserve the source address if it is from
1225         such subnet. If there is no such subnet we select source
1226         address according to the rules for level 2.
1227         2 - Always use the best local address for this target.
1228         In this mode we ignore the source address in the IP packet
1229         and try to select local address that we prefer for talks with
1230         the target host. Such local address is selected by looking
1231         for primary IP addresses on all our subnets on the outgoing
1232         interface that include the target IP address. If no suitable
1233         local address is found we select the first local address
1234         we have on the outgoing interface or on all other interfaces,
1235         with the hope we will receive reply for our request and
1236         even sometimes no matter the source IP address we announce.
1237
1238         The max value from conf/{all,interface}/arp_announce is used.
1239
1240         Increasing the restriction level gives more chance for
1241         receiving answer from the resolved target while decreasing
1242         the level announces more valid sender's information.
1243
1244 arp_ignore - INTEGER
1245         Define different modes for sending replies in response to
1246         received ARP requests that resolve local target IP addresses:
1247         0 - (default): reply for any local target IP address, configured
1248         on any interface
1249         1 - reply only if the target IP address is local address
1250         configured on the incoming interface
1251         2 - reply only if the target IP address is local address
1252         configured on the incoming interface and both with the
1253         sender's IP address are part from same subnet on this interface
1254         3 - do not reply for local addresses configured with scope host,
1255         only resolutions for global and link addresses are replied
1256         4-7 - reserved
1257         8 - do not reply for all local addresses
1258
1259         The max value from conf/{all,interface}/arp_ignore is used
1260         when ARP request is received on the {interface}
1261
1262 arp_notify - BOOLEAN
1263         Define mode for notification of address and device changes.
1264         0 - (default): do nothing
1265         1 - Generate gratuitous arp requests when device is brought up
1266             or hardware address changes.
1267
1268 arp_accept - BOOLEAN
1269         Define behavior for gratuitous ARP frames who's IP is not
1270         already present in the ARP table:
1271         0 - don't create new entries in the ARP table
1272         1 - create new entries in the ARP table
1273
1274         Both replies and requests type gratuitous arp will trigger the
1275         ARP table to be updated, if this setting is on.
1276
1277         If the ARP table already contains the IP address of the
1278         gratuitous arp frame, the arp table will be updated regardless
1279         if this setting is on or off.
1280
1281 mcast_solicit - INTEGER
1282         The maximum number of multicast probes in INCOMPLETE state,
1283         when the associated hardware address is unknown.  Defaults
1284         to 3.
1285
1286 ucast_solicit - INTEGER
1287         The maximum number of unicast probes in PROBE state, when
1288         the hardware address is being reconfirmed.  Defaults to 3.
1289
1290 app_solicit - INTEGER
1291         The maximum number of probes to send to the user space ARP daemon
1292         via netlink before dropping back to multicast probes (see
1293         mcast_resolicit).  Defaults to 0.
1294
1295 mcast_resolicit - INTEGER
1296         The maximum number of multicast probes after unicast and
1297         app probes in PROBE state.  Defaults to 0.
1298
1299 disable_policy - BOOLEAN
1300         Disable IPSEC policy (SPD) for this interface
1301
1302 disable_xfrm - BOOLEAN
1303         Disable IPSEC encryption on this interface, whatever the policy
1304
1305 igmpv2_unsolicited_report_interval - INTEGER
1306         The interval in milliseconds in which the next unsolicited
1307         IGMPv1 or IGMPv2 report retransmit will take place.
1308         Default: 10000 (10 seconds)
1309
1310 igmpv3_unsolicited_report_interval - INTEGER
1311         The interval in milliseconds in which the next unsolicited
1312         IGMPv3 report retransmit will take place.
1313         Default: 1000 (1 seconds)
1314
1315 promote_secondaries - BOOLEAN
1316         When a primary IP address is removed from this interface
1317         promote a corresponding secondary IP address instead of
1318         removing all the corresponding secondary IP addresses.
1319
1320 drop_unicast_in_l2_multicast - BOOLEAN
1321         Drop any unicast IP packets that are received in link-layer
1322         multicast (or broadcast) frames.
1323         This behavior (for multicast) is actually a SHOULD in RFC
1324         1122, but is disabled by default for compatibility reasons.
1325         Default: off (0)
1326
1327 drop_gratuitous_arp - BOOLEAN
1328         Drop all gratuitous ARP frames, for example if there's a known
1329         good ARP proxy on the network and such frames need not be used
1330         (or in the case of 802.11, must not be used to prevent attacks.)
1331         Default: off (0)
1332
1333
1334 tag - INTEGER
1335         Allows you to write a number, which can be used as required.
1336         Default value is 0.
1337
1338 xfrm4_gc_thresh - INTEGER
1339         The threshold at which we will start garbage collecting for IPv4
1340         destination cache entries.  At twice this value the system will
1341         refuse new allocations.
1342
1343 igmp_link_local_mcast_reports - BOOLEAN
1344         Enable IGMP reports for link local multicast groups in the
1345         224.0.0.X range.
1346         Default TRUE
1347
1348 Alexey Kuznetsov.
1349 kuznet@ms2.inr.ac.ru
1350
1351 Updated by:
1352 Andi Kleen
1353 ak@muc.de
1354 Nicolas Delon
1355 delon.nicolas@wanadoo.fr
1356
1357
1358
1359
1360 /proc/sys/net/ipv6/* Variables:
1361
1362 IPv6 has no global variables such as tcp_*.  tcp_* settings under ipv4/ also
1363 apply to IPv6 [XXX?].
1364
1365 bindv6only - BOOLEAN
1366         Default value for IPV6_V6ONLY socket option,
1367         which restricts use of the IPv6 socket to IPv6 communication
1368         only.
1369                 TRUE: disable IPv4-mapped address feature
1370                 FALSE: enable IPv4-mapped address feature
1371
1372         Default: FALSE (as specified in RFC3493)
1373
1374 flowlabel_consistency - BOOLEAN
1375         Protect the consistency (and unicity) of flow label.
1376         You have to disable it to use IPV6_FL_F_REFLECT flag on the
1377         flow label manager.
1378         TRUE: enabled
1379         FALSE: disabled
1380         Default: TRUE
1381
1382 auto_flowlabels - INTEGER
1383         Automatically generate flow labels based on a flow hash of the
1384         packet. This allows intermediate devices, such as routers, to
1385         identify packet flows for mechanisms like Equal Cost Multipath
1386         Routing (see RFC 6438).
1387         0: automatic flow labels are completely disabled
1388         1: automatic flow labels are enabled by default, they can be
1389            disabled on a per socket basis using the IPV6_AUTOFLOWLABEL
1390            socket option
1391         2: automatic flow labels are allowed, they may be enabled on a
1392            per socket basis using the IPV6_AUTOFLOWLABEL socket option
1393         3: automatic flow labels are enabled and enforced, they cannot
1394            be disabled by the socket option
1395         Default: 1
1396
1397 flowlabel_state_ranges - BOOLEAN
1398         Split the flow label number space into two ranges. 0-0x7FFFF is
1399         reserved for the IPv6 flow manager facility, 0x80000-0xFFFFF
1400         is reserved for stateless flow labels as described in RFC6437.
1401         TRUE: enabled
1402         FALSE: disabled
1403         Default: true
1404
1405 flowlabel_reflect - BOOLEAN
1406         Automatically reflect the flow label. Needed for Path MTU
1407         Discovery to work with Equal Cost Multipath Routing in anycast
1408         environments. See RFC 7690 and:
1409         https://tools.ietf.org/html/draft-wang-6man-flow-label-reflection-01
1410         TRUE: enabled
1411         FALSE: disabled
1412         Default: FALSE
1413
1414 fib_multipath_hash_policy - INTEGER
1415         Controls which hash policy to use for multipath routes.
1416         Default: 0 (Layer 3)
1417         Possible values:
1418         0 - Layer 3 (source and destination addresses plus flow label)
1419         1 - Layer 4 (standard 5-tuple)
1420
1421 anycast_src_echo_reply - BOOLEAN
1422         Controls the use of anycast addresses as source addresses for ICMPv6
1423         echo reply
1424         TRUE:  enabled
1425         FALSE: disabled
1426         Default: FALSE
1427
1428 idgen_delay - INTEGER
1429         Controls the delay in seconds after which time to retry
1430         privacy stable address generation if a DAD conflict is
1431         detected.
1432         Default: 1 (as specified in RFC7217)
1433
1434 idgen_retries - INTEGER
1435         Controls the number of retries to generate a stable privacy
1436         address if a DAD conflict is detected.
1437         Default: 3 (as specified in RFC7217)
1438
1439 mld_qrv - INTEGER
1440         Controls the MLD query robustness variable (see RFC3810 9.1).
1441         Default: 2 (as specified by RFC3810 9.1)
1442         Minimum: 1 (as specified by RFC6636 4.5)
1443
1444 max_dst_opts_number - INTEGER
1445         Maximum number of non-padding TLVs allowed in a Destination
1446         options extension header. If this value is less than zero
1447         then unknown options are disallowed and the number of known
1448         TLVs allowed is the absolute value of this number.
1449         Default: 8
1450
1451 max_hbh_opts_number - INTEGER
1452         Maximum number of non-padding TLVs allowed in a Hop-by-Hop
1453         options extension header. If this value is less than zero
1454         then unknown options are disallowed and the number of known
1455         TLVs allowed is the absolute value of this number.
1456         Default: 8
1457
1458 max_dst_opts_length - INTEGER
1459         Maximum length allowed for a Destination options extension
1460         header.
1461         Default: INT_MAX (unlimited)
1462
1463 max_hbh_length - INTEGER
1464         Maximum length allowed for a Hop-by-Hop options extension
1465         header.
1466         Default: INT_MAX (unlimited)
1467
1468 skip_notify_on_dev_down - BOOLEAN
1469         Controls whether an RTM_DELROUTE message is generated for routes
1470         removed when a device is taken down or deleted. IPv4 does not
1471         generate this message; IPv6 does by default. Setting this sysctl
1472         to true skips the message, making IPv4 and IPv6 on par in relying
1473         on userspace caches to track link events and evict routes.
1474         Default: false (generate message)
1475
1476 IPv6 Fragmentation:
1477
1478 ip6frag_high_thresh - INTEGER
1479         Maximum memory used to reassemble IPv6 fragments. When
1480         ip6frag_high_thresh bytes of memory is allocated for this purpose,
1481         the fragment handler will toss packets until ip6frag_low_thresh
1482         is reached.
1483
1484 ip6frag_low_thresh - INTEGER
1485         See ip6frag_high_thresh
1486
1487 ip6frag_time - INTEGER
1488         Time in seconds to keep an IPv6 fragment in memory.
1489
1490 IPv6 Segment Routing:
1491
1492 seg6_flowlabel - INTEGER
1493         Controls the behaviour of computing the flowlabel of outer
1494         IPv6 header in case of SR T.encaps
1495
1496         -1 set flowlabel to zero.
1497         0 copy flowlabel from Inner packet in case of Inner IPv6
1498                 (Set flowlabel to 0 in case IPv4/L2)
1499         1 Compute the flowlabel using seg6_make_flowlabel()
1500
1501         Default is 0.
1502
1503 conf/default/*:
1504         Change the interface-specific default settings.
1505
1506
1507 conf/all/*:
1508         Change all the interface-specific settings.
1509
1510         [XXX:  Other special features than forwarding?]
1511
1512 conf/all/forwarding - BOOLEAN
1513         Enable global IPv6 forwarding between all interfaces.
1514
1515         IPv4 and IPv6 work differently here; e.g. netfilter must be used
1516         to control which interfaces may forward packets and which not.
1517
1518         This also sets all interfaces' Host/Router setting
1519         'forwarding' to the specified value.  See below for details.
1520
1521         This referred to as global forwarding.
1522
1523 proxy_ndp - BOOLEAN
1524         Do proxy ndp.
1525
1526 fwmark_reflect - BOOLEAN
1527         Controls the fwmark of kernel-generated IPv6 reply packets that are not
1528         associated with a socket for example, TCP RSTs or ICMPv6 echo replies).
1529         If unset, these packets have a fwmark of zero. If set, they have the
1530         fwmark of the packet they are replying to.
1531         Default: 0
1532
1533 conf/interface/*:
1534         Change special settings per interface.
1535
1536         The functional behaviour for certain settings is different
1537         depending on whether local forwarding is enabled or not.
1538
1539 accept_ra - INTEGER
1540         Accept Router Advertisements; autoconfigure using them.
1541
1542         It also determines whether or not to transmit Router
1543         Solicitations. If and only if the functional setting is to
1544         accept Router Advertisements, Router Solicitations will be
1545         transmitted.
1546
1547         Possible values are:
1548                 0 Do not accept Router Advertisements.
1549                 1 Accept Router Advertisements if forwarding is disabled.
1550                 2 Overrule forwarding behaviour. Accept Router Advertisements
1551                   even if forwarding is enabled.
1552
1553         Functional default: enabled if local forwarding is disabled.
1554                             disabled if local forwarding is enabled.
1555
1556 accept_ra_defrtr - BOOLEAN
1557         Learn default router in Router Advertisement.
1558
1559         Functional default: enabled if accept_ra is enabled.
1560                             disabled if accept_ra is disabled.
1561
1562 accept_ra_from_local - BOOLEAN
1563         Accept RA with source-address that is found on local machine
1564         if the RA is otherwise proper and able to be accepted.
1565         Default is to NOT accept these as it may be an un-intended
1566         network loop.
1567
1568         Functional default:
1569            enabled if accept_ra_from_local is enabled
1570                on a specific interface.
1571            disabled if accept_ra_from_local is disabled
1572                on a specific interface.
1573
1574 accept_ra_min_hop_limit - INTEGER
1575         Minimum hop limit Information in Router Advertisement.
1576
1577         Hop limit Information in Router Advertisement less than this
1578         variable shall be ignored.
1579
1580         Default: 1
1581
1582 accept_ra_pinfo - BOOLEAN
1583         Learn Prefix Information in Router Advertisement.
1584
1585         Functional default: enabled if accept_ra is enabled.
1586                             disabled if accept_ra is disabled.
1587
1588 accept_ra_rt_info_min_plen - INTEGER
1589         Minimum prefix length of Route Information in RA.
1590
1591         Route Information w/ prefix smaller than this variable shall
1592         be ignored.
1593
1594         Functional default: 0 if accept_ra_rtr_pref is enabled.
1595                             -1 if accept_ra_rtr_pref is disabled.
1596
1597 accept_ra_rt_info_max_plen - INTEGER
1598         Maximum prefix length of Route Information in RA.
1599
1600         Route Information w/ prefix larger than this variable shall
1601         be ignored.
1602
1603         Functional default: 0 if accept_ra_rtr_pref is enabled.
1604                             -1 if accept_ra_rtr_pref is disabled.
1605
1606 accept_ra_rtr_pref - BOOLEAN
1607         Accept Router Preference in RA.
1608
1609         Functional default: enabled if accept_ra is enabled.
1610                             disabled if accept_ra is disabled.
1611
1612 accept_ra_mtu - BOOLEAN
1613         Apply the MTU value specified in RA option 5 (RFC4861). If
1614         disabled, the MTU specified in the RA will be ignored.
1615
1616         Functional default: enabled if accept_ra is enabled.
1617                             disabled if accept_ra is disabled.
1618
1619 accept_redirects - BOOLEAN
1620         Accept Redirects.
1621
1622         Functional default: enabled if local forwarding is disabled.
1623                             disabled if local forwarding is enabled.
1624
1625 accept_source_route - INTEGER
1626         Accept source routing (routing extension header).
1627
1628         >= 0: Accept only routing header type 2.
1629         < 0: Do not accept routing header.
1630
1631         Default: 0
1632
1633 autoconf - BOOLEAN
1634         Autoconfigure addresses using Prefix Information in Router
1635         Advertisements.
1636
1637         Functional default: enabled if accept_ra_pinfo is enabled.
1638                             disabled if accept_ra_pinfo is disabled.
1639
1640 dad_transmits - INTEGER
1641         The amount of Duplicate Address Detection probes to send.
1642         Default: 1
1643
1644 forwarding - INTEGER
1645         Configure interface-specific Host/Router behaviour.
1646
1647         Note: It is recommended to have the same setting on all
1648         interfaces; mixed router/host scenarios are rather uncommon.
1649
1650         Possible values are:
1651                 0 Forwarding disabled
1652                 1 Forwarding enabled
1653
1654         FALSE (0):
1655
1656         By default, Host behaviour is assumed.  This means:
1657
1658         1. IsRouter flag is not set in Neighbour Advertisements.
1659         2. If accept_ra is TRUE (default), transmit Router
1660            Solicitations.
1661         3. If accept_ra is TRUE (default), accept Router
1662            Advertisements (and do autoconfiguration).
1663         4. If accept_redirects is TRUE (default), accept Redirects.
1664
1665         TRUE (1):
1666
1667         If local forwarding is enabled, Router behaviour is assumed.
1668         This means exactly the reverse from the above:
1669
1670         1. IsRouter flag is set in Neighbour Advertisements.
1671         2. Router Solicitations are not sent unless accept_ra is 2.
1672         3. Router Advertisements are ignored unless accept_ra is 2.
1673         4. Redirects are ignored.
1674
1675         Default: 0 (disabled) if global forwarding is disabled (default),
1676                  otherwise 1 (enabled).
1677
1678 hop_limit - INTEGER
1679         Default Hop Limit to set.
1680         Default: 64
1681
1682 mtu - INTEGER
1683         Default Maximum Transfer Unit
1684         Default: 1280 (IPv6 required minimum)
1685
1686 ip_nonlocal_bind - BOOLEAN
1687         If set, allows processes to bind() to non-local IPv6 addresses,
1688         which can be quite useful - but may break some applications.
1689         Default: 0
1690
1691 router_probe_interval - INTEGER
1692         Minimum interval (in seconds) between Router Probing described
1693         in RFC4191.
1694
1695         Default: 60
1696
1697 router_solicitation_delay - INTEGER
1698         Number of seconds to wait after interface is brought up
1699         before sending Router Solicitations.
1700         Default: 1
1701
1702 router_solicitation_interval - INTEGER
1703         Number of seconds to wait between Router Solicitations.
1704         Default: 4
1705
1706 router_solicitations - INTEGER
1707         Number of Router Solicitations to send until assuming no
1708         routers are present.
1709         Default: 3
1710
1711 use_oif_addrs_only - BOOLEAN
1712         When enabled, the candidate source addresses for destinations
1713         routed via this interface are restricted to the set of addresses
1714         configured on this interface (vis. RFC 6724, section 4).
1715
1716         Default: false
1717
1718 use_tempaddr - INTEGER
1719         Preference for Privacy Extensions (RFC3041).
1720           <= 0 : disable Privacy Extensions
1721           == 1 : enable Privacy Extensions, but prefer public
1722                  addresses over temporary addresses.
1723           >  1 : enable Privacy Extensions and prefer temporary
1724                  addresses over public addresses.
1725         Default:  0 (for most devices)
1726                  -1 (for point-to-point devices and loopback devices)
1727
1728 temp_valid_lft - INTEGER
1729         valid lifetime (in seconds) for temporary addresses.
1730         Default: 604800 (7 days)
1731
1732 temp_prefered_lft - INTEGER
1733         Preferred lifetime (in seconds) for temporary addresses.
1734         Default: 86400 (1 day)
1735
1736 keep_addr_on_down - INTEGER
1737         Keep all IPv6 addresses on an interface down event. If set static
1738         global addresses with no expiration time are not flushed.
1739           >0 : enabled
1740            0 : system default
1741           <0 : disabled
1742
1743         Default: 0 (addresses are removed)
1744
1745 max_desync_factor - INTEGER
1746         Maximum value for DESYNC_FACTOR, which is a random value
1747         that ensures that clients don't synchronize with each
1748         other and generate new addresses at exactly the same time.
1749         value is in seconds.
1750         Default: 600
1751
1752 regen_max_retry - INTEGER
1753         Number of attempts before give up attempting to generate
1754         valid temporary addresses.
1755         Default: 5
1756
1757 max_addresses - INTEGER
1758         Maximum number of autoconfigured addresses per interface.  Setting
1759         to zero disables the limitation.  It is not recommended to set this
1760         value too large (or to zero) because it would be an easy way to
1761         crash the kernel by allowing too many addresses to be created.
1762         Default: 16
1763
1764 disable_ipv6 - BOOLEAN
1765         Disable IPv6 operation.  If accept_dad is set to 2, this value
1766         will be dynamically set to TRUE if DAD fails for the link-local
1767         address.
1768         Default: FALSE (enable IPv6 operation)
1769
1770         When this value is changed from 1 to 0 (IPv6 is being enabled),
1771         it will dynamically create a link-local address on the given
1772         interface and start Duplicate Address Detection, if necessary.
1773
1774         When this value is changed from 0 to 1 (IPv6 is being disabled),
1775         it will dynamically delete all addresses and routes on the given
1776         interface. From now on it will not possible to add addresses/routes
1777         to the selected interface.
1778
1779 accept_dad - INTEGER
1780         Whether to accept DAD (Duplicate Address Detection).
1781         0: Disable DAD
1782         1: Enable DAD (default)
1783         2: Enable DAD, and disable IPv6 operation if MAC-based duplicate
1784            link-local address has been found.
1785
1786         DAD operation and mode on a given interface will be selected according
1787         to the maximum value of conf/{all,interface}/accept_dad.
1788
1789 force_tllao - BOOLEAN
1790         Enable sending the target link-layer address option even when
1791         responding to a unicast neighbor solicitation.
1792         Default: FALSE
1793
1794         Quoting from RFC 2461, section 4.4, Target link-layer address:
1795
1796         "The option MUST be included for multicast solicitations in order to
1797         avoid infinite Neighbor Solicitation "recursion" when the peer node
1798         does not have a cache entry to return a Neighbor Advertisements
1799         message.  When responding to unicast solicitations, the option can be
1800         omitted since the sender of the solicitation has the correct link-
1801         layer address; otherwise it would not have be able to send the unicast
1802         solicitation in the first place. However, including the link-layer
1803         address in this case adds little overhead and eliminates a potential
1804         race condition where the sender deletes the cached link-layer address
1805         prior to receiving a response to a previous solicitation."
1806
1807 ndisc_notify - BOOLEAN
1808         Define mode for notification of address and device changes.
1809         0 - (default): do nothing
1810         1 - Generate unsolicited neighbour advertisements when device is brought
1811             up or hardware address changes.
1812
1813 ndisc_tclass - INTEGER
1814         The IPv6 Traffic Class to use by default when sending IPv6 Neighbor
1815         Discovery (Router Solicitation, Router Advertisement, Neighbor
1816         Solicitation, Neighbor Advertisement, Redirect) messages.
1817         These 8 bits can be interpreted as 6 high order bits holding the DSCP
1818         value and 2 low order bits representing ECN (which you probably want
1819         to leave cleared).
1820         0 - (default)
1821
1822 mldv1_unsolicited_report_interval - INTEGER
1823         The interval in milliseconds in which the next unsolicited
1824         MLDv1 report retransmit will take place.
1825         Default: 10000 (10 seconds)
1826
1827 mldv2_unsolicited_report_interval - INTEGER
1828         The interval in milliseconds in which the next unsolicited
1829         MLDv2 report retransmit will take place.
1830         Default: 1000 (1 second)
1831
1832 force_mld_version - INTEGER
1833         0 - (default) No enforcement of a MLD version, MLDv1 fallback allowed
1834         1 - Enforce to use MLD version 1
1835         2 - Enforce to use MLD version 2
1836
1837 suppress_frag_ndisc - INTEGER
1838         Control RFC 6980 (Security Implications of IPv6 Fragmentation
1839         with IPv6 Neighbor Discovery) behavior:
1840         1 - (default) discard fragmented neighbor discovery packets
1841         0 - allow fragmented neighbor discovery packets
1842
1843 optimistic_dad - BOOLEAN
1844         Whether to perform Optimistic Duplicate Address Detection (RFC 4429).
1845         0: disabled (default)
1846         1: enabled
1847
1848         Optimistic Duplicate Address Detection for the interface will be enabled
1849         if at least one of conf/{all,interface}/optimistic_dad is set to 1,
1850         it will be disabled otherwise.
1851
1852 use_optimistic - BOOLEAN
1853         If enabled, do not classify optimistic addresses as deprecated during
1854         source address selection.  Preferred addresses will still be chosen
1855         before optimistic addresses, subject to other ranking in the source
1856         address selection algorithm.
1857         0: disabled (default)
1858         1: enabled
1859
1860         This will be enabled if at least one of
1861         conf/{all,interface}/use_optimistic is set to 1, disabled otherwise.
1862
1863 stable_secret - IPv6 address
1864         This IPv6 address will be used as a secret to generate IPv6
1865         addresses for link-local addresses and autoconfigured
1866         ones. All addresses generated after setting this secret will
1867         be stable privacy ones by default. This can be changed via the
1868         addrgenmode ip-link. conf/default/stable_secret is used as the
1869         secret for the namespace, the interface specific ones can
1870         overwrite that. Writes to conf/all/stable_secret are refused.
1871
1872         It is recommended to generate this secret during installation
1873         of a system and keep it stable after that.
1874
1875         By default the stable secret is unset.
1876
1877 addr_gen_mode - INTEGER
1878         Defines how link-local and autoconf addresses are generated.
1879
1880         0: generate address based on EUI64 (default)
1881         1: do no generate a link-local address, use EUI64 for addresses generated
1882            from autoconf
1883         2: generate stable privacy addresses, using the secret from
1884            stable_secret (RFC7217)
1885         3: generate stable privacy addresses, using a random secret if unset
1886
1887 drop_unicast_in_l2_multicast - BOOLEAN
1888         Drop any unicast IPv6 packets that are received in link-layer
1889         multicast (or broadcast) frames.
1890
1891         By default this is turned off.
1892
1893 drop_unsolicited_na - BOOLEAN
1894         Drop all unsolicited neighbor advertisements, for example if there's
1895         a known good NA proxy on the network and such frames need not be used
1896         (or in the case of 802.11, must not be used to prevent attacks.)
1897
1898         By default this is turned off.
1899
1900 enhanced_dad - BOOLEAN
1901         Include a nonce option in the IPv6 neighbor solicitation messages used for
1902         duplicate address detection per RFC7527. A received DAD NS will only signal
1903         a duplicate address if the nonce is different. This avoids any false
1904         detection of duplicates due to loopback of the NS messages that we send.
1905         The nonce option will be sent on an interface unless both of
1906         conf/{all,interface}/enhanced_dad are set to FALSE.
1907         Default: TRUE
1908
1909 icmp/*:
1910 ratelimit - INTEGER
1911         Limit the maximal rates for sending ICMPv6 packets.
1912         0 to disable any limiting,
1913         otherwise the minimal space between responses in milliseconds.
1914         Default: 1000
1915
1916 echo_ignore_all - BOOLEAN
1917         If set non-zero, then the kernel will ignore all ICMP ECHO
1918         requests sent to it over the IPv6 protocol.
1919         Default: 0
1920
1921 xfrm6_gc_thresh - INTEGER
1922         The threshold at which we will start garbage collecting for IPv6
1923         destination cache entries.  At twice this value the system will
1924         refuse new allocations.
1925
1926
1927 IPv6 Update by:
1928 Pekka Savola <pekkas@netcore.fi>
1929 YOSHIFUJI Hideaki / USAGI Project <yoshfuji@linux-ipv6.org>
1930
1931
1932 /proc/sys/net/bridge/* Variables:
1933
1934 bridge-nf-call-arptables - BOOLEAN
1935         1 : pass bridged ARP traffic to arptables' FORWARD chain.
1936         0 : disable this.
1937         Default: 1
1938
1939 bridge-nf-call-iptables - BOOLEAN
1940         1 : pass bridged IPv4 traffic to iptables' chains.
1941         0 : disable this.
1942         Default: 1
1943
1944 bridge-nf-call-ip6tables - BOOLEAN
1945         1 : pass bridged IPv6 traffic to ip6tables' chains.
1946         0 : disable this.
1947         Default: 1
1948
1949 bridge-nf-filter-vlan-tagged - BOOLEAN
1950         1 : pass bridged vlan-tagged ARP/IP/IPv6 traffic to {arp,ip,ip6}tables.
1951         0 : disable this.
1952         Default: 0
1953
1954 bridge-nf-filter-pppoe-tagged - BOOLEAN
1955         1 : pass bridged pppoe-tagged IP/IPv6 traffic to {ip,ip6}tables.
1956         0 : disable this.
1957         Default: 0
1958
1959 bridge-nf-pass-vlan-input-dev - BOOLEAN
1960         1: if bridge-nf-filter-vlan-tagged is enabled, try to find a vlan
1961         interface on the bridge and set the netfilter input device to the vlan.
1962         This allows use of e.g. "iptables -i br0.1" and makes the REDIRECT
1963         target work with vlan-on-top-of-bridge interfaces.  When no matching
1964         vlan interface is found, or this switch is off, the input device is
1965         set to the bridge interface.
1966         0: disable bridge netfilter vlan interface lookup.
1967         Default: 0
1968
1969 proc/sys/net/sctp/* Variables:
1970
1971 addip_enable - BOOLEAN
1972         Enable or disable extension of  Dynamic Address Reconfiguration
1973         (ADD-IP) functionality specified in RFC5061.  This extension provides
1974         the ability to dynamically add and remove new addresses for the SCTP
1975         associations.
1976
1977         1: Enable extension.
1978
1979         0: Disable extension.
1980
1981         Default: 0
1982
1983 pf_enable - INTEGER
1984         Enable or disable pf (pf is short for potentially failed) state. A value
1985         of pf_retrans > path_max_retrans also disables pf state. That is, one of
1986         both pf_enable and pf_retrans > path_max_retrans can disable pf state.
1987         Since pf_retrans and path_max_retrans can be changed by userspace
1988         application, sometimes user expects to disable pf state by the value of
1989         pf_retrans > path_max_retrans, but occasionally the value of pf_retrans
1990         or path_max_retrans is changed by the user application, this pf state is
1991         enabled. As such, it is necessary to add this to dynamically enable
1992         and disable pf state. See:
1993         https://datatracker.ietf.org/doc/draft-ietf-tsvwg-sctp-failover for
1994         details.
1995
1996         1: Enable pf.
1997
1998         0: Disable pf.
1999
2000         Default: 1
2001
2002 addip_noauth_enable - BOOLEAN
2003         Dynamic Address Reconfiguration (ADD-IP) requires the use of
2004         authentication to protect the operations of adding or removing new
2005         addresses.  This requirement is mandated so that unauthorized hosts
2006         would not be able to hijack associations.  However, older
2007         implementations may not have implemented this requirement while
2008         allowing the ADD-IP extension.  For reasons of interoperability,
2009         we provide this variable to control the enforcement of the
2010         authentication requirement.
2011
2012         1: Allow ADD-IP extension to be used without authentication.  This
2013            should only be set in a closed environment for interoperability
2014            with older implementations.
2015
2016         0: Enforce the authentication requirement
2017
2018         Default: 0
2019
2020 auth_enable - BOOLEAN
2021         Enable or disable Authenticated Chunks extension.  This extension
2022         provides the ability to send and receive authenticated chunks and is
2023         required for secure operation of Dynamic Address Reconfiguration
2024         (ADD-IP) extension.
2025
2026         1: Enable this extension.
2027         0: Disable this extension.
2028
2029         Default: 0
2030
2031 prsctp_enable - BOOLEAN
2032         Enable or disable the Partial Reliability extension (RFC3758) which
2033         is used to notify peers that a given DATA should no longer be expected.
2034
2035         1: Enable extension
2036         0: Disable
2037
2038         Default: 1
2039
2040 max_burst - INTEGER
2041         The limit of the number of new packets that can be initially sent.  It
2042         controls how bursty the generated traffic can be.
2043
2044         Default: 4
2045
2046 association_max_retrans - INTEGER
2047         Set the maximum number for retransmissions that an association can
2048         attempt deciding that the remote end is unreachable.  If this value
2049         is exceeded, the association is terminated.
2050
2051         Default: 10
2052
2053 max_init_retransmits - INTEGER
2054         The maximum number of retransmissions of INIT and COOKIE-ECHO chunks
2055         that an association will attempt before declaring the destination
2056         unreachable and terminating.
2057
2058         Default: 8
2059
2060 path_max_retrans - INTEGER
2061         The maximum number of retransmissions that will be attempted on a given
2062         path.  Once this threshold is exceeded, the path is considered
2063         unreachable, and new traffic will use a different path when the
2064         association is multihomed.
2065
2066         Default: 5
2067
2068 pf_retrans - INTEGER
2069         The number of retransmissions that will be attempted on a given path
2070         before traffic is redirected to an alternate transport (should one
2071         exist).  Note this is distinct from path_max_retrans, as a path that
2072         passes the pf_retrans threshold can still be used.  Its only
2073         deprioritized when a transmission path is selected by the stack.  This
2074         setting is primarily used to enable fast failover mechanisms without
2075         having to reduce path_max_retrans to a very low value.  See:
2076         http://www.ietf.org/id/draft-nishida-tsvwg-sctp-failover-05.txt
2077         for details.  Note also that a value of pf_retrans > path_max_retrans
2078         disables this feature. Since both pf_retrans and path_max_retrans can
2079         be changed by userspace application, a variable pf_enable is used to
2080         disable pf state.
2081
2082         Default: 0
2083
2084 rto_initial - INTEGER
2085         The initial round trip timeout value in milliseconds that will be used
2086         in calculating round trip times.  This is the initial time interval
2087         for retransmissions.
2088
2089         Default: 3000
2090
2091 rto_max - INTEGER
2092         The maximum value (in milliseconds) of the round trip timeout.  This
2093         is the largest time interval that can elapse between retransmissions.
2094
2095         Default: 60000
2096
2097 rto_min - INTEGER
2098         The minimum value (in milliseconds) of the round trip timeout.  This
2099         is the smallest time interval the can elapse between retransmissions.
2100
2101         Default: 1000
2102
2103 hb_interval - INTEGER
2104         The interval (in milliseconds) between HEARTBEAT chunks.  These chunks
2105         are sent at the specified interval on idle paths to probe the state of
2106         a given path between 2 associations.
2107
2108         Default: 30000
2109
2110 sack_timeout - INTEGER
2111         The amount of time (in milliseconds) that the implementation will wait
2112         to send a SACK.
2113
2114         Default: 200
2115
2116 valid_cookie_life - INTEGER
2117         The default lifetime of the SCTP cookie (in milliseconds).  The cookie
2118         is used during association establishment.
2119
2120         Default: 60000
2121
2122 cookie_preserve_enable - BOOLEAN
2123         Enable or disable the ability to extend the lifetime of the SCTP cookie
2124         that is used during the establishment phase of SCTP association
2125
2126         1: Enable cookie lifetime extension.
2127         0: Disable
2128
2129         Default: 1
2130
2131 cookie_hmac_alg - STRING
2132         Select the hmac algorithm used when generating the cookie value sent by
2133         a listening sctp socket to a connecting client in the INIT-ACK chunk.
2134         Valid values are:
2135         * md5
2136         * sha1
2137         * none
2138         Ability to assign md5 or sha1 as the selected alg is predicated on the
2139         configuration of those algorithms at build time (CONFIG_CRYPTO_MD5 and
2140         CONFIG_CRYPTO_SHA1).
2141
2142         Default: Dependent on configuration.  MD5 if available, else SHA1 if
2143         available, else none.
2144
2145 rcvbuf_policy - INTEGER
2146         Determines if the receive buffer is attributed to the socket or to
2147         association.   SCTP supports the capability to create multiple
2148         associations on a single socket.  When using this capability, it is
2149         possible that a single stalled association that's buffering a lot
2150         of data may block other associations from delivering their data by
2151         consuming all of the receive buffer space.  To work around this,
2152         the rcvbuf_policy could be set to attribute the receiver buffer space
2153         to each association instead of the socket.  This prevents the described
2154         blocking.
2155
2156         1: rcvbuf space is per association
2157         0: rcvbuf space is per socket
2158
2159         Default: 0
2160
2161 sndbuf_policy - INTEGER
2162         Similar to rcvbuf_policy above, this applies to send buffer space.
2163
2164         1: Send buffer is tracked per association
2165         0: Send buffer is tracked per socket.
2166
2167         Default: 0
2168
2169 sctp_mem - vector of 3 INTEGERs: min, pressure, max
2170         Number of pages allowed for queueing by all SCTP sockets.
2171
2172         min: Below this number of pages SCTP is not bothered about its
2173         memory appetite. When amount of memory allocated by SCTP exceeds
2174         this number, SCTP starts to moderate memory usage.
2175
2176         pressure: This value was introduced to follow format of tcp_mem.
2177
2178         max: Number of pages allowed for queueing by all SCTP sockets.
2179
2180         Default is calculated at boot time from amount of available memory.
2181
2182 sctp_rmem - vector of 3 INTEGERs: min, default, max
2183         Only the first value ("min") is used, "default" and "max" are
2184         ignored.
2185
2186         min: Minimal size of receive buffer used by SCTP socket.
2187         It is guaranteed to each SCTP socket (but not association) even
2188         under moderate memory pressure.
2189
2190         Default: 4K
2191
2192 sctp_wmem  - vector of 3 INTEGERs: min, default, max
2193         Currently this tunable has no effect.
2194
2195 addr_scope_policy - INTEGER
2196         Control IPv4 address scoping - draft-stewart-tsvwg-sctp-ipv4-00
2197
2198         0   - Disable IPv4 address scoping
2199         1   - Enable IPv4 address scoping
2200         2   - Follow draft but allow IPv4 private addresses
2201         3   - Follow draft but allow IPv4 link local addresses
2202
2203         Default: 1
2204
2205
2206 /proc/sys/net/core/*
2207         Please see: Documentation/sysctl/net.txt for descriptions of these entries.
2208
2209
2210 /proc/sys/net/unix/*
2211 max_dgram_qlen - INTEGER
2212         The maximum length of dgram socket receive queue
2213
2214         Default: 10
2215