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