162306a36Sopenharmony_ci.. SPDX-License-Identifier: GPL-2.0 262306a36Sopenharmony_ci 362306a36Sopenharmony_ci========= 462306a36Sopenharmony_ciIP Sysctl 562306a36Sopenharmony_ci========= 662306a36Sopenharmony_ci 762306a36Sopenharmony_ci/proc/sys/net/ipv4/* Variables 862306a36Sopenharmony_ci============================== 962306a36Sopenharmony_ci 1062306a36Sopenharmony_ciip_forward - BOOLEAN 1162306a36Sopenharmony_ci - 0 - disabled (default) 1262306a36Sopenharmony_ci - not 0 - enabled 1362306a36Sopenharmony_ci 1462306a36Sopenharmony_ci Forward Packets between interfaces. 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci This variable is special, its change resets all configuration 1762306a36Sopenharmony_ci parameters to their default state (RFC1122 for hosts, RFC1812 1862306a36Sopenharmony_ci for routers) 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ciip_default_ttl - INTEGER 2162306a36Sopenharmony_ci Default value of TTL field (Time To Live) for outgoing (but not 2262306a36Sopenharmony_ci forwarded) IP packets. Should be between 1 and 255 inclusive. 2362306a36Sopenharmony_ci Default: 64 (as recommended by RFC1700) 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ciip_no_pmtu_disc - INTEGER 2662306a36Sopenharmony_ci Disable Path MTU Discovery. If enabled in mode 1 and a 2762306a36Sopenharmony_ci fragmentation-required ICMP is received, the PMTU to this 2862306a36Sopenharmony_ci destination will be set to the smallest of the old MTU to 2962306a36Sopenharmony_ci this destination and min_pmtu (see below). You will need 3062306a36Sopenharmony_ci to raise min_pmtu to the smallest interface MTU on your system 3162306a36Sopenharmony_ci manually if you want to avoid locally generated fragments. 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci In mode 2 incoming Path MTU Discovery messages will be 3462306a36Sopenharmony_ci discarded. Outgoing frames are handled the same as in mode 1, 3562306a36Sopenharmony_ci implicitly setting IP_PMTUDISC_DONT on every created socket. 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci Mode 3 is a hardened pmtu discover mode. The kernel will only 3862306a36Sopenharmony_ci accept fragmentation-needed errors if the underlying protocol 3962306a36Sopenharmony_ci can verify them besides a plain socket lookup. Current 4062306a36Sopenharmony_ci protocols for which pmtu events will be honored are TCP, SCTP 4162306a36Sopenharmony_ci and DCCP as they verify e.g. the sequence number or the 4262306a36Sopenharmony_ci association. This mode should not be enabled globally but is 4362306a36Sopenharmony_ci only intended to secure e.g. name servers in namespaces where 4462306a36Sopenharmony_ci TCP path mtu must still work but path MTU information of other 4562306a36Sopenharmony_ci protocols should be discarded. If enabled globally this mode 4662306a36Sopenharmony_ci could break other protocols. 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci Possible values: 0-3 4962306a36Sopenharmony_ci 5062306a36Sopenharmony_ci Default: FALSE 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_cimin_pmtu - INTEGER 5362306a36Sopenharmony_ci default 552 - minimum Path MTU. Unless this is changed manually, 5462306a36Sopenharmony_ci each cached pmtu will never be lower than this setting. 5562306a36Sopenharmony_ci 5662306a36Sopenharmony_ciip_forward_use_pmtu - BOOLEAN 5762306a36Sopenharmony_ci By default we don't trust protocol path MTUs while forwarding 5862306a36Sopenharmony_ci because they could be easily forged and can lead to unwanted 5962306a36Sopenharmony_ci fragmentation by the router. 6062306a36Sopenharmony_ci You only need to enable this if you have user-space software 6162306a36Sopenharmony_ci which tries to discover path mtus by itself and depends on the 6262306a36Sopenharmony_ci kernel honoring this information. This is normally not the 6362306a36Sopenharmony_ci case. 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci Default: 0 (disabled) 6662306a36Sopenharmony_ci 6762306a36Sopenharmony_ci Possible values: 6862306a36Sopenharmony_ci 6962306a36Sopenharmony_ci - 0 - disabled 7062306a36Sopenharmony_ci - 1 - enabled 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_cifwmark_reflect - BOOLEAN 7362306a36Sopenharmony_ci Controls the fwmark of kernel-generated IPv4 reply packets that are not 7462306a36Sopenharmony_ci associated with a socket for example, TCP RSTs or ICMP echo replies). 7562306a36Sopenharmony_ci If unset, these packets have a fwmark of zero. If set, they have the 7662306a36Sopenharmony_ci fwmark of the packet they are replying to. 7762306a36Sopenharmony_ci 7862306a36Sopenharmony_ci Default: 0 7962306a36Sopenharmony_ci 8062306a36Sopenharmony_cifib_multipath_use_neigh - BOOLEAN 8162306a36Sopenharmony_ci Use status of existing neighbor entry when determining nexthop for 8262306a36Sopenharmony_ci multipath routes. If disabled, neighbor information is not used and 8362306a36Sopenharmony_ci packets could be directed to a failed nexthop. Only valid for kernels 8462306a36Sopenharmony_ci built with CONFIG_IP_ROUTE_MULTIPATH enabled. 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci Default: 0 (disabled) 8762306a36Sopenharmony_ci 8862306a36Sopenharmony_ci Possible values: 8962306a36Sopenharmony_ci 9062306a36Sopenharmony_ci - 0 - disabled 9162306a36Sopenharmony_ci - 1 - enabled 9262306a36Sopenharmony_ci 9362306a36Sopenharmony_cifib_multipath_hash_policy - INTEGER 9462306a36Sopenharmony_ci Controls which hash policy to use for multipath routes. Only valid 9562306a36Sopenharmony_ci for kernels built with CONFIG_IP_ROUTE_MULTIPATH enabled. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci Default: 0 (Layer 3) 9862306a36Sopenharmony_ci 9962306a36Sopenharmony_ci Possible values: 10062306a36Sopenharmony_ci 10162306a36Sopenharmony_ci - 0 - Layer 3 10262306a36Sopenharmony_ci - 1 - Layer 4 10362306a36Sopenharmony_ci - 2 - Layer 3 or inner Layer 3 if present 10462306a36Sopenharmony_ci - 3 - Custom multipath hash. Fields used for multipath hash calculation 10562306a36Sopenharmony_ci are determined by fib_multipath_hash_fields sysctl 10662306a36Sopenharmony_ci 10762306a36Sopenharmony_cifib_multipath_hash_fields - UNSIGNED INTEGER 10862306a36Sopenharmony_ci When fib_multipath_hash_policy is set to 3 (custom multipath hash), the 10962306a36Sopenharmony_ci fields used for multipath hash calculation are determined by this 11062306a36Sopenharmony_ci sysctl. 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci This value is a bitmask which enables various fields for multipath hash 11362306a36Sopenharmony_ci calculation. 11462306a36Sopenharmony_ci 11562306a36Sopenharmony_ci Possible fields are: 11662306a36Sopenharmony_ci 11762306a36Sopenharmony_ci ====== ============================ 11862306a36Sopenharmony_ci 0x0001 Source IP address 11962306a36Sopenharmony_ci 0x0002 Destination IP address 12062306a36Sopenharmony_ci 0x0004 IP protocol 12162306a36Sopenharmony_ci 0x0008 Unused (Flow Label) 12262306a36Sopenharmony_ci 0x0010 Source port 12362306a36Sopenharmony_ci 0x0020 Destination port 12462306a36Sopenharmony_ci 0x0040 Inner source IP address 12562306a36Sopenharmony_ci 0x0080 Inner destination IP address 12662306a36Sopenharmony_ci 0x0100 Inner IP protocol 12762306a36Sopenharmony_ci 0x0200 Inner Flow Label 12862306a36Sopenharmony_ci 0x0400 Inner source port 12962306a36Sopenharmony_ci 0x0800 Inner destination port 13062306a36Sopenharmony_ci ====== ============================ 13162306a36Sopenharmony_ci 13262306a36Sopenharmony_ci Default: 0x0007 (source IP, destination IP and IP protocol) 13362306a36Sopenharmony_ci 13462306a36Sopenharmony_cifib_sync_mem - UNSIGNED INTEGER 13562306a36Sopenharmony_ci Amount of dirty memory from fib entries that can be backlogged before 13662306a36Sopenharmony_ci synchronize_rcu is forced. 13762306a36Sopenharmony_ci 13862306a36Sopenharmony_ci Default: 512kB Minimum: 64kB Maximum: 64MB 13962306a36Sopenharmony_ci 14062306a36Sopenharmony_ciip_forward_update_priority - INTEGER 14162306a36Sopenharmony_ci Whether to update SKB priority from "TOS" field in IPv4 header after it 14262306a36Sopenharmony_ci is forwarded. The new SKB priority is mapped from TOS field value 14362306a36Sopenharmony_ci according to an rt_tos2priority table (see e.g. man tc-prio). 14462306a36Sopenharmony_ci 14562306a36Sopenharmony_ci Default: 1 (Update priority.) 14662306a36Sopenharmony_ci 14762306a36Sopenharmony_ci Possible values: 14862306a36Sopenharmony_ci 14962306a36Sopenharmony_ci - 0 - Do not update priority. 15062306a36Sopenharmony_ci - 1 - Update priority. 15162306a36Sopenharmony_ci 15262306a36Sopenharmony_ciroute/max_size - INTEGER 15362306a36Sopenharmony_ci Maximum number of routes allowed in the kernel. Increase 15462306a36Sopenharmony_ci this when using large numbers of interfaces and/or routes. 15562306a36Sopenharmony_ci 15662306a36Sopenharmony_ci From linux kernel 3.6 onwards, this is deprecated for ipv4 15762306a36Sopenharmony_ci as route cache is no longer used. 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci From linux kernel 6.3 onwards, this is deprecated for ipv6 16062306a36Sopenharmony_ci as garbage collection manages cached route entries. 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_cineigh/default/gc_thresh1 - INTEGER 16362306a36Sopenharmony_ci Minimum number of entries to keep. Garbage collector will not 16462306a36Sopenharmony_ci purge entries if there are fewer than this number. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ci Default: 128 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_cineigh/default/gc_thresh2 - INTEGER 16962306a36Sopenharmony_ci Threshold when garbage collector becomes more aggressive about 17062306a36Sopenharmony_ci purging entries. Entries older than 5 seconds will be cleared 17162306a36Sopenharmony_ci when over this number. 17262306a36Sopenharmony_ci 17362306a36Sopenharmony_ci Default: 512 17462306a36Sopenharmony_ci 17562306a36Sopenharmony_cineigh/default/gc_thresh3 - INTEGER 17662306a36Sopenharmony_ci Maximum number of non-PERMANENT neighbor entries allowed. Increase 17762306a36Sopenharmony_ci this when using large numbers of interfaces and when communicating 17862306a36Sopenharmony_ci with large numbers of directly-connected peers. 17962306a36Sopenharmony_ci 18062306a36Sopenharmony_ci Default: 1024 18162306a36Sopenharmony_ci 18262306a36Sopenharmony_cineigh/default/unres_qlen_bytes - INTEGER 18362306a36Sopenharmony_ci The maximum number of bytes which may be used by packets 18462306a36Sopenharmony_ci queued for each unresolved address by other network layers. 18562306a36Sopenharmony_ci (added in linux 3.3) 18662306a36Sopenharmony_ci 18762306a36Sopenharmony_ci Setting negative value is meaningless and will return error. 18862306a36Sopenharmony_ci 18962306a36Sopenharmony_ci Default: SK_WMEM_MAX, (same as net.core.wmem_default). 19062306a36Sopenharmony_ci 19162306a36Sopenharmony_ci Exact value depends on architecture and kernel options, 19262306a36Sopenharmony_ci but should be enough to allow queuing 256 packets 19362306a36Sopenharmony_ci of medium size. 19462306a36Sopenharmony_ci 19562306a36Sopenharmony_cineigh/default/unres_qlen - INTEGER 19662306a36Sopenharmony_ci The maximum number of packets which may be queued for each 19762306a36Sopenharmony_ci unresolved address by other network layers. 19862306a36Sopenharmony_ci 19962306a36Sopenharmony_ci (deprecated in linux 3.3) : use unres_qlen_bytes instead. 20062306a36Sopenharmony_ci 20162306a36Sopenharmony_ci Prior to linux 3.3, the default value is 3 which may cause 20262306a36Sopenharmony_ci unexpected packet loss. The current default value is calculated 20362306a36Sopenharmony_ci according to default value of unres_qlen_bytes and true size of 20462306a36Sopenharmony_ci packet. 20562306a36Sopenharmony_ci 20662306a36Sopenharmony_ci Default: 101 20762306a36Sopenharmony_ci 20862306a36Sopenharmony_cineigh/default/interval_probe_time_ms - INTEGER 20962306a36Sopenharmony_ci The probe interval for neighbor entries with NTF_MANAGED flag, 21062306a36Sopenharmony_ci the min value is 1. 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci Default: 5000 21362306a36Sopenharmony_ci 21462306a36Sopenharmony_cimtu_expires - INTEGER 21562306a36Sopenharmony_ci Time, in seconds, that cached PMTU information is kept. 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_cimin_adv_mss - INTEGER 21862306a36Sopenharmony_ci The advertised MSS depends on the first hop route MTU, but will 21962306a36Sopenharmony_ci never be lower than this setting. 22062306a36Sopenharmony_ci 22162306a36Sopenharmony_cifib_notify_on_flag_change - INTEGER 22262306a36Sopenharmony_ci Whether to emit RTM_NEWROUTE notifications whenever RTM_F_OFFLOAD/ 22362306a36Sopenharmony_ci RTM_F_TRAP/RTM_F_OFFLOAD_FAILED flags are changed. 22462306a36Sopenharmony_ci 22562306a36Sopenharmony_ci After installing a route to the kernel, user space receives an 22662306a36Sopenharmony_ci acknowledgment, which means the route was installed in the kernel, 22762306a36Sopenharmony_ci but not necessarily in hardware. 22862306a36Sopenharmony_ci It is also possible for a route already installed in hardware to change 22962306a36Sopenharmony_ci its action and therefore its flags. For example, a host route that is 23062306a36Sopenharmony_ci trapping packets can be "promoted" to perform decapsulation following 23162306a36Sopenharmony_ci the installation of an IPinIP/VXLAN tunnel. 23262306a36Sopenharmony_ci The notifications will indicate to user-space the state of the route. 23362306a36Sopenharmony_ci 23462306a36Sopenharmony_ci Default: 0 (Do not emit notifications.) 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci Possible values: 23762306a36Sopenharmony_ci 23862306a36Sopenharmony_ci - 0 - Do not emit notifications. 23962306a36Sopenharmony_ci - 1 - Emit notifications. 24062306a36Sopenharmony_ci - 2 - Emit notifications only for RTM_F_OFFLOAD_FAILED flag change. 24162306a36Sopenharmony_ci 24262306a36Sopenharmony_ciIP Fragmentation: 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ciipfrag_high_thresh - LONG INTEGER 24562306a36Sopenharmony_ci Maximum memory used to reassemble IP fragments. 24662306a36Sopenharmony_ci 24762306a36Sopenharmony_ciipfrag_low_thresh - LONG INTEGER 24862306a36Sopenharmony_ci (Obsolete since linux-4.17) 24962306a36Sopenharmony_ci Maximum memory used to reassemble IP fragments before the kernel 25062306a36Sopenharmony_ci begins to remove incomplete fragment queues to free up resources. 25162306a36Sopenharmony_ci The kernel still accepts new fragments for defragmentation. 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ciipfrag_time - INTEGER 25462306a36Sopenharmony_ci Time in seconds to keep an IP fragment in memory. 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ciipfrag_max_dist - INTEGER 25762306a36Sopenharmony_ci ipfrag_max_dist is a non-negative integer value which defines the 25862306a36Sopenharmony_ci maximum "disorder" which is allowed among fragments which share a 25962306a36Sopenharmony_ci common IP source address. Note that reordering of packets is 26062306a36Sopenharmony_ci not unusual, but if a large number of fragments arrive from a source 26162306a36Sopenharmony_ci IP address while a particular fragment queue remains incomplete, it 26262306a36Sopenharmony_ci probably indicates that one or more fragments belonging to that queue 26362306a36Sopenharmony_ci have been lost. When ipfrag_max_dist is positive, an additional check 26462306a36Sopenharmony_ci is done on fragments before they are added to a reassembly queue - if 26562306a36Sopenharmony_ci ipfrag_max_dist (or more) fragments have arrived from a particular IP 26662306a36Sopenharmony_ci address between additions to any IP fragment queue using that source 26762306a36Sopenharmony_ci address, it's presumed that one or more fragments in the queue are 26862306a36Sopenharmony_ci lost. The existing fragment queue will be dropped, and a new one 26962306a36Sopenharmony_ci started. An ipfrag_max_dist value of zero disables this check. 27062306a36Sopenharmony_ci 27162306a36Sopenharmony_ci Using a very small value, e.g. 1 or 2, for ipfrag_max_dist can 27262306a36Sopenharmony_ci result in unnecessarily dropping fragment queues when normal 27362306a36Sopenharmony_ci reordering of packets occurs, which could lead to poor application 27462306a36Sopenharmony_ci performance. Using a very large value, e.g. 50000, increases the 27562306a36Sopenharmony_ci likelihood of incorrectly reassembling IP fragments that originate 27662306a36Sopenharmony_ci from different IP datagrams, which could result in data corruption. 27762306a36Sopenharmony_ci Default: 64 27862306a36Sopenharmony_ci 27962306a36Sopenharmony_cibc_forwarding - INTEGER 28062306a36Sopenharmony_ci bc_forwarding enables the feature described in rfc1812#section-5.3.5.2 28162306a36Sopenharmony_ci and rfc2644. It allows the router to forward directed broadcast. 28262306a36Sopenharmony_ci To enable this feature, the 'all' entry and the input interface entry 28362306a36Sopenharmony_ci should be set to 1. 28462306a36Sopenharmony_ci Default: 0 28562306a36Sopenharmony_ci 28662306a36Sopenharmony_ciINET peer storage 28762306a36Sopenharmony_ci================= 28862306a36Sopenharmony_ci 28962306a36Sopenharmony_ciinet_peer_threshold - INTEGER 29062306a36Sopenharmony_ci The approximate size of the storage. Starting from this threshold 29162306a36Sopenharmony_ci entries will be thrown aggressively. This threshold also determines 29262306a36Sopenharmony_ci entries' time-to-live and time intervals between garbage collection 29362306a36Sopenharmony_ci passes. More entries, less time-to-live, less GC interval. 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ciinet_peer_minttl - INTEGER 29662306a36Sopenharmony_ci Minimum time-to-live of entries. Should be enough to cover fragment 29762306a36Sopenharmony_ci time-to-live on the reassembling side. This minimum time-to-live is 29862306a36Sopenharmony_ci guaranteed if the pool size is less than inet_peer_threshold. 29962306a36Sopenharmony_ci Measured in seconds. 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ciinet_peer_maxttl - INTEGER 30262306a36Sopenharmony_ci Maximum time-to-live of entries. Unused entries will expire after 30362306a36Sopenharmony_ci this period of time if there is no memory pressure on the pool (i.e. 30462306a36Sopenharmony_ci when the number of entries in the pool is very small). 30562306a36Sopenharmony_ci Measured in seconds. 30662306a36Sopenharmony_ci 30762306a36Sopenharmony_ciTCP variables 30862306a36Sopenharmony_ci============= 30962306a36Sopenharmony_ci 31062306a36Sopenharmony_cisomaxconn - INTEGER 31162306a36Sopenharmony_ci Limit of socket listen() backlog, known in userspace as SOMAXCONN. 31262306a36Sopenharmony_ci Defaults to 4096. (Was 128 before linux-5.4) 31362306a36Sopenharmony_ci See also tcp_max_syn_backlog for additional tuning for TCP sockets. 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_citcp_abort_on_overflow - BOOLEAN 31662306a36Sopenharmony_ci If listening service is too slow to accept new connections, 31762306a36Sopenharmony_ci reset them. Default state is FALSE. It means that if overflow 31862306a36Sopenharmony_ci occurred due to a burst, connection will recover. Enable this 31962306a36Sopenharmony_ci option _only_ if you are really sure that listening daemon 32062306a36Sopenharmony_ci cannot be tuned to accept connections faster. Enabling this 32162306a36Sopenharmony_ci option can harm clients of your server. 32262306a36Sopenharmony_ci 32362306a36Sopenharmony_citcp_adv_win_scale - INTEGER 32462306a36Sopenharmony_ci Obsolete since linux-6.6 32562306a36Sopenharmony_ci Count buffering overhead as bytes/2^tcp_adv_win_scale 32662306a36Sopenharmony_ci (if tcp_adv_win_scale > 0) or bytes-bytes/2^(-tcp_adv_win_scale), 32762306a36Sopenharmony_ci if it is <= 0. 32862306a36Sopenharmony_ci 32962306a36Sopenharmony_ci Possible values are [-31, 31], inclusive. 33062306a36Sopenharmony_ci 33162306a36Sopenharmony_ci Default: 1 33262306a36Sopenharmony_ci 33362306a36Sopenharmony_citcp_allowed_congestion_control - STRING 33462306a36Sopenharmony_ci Show/set the congestion control choices available to non-privileged 33562306a36Sopenharmony_ci processes. The list is a subset of those listed in 33662306a36Sopenharmony_ci tcp_available_congestion_control. 33762306a36Sopenharmony_ci 33862306a36Sopenharmony_ci Default is "reno" and the default setting (tcp_congestion_control). 33962306a36Sopenharmony_ci 34062306a36Sopenharmony_citcp_app_win - INTEGER 34162306a36Sopenharmony_ci Reserve max(window/2^tcp_app_win, mss) of window for application 34262306a36Sopenharmony_ci buffer. Value 0 is special, it means that nothing is reserved. 34362306a36Sopenharmony_ci 34462306a36Sopenharmony_ci Possible values are [0, 31], inclusive. 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ci Default: 31 34762306a36Sopenharmony_ci 34862306a36Sopenharmony_citcp_autocorking - BOOLEAN 34962306a36Sopenharmony_ci Enable TCP auto corking : 35062306a36Sopenharmony_ci When applications do consecutive small write()/sendmsg() system calls, 35162306a36Sopenharmony_ci we try to coalesce these small writes as much as possible, to lower 35262306a36Sopenharmony_ci total amount of sent packets. This is done if at least one prior 35362306a36Sopenharmony_ci packet for the flow is waiting in Qdisc queues or device transmit 35462306a36Sopenharmony_ci queue. Applications can still use TCP_CORK for optimal behavior 35562306a36Sopenharmony_ci when they know how/when to uncork their sockets. 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci Default : 1 35862306a36Sopenharmony_ci 35962306a36Sopenharmony_citcp_available_congestion_control - STRING 36062306a36Sopenharmony_ci Shows the available congestion control choices that are registered. 36162306a36Sopenharmony_ci More congestion control algorithms may be available as modules, 36262306a36Sopenharmony_ci but not loaded. 36362306a36Sopenharmony_ci 36462306a36Sopenharmony_citcp_base_mss - INTEGER 36562306a36Sopenharmony_ci The initial value of search_low to be used by the packetization layer 36662306a36Sopenharmony_ci Path MTU discovery (MTU probing). If MTU probing is enabled, 36762306a36Sopenharmony_ci this is the initial MSS used by the connection. 36862306a36Sopenharmony_ci 36962306a36Sopenharmony_citcp_mtu_probe_floor - INTEGER 37062306a36Sopenharmony_ci If MTU probing is enabled this caps the minimum MSS used for search_low 37162306a36Sopenharmony_ci for the connection. 37262306a36Sopenharmony_ci 37362306a36Sopenharmony_ci Default : 48 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_citcp_min_snd_mss - INTEGER 37662306a36Sopenharmony_ci TCP SYN and SYNACK messages usually advertise an ADVMSS option, 37762306a36Sopenharmony_ci as described in RFC 1122 and RFC 6691. 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci If this ADVMSS option is smaller than tcp_min_snd_mss, 38062306a36Sopenharmony_ci it is silently capped to tcp_min_snd_mss. 38162306a36Sopenharmony_ci 38262306a36Sopenharmony_ci Default : 48 (at least 8 bytes of payload per segment) 38362306a36Sopenharmony_ci 38462306a36Sopenharmony_citcp_congestion_control - STRING 38562306a36Sopenharmony_ci Set the congestion control algorithm to be used for new 38662306a36Sopenharmony_ci connections. The algorithm "reno" is always available, but 38762306a36Sopenharmony_ci additional choices may be available based on kernel configuration. 38862306a36Sopenharmony_ci Default is set as part of kernel configuration. 38962306a36Sopenharmony_ci For passive connections, the listener congestion control choice 39062306a36Sopenharmony_ci is inherited. 39162306a36Sopenharmony_ci 39262306a36Sopenharmony_ci [see setsockopt(listenfd, SOL_TCP, TCP_CONGESTION, "name" ...) ] 39362306a36Sopenharmony_ci 39462306a36Sopenharmony_citcp_dsack - BOOLEAN 39562306a36Sopenharmony_ci Allows TCP to send "duplicate" SACKs. 39662306a36Sopenharmony_ci 39762306a36Sopenharmony_citcp_early_retrans - INTEGER 39862306a36Sopenharmony_ci Tail loss probe (TLP) converts RTOs occurring due to tail 39962306a36Sopenharmony_ci losses into fast recovery (draft-ietf-tcpm-rack). Note that 40062306a36Sopenharmony_ci TLP requires RACK to function properly (see tcp_recovery below) 40162306a36Sopenharmony_ci 40262306a36Sopenharmony_ci Possible values: 40362306a36Sopenharmony_ci 40462306a36Sopenharmony_ci - 0 disables TLP 40562306a36Sopenharmony_ci - 3 or 4 enables TLP 40662306a36Sopenharmony_ci 40762306a36Sopenharmony_ci Default: 3 40862306a36Sopenharmony_ci 40962306a36Sopenharmony_citcp_ecn - INTEGER 41062306a36Sopenharmony_ci Control use of Explicit Congestion Notification (ECN) by TCP. 41162306a36Sopenharmony_ci ECN is used only when both ends of the TCP connection indicate 41262306a36Sopenharmony_ci support for it. This feature is useful in avoiding losses due 41362306a36Sopenharmony_ci to congestion by allowing supporting routers to signal 41462306a36Sopenharmony_ci congestion before having to drop packets. 41562306a36Sopenharmony_ci 41662306a36Sopenharmony_ci Possible values are: 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci = ===================================================== 41962306a36Sopenharmony_ci 0 Disable ECN. Neither initiate nor accept ECN. 42062306a36Sopenharmony_ci 1 Enable ECN when requested by incoming connections and 42162306a36Sopenharmony_ci also request ECN on outgoing connection attempts. 42262306a36Sopenharmony_ci 2 Enable ECN when requested by incoming connections 42362306a36Sopenharmony_ci but do not request ECN on outgoing connections. 42462306a36Sopenharmony_ci = ===================================================== 42562306a36Sopenharmony_ci 42662306a36Sopenharmony_ci Default: 2 42762306a36Sopenharmony_ci 42862306a36Sopenharmony_citcp_ecn_fallback - BOOLEAN 42962306a36Sopenharmony_ci If the kernel detects that ECN connection misbehaves, enable fall 43062306a36Sopenharmony_ci back to non-ECN. Currently, this knob implements the fallback 43162306a36Sopenharmony_ci from RFC3168, section 6.1.1.1., but we reserve that in future, 43262306a36Sopenharmony_ci additional detection mechanisms could be implemented under this 43362306a36Sopenharmony_ci knob. The value is not used, if tcp_ecn or per route (or congestion 43462306a36Sopenharmony_ci control) ECN settings are disabled. 43562306a36Sopenharmony_ci 43662306a36Sopenharmony_ci Default: 1 (fallback enabled) 43762306a36Sopenharmony_ci 43862306a36Sopenharmony_citcp_fack - BOOLEAN 43962306a36Sopenharmony_ci This is a legacy option, it has no effect anymore. 44062306a36Sopenharmony_ci 44162306a36Sopenharmony_citcp_fin_timeout - INTEGER 44262306a36Sopenharmony_ci The length of time an orphaned (no longer referenced by any 44362306a36Sopenharmony_ci application) connection will remain in the FIN_WAIT_2 state 44462306a36Sopenharmony_ci before it is aborted at the local end. While a perfectly 44562306a36Sopenharmony_ci valid "receive only" state for an un-orphaned connection, an 44662306a36Sopenharmony_ci orphaned connection in FIN_WAIT_2 state could otherwise wait 44762306a36Sopenharmony_ci forever for the remote to close its end of the connection. 44862306a36Sopenharmony_ci 44962306a36Sopenharmony_ci Cf. tcp_max_orphans 45062306a36Sopenharmony_ci 45162306a36Sopenharmony_ci Default: 60 seconds 45262306a36Sopenharmony_ci 45362306a36Sopenharmony_citcp_frto - INTEGER 45462306a36Sopenharmony_ci Enables Forward RTO-Recovery (F-RTO) defined in RFC5682. 45562306a36Sopenharmony_ci F-RTO is an enhanced recovery algorithm for TCP retransmission 45662306a36Sopenharmony_ci timeouts. It is particularly beneficial in networks where the 45762306a36Sopenharmony_ci RTT fluctuates (e.g., wireless). F-RTO is sender-side only 45862306a36Sopenharmony_ci modification. It does not require any support from the peer. 45962306a36Sopenharmony_ci 46062306a36Sopenharmony_ci By default it's enabled with a non-zero value. 0 disables F-RTO. 46162306a36Sopenharmony_ci 46262306a36Sopenharmony_citcp_fwmark_accept - BOOLEAN 46362306a36Sopenharmony_ci If set, incoming connections to listening sockets that do not have a 46462306a36Sopenharmony_ci socket mark will set the mark of the accepting socket to the fwmark of 46562306a36Sopenharmony_ci the incoming SYN packet. This will cause all packets on that connection 46662306a36Sopenharmony_ci (starting from the first SYNACK) to be sent with that fwmark. The 46762306a36Sopenharmony_ci listening socket's mark is unchanged. Listening sockets that already 46862306a36Sopenharmony_ci have a fwmark set via setsockopt(SOL_SOCKET, SO_MARK, ...) are 46962306a36Sopenharmony_ci unaffected. 47062306a36Sopenharmony_ci 47162306a36Sopenharmony_ci Default: 0 47262306a36Sopenharmony_ci 47362306a36Sopenharmony_citcp_invalid_ratelimit - INTEGER 47462306a36Sopenharmony_ci Limit the maximal rate for sending duplicate acknowledgments 47562306a36Sopenharmony_ci in response to incoming TCP packets that are for an existing 47662306a36Sopenharmony_ci connection but that are invalid due to any of these reasons: 47762306a36Sopenharmony_ci 47862306a36Sopenharmony_ci (a) out-of-window sequence number, 47962306a36Sopenharmony_ci (b) out-of-window acknowledgment number, or 48062306a36Sopenharmony_ci (c) PAWS (Protection Against Wrapped Sequence numbers) check failure 48162306a36Sopenharmony_ci 48262306a36Sopenharmony_ci This can help mitigate simple "ack loop" DoS attacks, wherein 48362306a36Sopenharmony_ci a buggy or malicious middlebox or man-in-the-middle can 48462306a36Sopenharmony_ci rewrite TCP header fields in manner that causes each endpoint 48562306a36Sopenharmony_ci to think that the other is sending invalid TCP segments, thus 48662306a36Sopenharmony_ci causing each side to send an unterminating stream of duplicate 48762306a36Sopenharmony_ci acknowledgments for invalid segments. 48862306a36Sopenharmony_ci 48962306a36Sopenharmony_ci Using 0 disables rate-limiting of dupacks in response to 49062306a36Sopenharmony_ci invalid segments; otherwise this value specifies the minimal 49162306a36Sopenharmony_ci space between sending such dupacks, in milliseconds. 49262306a36Sopenharmony_ci 49362306a36Sopenharmony_ci Default: 500 (milliseconds). 49462306a36Sopenharmony_ci 49562306a36Sopenharmony_citcp_keepalive_time - INTEGER 49662306a36Sopenharmony_ci How often TCP sends out keepalive messages when keepalive is enabled. 49762306a36Sopenharmony_ci Default: 2hours. 49862306a36Sopenharmony_ci 49962306a36Sopenharmony_citcp_keepalive_probes - INTEGER 50062306a36Sopenharmony_ci How many keepalive probes TCP sends out, until it decides that the 50162306a36Sopenharmony_ci connection is broken. Default value: 9. 50262306a36Sopenharmony_ci 50362306a36Sopenharmony_citcp_keepalive_intvl - INTEGER 50462306a36Sopenharmony_ci How frequently the probes are send out. Multiplied by 50562306a36Sopenharmony_ci tcp_keepalive_probes it is time to kill not responding connection, 50662306a36Sopenharmony_ci after probes started. Default value: 75sec i.e. connection 50762306a36Sopenharmony_ci will be aborted after ~11 minutes of retries. 50862306a36Sopenharmony_ci 50962306a36Sopenharmony_citcp_l3mdev_accept - BOOLEAN 51062306a36Sopenharmony_ci Enables child sockets to inherit the L3 master device index. 51162306a36Sopenharmony_ci Enabling this option allows a "global" listen socket to work 51262306a36Sopenharmony_ci across L3 master domains (e.g., VRFs) with connected sockets 51362306a36Sopenharmony_ci derived from the listen socket to be bound to the L3 domain in 51462306a36Sopenharmony_ci which the packets originated. Only valid when the kernel was 51562306a36Sopenharmony_ci compiled with CONFIG_NET_L3_MASTER_DEV. 51662306a36Sopenharmony_ci 51762306a36Sopenharmony_ci Default: 0 (disabled) 51862306a36Sopenharmony_ci 51962306a36Sopenharmony_citcp_low_latency - BOOLEAN 52062306a36Sopenharmony_ci This is a legacy option, it has no effect anymore. 52162306a36Sopenharmony_ci 52262306a36Sopenharmony_citcp_max_orphans - INTEGER 52362306a36Sopenharmony_ci Maximal number of TCP sockets not attached to any user file handle, 52462306a36Sopenharmony_ci held by system. If this number is exceeded orphaned connections are 52562306a36Sopenharmony_ci reset immediately and warning is printed. This limit exists 52662306a36Sopenharmony_ci only to prevent simple DoS attacks, you _must_ not rely on this 52762306a36Sopenharmony_ci or lower the limit artificially, but rather increase it 52862306a36Sopenharmony_ci (probably, after increasing installed memory), 52962306a36Sopenharmony_ci if network conditions require more than default value, 53062306a36Sopenharmony_ci and tune network services to linger and kill such states 53162306a36Sopenharmony_ci more aggressively. Let me to remind again: each orphan eats 53262306a36Sopenharmony_ci up to ~64K of unswappable memory. 53362306a36Sopenharmony_ci 53462306a36Sopenharmony_citcp_max_syn_backlog - INTEGER 53562306a36Sopenharmony_ci Maximal number of remembered connection requests (SYN_RECV), 53662306a36Sopenharmony_ci which have not received an acknowledgment from connecting client. 53762306a36Sopenharmony_ci 53862306a36Sopenharmony_ci This is a per-listener limit. 53962306a36Sopenharmony_ci 54062306a36Sopenharmony_ci The minimal value is 128 for low memory machines, and it will 54162306a36Sopenharmony_ci increase in proportion to the memory of machine. 54262306a36Sopenharmony_ci 54362306a36Sopenharmony_ci If server suffers from overload, try increasing this number. 54462306a36Sopenharmony_ci 54562306a36Sopenharmony_ci Remember to also check /proc/sys/net/core/somaxconn 54662306a36Sopenharmony_ci A SYN_RECV request socket consumes about 304 bytes of memory. 54762306a36Sopenharmony_ci 54862306a36Sopenharmony_citcp_max_tw_buckets - INTEGER 54962306a36Sopenharmony_ci Maximal number of timewait sockets held by system simultaneously. 55062306a36Sopenharmony_ci If this number is exceeded time-wait socket is immediately destroyed 55162306a36Sopenharmony_ci and warning is printed. This limit exists only to prevent 55262306a36Sopenharmony_ci simple DoS attacks, you _must_ not lower the limit artificially, 55362306a36Sopenharmony_ci but rather increase it (probably, after increasing installed memory), 55462306a36Sopenharmony_ci if network conditions require more than default value. 55562306a36Sopenharmony_ci 55662306a36Sopenharmony_citcp_mem - vector of 3 INTEGERs: min, pressure, max 55762306a36Sopenharmony_ci min: below this number of pages TCP is not bothered about its 55862306a36Sopenharmony_ci memory appetite. 55962306a36Sopenharmony_ci 56062306a36Sopenharmony_ci pressure: when amount of memory allocated by TCP exceeds this number 56162306a36Sopenharmony_ci of pages, TCP moderates its memory consumption and enters memory 56262306a36Sopenharmony_ci pressure mode, which is exited when memory consumption falls 56362306a36Sopenharmony_ci under "min". 56462306a36Sopenharmony_ci 56562306a36Sopenharmony_ci max: number of pages allowed for queueing by all TCP sockets. 56662306a36Sopenharmony_ci 56762306a36Sopenharmony_ci Defaults are calculated at boot time from amount of available 56862306a36Sopenharmony_ci memory. 56962306a36Sopenharmony_ci 57062306a36Sopenharmony_citcp_min_rtt_wlen - INTEGER 57162306a36Sopenharmony_ci The window length of the windowed min filter to track the minimum RTT. 57262306a36Sopenharmony_ci A shorter window lets a flow more quickly pick up new (higher) 57362306a36Sopenharmony_ci minimum RTT when it is moved to a longer path (e.g., due to traffic 57462306a36Sopenharmony_ci engineering). A longer window makes the filter more resistant to RTT 57562306a36Sopenharmony_ci inflations such as transient congestion. The unit is seconds. 57662306a36Sopenharmony_ci 57762306a36Sopenharmony_ci Possible values: 0 - 86400 (1 day) 57862306a36Sopenharmony_ci 57962306a36Sopenharmony_ci Default: 300 58062306a36Sopenharmony_ci 58162306a36Sopenharmony_citcp_moderate_rcvbuf - BOOLEAN 58262306a36Sopenharmony_ci If set, TCP performs receive buffer auto-tuning, attempting to 58362306a36Sopenharmony_ci automatically size the buffer (no greater than tcp_rmem[2]) to 58462306a36Sopenharmony_ci match the size required by the path for full throughput. Enabled by 58562306a36Sopenharmony_ci default. 58662306a36Sopenharmony_ci 58762306a36Sopenharmony_citcp_mtu_probing - INTEGER 58862306a36Sopenharmony_ci Controls TCP Packetization-Layer Path MTU Discovery. Takes three 58962306a36Sopenharmony_ci values: 59062306a36Sopenharmony_ci 59162306a36Sopenharmony_ci - 0 - Disabled 59262306a36Sopenharmony_ci - 1 - Disabled by default, enabled when an ICMP black hole detected 59362306a36Sopenharmony_ci - 2 - Always enabled, use initial MSS of tcp_base_mss. 59462306a36Sopenharmony_ci 59562306a36Sopenharmony_citcp_probe_interval - UNSIGNED INTEGER 59662306a36Sopenharmony_ci Controls how often to start TCP Packetization-Layer Path MTU 59762306a36Sopenharmony_ci Discovery reprobe. The default is reprobing every 10 minutes as 59862306a36Sopenharmony_ci per RFC4821. 59962306a36Sopenharmony_ci 60062306a36Sopenharmony_citcp_probe_threshold - INTEGER 60162306a36Sopenharmony_ci Controls when TCP Packetization-Layer Path MTU Discovery probing 60262306a36Sopenharmony_ci will stop in respect to the width of search range in bytes. Default 60362306a36Sopenharmony_ci is 8 bytes. 60462306a36Sopenharmony_ci 60562306a36Sopenharmony_citcp_no_metrics_save - BOOLEAN 60662306a36Sopenharmony_ci By default, TCP saves various connection metrics in the route cache 60762306a36Sopenharmony_ci when the connection closes, so that connections established in the 60862306a36Sopenharmony_ci near future can use these to set initial conditions. Usually, this 60962306a36Sopenharmony_ci increases overall performance, but may sometimes cause performance 61062306a36Sopenharmony_ci degradation. If set, TCP will not cache metrics on closing 61162306a36Sopenharmony_ci connections. 61262306a36Sopenharmony_ci 61362306a36Sopenharmony_citcp_no_ssthresh_metrics_save - BOOLEAN 61462306a36Sopenharmony_ci Controls whether TCP saves ssthresh metrics in the route cache. 61562306a36Sopenharmony_ci 61662306a36Sopenharmony_ci Default is 1, which disables ssthresh metrics. 61762306a36Sopenharmony_ci 61862306a36Sopenharmony_citcp_orphan_retries - INTEGER 61962306a36Sopenharmony_ci This value influences the timeout of a locally closed TCP connection, 62062306a36Sopenharmony_ci when RTO retransmissions remain unacknowledged. 62162306a36Sopenharmony_ci See tcp_retries2 for more details. 62262306a36Sopenharmony_ci 62362306a36Sopenharmony_ci The default value is 8. 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ci If your machine is a loaded WEB server, 62662306a36Sopenharmony_ci you should think about lowering this value, such sockets 62762306a36Sopenharmony_ci may consume significant resources. Cf. tcp_max_orphans. 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_citcp_recovery - INTEGER 63062306a36Sopenharmony_ci This value is a bitmap to enable various experimental loss recovery 63162306a36Sopenharmony_ci features. 63262306a36Sopenharmony_ci 63362306a36Sopenharmony_ci ========= ============================================================= 63462306a36Sopenharmony_ci RACK: 0x1 enables the RACK loss detection for fast detection of lost 63562306a36Sopenharmony_ci retransmissions and tail drops. It also subsumes and disables 63662306a36Sopenharmony_ci RFC6675 recovery for SACK connections. 63762306a36Sopenharmony_ci 63862306a36Sopenharmony_ci RACK: 0x2 makes RACK's reordering window static (min_rtt/4). 63962306a36Sopenharmony_ci 64062306a36Sopenharmony_ci RACK: 0x4 disables RACK's DUPACK threshold heuristic 64162306a36Sopenharmony_ci ========= ============================================================= 64262306a36Sopenharmony_ci 64362306a36Sopenharmony_ci Default: 0x1 64462306a36Sopenharmony_ci 64562306a36Sopenharmony_citcp_reflect_tos - BOOLEAN 64662306a36Sopenharmony_ci For listening sockets, reuse the DSCP value of the initial SYN message 64762306a36Sopenharmony_ci for outgoing packets. This allows to have both directions of a TCP 64862306a36Sopenharmony_ci stream to use the same DSCP value, assuming DSCP remains unchanged for 64962306a36Sopenharmony_ci the lifetime of the connection. 65062306a36Sopenharmony_ci 65162306a36Sopenharmony_ci This options affects both IPv4 and IPv6. 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_ci Default: 0 (disabled) 65462306a36Sopenharmony_ci 65562306a36Sopenharmony_citcp_reordering - INTEGER 65662306a36Sopenharmony_ci Initial reordering level of packets in a TCP stream. 65762306a36Sopenharmony_ci TCP stack can then dynamically adjust flow reordering level 65862306a36Sopenharmony_ci between this initial value and tcp_max_reordering 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ci Default: 3 66162306a36Sopenharmony_ci 66262306a36Sopenharmony_citcp_max_reordering - INTEGER 66362306a36Sopenharmony_ci Maximal reordering level of packets in a TCP stream. 66462306a36Sopenharmony_ci 300 is a fairly conservative value, but you might increase it 66562306a36Sopenharmony_ci if paths are using per packet load balancing (like bonding rr mode) 66662306a36Sopenharmony_ci 66762306a36Sopenharmony_ci Default: 300 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_citcp_retrans_collapse - BOOLEAN 67062306a36Sopenharmony_ci Bug-to-bug compatibility with some broken printers. 67162306a36Sopenharmony_ci On retransmit try to send bigger packets to work around bugs in 67262306a36Sopenharmony_ci certain TCP stacks. 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_citcp_retries1 - INTEGER 67562306a36Sopenharmony_ci This value influences the time, after which TCP decides, that 67662306a36Sopenharmony_ci something is wrong due to unacknowledged RTO retransmissions, 67762306a36Sopenharmony_ci and reports this suspicion to the network layer. 67862306a36Sopenharmony_ci See tcp_retries2 for more details. 67962306a36Sopenharmony_ci 68062306a36Sopenharmony_ci RFC 1122 recommends at least 3 retransmissions, which is the 68162306a36Sopenharmony_ci default. 68262306a36Sopenharmony_ci 68362306a36Sopenharmony_citcp_retries2 - INTEGER 68462306a36Sopenharmony_ci This value influences the timeout of an alive TCP connection, 68562306a36Sopenharmony_ci when RTO retransmissions remain unacknowledged. 68662306a36Sopenharmony_ci Given a value of N, a hypothetical TCP connection following 68762306a36Sopenharmony_ci exponential backoff with an initial RTO of TCP_RTO_MIN would 68862306a36Sopenharmony_ci retransmit N times before killing the connection at the (N+1)th RTO. 68962306a36Sopenharmony_ci 69062306a36Sopenharmony_ci The default value of 15 yields a hypothetical timeout of 924.6 69162306a36Sopenharmony_ci seconds and is a lower bound for the effective timeout. 69262306a36Sopenharmony_ci TCP will effectively time out at the first RTO which exceeds the 69362306a36Sopenharmony_ci hypothetical timeout. 69462306a36Sopenharmony_ci 69562306a36Sopenharmony_ci RFC 1122 recommends at least 100 seconds for the timeout, 69662306a36Sopenharmony_ci which corresponds to a value of at least 8. 69762306a36Sopenharmony_ci 69862306a36Sopenharmony_citcp_rfc1337 - BOOLEAN 69962306a36Sopenharmony_ci If set, the TCP stack behaves conforming to RFC1337. If unset, 70062306a36Sopenharmony_ci we are not conforming to RFC, but prevent TCP TIME_WAIT 70162306a36Sopenharmony_ci assassination. 70262306a36Sopenharmony_ci 70362306a36Sopenharmony_ci Default: 0 70462306a36Sopenharmony_ci 70562306a36Sopenharmony_citcp_rmem - vector of 3 INTEGERs: min, default, max 70662306a36Sopenharmony_ci min: Minimal size of receive buffer used by TCP sockets. 70762306a36Sopenharmony_ci It is guaranteed to each TCP socket, even under moderate memory 70862306a36Sopenharmony_ci pressure. 70962306a36Sopenharmony_ci 71062306a36Sopenharmony_ci Default: 4K 71162306a36Sopenharmony_ci 71262306a36Sopenharmony_ci default: initial size of receive buffer used by TCP sockets. 71362306a36Sopenharmony_ci This value overrides net.core.rmem_default used by other protocols. 71462306a36Sopenharmony_ci Default: 131072 bytes. 71562306a36Sopenharmony_ci This value results in initial window of 65535. 71662306a36Sopenharmony_ci 71762306a36Sopenharmony_ci max: maximal size of receive buffer allowed for automatically 71862306a36Sopenharmony_ci selected receiver buffers for TCP socket. This value does not override 71962306a36Sopenharmony_ci net.core.rmem_max. Calling setsockopt() with SO_RCVBUF disables 72062306a36Sopenharmony_ci automatic tuning of that socket's receive buffer size, in which 72162306a36Sopenharmony_ci case this value is ignored. 72262306a36Sopenharmony_ci Default: between 131072 and 6MB, depending on RAM size. 72362306a36Sopenharmony_ci 72462306a36Sopenharmony_citcp_sack - BOOLEAN 72562306a36Sopenharmony_ci Enable select acknowledgments (SACKS). 72662306a36Sopenharmony_ci 72762306a36Sopenharmony_citcp_comp_sack_delay_ns - LONG INTEGER 72862306a36Sopenharmony_ci TCP tries to reduce number of SACK sent, using a timer 72962306a36Sopenharmony_ci based on 5% of SRTT, capped by this sysctl, in nano seconds. 73062306a36Sopenharmony_ci The default is 1ms, based on TSO autosizing period. 73162306a36Sopenharmony_ci 73262306a36Sopenharmony_ci Default : 1,000,000 ns (1 ms) 73362306a36Sopenharmony_ci 73462306a36Sopenharmony_citcp_comp_sack_slack_ns - LONG INTEGER 73562306a36Sopenharmony_ci This sysctl control the slack used when arming the 73662306a36Sopenharmony_ci timer used by SACK compression. This gives extra time 73762306a36Sopenharmony_ci for small RTT flows, and reduces system overhead by allowing 73862306a36Sopenharmony_ci opportunistic reduction of timer interrupts. 73962306a36Sopenharmony_ci 74062306a36Sopenharmony_ci Default : 100,000 ns (100 us) 74162306a36Sopenharmony_ci 74262306a36Sopenharmony_citcp_comp_sack_nr - INTEGER 74362306a36Sopenharmony_ci Max number of SACK that can be compressed. 74462306a36Sopenharmony_ci Using 0 disables SACK compression. 74562306a36Sopenharmony_ci 74662306a36Sopenharmony_ci Default : 44 74762306a36Sopenharmony_ci 74862306a36Sopenharmony_citcp_slow_start_after_idle - BOOLEAN 74962306a36Sopenharmony_ci If set, provide RFC2861 behavior and time out the congestion 75062306a36Sopenharmony_ci window after an idle period. An idle period is defined at 75162306a36Sopenharmony_ci the current RTO. If unset, the congestion window will not 75262306a36Sopenharmony_ci be timed out after an idle period. 75362306a36Sopenharmony_ci 75462306a36Sopenharmony_ci Default: 1 75562306a36Sopenharmony_ci 75662306a36Sopenharmony_citcp_stdurg - BOOLEAN 75762306a36Sopenharmony_ci Use the Host requirements interpretation of the TCP urgent pointer field. 75862306a36Sopenharmony_ci Most hosts use the older BSD interpretation, so if you turn this on 75962306a36Sopenharmony_ci Linux might not communicate correctly with them. 76062306a36Sopenharmony_ci 76162306a36Sopenharmony_ci Default: FALSE 76262306a36Sopenharmony_ci 76362306a36Sopenharmony_citcp_synack_retries - INTEGER 76462306a36Sopenharmony_ci Number of times SYNACKs for a passive TCP connection attempt will 76562306a36Sopenharmony_ci be retransmitted. Should not be higher than 255. Default value 76662306a36Sopenharmony_ci is 5, which corresponds to 31seconds till the last retransmission 76762306a36Sopenharmony_ci with the current initial RTO of 1second. With this the final timeout 76862306a36Sopenharmony_ci for a passive TCP connection will happen after 63seconds. 76962306a36Sopenharmony_ci 77062306a36Sopenharmony_citcp_syncookies - INTEGER 77162306a36Sopenharmony_ci Only valid when the kernel was compiled with CONFIG_SYN_COOKIES 77262306a36Sopenharmony_ci Send out syncookies when the syn backlog queue of a socket 77362306a36Sopenharmony_ci overflows. This is to prevent against the common 'SYN flood attack' 77462306a36Sopenharmony_ci Default: 1 77562306a36Sopenharmony_ci 77662306a36Sopenharmony_ci Note, that syncookies is fallback facility. 77762306a36Sopenharmony_ci It MUST NOT be used to help highly loaded servers to stand 77862306a36Sopenharmony_ci against legal connection rate. If you see SYN flood warnings 77962306a36Sopenharmony_ci in your logs, but investigation shows that they occur 78062306a36Sopenharmony_ci because of overload with legal connections, you should tune 78162306a36Sopenharmony_ci another parameters until this warning disappear. 78262306a36Sopenharmony_ci See: tcp_max_syn_backlog, tcp_synack_retries, tcp_abort_on_overflow. 78362306a36Sopenharmony_ci 78462306a36Sopenharmony_ci syncookies seriously violate TCP protocol, do not allow 78562306a36Sopenharmony_ci to use TCP extensions, can result in serious degradation 78662306a36Sopenharmony_ci of some services (f.e. SMTP relaying), visible not by you, 78762306a36Sopenharmony_ci but your clients and relays, contacting you. While you see 78862306a36Sopenharmony_ci SYN flood warnings in logs not being really flooded, your server 78962306a36Sopenharmony_ci is seriously misconfigured. 79062306a36Sopenharmony_ci 79162306a36Sopenharmony_ci If you want to test which effects syncookies have to your 79262306a36Sopenharmony_ci network connections you can set this knob to 2 to enable 79362306a36Sopenharmony_ci unconditionally generation of syncookies. 79462306a36Sopenharmony_ci 79562306a36Sopenharmony_citcp_migrate_req - BOOLEAN 79662306a36Sopenharmony_ci The incoming connection is tied to a specific listening socket when 79762306a36Sopenharmony_ci the initial SYN packet is received during the three-way handshake. 79862306a36Sopenharmony_ci When a listener is closed, in-flight request sockets during the 79962306a36Sopenharmony_ci handshake and established sockets in the accept queue are aborted. 80062306a36Sopenharmony_ci 80162306a36Sopenharmony_ci If the listener has SO_REUSEPORT enabled, other listeners on the 80262306a36Sopenharmony_ci same port should have been able to accept such connections. This 80362306a36Sopenharmony_ci option makes it possible to migrate such child sockets to another 80462306a36Sopenharmony_ci listener after close() or shutdown(). 80562306a36Sopenharmony_ci 80662306a36Sopenharmony_ci The BPF_SK_REUSEPORT_SELECT_OR_MIGRATE type of eBPF program should 80762306a36Sopenharmony_ci usually be used to define the policy to pick an alive listener. 80862306a36Sopenharmony_ci Otherwise, the kernel will randomly pick an alive listener only if 80962306a36Sopenharmony_ci this option is enabled. 81062306a36Sopenharmony_ci 81162306a36Sopenharmony_ci Note that migration between listeners with different settings may 81262306a36Sopenharmony_ci crash applications. Let's say migration happens from listener A to 81362306a36Sopenharmony_ci B, and only B has TCP_SAVE_SYN enabled. B cannot read SYN data from 81462306a36Sopenharmony_ci the requests migrated from A. To avoid such a situation, cancel 81562306a36Sopenharmony_ci migration by returning SK_DROP in the type of eBPF program, or 81662306a36Sopenharmony_ci disable this option. 81762306a36Sopenharmony_ci 81862306a36Sopenharmony_ci Default: 0 81962306a36Sopenharmony_ci 82062306a36Sopenharmony_citcp_fastopen - INTEGER 82162306a36Sopenharmony_ci Enable TCP Fast Open (RFC7413) to send and accept data in the opening 82262306a36Sopenharmony_ci SYN packet. 82362306a36Sopenharmony_ci 82462306a36Sopenharmony_ci The client support is enabled by flag 0x1 (on by default). The client 82562306a36Sopenharmony_ci then must use sendmsg() or sendto() with the MSG_FASTOPEN flag, 82662306a36Sopenharmony_ci rather than connect() to send data in SYN. 82762306a36Sopenharmony_ci 82862306a36Sopenharmony_ci The server support is enabled by flag 0x2 (off by default). Then 82962306a36Sopenharmony_ci either enable for all listeners with another flag (0x400) or 83062306a36Sopenharmony_ci enable individual listeners via TCP_FASTOPEN socket option with 83162306a36Sopenharmony_ci the option value being the length of the syn-data backlog. 83262306a36Sopenharmony_ci 83362306a36Sopenharmony_ci The values (bitmap) are 83462306a36Sopenharmony_ci 83562306a36Sopenharmony_ci ===== ======== ====================================================== 83662306a36Sopenharmony_ci 0x1 (client) enables sending data in the opening SYN on the client. 83762306a36Sopenharmony_ci 0x2 (server) enables the server support, i.e., allowing data in 83862306a36Sopenharmony_ci a SYN packet to be accepted and passed to the 83962306a36Sopenharmony_ci application before 3-way handshake finishes. 84062306a36Sopenharmony_ci 0x4 (client) send data in the opening SYN regardless of cookie 84162306a36Sopenharmony_ci availability and without a cookie option. 84262306a36Sopenharmony_ci 0x200 (server) accept data-in-SYN w/o any cookie option present. 84362306a36Sopenharmony_ci 0x400 (server) enable all listeners to support Fast Open by 84462306a36Sopenharmony_ci default without explicit TCP_FASTOPEN socket option. 84562306a36Sopenharmony_ci ===== ======== ====================================================== 84662306a36Sopenharmony_ci 84762306a36Sopenharmony_ci Default: 0x1 84862306a36Sopenharmony_ci 84962306a36Sopenharmony_ci Note that additional client or server features are only 85062306a36Sopenharmony_ci effective if the basic support (0x1 and 0x2) are enabled respectively. 85162306a36Sopenharmony_ci 85262306a36Sopenharmony_citcp_fastopen_blackhole_timeout_sec - INTEGER 85362306a36Sopenharmony_ci Initial time period in second to disable Fastopen on active TCP sockets 85462306a36Sopenharmony_ci when a TFO firewall blackhole issue happens. 85562306a36Sopenharmony_ci This time period will grow exponentially when more blackhole issues 85662306a36Sopenharmony_ci get detected right after Fastopen is re-enabled and will reset to 85762306a36Sopenharmony_ci initial value when the blackhole issue goes away. 85862306a36Sopenharmony_ci 0 to disable the blackhole detection. 85962306a36Sopenharmony_ci 86062306a36Sopenharmony_ci By default, it is set to 0 (feature is disabled). 86162306a36Sopenharmony_ci 86262306a36Sopenharmony_citcp_fastopen_key - list of comma separated 32-digit hexadecimal INTEGERs 86362306a36Sopenharmony_ci The list consists of a primary key and an optional backup key. The 86462306a36Sopenharmony_ci primary key is used for both creating and validating cookies, while the 86562306a36Sopenharmony_ci optional backup key is only used for validating cookies. The purpose of 86662306a36Sopenharmony_ci the backup key is to maximize TFO validation when keys are rotated. 86762306a36Sopenharmony_ci 86862306a36Sopenharmony_ci A randomly chosen primary key may be configured by the kernel if 86962306a36Sopenharmony_ci the tcp_fastopen sysctl is set to 0x400 (see above), or if the 87062306a36Sopenharmony_ci TCP_FASTOPEN setsockopt() optname is set and a key has not been 87162306a36Sopenharmony_ci previously configured via sysctl. If keys are configured via 87262306a36Sopenharmony_ci setsockopt() by using the TCP_FASTOPEN_KEY optname, then those 87362306a36Sopenharmony_ci per-socket keys will be used instead of any keys that are specified via 87462306a36Sopenharmony_ci sysctl. 87562306a36Sopenharmony_ci 87662306a36Sopenharmony_ci A key is specified as 4 8-digit hexadecimal integers which are separated 87762306a36Sopenharmony_ci by a '-' as: xxxxxxxx-xxxxxxxx-xxxxxxxx-xxxxxxxx. Leading zeros may be 87862306a36Sopenharmony_ci omitted. A primary and a backup key may be specified by separating them 87962306a36Sopenharmony_ci by a comma. If only one key is specified, it becomes the primary key and 88062306a36Sopenharmony_ci any previously configured backup keys are removed. 88162306a36Sopenharmony_ci 88262306a36Sopenharmony_citcp_syn_retries - INTEGER 88362306a36Sopenharmony_ci Number of times initial SYNs for an active TCP connection attempt 88462306a36Sopenharmony_ci will be retransmitted. Should not be higher than 127. Default value 88562306a36Sopenharmony_ci is 6, which corresponds to 67seconds (with tcp_syn_linear_timeouts = 4) 88662306a36Sopenharmony_ci till the last retransmission with the current initial RTO of 1second. 88762306a36Sopenharmony_ci With this the final timeout for an active TCP connection attempt 88862306a36Sopenharmony_ci will happen after 131seconds. 88962306a36Sopenharmony_ci 89062306a36Sopenharmony_citcp_timestamps - INTEGER 89162306a36Sopenharmony_ci Enable timestamps as defined in RFC1323. 89262306a36Sopenharmony_ci 89362306a36Sopenharmony_ci - 0: Disabled. 89462306a36Sopenharmony_ci - 1: Enable timestamps as defined in RFC1323 and use random offset for 89562306a36Sopenharmony_ci each connection rather than only using the current time. 89662306a36Sopenharmony_ci - 2: Like 1, but without random offsets. 89762306a36Sopenharmony_ci 89862306a36Sopenharmony_ci Default: 1 89962306a36Sopenharmony_ci 90062306a36Sopenharmony_citcp_min_tso_segs - INTEGER 90162306a36Sopenharmony_ci Minimal number of segments per TSO frame. 90262306a36Sopenharmony_ci 90362306a36Sopenharmony_ci Since linux-3.12, TCP does an automatic sizing of TSO frames, 90462306a36Sopenharmony_ci depending on flow rate, instead of filling 64Kbytes packets. 90562306a36Sopenharmony_ci For specific usages, it's possible to force TCP to build big 90662306a36Sopenharmony_ci TSO frames. Note that TCP stack might split too big TSO packets 90762306a36Sopenharmony_ci if available window is too small. 90862306a36Sopenharmony_ci 90962306a36Sopenharmony_ci Default: 2 91062306a36Sopenharmony_ci 91162306a36Sopenharmony_citcp_tso_rtt_log - INTEGER 91262306a36Sopenharmony_ci Adjustment of TSO packet sizes based on min_rtt 91362306a36Sopenharmony_ci 91462306a36Sopenharmony_ci Starting from linux-5.18, TCP autosizing can be tweaked 91562306a36Sopenharmony_ci for flows having small RTT. 91662306a36Sopenharmony_ci 91762306a36Sopenharmony_ci Old autosizing was splitting the pacing budget to send 1024 TSO 91862306a36Sopenharmony_ci per second. 91962306a36Sopenharmony_ci 92062306a36Sopenharmony_ci tso_packet_size = sk->sk_pacing_rate / 1024; 92162306a36Sopenharmony_ci 92262306a36Sopenharmony_ci With the new mechanism, we increase this TSO sizing using: 92362306a36Sopenharmony_ci 92462306a36Sopenharmony_ci distance = min_rtt_usec / (2^tcp_tso_rtt_log) 92562306a36Sopenharmony_ci tso_packet_size += gso_max_size >> distance; 92662306a36Sopenharmony_ci 92762306a36Sopenharmony_ci This means that flows between very close hosts can use bigger 92862306a36Sopenharmony_ci TSO packets, reducing their cpu costs. 92962306a36Sopenharmony_ci 93062306a36Sopenharmony_ci If you want to use the old autosizing, set this sysctl to 0. 93162306a36Sopenharmony_ci 93262306a36Sopenharmony_ci Default: 9 (2^9 = 512 usec) 93362306a36Sopenharmony_ci 93462306a36Sopenharmony_citcp_pacing_ss_ratio - INTEGER 93562306a36Sopenharmony_ci sk->sk_pacing_rate is set by TCP stack using a ratio applied 93662306a36Sopenharmony_ci to current rate. (current_rate = cwnd * mss / srtt) 93762306a36Sopenharmony_ci If TCP is in slow start, tcp_pacing_ss_ratio is applied 93862306a36Sopenharmony_ci to let TCP probe for bigger speeds, assuming cwnd can be 93962306a36Sopenharmony_ci doubled every other RTT. 94062306a36Sopenharmony_ci 94162306a36Sopenharmony_ci Default: 200 94262306a36Sopenharmony_ci 94362306a36Sopenharmony_citcp_pacing_ca_ratio - INTEGER 94462306a36Sopenharmony_ci sk->sk_pacing_rate is set by TCP stack using a ratio applied 94562306a36Sopenharmony_ci to current rate. (current_rate = cwnd * mss / srtt) 94662306a36Sopenharmony_ci If TCP is in congestion avoidance phase, tcp_pacing_ca_ratio 94762306a36Sopenharmony_ci is applied to conservatively probe for bigger throughput. 94862306a36Sopenharmony_ci 94962306a36Sopenharmony_ci Default: 120 95062306a36Sopenharmony_ci 95162306a36Sopenharmony_citcp_syn_linear_timeouts - INTEGER 95262306a36Sopenharmony_ci The number of times for an active TCP connection to retransmit SYNs with 95362306a36Sopenharmony_ci a linear backoff timeout before defaulting to an exponential backoff 95462306a36Sopenharmony_ci timeout. This has no effect on SYNACK at the passive TCP side. 95562306a36Sopenharmony_ci 95662306a36Sopenharmony_ci With an initial RTO of 1 and tcp_syn_linear_timeouts = 4 we would 95762306a36Sopenharmony_ci expect SYN RTOs to be: 1, 1, 1, 1, 1, 2, 4, ... (4 linear timeouts, 95862306a36Sopenharmony_ci and the first exponential backoff using 2^0 * initial_RTO). 95962306a36Sopenharmony_ci Default: 4 96062306a36Sopenharmony_ci 96162306a36Sopenharmony_citcp_tso_win_divisor - INTEGER 96262306a36Sopenharmony_ci This allows control over what percentage of the congestion window 96362306a36Sopenharmony_ci can be consumed by a single TSO frame. 96462306a36Sopenharmony_ci The setting of this parameter is a choice between burstiness and 96562306a36Sopenharmony_ci building larger TSO frames. 96662306a36Sopenharmony_ci 96762306a36Sopenharmony_ci Default: 3 96862306a36Sopenharmony_ci 96962306a36Sopenharmony_citcp_tw_reuse - INTEGER 97062306a36Sopenharmony_ci Enable reuse of TIME-WAIT sockets for new connections when it is 97162306a36Sopenharmony_ci safe from protocol viewpoint. 97262306a36Sopenharmony_ci 97362306a36Sopenharmony_ci - 0 - disable 97462306a36Sopenharmony_ci - 1 - global enable 97562306a36Sopenharmony_ci - 2 - enable for loopback traffic only 97662306a36Sopenharmony_ci 97762306a36Sopenharmony_ci It should not be changed without advice/request of technical 97862306a36Sopenharmony_ci experts. 97962306a36Sopenharmony_ci 98062306a36Sopenharmony_ci Default: 2 98162306a36Sopenharmony_ci 98262306a36Sopenharmony_citcp_window_scaling - BOOLEAN 98362306a36Sopenharmony_ci Enable window scaling as defined in RFC1323. 98462306a36Sopenharmony_ci 98562306a36Sopenharmony_citcp_shrink_window - BOOLEAN 98662306a36Sopenharmony_ci This changes how the TCP receive window is calculated. 98762306a36Sopenharmony_ci 98862306a36Sopenharmony_ci RFC 7323, section 2.4, says there are instances when a retracted 98962306a36Sopenharmony_ci window can be offered, and that TCP implementations MUST ensure 99062306a36Sopenharmony_ci that they handle a shrinking window, as specified in RFC 1122. 99162306a36Sopenharmony_ci 99262306a36Sopenharmony_ci - 0 - Disabled. The window is never shrunk. 99362306a36Sopenharmony_ci - 1 - Enabled. The window is shrunk when necessary to remain within 99462306a36Sopenharmony_ci the memory limit set by autotuning (sk_rcvbuf). 99562306a36Sopenharmony_ci This only occurs if a non-zero receive window 99662306a36Sopenharmony_ci scaling factor is also in effect. 99762306a36Sopenharmony_ci 99862306a36Sopenharmony_ci Default: 0 99962306a36Sopenharmony_ci 100062306a36Sopenharmony_citcp_wmem - vector of 3 INTEGERs: min, default, max 100162306a36Sopenharmony_ci min: Amount of memory reserved for send buffers for TCP sockets. 100262306a36Sopenharmony_ci Each TCP socket has rights to use it due to fact of its birth. 100362306a36Sopenharmony_ci 100462306a36Sopenharmony_ci Default: 4K 100562306a36Sopenharmony_ci 100662306a36Sopenharmony_ci default: initial size of send buffer used by TCP sockets. This 100762306a36Sopenharmony_ci value overrides net.core.wmem_default used by other protocols. 100862306a36Sopenharmony_ci 100962306a36Sopenharmony_ci It is usually lower than net.core.wmem_default. 101062306a36Sopenharmony_ci 101162306a36Sopenharmony_ci Default: 16K 101262306a36Sopenharmony_ci 101362306a36Sopenharmony_ci max: Maximal amount of memory allowed for automatically tuned 101462306a36Sopenharmony_ci send buffers for TCP sockets. This value does not override 101562306a36Sopenharmony_ci net.core.wmem_max. Calling setsockopt() with SO_SNDBUF disables 101662306a36Sopenharmony_ci automatic tuning of that socket's send buffer size, in which case 101762306a36Sopenharmony_ci this value is ignored. 101862306a36Sopenharmony_ci 101962306a36Sopenharmony_ci Default: between 64K and 4MB, depending on RAM size. 102062306a36Sopenharmony_ci 102162306a36Sopenharmony_citcp_notsent_lowat - UNSIGNED INTEGER 102262306a36Sopenharmony_ci A TCP socket can control the amount of unsent bytes in its write queue, 102362306a36Sopenharmony_ci thanks to TCP_NOTSENT_LOWAT socket option. poll()/select()/epoll() 102462306a36Sopenharmony_ci reports POLLOUT events if the amount of unsent bytes is below a per 102562306a36Sopenharmony_ci socket value, and if the write queue is not full. sendmsg() will 102662306a36Sopenharmony_ci also not add new buffers if the limit is hit. 102762306a36Sopenharmony_ci 102862306a36Sopenharmony_ci This global variable controls the amount of unsent data for 102962306a36Sopenharmony_ci sockets not using TCP_NOTSENT_LOWAT. For these sockets, a change 103062306a36Sopenharmony_ci to the global variable has immediate effect. 103162306a36Sopenharmony_ci 103262306a36Sopenharmony_ci Default: UINT_MAX (0xFFFFFFFF) 103362306a36Sopenharmony_ci 103462306a36Sopenharmony_citcp_workaround_signed_windows - BOOLEAN 103562306a36Sopenharmony_ci If set, assume no receipt of a window scaling option means the 103662306a36Sopenharmony_ci remote TCP is broken and treats the window as a signed quantity. 103762306a36Sopenharmony_ci If unset, assume the remote TCP is not broken even if we do 103862306a36Sopenharmony_ci not receive a window scaling option from them. 103962306a36Sopenharmony_ci 104062306a36Sopenharmony_ci Default: 0 104162306a36Sopenharmony_ci 104262306a36Sopenharmony_citcp_thin_linear_timeouts - BOOLEAN 104362306a36Sopenharmony_ci Enable dynamic triggering of linear timeouts for thin streams. 104462306a36Sopenharmony_ci If set, a check is performed upon retransmission by timeout to 104562306a36Sopenharmony_ci determine if the stream is thin (less than 4 packets in flight). 104662306a36Sopenharmony_ci As long as the stream is found to be thin, up to 6 linear 104762306a36Sopenharmony_ci timeouts may be performed before exponential backoff mode is 104862306a36Sopenharmony_ci initiated. This improves retransmission latency for 104962306a36Sopenharmony_ci non-aggressive thin streams, often found to be time-dependent. 105062306a36Sopenharmony_ci For more information on thin streams, see 105162306a36Sopenharmony_ci Documentation/networking/tcp-thin.rst 105262306a36Sopenharmony_ci 105362306a36Sopenharmony_ci Default: 0 105462306a36Sopenharmony_ci 105562306a36Sopenharmony_citcp_limit_output_bytes - INTEGER 105662306a36Sopenharmony_ci Controls TCP Small Queue limit per tcp socket. 105762306a36Sopenharmony_ci TCP bulk sender tends to increase packets in flight until it 105862306a36Sopenharmony_ci gets losses notifications. With SNDBUF autotuning, this can 105962306a36Sopenharmony_ci result in a large amount of packets queued on the local machine 106062306a36Sopenharmony_ci (e.g.: qdiscs, CPU backlog, or device) hurting latency of other 106162306a36Sopenharmony_ci flows, for typical pfifo_fast qdiscs. tcp_limit_output_bytes 106262306a36Sopenharmony_ci limits the number of bytes on qdisc or device to reduce artificial 106362306a36Sopenharmony_ci RTT/cwnd and reduce bufferbloat. 106462306a36Sopenharmony_ci 106562306a36Sopenharmony_ci Default: 1048576 (16 * 65536) 106662306a36Sopenharmony_ci 106762306a36Sopenharmony_citcp_challenge_ack_limit - INTEGER 106862306a36Sopenharmony_ci Limits number of Challenge ACK sent per second, as recommended 106962306a36Sopenharmony_ci in RFC 5961 (Improving TCP's Robustness to Blind In-Window Attacks) 107062306a36Sopenharmony_ci Note that this per netns rate limit can allow some side channel 107162306a36Sopenharmony_ci attacks and probably should not be enabled. 107262306a36Sopenharmony_ci TCP stack implements per TCP socket limits anyway. 107362306a36Sopenharmony_ci Default: INT_MAX (unlimited) 107462306a36Sopenharmony_ci 107562306a36Sopenharmony_citcp_ehash_entries - INTEGER 107662306a36Sopenharmony_ci Show the number of hash buckets for TCP sockets in the current 107762306a36Sopenharmony_ci networking namespace. 107862306a36Sopenharmony_ci 107962306a36Sopenharmony_ci A negative value means the networking namespace does not own its 108062306a36Sopenharmony_ci hash buckets and shares the initial networking namespace's one. 108162306a36Sopenharmony_ci 108262306a36Sopenharmony_citcp_child_ehash_entries - INTEGER 108362306a36Sopenharmony_ci Control the number of hash buckets for TCP sockets in the child 108462306a36Sopenharmony_ci networking namespace, which must be set before clone() or unshare(). 108562306a36Sopenharmony_ci 108662306a36Sopenharmony_ci If the value is not 0, the kernel uses a value rounded up to 2^n 108762306a36Sopenharmony_ci as the actual hash bucket size. 0 is a special value, meaning 108862306a36Sopenharmony_ci the child networking namespace will share the initial networking 108962306a36Sopenharmony_ci namespace's hash buckets. 109062306a36Sopenharmony_ci 109162306a36Sopenharmony_ci Note that the child will use the global one in case the kernel 109262306a36Sopenharmony_ci fails to allocate enough memory. In addition, the global hash 109362306a36Sopenharmony_ci buckets are spread over available NUMA nodes, but the allocation 109462306a36Sopenharmony_ci of the child hash table depends on the current process's NUMA 109562306a36Sopenharmony_ci policy, which could result in performance differences. 109662306a36Sopenharmony_ci 109762306a36Sopenharmony_ci Note also that the default value of tcp_max_tw_buckets and 109862306a36Sopenharmony_ci tcp_max_syn_backlog depend on the hash bucket size. 109962306a36Sopenharmony_ci 110062306a36Sopenharmony_ci Possible values: 0, 2^n (n: 0 - 24 (16Mi)) 110162306a36Sopenharmony_ci 110262306a36Sopenharmony_ci Default: 0 110362306a36Sopenharmony_ci 110462306a36Sopenharmony_citcp_plb_enabled - BOOLEAN 110562306a36Sopenharmony_ci If set and the underlying congestion control (e.g. DCTCP) supports 110662306a36Sopenharmony_ci and enables PLB feature, TCP PLB (Protective Load Balancing) is 110762306a36Sopenharmony_ci enabled. PLB is described in the following paper: 110862306a36Sopenharmony_ci https://doi.org/10.1145/3544216.3544226. Based on PLB parameters, 110962306a36Sopenharmony_ci upon sensing sustained congestion, TCP triggers a change in 111062306a36Sopenharmony_ci flow label field for outgoing IPv6 packets. A change in flow label 111162306a36Sopenharmony_ci field potentially changes the path of outgoing packets for switches 111262306a36Sopenharmony_ci that use ECMP/WCMP for routing. 111362306a36Sopenharmony_ci 111462306a36Sopenharmony_ci PLB changes socket txhash which results in a change in IPv6 Flow Label 111562306a36Sopenharmony_ci field, and currently no-op for IPv4 headers. It is possible 111662306a36Sopenharmony_ci to apply PLB for IPv4 with other network header fields (e.g. TCP 111762306a36Sopenharmony_ci or IPv4 options) or using encapsulation where outer header is used 111862306a36Sopenharmony_ci by switches to determine next hop. In either case, further host 111962306a36Sopenharmony_ci and switch side changes will be needed. 112062306a36Sopenharmony_ci 112162306a36Sopenharmony_ci When set, PLB assumes that congestion signal (e.g. ECN) is made 112262306a36Sopenharmony_ci available and used by congestion control module to estimate a 112362306a36Sopenharmony_ci congestion measure (e.g. ce_ratio). PLB needs a congestion measure to 112462306a36Sopenharmony_ci make repathing decisions. 112562306a36Sopenharmony_ci 112662306a36Sopenharmony_ci Default: FALSE 112762306a36Sopenharmony_ci 112862306a36Sopenharmony_citcp_plb_idle_rehash_rounds - INTEGER 112962306a36Sopenharmony_ci Number of consecutive congested rounds (RTT) seen after which 113062306a36Sopenharmony_ci a rehash can be performed, given there are no packets in flight. 113162306a36Sopenharmony_ci This is referred to as M in PLB paper: 113262306a36Sopenharmony_ci https://doi.org/10.1145/3544216.3544226. 113362306a36Sopenharmony_ci 113462306a36Sopenharmony_ci Possible Values: 0 - 31 113562306a36Sopenharmony_ci 113662306a36Sopenharmony_ci Default: 3 113762306a36Sopenharmony_ci 113862306a36Sopenharmony_citcp_plb_rehash_rounds - INTEGER 113962306a36Sopenharmony_ci Number of consecutive congested rounds (RTT) seen after which 114062306a36Sopenharmony_ci a forced rehash can be performed. Be careful when setting this 114162306a36Sopenharmony_ci parameter, as a small value increases the risk of retransmissions. 114262306a36Sopenharmony_ci This is referred to as N in PLB paper: 114362306a36Sopenharmony_ci https://doi.org/10.1145/3544216.3544226. 114462306a36Sopenharmony_ci 114562306a36Sopenharmony_ci Possible Values: 0 - 31 114662306a36Sopenharmony_ci 114762306a36Sopenharmony_ci Default: 12 114862306a36Sopenharmony_ci 114962306a36Sopenharmony_citcp_plb_suspend_rto_sec - INTEGER 115062306a36Sopenharmony_ci Time, in seconds, to suspend PLB in event of an RTO. In order to avoid 115162306a36Sopenharmony_ci having PLB repath onto a connectivity "black hole", after an RTO a TCP 115262306a36Sopenharmony_ci connection suspends PLB repathing for a random duration between 1x and 115362306a36Sopenharmony_ci 2x of this parameter. Randomness is added to avoid concurrent rehashing 115462306a36Sopenharmony_ci of multiple TCP connections. This should be set corresponding to the 115562306a36Sopenharmony_ci amount of time it takes to repair a failed link. 115662306a36Sopenharmony_ci 115762306a36Sopenharmony_ci Possible Values: 0 - 255 115862306a36Sopenharmony_ci 115962306a36Sopenharmony_ci Default: 60 116062306a36Sopenharmony_ci 116162306a36Sopenharmony_citcp_plb_cong_thresh - INTEGER 116262306a36Sopenharmony_ci Fraction of packets marked with congestion over a round (RTT) to 116362306a36Sopenharmony_ci tag that round as congested. This is referred to as K in the PLB paper: 116462306a36Sopenharmony_ci https://doi.org/10.1145/3544216.3544226. 116562306a36Sopenharmony_ci 116662306a36Sopenharmony_ci The 0-1 fraction range is mapped to 0-256 range to avoid floating 116762306a36Sopenharmony_ci point operations. For example, 128 means that if at least 50% of 116862306a36Sopenharmony_ci the packets in a round were marked as congested then the round 116962306a36Sopenharmony_ci will be tagged as congested. 117062306a36Sopenharmony_ci 117162306a36Sopenharmony_ci Setting threshold to 0 means that PLB repaths every RTT regardless 117262306a36Sopenharmony_ci of congestion. This is not intended behavior for PLB and should be 117362306a36Sopenharmony_ci used only for experimentation purpose. 117462306a36Sopenharmony_ci 117562306a36Sopenharmony_ci Possible Values: 0 - 256 117662306a36Sopenharmony_ci 117762306a36Sopenharmony_ci Default: 128 117862306a36Sopenharmony_ci 117962306a36Sopenharmony_ciUDP variables 118062306a36Sopenharmony_ci============= 118162306a36Sopenharmony_ci 118262306a36Sopenharmony_ciudp_l3mdev_accept - BOOLEAN 118362306a36Sopenharmony_ci Enabling this option allows a "global" bound socket to work 118462306a36Sopenharmony_ci across L3 master domains (e.g., VRFs) with packets capable of 118562306a36Sopenharmony_ci being received regardless of the L3 domain in which they 118662306a36Sopenharmony_ci originated. Only valid when the kernel was compiled with 118762306a36Sopenharmony_ci CONFIG_NET_L3_MASTER_DEV. 118862306a36Sopenharmony_ci 118962306a36Sopenharmony_ci Default: 0 (disabled) 119062306a36Sopenharmony_ci 119162306a36Sopenharmony_ciudp_mem - vector of 3 INTEGERs: min, pressure, max 119262306a36Sopenharmony_ci Number of pages allowed for queueing by all UDP sockets. 119362306a36Sopenharmony_ci 119462306a36Sopenharmony_ci min: Number of pages allowed for queueing by all UDP sockets. 119562306a36Sopenharmony_ci 119662306a36Sopenharmony_ci pressure: This value was introduced to follow format of tcp_mem. 119762306a36Sopenharmony_ci 119862306a36Sopenharmony_ci max: This value was introduced to follow format of tcp_mem. 119962306a36Sopenharmony_ci 120062306a36Sopenharmony_ci Default is calculated at boot time from amount of available memory. 120162306a36Sopenharmony_ci 120262306a36Sopenharmony_ciudp_rmem_min - INTEGER 120362306a36Sopenharmony_ci Minimal size of receive buffer used by UDP sockets in moderation. 120462306a36Sopenharmony_ci Each UDP socket is able to use the size for receiving data, even if 120562306a36Sopenharmony_ci total pages of UDP sockets exceed udp_mem pressure. The unit is byte. 120662306a36Sopenharmony_ci 120762306a36Sopenharmony_ci Default: 4K 120862306a36Sopenharmony_ci 120962306a36Sopenharmony_ciudp_wmem_min - INTEGER 121062306a36Sopenharmony_ci UDP does not have tx memory accounting and this tunable has no effect. 121162306a36Sopenharmony_ci 121262306a36Sopenharmony_ciudp_hash_entries - INTEGER 121362306a36Sopenharmony_ci Show the number of hash buckets for UDP sockets in the current 121462306a36Sopenharmony_ci networking namespace. 121562306a36Sopenharmony_ci 121662306a36Sopenharmony_ci A negative value means the networking namespace does not own its 121762306a36Sopenharmony_ci hash buckets and shares the initial networking namespace's one. 121862306a36Sopenharmony_ci 121962306a36Sopenharmony_ciudp_child_ehash_entries - INTEGER 122062306a36Sopenharmony_ci Control the number of hash buckets for UDP sockets in the child 122162306a36Sopenharmony_ci networking namespace, which must be set before clone() or unshare(). 122262306a36Sopenharmony_ci 122362306a36Sopenharmony_ci If the value is not 0, the kernel uses a value rounded up to 2^n 122462306a36Sopenharmony_ci as the actual hash bucket size. 0 is a special value, meaning 122562306a36Sopenharmony_ci the child networking namespace will share the initial networking 122662306a36Sopenharmony_ci namespace's hash buckets. 122762306a36Sopenharmony_ci 122862306a36Sopenharmony_ci Note that the child will use the global one in case the kernel 122962306a36Sopenharmony_ci fails to allocate enough memory. In addition, the global hash 123062306a36Sopenharmony_ci buckets are spread over available NUMA nodes, but the allocation 123162306a36Sopenharmony_ci of the child hash table depends on the current process's NUMA 123262306a36Sopenharmony_ci policy, which could result in performance differences. 123362306a36Sopenharmony_ci 123462306a36Sopenharmony_ci Possible values: 0, 2^n (n: 7 (128) - 16 (64K)) 123562306a36Sopenharmony_ci 123662306a36Sopenharmony_ci Default: 0 123762306a36Sopenharmony_ci 123862306a36Sopenharmony_ci 123962306a36Sopenharmony_ciRAW variables 124062306a36Sopenharmony_ci============= 124162306a36Sopenharmony_ci 124262306a36Sopenharmony_ciraw_l3mdev_accept - BOOLEAN 124362306a36Sopenharmony_ci Enabling this option allows a "global" bound socket to work 124462306a36Sopenharmony_ci across L3 master domains (e.g., VRFs) with packets capable of 124562306a36Sopenharmony_ci being received regardless of the L3 domain in which they 124662306a36Sopenharmony_ci originated. Only valid when the kernel was compiled with 124762306a36Sopenharmony_ci CONFIG_NET_L3_MASTER_DEV. 124862306a36Sopenharmony_ci 124962306a36Sopenharmony_ci Default: 1 (enabled) 125062306a36Sopenharmony_ci 125162306a36Sopenharmony_ciCIPSOv4 Variables 125262306a36Sopenharmony_ci================= 125362306a36Sopenharmony_ci 125462306a36Sopenharmony_cicipso_cache_enable - BOOLEAN 125562306a36Sopenharmony_ci If set, enable additions to and lookups from the CIPSO label mapping 125662306a36Sopenharmony_ci cache. If unset, additions are ignored and lookups always result in a 125762306a36Sopenharmony_ci miss. However, regardless of the setting the cache is still 125862306a36Sopenharmony_ci invalidated when required when means you can safely toggle this on and 125962306a36Sopenharmony_ci off and the cache will always be "safe". 126062306a36Sopenharmony_ci 126162306a36Sopenharmony_ci Default: 1 126262306a36Sopenharmony_ci 126362306a36Sopenharmony_cicipso_cache_bucket_size - INTEGER 126462306a36Sopenharmony_ci The CIPSO label cache consists of a fixed size hash table with each 126562306a36Sopenharmony_ci hash bucket containing a number of cache entries. This variable limits 126662306a36Sopenharmony_ci the number of entries in each hash bucket; the larger the value is, the 126762306a36Sopenharmony_ci more CIPSO label mappings that can be cached. When the number of 126862306a36Sopenharmony_ci entries in a given hash bucket reaches this limit adding new entries 126962306a36Sopenharmony_ci causes the oldest entry in the bucket to be removed to make room. 127062306a36Sopenharmony_ci 127162306a36Sopenharmony_ci Default: 10 127262306a36Sopenharmony_ci 127362306a36Sopenharmony_cicipso_rbm_optfmt - BOOLEAN 127462306a36Sopenharmony_ci Enable the "Optimized Tag 1 Format" as defined in section 3.4.2.6 of 127562306a36Sopenharmony_ci the CIPSO draft specification (see Documentation/netlabel for details). 127662306a36Sopenharmony_ci This means that when set the CIPSO tag will be padded with empty 127762306a36Sopenharmony_ci categories in order to make the packet data 32-bit aligned. 127862306a36Sopenharmony_ci 127962306a36Sopenharmony_ci Default: 0 128062306a36Sopenharmony_ci 128162306a36Sopenharmony_cicipso_rbm_structvalid - BOOLEAN 128262306a36Sopenharmony_ci If set, do a very strict check of the CIPSO option when 128362306a36Sopenharmony_ci ip_options_compile() is called. If unset, relax the checks done during 128462306a36Sopenharmony_ci ip_options_compile(). Either way is "safe" as errors are caught else 128562306a36Sopenharmony_ci where in the CIPSO processing code but setting this to 0 (False) should 128662306a36Sopenharmony_ci result in less work (i.e. it should be faster) but could cause problems 128762306a36Sopenharmony_ci with other implementations that require strict checking. 128862306a36Sopenharmony_ci 128962306a36Sopenharmony_ci Default: 0 129062306a36Sopenharmony_ci 129162306a36Sopenharmony_ciIP Variables 129262306a36Sopenharmony_ci============ 129362306a36Sopenharmony_ci 129462306a36Sopenharmony_ciip_local_port_range - 2 INTEGERS 129562306a36Sopenharmony_ci Defines the local port range that is used by TCP and UDP to 129662306a36Sopenharmony_ci choose the local port. The first number is the first, the 129762306a36Sopenharmony_ci second the last local port number. 129862306a36Sopenharmony_ci If possible, it is better these numbers have different parity 129962306a36Sopenharmony_ci (one even and one odd value). 130062306a36Sopenharmony_ci Must be greater than or equal to ip_unprivileged_port_start. 130162306a36Sopenharmony_ci The default values are 32768 and 60999 respectively. 130262306a36Sopenharmony_ci 130362306a36Sopenharmony_ciip_local_reserved_ports - list of comma separated ranges 130462306a36Sopenharmony_ci Specify the ports which are reserved for known third-party 130562306a36Sopenharmony_ci applications. These ports will not be used by automatic port 130662306a36Sopenharmony_ci assignments (e.g. when calling connect() or bind() with port 130762306a36Sopenharmony_ci number 0). Explicit port allocation behavior is unchanged. 130862306a36Sopenharmony_ci 130962306a36Sopenharmony_ci The format used for both input and output is a comma separated 131062306a36Sopenharmony_ci list of ranges (e.g. "1,2-4,10-10" for ports 1, 2, 3, 4 and 131162306a36Sopenharmony_ci 10). Writing to the file will clear all previously reserved 131262306a36Sopenharmony_ci ports and update the current list with the one given in the 131362306a36Sopenharmony_ci input. 131462306a36Sopenharmony_ci 131562306a36Sopenharmony_ci Note that ip_local_port_range and ip_local_reserved_ports 131662306a36Sopenharmony_ci settings are independent and both are considered by the kernel 131762306a36Sopenharmony_ci when determining which ports are available for automatic port 131862306a36Sopenharmony_ci assignments. 131962306a36Sopenharmony_ci 132062306a36Sopenharmony_ci You can reserve ports which are not in the current 132162306a36Sopenharmony_ci ip_local_port_range, e.g.:: 132262306a36Sopenharmony_ci 132362306a36Sopenharmony_ci $ cat /proc/sys/net/ipv4/ip_local_port_range 132462306a36Sopenharmony_ci 32000 60999 132562306a36Sopenharmony_ci $ cat /proc/sys/net/ipv4/ip_local_reserved_ports 132662306a36Sopenharmony_ci 8080,9148 132762306a36Sopenharmony_ci 132862306a36Sopenharmony_ci although this is redundant. However such a setting is useful 132962306a36Sopenharmony_ci if later the port range is changed to a value that will 133062306a36Sopenharmony_ci include the reserved ports. Also keep in mind, that overlapping 133162306a36Sopenharmony_ci of these ranges may affect probability of selecting ephemeral 133262306a36Sopenharmony_ci ports which are right after block of reserved ports. 133362306a36Sopenharmony_ci 133462306a36Sopenharmony_ci Default: Empty 133562306a36Sopenharmony_ci 133662306a36Sopenharmony_ciip_unprivileged_port_start - INTEGER 133762306a36Sopenharmony_ci This is a per-namespace sysctl. It defines the first 133862306a36Sopenharmony_ci unprivileged port in the network namespace. Privileged ports 133962306a36Sopenharmony_ci require root or CAP_NET_BIND_SERVICE in order to bind to them. 134062306a36Sopenharmony_ci To disable all privileged ports, set this to 0. They must not 134162306a36Sopenharmony_ci overlap with the ip_local_port_range. 134262306a36Sopenharmony_ci 134362306a36Sopenharmony_ci Default: 1024 134462306a36Sopenharmony_ci 134562306a36Sopenharmony_ciip_nonlocal_bind - BOOLEAN 134662306a36Sopenharmony_ci If set, allows processes to bind() to non-local IP addresses, 134762306a36Sopenharmony_ci which can be quite useful - but may break some applications. 134862306a36Sopenharmony_ci 134962306a36Sopenharmony_ci Default: 0 135062306a36Sopenharmony_ci 135162306a36Sopenharmony_ciip_autobind_reuse - BOOLEAN 135262306a36Sopenharmony_ci By default, bind() does not select the ports automatically even if 135362306a36Sopenharmony_ci the new socket and all sockets bound to the port have SO_REUSEADDR. 135462306a36Sopenharmony_ci ip_autobind_reuse allows bind() to reuse the port and this is useful 135562306a36Sopenharmony_ci when you use bind()+connect(), but may break some applications. 135662306a36Sopenharmony_ci The preferred solution is to use IP_BIND_ADDRESS_NO_PORT and this 135762306a36Sopenharmony_ci option should only be set by experts. 135862306a36Sopenharmony_ci Default: 0 135962306a36Sopenharmony_ci 136062306a36Sopenharmony_ciip_dynaddr - INTEGER 136162306a36Sopenharmony_ci If set non-zero, enables support for dynamic addresses. 136262306a36Sopenharmony_ci If set to a non-zero value larger than 1, a kernel log 136362306a36Sopenharmony_ci message will be printed when dynamic address rewriting 136462306a36Sopenharmony_ci occurs. 136562306a36Sopenharmony_ci 136662306a36Sopenharmony_ci Default: 0 136762306a36Sopenharmony_ci 136862306a36Sopenharmony_ciip_early_demux - BOOLEAN 136962306a36Sopenharmony_ci Optimize input packet processing down to one demux for 137062306a36Sopenharmony_ci certain kinds of local sockets. Currently we only do this 137162306a36Sopenharmony_ci for established TCP and connected UDP sockets. 137262306a36Sopenharmony_ci 137362306a36Sopenharmony_ci It may add an additional cost for pure routing workloads that 137462306a36Sopenharmony_ci reduces overall throughput, in such case you should disable it. 137562306a36Sopenharmony_ci 137662306a36Sopenharmony_ci Default: 1 137762306a36Sopenharmony_ci 137862306a36Sopenharmony_ciping_group_range - 2 INTEGERS 137962306a36Sopenharmony_ci Restrict ICMP_PROTO datagram sockets to users in the group range. 138062306a36Sopenharmony_ci The default is "1 0", meaning, that nobody (not even root) may 138162306a36Sopenharmony_ci create ping sockets. Setting it to "100 100" would grant permissions 138262306a36Sopenharmony_ci to the single group. "0 4294967294" would enable it for the world, "100 138362306a36Sopenharmony_ci 4294967294" would enable it for the users, but not daemons. 138462306a36Sopenharmony_ci 138562306a36Sopenharmony_citcp_early_demux - BOOLEAN 138662306a36Sopenharmony_ci Enable early demux for established TCP sockets. 138762306a36Sopenharmony_ci 138862306a36Sopenharmony_ci Default: 1 138962306a36Sopenharmony_ci 139062306a36Sopenharmony_ciudp_early_demux - BOOLEAN 139162306a36Sopenharmony_ci Enable early demux for connected UDP sockets. Disable this if 139262306a36Sopenharmony_ci your system could experience more unconnected load. 139362306a36Sopenharmony_ci 139462306a36Sopenharmony_ci Default: 1 139562306a36Sopenharmony_ci 139662306a36Sopenharmony_ciicmp_echo_ignore_all - BOOLEAN 139762306a36Sopenharmony_ci If set non-zero, then the kernel will ignore all ICMP ECHO 139862306a36Sopenharmony_ci requests sent to it. 139962306a36Sopenharmony_ci 140062306a36Sopenharmony_ci Default: 0 140162306a36Sopenharmony_ci 140262306a36Sopenharmony_ciicmp_echo_enable_probe - BOOLEAN 140362306a36Sopenharmony_ci If set to one, then the kernel will respond to RFC 8335 PROBE 140462306a36Sopenharmony_ci requests sent to it. 140562306a36Sopenharmony_ci 140662306a36Sopenharmony_ci Default: 0 140762306a36Sopenharmony_ci 140862306a36Sopenharmony_ciicmp_echo_ignore_broadcasts - BOOLEAN 140962306a36Sopenharmony_ci If set non-zero, then the kernel will ignore all ICMP ECHO and 141062306a36Sopenharmony_ci TIMESTAMP requests sent to it via broadcast/multicast. 141162306a36Sopenharmony_ci 141262306a36Sopenharmony_ci Default: 1 141362306a36Sopenharmony_ci 141462306a36Sopenharmony_ciicmp_ratelimit - INTEGER 141562306a36Sopenharmony_ci Limit the maximal rates for sending ICMP packets whose type matches 141662306a36Sopenharmony_ci icmp_ratemask (see below) to specific targets. 141762306a36Sopenharmony_ci 0 to disable any limiting, 141862306a36Sopenharmony_ci otherwise the minimal space between responses in milliseconds. 141962306a36Sopenharmony_ci Note that another sysctl, icmp_msgs_per_sec limits the number 142062306a36Sopenharmony_ci of ICMP packets sent on all targets. 142162306a36Sopenharmony_ci 142262306a36Sopenharmony_ci Default: 1000 142362306a36Sopenharmony_ci 142462306a36Sopenharmony_ciicmp_msgs_per_sec - INTEGER 142562306a36Sopenharmony_ci Limit maximal number of ICMP packets sent per second from this host. 142662306a36Sopenharmony_ci Only messages whose type matches icmp_ratemask (see below) are 142762306a36Sopenharmony_ci controlled by this limit. For security reasons, the precise count 142862306a36Sopenharmony_ci of messages per second is randomized. 142962306a36Sopenharmony_ci 143062306a36Sopenharmony_ci Default: 1000 143162306a36Sopenharmony_ci 143262306a36Sopenharmony_ciicmp_msgs_burst - INTEGER 143362306a36Sopenharmony_ci icmp_msgs_per_sec controls number of ICMP packets sent per second, 143462306a36Sopenharmony_ci while icmp_msgs_burst controls the burst size of these packets. 143562306a36Sopenharmony_ci For security reasons, the precise burst size is randomized. 143662306a36Sopenharmony_ci 143762306a36Sopenharmony_ci Default: 50 143862306a36Sopenharmony_ci 143962306a36Sopenharmony_ciicmp_ratemask - INTEGER 144062306a36Sopenharmony_ci Mask made of ICMP types for which rates are being limited. 144162306a36Sopenharmony_ci 144262306a36Sopenharmony_ci Significant bits: IHGFEDCBA9876543210 144362306a36Sopenharmony_ci 144462306a36Sopenharmony_ci Default mask: 0000001100000011000 (6168) 144562306a36Sopenharmony_ci 144662306a36Sopenharmony_ci Bit definitions (see include/linux/icmp.h): 144762306a36Sopenharmony_ci 144862306a36Sopenharmony_ci = ========================= 144962306a36Sopenharmony_ci 0 Echo Reply 145062306a36Sopenharmony_ci 3 Destination Unreachable [1]_ 145162306a36Sopenharmony_ci 4 Source Quench [1]_ 145262306a36Sopenharmony_ci 5 Redirect 145362306a36Sopenharmony_ci 8 Echo Request 145462306a36Sopenharmony_ci B Time Exceeded [1]_ 145562306a36Sopenharmony_ci C Parameter Problem [1]_ 145662306a36Sopenharmony_ci D Timestamp Request 145762306a36Sopenharmony_ci E Timestamp Reply 145862306a36Sopenharmony_ci F Info Request 145962306a36Sopenharmony_ci G Info Reply 146062306a36Sopenharmony_ci H Address Mask Request 146162306a36Sopenharmony_ci I Address Mask Reply 146262306a36Sopenharmony_ci = ========================= 146362306a36Sopenharmony_ci 146462306a36Sopenharmony_ci .. [1] These are rate limited by default (see default mask above) 146562306a36Sopenharmony_ci 146662306a36Sopenharmony_ciicmp_ignore_bogus_error_responses - BOOLEAN 146762306a36Sopenharmony_ci Some routers violate RFC1122 by sending bogus responses to broadcast 146862306a36Sopenharmony_ci frames. Such violations are normally logged via a kernel warning. 146962306a36Sopenharmony_ci If this is set to TRUE, the kernel will not give such warnings, which 147062306a36Sopenharmony_ci will avoid log file clutter. 147162306a36Sopenharmony_ci 147262306a36Sopenharmony_ci Default: 1 147362306a36Sopenharmony_ci 147462306a36Sopenharmony_ciicmp_errors_use_inbound_ifaddr - BOOLEAN 147562306a36Sopenharmony_ci 147662306a36Sopenharmony_ci If zero, icmp error messages are sent with the primary address of 147762306a36Sopenharmony_ci the exiting interface. 147862306a36Sopenharmony_ci 147962306a36Sopenharmony_ci If non-zero, the message will be sent with the primary address of 148062306a36Sopenharmony_ci the interface that received the packet that caused the icmp error. 148162306a36Sopenharmony_ci This is the behaviour many network administrators will expect from 148262306a36Sopenharmony_ci a router. And it can make debugging complicated network layouts 148362306a36Sopenharmony_ci much easier. 148462306a36Sopenharmony_ci 148562306a36Sopenharmony_ci Note that if no primary address exists for the interface selected, 148662306a36Sopenharmony_ci then the primary address of the first non-loopback interface that 148762306a36Sopenharmony_ci has one will be used regardless of this setting. 148862306a36Sopenharmony_ci 148962306a36Sopenharmony_ci Default: 0 149062306a36Sopenharmony_ci 149162306a36Sopenharmony_ciigmp_max_memberships - INTEGER 149262306a36Sopenharmony_ci Change the maximum number of multicast groups we can subscribe to. 149362306a36Sopenharmony_ci Default: 20 149462306a36Sopenharmony_ci 149562306a36Sopenharmony_ci Theoretical maximum value is bounded by having to send a membership 149662306a36Sopenharmony_ci report in a single datagram (i.e. the report can't span multiple 149762306a36Sopenharmony_ci datagrams, or risk confusing the switch and leaving groups you don't 149862306a36Sopenharmony_ci intend to). 149962306a36Sopenharmony_ci 150062306a36Sopenharmony_ci The number of supported groups 'M' is bounded by the number of group 150162306a36Sopenharmony_ci report entries you can fit into a single datagram of 65535 bytes. 150262306a36Sopenharmony_ci 150362306a36Sopenharmony_ci M = 65536-sizeof (ip header)/(sizeof(Group record)) 150462306a36Sopenharmony_ci 150562306a36Sopenharmony_ci Group records are variable length, with a minimum of 12 bytes. 150662306a36Sopenharmony_ci So net.ipv4.igmp_max_memberships should not be set higher than: 150762306a36Sopenharmony_ci 150862306a36Sopenharmony_ci (65536-24) / 12 = 5459 150962306a36Sopenharmony_ci 151062306a36Sopenharmony_ci The value 5459 assumes no IP header options, so in practice 151162306a36Sopenharmony_ci this number may be lower. 151262306a36Sopenharmony_ci 151362306a36Sopenharmony_ciigmp_max_msf - INTEGER 151462306a36Sopenharmony_ci Maximum number of addresses allowed in the source filter list for a 151562306a36Sopenharmony_ci multicast group. 151662306a36Sopenharmony_ci 151762306a36Sopenharmony_ci Default: 10 151862306a36Sopenharmony_ci 151962306a36Sopenharmony_ciigmp_qrv - INTEGER 152062306a36Sopenharmony_ci Controls the IGMP query robustness variable (see RFC2236 8.1). 152162306a36Sopenharmony_ci 152262306a36Sopenharmony_ci Default: 2 (as specified by RFC2236 8.1) 152362306a36Sopenharmony_ci 152462306a36Sopenharmony_ci Minimum: 1 (as specified by RFC6636 4.5) 152562306a36Sopenharmony_ci 152662306a36Sopenharmony_ciforce_igmp_version - INTEGER 152762306a36Sopenharmony_ci - 0 - (default) No enforcement of a IGMP version, IGMPv1/v2 fallback 152862306a36Sopenharmony_ci allowed. Will back to IGMPv3 mode again if all IGMPv1/v2 Querier 152962306a36Sopenharmony_ci Present timer expires. 153062306a36Sopenharmony_ci - 1 - Enforce to use IGMP version 1. Will also reply IGMPv1 report if 153162306a36Sopenharmony_ci receive IGMPv2/v3 query. 153262306a36Sopenharmony_ci - 2 - Enforce to use IGMP version 2. Will fallback to IGMPv1 if receive 153362306a36Sopenharmony_ci IGMPv1 query message. Will reply report if receive IGMPv3 query. 153462306a36Sopenharmony_ci - 3 - Enforce to use IGMP version 3. The same react with default 0. 153562306a36Sopenharmony_ci 153662306a36Sopenharmony_ci .. note:: 153762306a36Sopenharmony_ci 153862306a36Sopenharmony_ci this is not the same with force_mld_version because IGMPv3 RFC3376 153962306a36Sopenharmony_ci Security Considerations does not have clear description that we could 154062306a36Sopenharmony_ci ignore other version messages completely as MLDv2 RFC3810. So make 154162306a36Sopenharmony_ci this value as default 0 is recommended. 154262306a36Sopenharmony_ci 154362306a36Sopenharmony_ci``conf/interface/*`` 154462306a36Sopenharmony_ci changes special settings per interface (where 154562306a36Sopenharmony_ci interface" is the name of your network interface) 154662306a36Sopenharmony_ci 154762306a36Sopenharmony_ci``conf/all/*`` 154862306a36Sopenharmony_ci is special, changes the settings for all interfaces 154962306a36Sopenharmony_ci 155062306a36Sopenharmony_cilog_martians - BOOLEAN 155162306a36Sopenharmony_ci Log packets with impossible addresses to kernel log. 155262306a36Sopenharmony_ci log_martians for the interface will be enabled if at least one of 155362306a36Sopenharmony_ci conf/{all,interface}/log_martians is set to TRUE, 155462306a36Sopenharmony_ci it will be disabled otherwise 155562306a36Sopenharmony_ci 155662306a36Sopenharmony_ciaccept_redirects - BOOLEAN 155762306a36Sopenharmony_ci Accept ICMP redirect messages. 155862306a36Sopenharmony_ci accept_redirects for the interface will be enabled if: 155962306a36Sopenharmony_ci 156062306a36Sopenharmony_ci - both conf/{all,interface}/accept_redirects are TRUE in the case 156162306a36Sopenharmony_ci forwarding for the interface is enabled 156262306a36Sopenharmony_ci 156362306a36Sopenharmony_ci or 156462306a36Sopenharmony_ci 156562306a36Sopenharmony_ci - at least one of conf/{all,interface}/accept_redirects is TRUE in the 156662306a36Sopenharmony_ci case forwarding for the interface is disabled 156762306a36Sopenharmony_ci 156862306a36Sopenharmony_ci accept_redirects for the interface will be disabled otherwise 156962306a36Sopenharmony_ci 157062306a36Sopenharmony_ci default: 157162306a36Sopenharmony_ci 157262306a36Sopenharmony_ci - TRUE (host) 157362306a36Sopenharmony_ci - FALSE (router) 157462306a36Sopenharmony_ci 157562306a36Sopenharmony_ciforwarding - BOOLEAN 157662306a36Sopenharmony_ci Enable IP forwarding on this interface. This controls whether packets 157762306a36Sopenharmony_ci received _on_ this interface can be forwarded. 157862306a36Sopenharmony_ci 157962306a36Sopenharmony_cimc_forwarding - BOOLEAN 158062306a36Sopenharmony_ci Do multicast routing. The kernel needs to be compiled with CONFIG_MROUTE 158162306a36Sopenharmony_ci and a multicast routing daemon is required. 158262306a36Sopenharmony_ci conf/all/mc_forwarding must also be set to TRUE to enable multicast 158362306a36Sopenharmony_ci routing for the interface 158462306a36Sopenharmony_ci 158562306a36Sopenharmony_cimedium_id - INTEGER 158662306a36Sopenharmony_ci Integer value used to differentiate the devices by the medium they 158762306a36Sopenharmony_ci are attached to. Two devices can have different id values when 158862306a36Sopenharmony_ci the broadcast packets are received only on one of them. 158962306a36Sopenharmony_ci The default value 0 means that the device is the only interface 159062306a36Sopenharmony_ci to its medium, value of -1 means that medium is not known. 159162306a36Sopenharmony_ci 159262306a36Sopenharmony_ci Currently, it is used to change the proxy_arp behavior: 159362306a36Sopenharmony_ci the proxy_arp feature is enabled for packets forwarded between 159462306a36Sopenharmony_ci two devices attached to different media. 159562306a36Sopenharmony_ci 159662306a36Sopenharmony_ciproxy_arp - BOOLEAN 159762306a36Sopenharmony_ci Do proxy arp. 159862306a36Sopenharmony_ci 159962306a36Sopenharmony_ci proxy_arp for the interface will be enabled if at least one of 160062306a36Sopenharmony_ci conf/{all,interface}/proxy_arp is set to TRUE, 160162306a36Sopenharmony_ci it will be disabled otherwise 160262306a36Sopenharmony_ci 160362306a36Sopenharmony_ciproxy_arp_pvlan - BOOLEAN 160462306a36Sopenharmony_ci Private VLAN proxy arp. 160562306a36Sopenharmony_ci 160662306a36Sopenharmony_ci Basically allow proxy arp replies back to the same interface 160762306a36Sopenharmony_ci (from which the ARP request/solicitation was received). 160862306a36Sopenharmony_ci 160962306a36Sopenharmony_ci This is done to support (ethernet) switch features, like RFC 161062306a36Sopenharmony_ci 3069, where the individual ports are NOT allowed to 161162306a36Sopenharmony_ci communicate with each other, but they are allowed to talk to 161262306a36Sopenharmony_ci the upstream router. As described in RFC 3069, it is possible 161362306a36Sopenharmony_ci to allow these hosts to communicate through the upstream 161462306a36Sopenharmony_ci router by proxy_arp'ing. Don't need to be used together with 161562306a36Sopenharmony_ci proxy_arp. 161662306a36Sopenharmony_ci 161762306a36Sopenharmony_ci This technology is known by different names: 161862306a36Sopenharmony_ci 161962306a36Sopenharmony_ci In RFC 3069 it is called VLAN Aggregation. 162062306a36Sopenharmony_ci Cisco and Allied Telesyn call it Private VLAN. 162162306a36Sopenharmony_ci Hewlett-Packard call it Source-Port filtering or port-isolation. 162262306a36Sopenharmony_ci Ericsson call it MAC-Forced Forwarding (RFC Draft). 162362306a36Sopenharmony_ci 162462306a36Sopenharmony_ciproxy_delay - INTEGER 162562306a36Sopenharmony_ci Delay proxy response. 162662306a36Sopenharmony_ci 162762306a36Sopenharmony_ci Delay response to a neighbor solicitation when proxy_arp 162862306a36Sopenharmony_ci or proxy_ndp is enabled. A random value between [0, proxy_delay) 162962306a36Sopenharmony_ci will be chosen, setting to zero means reply with no delay. 163062306a36Sopenharmony_ci Value in jiffies. Defaults to 80. 163162306a36Sopenharmony_ci 163262306a36Sopenharmony_cishared_media - BOOLEAN 163362306a36Sopenharmony_ci Send(router) or accept(host) RFC1620 shared media redirects. 163462306a36Sopenharmony_ci Overrides secure_redirects. 163562306a36Sopenharmony_ci 163662306a36Sopenharmony_ci shared_media for the interface will be enabled if at least one of 163762306a36Sopenharmony_ci conf/{all,interface}/shared_media is set to TRUE, 163862306a36Sopenharmony_ci it will be disabled otherwise 163962306a36Sopenharmony_ci 164062306a36Sopenharmony_ci default TRUE 164162306a36Sopenharmony_ci 164262306a36Sopenharmony_cisecure_redirects - BOOLEAN 164362306a36Sopenharmony_ci Accept ICMP redirect messages only to gateways listed in the 164462306a36Sopenharmony_ci interface's current gateway list. Even if disabled, RFC1122 redirect 164562306a36Sopenharmony_ci rules still apply. 164662306a36Sopenharmony_ci 164762306a36Sopenharmony_ci Overridden by shared_media. 164862306a36Sopenharmony_ci 164962306a36Sopenharmony_ci secure_redirects for the interface will be enabled if at least one of 165062306a36Sopenharmony_ci conf/{all,interface}/secure_redirects is set to TRUE, 165162306a36Sopenharmony_ci it will be disabled otherwise 165262306a36Sopenharmony_ci 165362306a36Sopenharmony_ci default TRUE 165462306a36Sopenharmony_ci 165562306a36Sopenharmony_cisend_redirects - BOOLEAN 165662306a36Sopenharmony_ci Send redirects, if router. 165762306a36Sopenharmony_ci 165862306a36Sopenharmony_ci send_redirects for the interface will be enabled if at least one of 165962306a36Sopenharmony_ci conf/{all,interface}/send_redirects is set to TRUE, 166062306a36Sopenharmony_ci it will be disabled otherwise 166162306a36Sopenharmony_ci 166262306a36Sopenharmony_ci Default: TRUE 166362306a36Sopenharmony_ci 166462306a36Sopenharmony_cibootp_relay - BOOLEAN 166562306a36Sopenharmony_ci Accept packets with source address 0.b.c.d destined 166662306a36Sopenharmony_ci not to this host as local ones. It is supposed, that 166762306a36Sopenharmony_ci BOOTP relay daemon will catch and forward such packets. 166862306a36Sopenharmony_ci conf/all/bootp_relay must also be set to TRUE to enable BOOTP relay 166962306a36Sopenharmony_ci for the interface 167062306a36Sopenharmony_ci 167162306a36Sopenharmony_ci default FALSE 167262306a36Sopenharmony_ci 167362306a36Sopenharmony_ci Not Implemented Yet. 167462306a36Sopenharmony_ci 167562306a36Sopenharmony_ciaccept_source_route - BOOLEAN 167662306a36Sopenharmony_ci Accept packets with SRR option. 167762306a36Sopenharmony_ci conf/all/accept_source_route must also be set to TRUE to accept packets 167862306a36Sopenharmony_ci with SRR option on the interface 167962306a36Sopenharmony_ci 168062306a36Sopenharmony_ci default 168162306a36Sopenharmony_ci 168262306a36Sopenharmony_ci - TRUE (router) 168362306a36Sopenharmony_ci - FALSE (host) 168462306a36Sopenharmony_ci 168562306a36Sopenharmony_ciaccept_local - BOOLEAN 168662306a36Sopenharmony_ci Accept packets with local source addresses. In combination with 168762306a36Sopenharmony_ci suitable routing, this can be used to direct packets between two 168862306a36Sopenharmony_ci local interfaces over the wire and have them accepted properly. 168962306a36Sopenharmony_ci default FALSE 169062306a36Sopenharmony_ci 169162306a36Sopenharmony_ciroute_localnet - BOOLEAN 169262306a36Sopenharmony_ci Do not consider loopback addresses as martian source or destination 169362306a36Sopenharmony_ci while routing. This enables the use of 127/8 for local routing purposes. 169462306a36Sopenharmony_ci 169562306a36Sopenharmony_ci default FALSE 169662306a36Sopenharmony_ci 169762306a36Sopenharmony_cirp_filter - INTEGER 169862306a36Sopenharmony_ci - 0 - No source validation. 169962306a36Sopenharmony_ci - 1 - Strict mode as defined in RFC3704 Strict Reverse Path 170062306a36Sopenharmony_ci Each incoming packet is tested against the FIB and if the interface 170162306a36Sopenharmony_ci is not the best reverse path the packet check will fail. 170262306a36Sopenharmony_ci By default failed packets are discarded. 170362306a36Sopenharmony_ci - 2 - Loose mode as defined in RFC3704 Loose Reverse Path 170462306a36Sopenharmony_ci Each incoming packet's source address is also tested against the FIB 170562306a36Sopenharmony_ci and if the source address is not reachable via any interface 170662306a36Sopenharmony_ci the packet check will fail. 170762306a36Sopenharmony_ci 170862306a36Sopenharmony_ci Current recommended practice in RFC3704 is to enable strict mode 170962306a36Sopenharmony_ci to prevent IP spoofing from DDos attacks. If using asymmetric routing 171062306a36Sopenharmony_ci or other complicated routing, then loose mode is recommended. 171162306a36Sopenharmony_ci 171262306a36Sopenharmony_ci The max value from conf/{all,interface}/rp_filter is used 171362306a36Sopenharmony_ci when doing source validation on the {interface}. 171462306a36Sopenharmony_ci 171562306a36Sopenharmony_ci Default value is 0. Note that some distributions enable it 171662306a36Sopenharmony_ci in startup scripts. 171762306a36Sopenharmony_ci 171862306a36Sopenharmony_cisrc_valid_mark - BOOLEAN 171962306a36Sopenharmony_ci - 0 - The fwmark of the packet is not included in reverse path 172062306a36Sopenharmony_ci route lookup. This allows for asymmetric routing configurations 172162306a36Sopenharmony_ci utilizing the fwmark in only one direction, e.g., transparent 172262306a36Sopenharmony_ci proxying. 172362306a36Sopenharmony_ci 172462306a36Sopenharmony_ci - 1 - The fwmark of the packet is included in reverse path route 172562306a36Sopenharmony_ci lookup. This permits rp_filter to function when the fwmark is 172662306a36Sopenharmony_ci used for routing traffic in both directions. 172762306a36Sopenharmony_ci 172862306a36Sopenharmony_ci This setting also affects the utilization of fmwark when 172962306a36Sopenharmony_ci performing source address selection for ICMP replies, or 173062306a36Sopenharmony_ci determining addresses stored for the IPOPT_TS_TSANDADDR and 173162306a36Sopenharmony_ci IPOPT_RR IP options. 173262306a36Sopenharmony_ci 173362306a36Sopenharmony_ci The max value from conf/{all,interface}/src_valid_mark is used. 173462306a36Sopenharmony_ci 173562306a36Sopenharmony_ci Default value is 0. 173662306a36Sopenharmony_ci 173762306a36Sopenharmony_ciarp_filter - BOOLEAN 173862306a36Sopenharmony_ci - 1 - Allows you to have multiple network interfaces on the same 173962306a36Sopenharmony_ci subnet, and have the ARPs for each interface be answered 174062306a36Sopenharmony_ci based on whether or not the kernel would route a packet from 174162306a36Sopenharmony_ci the ARP'd IP out that interface (therefore you must use source 174262306a36Sopenharmony_ci based routing for this to work). In other words it allows control 174362306a36Sopenharmony_ci of which cards (usually 1) will respond to an arp request. 174462306a36Sopenharmony_ci 174562306a36Sopenharmony_ci - 0 - (default) The kernel can respond to arp requests with addresses 174662306a36Sopenharmony_ci from other interfaces. This may seem wrong but it usually makes 174762306a36Sopenharmony_ci sense, because it increases the chance of successful communication. 174862306a36Sopenharmony_ci IP addresses are owned by the complete host on Linux, not by 174962306a36Sopenharmony_ci particular interfaces. Only for more complex setups like load- 175062306a36Sopenharmony_ci balancing, does this behaviour cause problems. 175162306a36Sopenharmony_ci 175262306a36Sopenharmony_ci arp_filter for the interface will be enabled if at least one of 175362306a36Sopenharmony_ci conf/{all,interface}/arp_filter is set to TRUE, 175462306a36Sopenharmony_ci it will be disabled otherwise 175562306a36Sopenharmony_ci 175662306a36Sopenharmony_ciarp_announce - INTEGER 175762306a36Sopenharmony_ci Define different restriction levels for announcing the local 175862306a36Sopenharmony_ci source IP address from IP packets in ARP requests sent on 175962306a36Sopenharmony_ci interface: 176062306a36Sopenharmony_ci 176162306a36Sopenharmony_ci - 0 - (default) Use any local address, configured on any interface 176262306a36Sopenharmony_ci - 1 - Try to avoid local addresses that are not in the target's 176362306a36Sopenharmony_ci subnet for this interface. This mode is useful when target 176462306a36Sopenharmony_ci hosts reachable via this interface require the source IP 176562306a36Sopenharmony_ci address in ARP requests to be part of their logical network 176662306a36Sopenharmony_ci configured on the receiving interface. When we generate the 176762306a36Sopenharmony_ci request we will check all our subnets that include the 176862306a36Sopenharmony_ci target IP and will preserve the source address if it is from 176962306a36Sopenharmony_ci such subnet. If there is no such subnet we select source 177062306a36Sopenharmony_ci address according to the rules for level 2. 177162306a36Sopenharmony_ci - 2 - Always use the best local address for this target. 177262306a36Sopenharmony_ci In this mode we ignore the source address in the IP packet 177362306a36Sopenharmony_ci and try to select local address that we prefer for talks with 177462306a36Sopenharmony_ci the target host. Such local address is selected by looking 177562306a36Sopenharmony_ci for primary IP addresses on all our subnets on the outgoing 177662306a36Sopenharmony_ci interface that include the target IP address. If no suitable 177762306a36Sopenharmony_ci local address is found we select the first local address 177862306a36Sopenharmony_ci we have on the outgoing interface or on all other interfaces, 177962306a36Sopenharmony_ci with the hope we will receive reply for our request and 178062306a36Sopenharmony_ci even sometimes no matter the source IP address we announce. 178162306a36Sopenharmony_ci 178262306a36Sopenharmony_ci The max value from conf/{all,interface}/arp_announce is used. 178362306a36Sopenharmony_ci 178462306a36Sopenharmony_ci Increasing the restriction level gives more chance for 178562306a36Sopenharmony_ci receiving answer from the resolved target while decreasing 178662306a36Sopenharmony_ci the level announces more valid sender's information. 178762306a36Sopenharmony_ci 178862306a36Sopenharmony_ciarp_ignore - INTEGER 178962306a36Sopenharmony_ci Define different modes for sending replies in response to 179062306a36Sopenharmony_ci received ARP requests that resolve local target IP addresses: 179162306a36Sopenharmony_ci 179262306a36Sopenharmony_ci - 0 - (default): reply for any local target IP address, configured 179362306a36Sopenharmony_ci on any interface 179462306a36Sopenharmony_ci - 1 - reply only if the target IP address is local address 179562306a36Sopenharmony_ci configured on the incoming interface 179662306a36Sopenharmony_ci - 2 - reply only if the target IP address is local address 179762306a36Sopenharmony_ci configured on the incoming interface and both with the 179862306a36Sopenharmony_ci sender's IP address are part from same subnet on this interface 179962306a36Sopenharmony_ci - 3 - do not reply for local addresses configured with scope host, 180062306a36Sopenharmony_ci only resolutions for global and link addresses are replied 180162306a36Sopenharmony_ci - 4-7 - reserved 180262306a36Sopenharmony_ci - 8 - do not reply for all local addresses 180362306a36Sopenharmony_ci 180462306a36Sopenharmony_ci The max value from conf/{all,interface}/arp_ignore is used 180562306a36Sopenharmony_ci when ARP request is received on the {interface} 180662306a36Sopenharmony_ci 180762306a36Sopenharmony_ciarp_notify - BOOLEAN 180862306a36Sopenharmony_ci Define mode for notification of address and device changes. 180962306a36Sopenharmony_ci 181062306a36Sopenharmony_ci == ========================================================== 181162306a36Sopenharmony_ci 0 (default): do nothing 181262306a36Sopenharmony_ci 1 Generate gratuitous arp requests when device is brought up 181362306a36Sopenharmony_ci or hardware address changes. 181462306a36Sopenharmony_ci == ========================================================== 181562306a36Sopenharmony_ci 181662306a36Sopenharmony_ciarp_accept - INTEGER 181762306a36Sopenharmony_ci Define behavior for accepting gratuitous ARP (garp) frames from devices 181862306a36Sopenharmony_ci that are not already present in the ARP table: 181962306a36Sopenharmony_ci 182062306a36Sopenharmony_ci - 0 - don't create new entries in the ARP table 182162306a36Sopenharmony_ci - 1 - create new entries in the ARP table 182262306a36Sopenharmony_ci - 2 - create new entries only if the source IP address is in the same 182362306a36Sopenharmony_ci subnet as an address configured on the interface that received the 182462306a36Sopenharmony_ci garp message. 182562306a36Sopenharmony_ci 182662306a36Sopenharmony_ci Both replies and requests type gratuitous arp will trigger the 182762306a36Sopenharmony_ci ARP table to be updated, if this setting is on. 182862306a36Sopenharmony_ci 182962306a36Sopenharmony_ci If the ARP table already contains the IP address of the 183062306a36Sopenharmony_ci gratuitous arp frame, the arp table will be updated regardless 183162306a36Sopenharmony_ci if this setting is on or off. 183262306a36Sopenharmony_ci 183362306a36Sopenharmony_ciarp_evict_nocarrier - BOOLEAN 183462306a36Sopenharmony_ci Clears the ARP cache on NOCARRIER events. This option is important for 183562306a36Sopenharmony_ci wireless devices where the ARP cache should not be cleared when roaming 183662306a36Sopenharmony_ci between access points on the same network. In most cases this should 183762306a36Sopenharmony_ci remain as the default (1). 183862306a36Sopenharmony_ci 183962306a36Sopenharmony_ci - 1 - (default): Clear the ARP cache on NOCARRIER events 184062306a36Sopenharmony_ci - 0 - Do not clear ARP cache on NOCARRIER events 184162306a36Sopenharmony_ci 184262306a36Sopenharmony_cimcast_solicit - INTEGER 184362306a36Sopenharmony_ci The maximum number of multicast probes in INCOMPLETE state, 184462306a36Sopenharmony_ci when the associated hardware address is unknown. Defaults 184562306a36Sopenharmony_ci to 3. 184662306a36Sopenharmony_ci 184762306a36Sopenharmony_ciucast_solicit - INTEGER 184862306a36Sopenharmony_ci The maximum number of unicast probes in PROBE state, when 184962306a36Sopenharmony_ci the hardware address is being reconfirmed. Defaults to 3. 185062306a36Sopenharmony_ci 185162306a36Sopenharmony_ciapp_solicit - INTEGER 185262306a36Sopenharmony_ci The maximum number of probes to send to the user space ARP daemon 185362306a36Sopenharmony_ci via netlink before dropping back to multicast probes (see 185462306a36Sopenharmony_ci mcast_resolicit). Defaults to 0. 185562306a36Sopenharmony_ci 185662306a36Sopenharmony_cimcast_resolicit - INTEGER 185762306a36Sopenharmony_ci The maximum number of multicast probes after unicast and 185862306a36Sopenharmony_ci app probes in PROBE state. Defaults to 0. 185962306a36Sopenharmony_ci 186062306a36Sopenharmony_cidisable_policy - BOOLEAN 186162306a36Sopenharmony_ci Disable IPSEC policy (SPD) for this interface 186262306a36Sopenharmony_ci 186362306a36Sopenharmony_cidisable_xfrm - BOOLEAN 186462306a36Sopenharmony_ci Disable IPSEC encryption on this interface, whatever the policy 186562306a36Sopenharmony_ci 186662306a36Sopenharmony_ciigmpv2_unsolicited_report_interval - INTEGER 186762306a36Sopenharmony_ci The interval in milliseconds in which the next unsolicited 186862306a36Sopenharmony_ci IGMPv1 or IGMPv2 report retransmit will take place. 186962306a36Sopenharmony_ci 187062306a36Sopenharmony_ci Default: 10000 (10 seconds) 187162306a36Sopenharmony_ci 187262306a36Sopenharmony_ciigmpv3_unsolicited_report_interval - INTEGER 187362306a36Sopenharmony_ci The interval in milliseconds in which the next unsolicited 187462306a36Sopenharmony_ci IGMPv3 report retransmit will take place. 187562306a36Sopenharmony_ci 187662306a36Sopenharmony_ci Default: 1000 (1 seconds) 187762306a36Sopenharmony_ci 187862306a36Sopenharmony_ciignore_routes_with_linkdown - BOOLEAN 187962306a36Sopenharmony_ci Ignore routes whose link is down when performing a FIB lookup. 188062306a36Sopenharmony_ci 188162306a36Sopenharmony_cipromote_secondaries - BOOLEAN 188262306a36Sopenharmony_ci When a primary IP address is removed from this interface 188362306a36Sopenharmony_ci promote a corresponding secondary IP address instead of 188462306a36Sopenharmony_ci removing all the corresponding secondary IP addresses. 188562306a36Sopenharmony_ci 188662306a36Sopenharmony_cidrop_unicast_in_l2_multicast - BOOLEAN 188762306a36Sopenharmony_ci Drop any unicast IP packets that are received in link-layer 188862306a36Sopenharmony_ci multicast (or broadcast) frames. 188962306a36Sopenharmony_ci 189062306a36Sopenharmony_ci This behavior (for multicast) is actually a SHOULD in RFC 189162306a36Sopenharmony_ci 1122, but is disabled by default for compatibility reasons. 189262306a36Sopenharmony_ci 189362306a36Sopenharmony_ci Default: off (0) 189462306a36Sopenharmony_ci 189562306a36Sopenharmony_cidrop_gratuitous_arp - BOOLEAN 189662306a36Sopenharmony_ci Drop all gratuitous ARP frames, for example if there's a known 189762306a36Sopenharmony_ci good ARP proxy on the network and such frames need not be used 189862306a36Sopenharmony_ci (or in the case of 802.11, must not be used to prevent attacks.) 189962306a36Sopenharmony_ci 190062306a36Sopenharmony_ci Default: off (0) 190162306a36Sopenharmony_ci 190262306a36Sopenharmony_ci 190362306a36Sopenharmony_citag - INTEGER 190462306a36Sopenharmony_ci Allows you to write a number, which can be used as required. 190562306a36Sopenharmony_ci 190662306a36Sopenharmony_ci Default value is 0. 190762306a36Sopenharmony_ci 190862306a36Sopenharmony_cixfrm4_gc_thresh - INTEGER 190962306a36Sopenharmony_ci (Obsolete since linux-4.14) 191062306a36Sopenharmony_ci The threshold at which we will start garbage collecting for IPv4 191162306a36Sopenharmony_ci destination cache entries. At twice this value the system will 191262306a36Sopenharmony_ci refuse new allocations. 191362306a36Sopenharmony_ci 191462306a36Sopenharmony_ciigmp_link_local_mcast_reports - BOOLEAN 191562306a36Sopenharmony_ci Enable IGMP reports for link local multicast groups in the 191662306a36Sopenharmony_ci 224.0.0.X range. 191762306a36Sopenharmony_ci 191862306a36Sopenharmony_ci Default TRUE 191962306a36Sopenharmony_ci 192062306a36Sopenharmony_ciAlexey Kuznetsov. 192162306a36Sopenharmony_cikuznet@ms2.inr.ac.ru 192262306a36Sopenharmony_ci 192362306a36Sopenharmony_ciUpdated by: 192462306a36Sopenharmony_ci 192562306a36Sopenharmony_ci- Andi Kleen 192662306a36Sopenharmony_ci ak@muc.de 192762306a36Sopenharmony_ci- Nicolas Delon 192862306a36Sopenharmony_ci delon.nicolas@wanadoo.fr 192962306a36Sopenharmony_ci 193062306a36Sopenharmony_ci 193162306a36Sopenharmony_ci 193262306a36Sopenharmony_ci 193362306a36Sopenharmony_ci/proc/sys/net/ipv6/* Variables 193462306a36Sopenharmony_ci============================== 193562306a36Sopenharmony_ci 193662306a36Sopenharmony_ciIPv6 has no global variables such as tcp_*. tcp_* settings under ipv4/ also 193762306a36Sopenharmony_ciapply to IPv6 [XXX?]. 193862306a36Sopenharmony_ci 193962306a36Sopenharmony_cibindv6only - BOOLEAN 194062306a36Sopenharmony_ci Default value for IPV6_V6ONLY socket option, 194162306a36Sopenharmony_ci which restricts use of the IPv6 socket to IPv6 communication 194262306a36Sopenharmony_ci only. 194362306a36Sopenharmony_ci 194462306a36Sopenharmony_ci - TRUE: disable IPv4-mapped address feature 194562306a36Sopenharmony_ci - FALSE: enable IPv4-mapped address feature 194662306a36Sopenharmony_ci 194762306a36Sopenharmony_ci Default: FALSE (as specified in RFC3493) 194862306a36Sopenharmony_ci 194962306a36Sopenharmony_ciflowlabel_consistency - BOOLEAN 195062306a36Sopenharmony_ci Protect the consistency (and unicity) of flow label. 195162306a36Sopenharmony_ci You have to disable it to use IPV6_FL_F_REFLECT flag on the 195262306a36Sopenharmony_ci flow label manager. 195362306a36Sopenharmony_ci 195462306a36Sopenharmony_ci - TRUE: enabled 195562306a36Sopenharmony_ci - FALSE: disabled 195662306a36Sopenharmony_ci 195762306a36Sopenharmony_ci Default: TRUE 195862306a36Sopenharmony_ci 195962306a36Sopenharmony_ciauto_flowlabels - INTEGER 196062306a36Sopenharmony_ci Automatically generate flow labels based on a flow hash of the 196162306a36Sopenharmony_ci packet. This allows intermediate devices, such as routers, to 196262306a36Sopenharmony_ci identify packet flows for mechanisms like Equal Cost Multipath 196362306a36Sopenharmony_ci Routing (see RFC 6438). 196462306a36Sopenharmony_ci 196562306a36Sopenharmony_ci = =========================================================== 196662306a36Sopenharmony_ci 0 automatic flow labels are completely disabled 196762306a36Sopenharmony_ci 1 automatic flow labels are enabled by default, they can be 196862306a36Sopenharmony_ci disabled on a per socket basis using the IPV6_AUTOFLOWLABEL 196962306a36Sopenharmony_ci socket option 197062306a36Sopenharmony_ci 2 automatic flow labels are allowed, they may be enabled on a 197162306a36Sopenharmony_ci per socket basis using the IPV6_AUTOFLOWLABEL socket option 197262306a36Sopenharmony_ci 3 automatic flow labels are enabled and enforced, they cannot 197362306a36Sopenharmony_ci be disabled by the socket option 197462306a36Sopenharmony_ci = =========================================================== 197562306a36Sopenharmony_ci 197662306a36Sopenharmony_ci Default: 1 197762306a36Sopenharmony_ci 197862306a36Sopenharmony_ciflowlabel_state_ranges - BOOLEAN 197962306a36Sopenharmony_ci Split the flow label number space into two ranges. 0-0x7FFFF is 198062306a36Sopenharmony_ci reserved for the IPv6 flow manager facility, 0x80000-0xFFFFF 198162306a36Sopenharmony_ci is reserved for stateless flow labels as described in RFC6437. 198262306a36Sopenharmony_ci 198362306a36Sopenharmony_ci - TRUE: enabled 198462306a36Sopenharmony_ci - FALSE: disabled 198562306a36Sopenharmony_ci 198662306a36Sopenharmony_ci Default: true 198762306a36Sopenharmony_ci 198862306a36Sopenharmony_ciflowlabel_reflect - INTEGER 198962306a36Sopenharmony_ci Control flow label reflection. Needed for Path MTU 199062306a36Sopenharmony_ci Discovery to work with Equal Cost Multipath Routing in anycast 199162306a36Sopenharmony_ci environments. See RFC 7690 and: 199262306a36Sopenharmony_ci https://tools.ietf.org/html/draft-wang-6man-flow-label-reflection-01 199362306a36Sopenharmony_ci 199462306a36Sopenharmony_ci This is a bitmask. 199562306a36Sopenharmony_ci 199662306a36Sopenharmony_ci - 1: enabled for established flows 199762306a36Sopenharmony_ci 199862306a36Sopenharmony_ci Note that this prevents automatic flowlabel changes, as done 199962306a36Sopenharmony_ci in "tcp: change IPv6 flow-label upon receiving spurious retransmission" 200062306a36Sopenharmony_ci and "tcp: Change txhash on every SYN and RTO retransmit" 200162306a36Sopenharmony_ci 200262306a36Sopenharmony_ci - 2: enabled for TCP RESET packets (no active listener) 200362306a36Sopenharmony_ci If set, a RST packet sent in response to a SYN packet on a closed 200462306a36Sopenharmony_ci port will reflect the incoming flow label. 200562306a36Sopenharmony_ci 200662306a36Sopenharmony_ci - 4: enabled for ICMPv6 echo reply messages. 200762306a36Sopenharmony_ci 200862306a36Sopenharmony_ci Default: 0 200962306a36Sopenharmony_ci 201062306a36Sopenharmony_cifib_multipath_hash_policy - INTEGER 201162306a36Sopenharmony_ci Controls which hash policy to use for multipath routes. 201262306a36Sopenharmony_ci 201362306a36Sopenharmony_ci Default: 0 (Layer 3) 201462306a36Sopenharmony_ci 201562306a36Sopenharmony_ci Possible values: 201662306a36Sopenharmony_ci 201762306a36Sopenharmony_ci - 0 - Layer 3 (source and destination addresses plus flow label) 201862306a36Sopenharmony_ci - 1 - Layer 4 (standard 5-tuple) 201962306a36Sopenharmony_ci - 2 - Layer 3 or inner Layer 3 if present 202062306a36Sopenharmony_ci - 3 - Custom multipath hash. Fields used for multipath hash calculation 202162306a36Sopenharmony_ci are determined by fib_multipath_hash_fields sysctl 202262306a36Sopenharmony_ci 202362306a36Sopenharmony_cifib_multipath_hash_fields - UNSIGNED INTEGER 202462306a36Sopenharmony_ci When fib_multipath_hash_policy is set to 3 (custom multipath hash), the 202562306a36Sopenharmony_ci fields used for multipath hash calculation are determined by this 202662306a36Sopenharmony_ci sysctl. 202762306a36Sopenharmony_ci 202862306a36Sopenharmony_ci This value is a bitmask which enables various fields for multipath hash 202962306a36Sopenharmony_ci calculation. 203062306a36Sopenharmony_ci 203162306a36Sopenharmony_ci Possible fields are: 203262306a36Sopenharmony_ci 203362306a36Sopenharmony_ci ====== ============================ 203462306a36Sopenharmony_ci 0x0001 Source IP address 203562306a36Sopenharmony_ci 0x0002 Destination IP address 203662306a36Sopenharmony_ci 0x0004 IP protocol 203762306a36Sopenharmony_ci 0x0008 Flow Label 203862306a36Sopenharmony_ci 0x0010 Source port 203962306a36Sopenharmony_ci 0x0020 Destination port 204062306a36Sopenharmony_ci 0x0040 Inner source IP address 204162306a36Sopenharmony_ci 0x0080 Inner destination IP address 204262306a36Sopenharmony_ci 0x0100 Inner IP protocol 204362306a36Sopenharmony_ci 0x0200 Inner Flow Label 204462306a36Sopenharmony_ci 0x0400 Inner source port 204562306a36Sopenharmony_ci 0x0800 Inner destination port 204662306a36Sopenharmony_ci ====== ============================ 204762306a36Sopenharmony_ci 204862306a36Sopenharmony_ci Default: 0x0007 (source IP, destination IP and IP protocol) 204962306a36Sopenharmony_ci 205062306a36Sopenharmony_cianycast_src_echo_reply - BOOLEAN 205162306a36Sopenharmony_ci Controls the use of anycast addresses as source addresses for ICMPv6 205262306a36Sopenharmony_ci echo reply 205362306a36Sopenharmony_ci 205462306a36Sopenharmony_ci - TRUE: enabled 205562306a36Sopenharmony_ci - FALSE: disabled 205662306a36Sopenharmony_ci 205762306a36Sopenharmony_ci Default: FALSE 205862306a36Sopenharmony_ci 205962306a36Sopenharmony_ciidgen_delay - INTEGER 206062306a36Sopenharmony_ci Controls the delay in seconds after which time to retry 206162306a36Sopenharmony_ci privacy stable address generation if a DAD conflict is 206262306a36Sopenharmony_ci detected. 206362306a36Sopenharmony_ci 206462306a36Sopenharmony_ci Default: 1 (as specified in RFC7217) 206562306a36Sopenharmony_ci 206662306a36Sopenharmony_ciidgen_retries - INTEGER 206762306a36Sopenharmony_ci Controls the number of retries to generate a stable privacy 206862306a36Sopenharmony_ci address if a DAD conflict is detected. 206962306a36Sopenharmony_ci 207062306a36Sopenharmony_ci Default: 3 (as specified in RFC7217) 207162306a36Sopenharmony_ci 207262306a36Sopenharmony_cimld_qrv - INTEGER 207362306a36Sopenharmony_ci Controls the MLD query robustness variable (see RFC3810 9.1). 207462306a36Sopenharmony_ci 207562306a36Sopenharmony_ci Default: 2 (as specified by RFC3810 9.1) 207662306a36Sopenharmony_ci 207762306a36Sopenharmony_ci Minimum: 1 (as specified by RFC6636 4.5) 207862306a36Sopenharmony_ci 207962306a36Sopenharmony_cimax_dst_opts_number - INTEGER 208062306a36Sopenharmony_ci Maximum number of non-padding TLVs allowed in a Destination 208162306a36Sopenharmony_ci options extension header. If this value is less than zero 208262306a36Sopenharmony_ci then unknown options are disallowed and the number of known 208362306a36Sopenharmony_ci TLVs allowed is the absolute value of this number. 208462306a36Sopenharmony_ci 208562306a36Sopenharmony_ci Default: 8 208662306a36Sopenharmony_ci 208762306a36Sopenharmony_cimax_hbh_opts_number - INTEGER 208862306a36Sopenharmony_ci Maximum number of non-padding TLVs allowed in a Hop-by-Hop 208962306a36Sopenharmony_ci options extension header. If this value is less than zero 209062306a36Sopenharmony_ci then unknown options are disallowed and the number of known 209162306a36Sopenharmony_ci TLVs allowed is the absolute value of this number. 209262306a36Sopenharmony_ci 209362306a36Sopenharmony_ci Default: 8 209462306a36Sopenharmony_ci 209562306a36Sopenharmony_cimax_dst_opts_length - INTEGER 209662306a36Sopenharmony_ci Maximum length allowed for a Destination options extension 209762306a36Sopenharmony_ci header. 209862306a36Sopenharmony_ci 209962306a36Sopenharmony_ci Default: INT_MAX (unlimited) 210062306a36Sopenharmony_ci 210162306a36Sopenharmony_cimax_hbh_length - INTEGER 210262306a36Sopenharmony_ci Maximum length allowed for a Hop-by-Hop options extension 210362306a36Sopenharmony_ci header. 210462306a36Sopenharmony_ci 210562306a36Sopenharmony_ci Default: INT_MAX (unlimited) 210662306a36Sopenharmony_ci 210762306a36Sopenharmony_ciskip_notify_on_dev_down - BOOLEAN 210862306a36Sopenharmony_ci Controls whether an RTM_DELROUTE message is generated for routes 210962306a36Sopenharmony_ci removed when a device is taken down or deleted. IPv4 does not 211062306a36Sopenharmony_ci generate this message; IPv6 does by default. Setting this sysctl 211162306a36Sopenharmony_ci to true skips the message, making IPv4 and IPv6 on par in relying 211262306a36Sopenharmony_ci on userspace caches to track link events and evict routes. 211362306a36Sopenharmony_ci 211462306a36Sopenharmony_ci Default: false (generate message) 211562306a36Sopenharmony_ci 211662306a36Sopenharmony_cinexthop_compat_mode - BOOLEAN 211762306a36Sopenharmony_ci New nexthop API provides a means for managing nexthops independent of 211862306a36Sopenharmony_ci prefixes. Backwards compatibility with old route format is enabled by 211962306a36Sopenharmony_ci default which means route dumps and notifications contain the new 212062306a36Sopenharmony_ci nexthop attribute but also the full, expanded nexthop definition. 212162306a36Sopenharmony_ci Further, updates or deletes of a nexthop configuration generate route 212262306a36Sopenharmony_ci notifications for each fib entry using the nexthop. Once a system 212362306a36Sopenharmony_ci understands the new API, this sysctl can be disabled to achieve full 212462306a36Sopenharmony_ci performance benefits of the new API by disabling the nexthop expansion 212562306a36Sopenharmony_ci and extraneous notifications. 212662306a36Sopenharmony_ci Default: true (backward compat mode) 212762306a36Sopenharmony_ci 212862306a36Sopenharmony_cifib_notify_on_flag_change - INTEGER 212962306a36Sopenharmony_ci Whether to emit RTM_NEWROUTE notifications whenever RTM_F_OFFLOAD/ 213062306a36Sopenharmony_ci RTM_F_TRAP/RTM_F_OFFLOAD_FAILED flags are changed. 213162306a36Sopenharmony_ci 213262306a36Sopenharmony_ci After installing a route to the kernel, user space receives an 213362306a36Sopenharmony_ci acknowledgment, which means the route was installed in the kernel, 213462306a36Sopenharmony_ci but not necessarily in hardware. 213562306a36Sopenharmony_ci It is also possible for a route already installed in hardware to change 213662306a36Sopenharmony_ci its action and therefore its flags. For example, a host route that is 213762306a36Sopenharmony_ci trapping packets can be "promoted" to perform decapsulation following 213862306a36Sopenharmony_ci the installation of an IPinIP/VXLAN tunnel. 213962306a36Sopenharmony_ci The notifications will indicate to user-space the state of the route. 214062306a36Sopenharmony_ci 214162306a36Sopenharmony_ci Default: 0 (Do not emit notifications.) 214262306a36Sopenharmony_ci 214362306a36Sopenharmony_ci Possible values: 214462306a36Sopenharmony_ci 214562306a36Sopenharmony_ci - 0 - Do not emit notifications. 214662306a36Sopenharmony_ci - 1 - Emit notifications. 214762306a36Sopenharmony_ci - 2 - Emit notifications only for RTM_F_OFFLOAD_FAILED flag change. 214862306a36Sopenharmony_ci 214962306a36Sopenharmony_ciioam6_id - INTEGER 215062306a36Sopenharmony_ci Define the IOAM id of this node. Uses only 24 bits out of 32 in total. 215162306a36Sopenharmony_ci 215262306a36Sopenharmony_ci Min: 0 215362306a36Sopenharmony_ci Max: 0xFFFFFF 215462306a36Sopenharmony_ci 215562306a36Sopenharmony_ci Default: 0xFFFFFF 215662306a36Sopenharmony_ci 215762306a36Sopenharmony_ciioam6_id_wide - LONG INTEGER 215862306a36Sopenharmony_ci Define the wide IOAM id of this node. Uses only 56 bits out of 64 in 215962306a36Sopenharmony_ci total. Can be different from ioam6_id. 216062306a36Sopenharmony_ci 216162306a36Sopenharmony_ci Min: 0 216262306a36Sopenharmony_ci Max: 0xFFFFFFFFFFFFFF 216362306a36Sopenharmony_ci 216462306a36Sopenharmony_ci Default: 0xFFFFFFFFFFFFFF 216562306a36Sopenharmony_ci 216662306a36Sopenharmony_ciIPv6 Fragmentation: 216762306a36Sopenharmony_ci 216862306a36Sopenharmony_ciip6frag_high_thresh - INTEGER 216962306a36Sopenharmony_ci Maximum memory used to reassemble IPv6 fragments. When 217062306a36Sopenharmony_ci ip6frag_high_thresh bytes of memory is allocated for this purpose, 217162306a36Sopenharmony_ci the fragment handler will toss packets until ip6frag_low_thresh 217262306a36Sopenharmony_ci is reached. 217362306a36Sopenharmony_ci 217462306a36Sopenharmony_ciip6frag_low_thresh - INTEGER 217562306a36Sopenharmony_ci See ip6frag_high_thresh 217662306a36Sopenharmony_ci 217762306a36Sopenharmony_ciip6frag_time - INTEGER 217862306a36Sopenharmony_ci Time in seconds to keep an IPv6 fragment in memory. 217962306a36Sopenharmony_ci 218062306a36Sopenharmony_ci``conf/default/*``: 218162306a36Sopenharmony_ci Change the interface-specific default settings. 218262306a36Sopenharmony_ci 218362306a36Sopenharmony_ci These settings would be used during creating new interfaces. 218462306a36Sopenharmony_ci 218562306a36Sopenharmony_ci 218662306a36Sopenharmony_ci``conf/all/*``: 218762306a36Sopenharmony_ci Change all the interface-specific settings. 218862306a36Sopenharmony_ci 218962306a36Sopenharmony_ci [XXX: Other special features than forwarding?] 219062306a36Sopenharmony_ci 219162306a36Sopenharmony_ciconf/all/disable_ipv6 - BOOLEAN 219262306a36Sopenharmony_ci Changing this value is same as changing ``conf/default/disable_ipv6`` 219362306a36Sopenharmony_ci setting and also all per-interface ``disable_ipv6`` settings to the same 219462306a36Sopenharmony_ci value. 219562306a36Sopenharmony_ci 219662306a36Sopenharmony_ci Reading this value does not have any particular meaning. It does not say 219762306a36Sopenharmony_ci whether IPv6 support is enabled or disabled. Returned value can be 1 219862306a36Sopenharmony_ci also in the case when some interface has ``disable_ipv6`` set to 0 and 219962306a36Sopenharmony_ci has configured IPv6 addresses. 220062306a36Sopenharmony_ci 220162306a36Sopenharmony_ciconf/all/forwarding - BOOLEAN 220262306a36Sopenharmony_ci Enable global IPv6 forwarding between all interfaces. 220362306a36Sopenharmony_ci 220462306a36Sopenharmony_ci IPv4 and IPv6 work differently here; e.g. netfilter must be used 220562306a36Sopenharmony_ci to control which interfaces may forward packets and which not. 220662306a36Sopenharmony_ci 220762306a36Sopenharmony_ci This also sets all interfaces' Host/Router setting 220862306a36Sopenharmony_ci 'forwarding' to the specified value. See below for details. 220962306a36Sopenharmony_ci 221062306a36Sopenharmony_ci This referred to as global forwarding. 221162306a36Sopenharmony_ci 221262306a36Sopenharmony_ciproxy_ndp - BOOLEAN 221362306a36Sopenharmony_ci Do proxy ndp. 221462306a36Sopenharmony_ci 221562306a36Sopenharmony_cifwmark_reflect - BOOLEAN 221662306a36Sopenharmony_ci Controls the fwmark of kernel-generated IPv6 reply packets that are not 221762306a36Sopenharmony_ci associated with a socket for example, TCP RSTs or ICMPv6 echo replies). 221862306a36Sopenharmony_ci If unset, these packets have a fwmark of zero. If set, they have the 221962306a36Sopenharmony_ci fwmark of the packet they are replying to. 222062306a36Sopenharmony_ci 222162306a36Sopenharmony_ci Default: 0 222262306a36Sopenharmony_ci 222362306a36Sopenharmony_ci``conf/interface/*``: 222462306a36Sopenharmony_ci Change special settings per interface. 222562306a36Sopenharmony_ci 222662306a36Sopenharmony_ci The functional behaviour for certain settings is different 222762306a36Sopenharmony_ci depending on whether local forwarding is enabled or not. 222862306a36Sopenharmony_ci 222962306a36Sopenharmony_ciaccept_ra - INTEGER 223062306a36Sopenharmony_ci Accept Router Advertisements; autoconfigure using them. 223162306a36Sopenharmony_ci 223262306a36Sopenharmony_ci It also determines whether or not to transmit Router 223362306a36Sopenharmony_ci Solicitations. If and only if the functional setting is to 223462306a36Sopenharmony_ci accept Router Advertisements, Router Solicitations will be 223562306a36Sopenharmony_ci transmitted. 223662306a36Sopenharmony_ci 223762306a36Sopenharmony_ci Possible values are: 223862306a36Sopenharmony_ci 223962306a36Sopenharmony_ci == =========================================================== 224062306a36Sopenharmony_ci 0 Do not accept Router Advertisements. 224162306a36Sopenharmony_ci 1 Accept Router Advertisements if forwarding is disabled. 224262306a36Sopenharmony_ci 2 Overrule forwarding behaviour. Accept Router Advertisements 224362306a36Sopenharmony_ci even if forwarding is enabled. 224462306a36Sopenharmony_ci == =========================================================== 224562306a36Sopenharmony_ci 224662306a36Sopenharmony_ci Functional default: 224762306a36Sopenharmony_ci 224862306a36Sopenharmony_ci - enabled if local forwarding is disabled. 224962306a36Sopenharmony_ci - disabled if local forwarding is enabled. 225062306a36Sopenharmony_ci 225162306a36Sopenharmony_ciaccept_ra_defrtr - BOOLEAN 225262306a36Sopenharmony_ci Learn default router in Router Advertisement. 225362306a36Sopenharmony_ci 225462306a36Sopenharmony_ci Functional default: 225562306a36Sopenharmony_ci 225662306a36Sopenharmony_ci - enabled if accept_ra is enabled. 225762306a36Sopenharmony_ci - disabled if accept_ra is disabled. 225862306a36Sopenharmony_ci 225962306a36Sopenharmony_cira_defrtr_metric - UNSIGNED INTEGER 226062306a36Sopenharmony_ci Route metric for default route learned in Router Advertisement. This value 226162306a36Sopenharmony_ci will be assigned as metric for the default route learned via IPv6 Router 226262306a36Sopenharmony_ci Advertisement. Takes affect only if accept_ra_defrtr is enabled. 226362306a36Sopenharmony_ci 226462306a36Sopenharmony_ci Possible values: 226562306a36Sopenharmony_ci 1 to 0xFFFFFFFF 226662306a36Sopenharmony_ci 226762306a36Sopenharmony_ci Default: IP6_RT_PRIO_USER i.e. 1024. 226862306a36Sopenharmony_ci 226962306a36Sopenharmony_ciaccept_ra_from_local - BOOLEAN 227062306a36Sopenharmony_ci Accept RA with source-address that is found on local machine 227162306a36Sopenharmony_ci if the RA is otherwise proper and able to be accepted. 227262306a36Sopenharmony_ci 227362306a36Sopenharmony_ci Default is to NOT accept these as it may be an un-intended 227462306a36Sopenharmony_ci network loop. 227562306a36Sopenharmony_ci 227662306a36Sopenharmony_ci Functional default: 227762306a36Sopenharmony_ci 227862306a36Sopenharmony_ci - enabled if accept_ra_from_local is enabled 227962306a36Sopenharmony_ci on a specific interface. 228062306a36Sopenharmony_ci - disabled if accept_ra_from_local is disabled 228162306a36Sopenharmony_ci on a specific interface. 228262306a36Sopenharmony_ci 228362306a36Sopenharmony_ciaccept_ra_min_hop_limit - INTEGER 228462306a36Sopenharmony_ci Minimum hop limit Information in Router Advertisement. 228562306a36Sopenharmony_ci 228662306a36Sopenharmony_ci Hop limit Information in Router Advertisement less than this 228762306a36Sopenharmony_ci variable shall be ignored. 228862306a36Sopenharmony_ci 228962306a36Sopenharmony_ci Default: 1 229062306a36Sopenharmony_ci 229162306a36Sopenharmony_ciaccept_ra_min_lft - INTEGER 229262306a36Sopenharmony_ci Minimum acceptable lifetime value in Router Advertisement. 229362306a36Sopenharmony_ci 229462306a36Sopenharmony_ci RA sections with a lifetime less than this value shall be 229562306a36Sopenharmony_ci ignored. Zero lifetimes stay unaffected. 229662306a36Sopenharmony_ci 229762306a36Sopenharmony_ci Default: 0 229862306a36Sopenharmony_ci 229962306a36Sopenharmony_ciaccept_ra_pinfo - BOOLEAN 230062306a36Sopenharmony_ci Learn Prefix Information in Router Advertisement. 230162306a36Sopenharmony_ci 230262306a36Sopenharmony_ci Functional default: 230362306a36Sopenharmony_ci 230462306a36Sopenharmony_ci - enabled if accept_ra is enabled. 230562306a36Sopenharmony_ci - disabled if accept_ra is disabled. 230662306a36Sopenharmony_ci 230762306a36Sopenharmony_ciaccept_ra_rt_info_min_plen - INTEGER 230862306a36Sopenharmony_ci Minimum prefix length of Route Information in RA. 230962306a36Sopenharmony_ci 231062306a36Sopenharmony_ci Route Information w/ prefix smaller than this variable shall 231162306a36Sopenharmony_ci be ignored. 231262306a36Sopenharmony_ci 231362306a36Sopenharmony_ci Functional default: 231462306a36Sopenharmony_ci 231562306a36Sopenharmony_ci * 0 if accept_ra_rtr_pref is enabled. 231662306a36Sopenharmony_ci * -1 if accept_ra_rtr_pref is disabled. 231762306a36Sopenharmony_ci 231862306a36Sopenharmony_ciaccept_ra_rt_info_max_plen - INTEGER 231962306a36Sopenharmony_ci Maximum prefix length of Route Information in RA. 232062306a36Sopenharmony_ci 232162306a36Sopenharmony_ci Route Information w/ prefix larger than this variable shall 232262306a36Sopenharmony_ci be ignored. 232362306a36Sopenharmony_ci 232462306a36Sopenharmony_ci Functional default: 232562306a36Sopenharmony_ci 232662306a36Sopenharmony_ci * 0 if accept_ra_rtr_pref is enabled. 232762306a36Sopenharmony_ci * -1 if accept_ra_rtr_pref is disabled. 232862306a36Sopenharmony_ci 232962306a36Sopenharmony_ciaccept_ra_rtr_pref - BOOLEAN 233062306a36Sopenharmony_ci Accept Router Preference in RA. 233162306a36Sopenharmony_ci 233262306a36Sopenharmony_ci Functional default: 233362306a36Sopenharmony_ci 233462306a36Sopenharmony_ci - enabled if accept_ra is enabled. 233562306a36Sopenharmony_ci - disabled if accept_ra is disabled. 233662306a36Sopenharmony_ci 233762306a36Sopenharmony_ciaccept_ra_mtu - BOOLEAN 233862306a36Sopenharmony_ci Apply the MTU value specified in RA option 5 (RFC4861). If 233962306a36Sopenharmony_ci disabled, the MTU specified in the RA will be ignored. 234062306a36Sopenharmony_ci 234162306a36Sopenharmony_ci Functional default: 234262306a36Sopenharmony_ci 234362306a36Sopenharmony_ci - enabled if accept_ra is enabled. 234462306a36Sopenharmony_ci - disabled if accept_ra is disabled. 234562306a36Sopenharmony_ci 234662306a36Sopenharmony_ciaccept_redirects - BOOLEAN 234762306a36Sopenharmony_ci Accept Redirects. 234862306a36Sopenharmony_ci 234962306a36Sopenharmony_ci Functional default: 235062306a36Sopenharmony_ci 235162306a36Sopenharmony_ci - enabled if local forwarding is disabled. 235262306a36Sopenharmony_ci - disabled if local forwarding is enabled. 235362306a36Sopenharmony_ci 235462306a36Sopenharmony_ciaccept_source_route - INTEGER 235562306a36Sopenharmony_ci Accept source routing (routing extension header). 235662306a36Sopenharmony_ci 235762306a36Sopenharmony_ci - >= 0: Accept only routing header type 2. 235862306a36Sopenharmony_ci - < 0: Do not accept routing header. 235962306a36Sopenharmony_ci 236062306a36Sopenharmony_ci Default: 0 236162306a36Sopenharmony_ci 236262306a36Sopenharmony_ciautoconf - BOOLEAN 236362306a36Sopenharmony_ci Autoconfigure addresses using Prefix Information in Router 236462306a36Sopenharmony_ci Advertisements. 236562306a36Sopenharmony_ci 236662306a36Sopenharmony_ci Functional default: 236762306a36Sopenharmony_ci 236862306a36Sopenharmony_ci - enabled if accept_ra_pinfo is enabled. 236962306a36Sopenharmony_ci - disabled if accept_ra_pinfo is disabled. 237062306a36Sopenharmony_ci 237162306a36Sopenharmony_cidad_transmits - INTEGER 237262306a36Sopenharmony_ci The amount of Duplicate Address Detection probes to send. 237362306a36Sopenharmony_ci 237462306a36Sopenharmony_ci Default: 1 237562306a36Sopenharmony_ci 237662306a36Sopenharmony_ciforwarding - INTEGER 237762306a36Sopenharmony_ci Configure interface-specific Host/Router behaviour. 237862306a36Sopenharmony_ci 237962306a36Sopenharmony_ci .. note:: 238062306a36Sopenharmony_ci 238162306a36Sopenharmony_ci It is recommended to have the same setting on all 238262306a36Sopenharmony_ci interfaces; mixed router/host scenarios are rather uncommon. 238362306a36Sopenharmony_ci 238462306a36Sopenharmony_ci Possible values are: 238562306a36Sopenharmony_ci 238662306a36Sopenharmony_ci - 0 Forwarding disabled 238762306a36Sopenharmony_ci - 1 Forwarding enabled 238862306a36Sopenharmony_ci 238962306a36Sopenharmony_ci **FALSE (0)**: 239062306a36Sopenharmony_ci 239162306a36Sopenharmony_ci By default, Host behaviour is assumed. This means: 239262306a36Sopenharmony_ci 239362306a36Sopenharmony_ci 1. IsRouter flag is not set in Neighbour Advertisements. 239462306a36Sopenharmony_ci 2. If accept_ra is TRUE (default), transmit Router 239562306a36Sopenharmony_ci Solicitations. 239662306a36Sopenharmony_ci 3. If accept_ra is TRUE (default), accept Router 239762306a36Sopenharmony_ci Advertisements (and do autoconfiguration). 239862306a36Sopenharmony_ci 4. If accept_redirects is TRUE (default), accept Redirects. 239962306a36Sopenharmony_ci 240062306a36Sopenharmony_ci **TRUE (1)**: 240162306a36Sopenharmony_ci 240262306a36Sopenharmony_ci If local forwarding is enabled, Router behaviour is assumed. 240362306a36Sopenharmony_ci This means exactly the reverse from the above: 240462306a36Sopenharmony_ci 240562306a36Sopenharmony_ci 1. IsRouter flag is set in Neighbour Advertisements. 240662306a36Sopenharmony_ci 2. Router Solicitations are not sent unless accept_ra is 2. 240762306a36Sopenharmony_ci 3. Router Advertisements are ignored unless accept_ra is 2. 240862306a36Sopenharmony_ci 4. Redirects are ignored. 240962306a36Sopenharmony_ci 241062306a36Sopenharmony_ci Default: 0 (disabled) if global forwarding is disabled (default), 241162306a36Sopenharmony_ci otherwise 1 (enabled). 241262306a36Sopenharmony_ci 241362306a36Sopenharmony_cihop_limit - INTEGER 241462306a36Sopenharmony_ci Default Hop Limit to set. 241562306a36Sopenharmony_ci 241662306a36Sopenharmony_ci Default: 64 241762306a36Sopenharmony_ci 241862306a36Sopenharmony_cimtu - INTEGER 241962306a36Sopenharmony_ci Default Maximum Transfer Unit 242062306a36Sopenharmony_ci 242162306a36Sopenharmony_ci Default: 1280 (IPv6 required minimum) 242262306a36Sopenharmony_ci 242362306a36Sopenharmony_ciip_nonlocal_bind - BOOLEAN 242462306a36Sopenharmony_ci If set, allows processes to bind() to non-local IPv6 addresses, 242562306a36Sopenharmony_ci which can be quite useful - but may break some applications. 242662306a36Sopenharmony_ci 242762306a36Sopenharmony_ci Default: 0 242862306a36Sopenharmony_ci 242962306a36Sopenharmony_cirouter_probe_interval - INTEGER 243062306a36Sopenharmony_ci Minimum interval (in seconds) between Router Probing described 243162306a36Sopenharmony_ci in RFC4191. 243262306a36Sopenharmony_ci 243362306a36Sopenharmony_ci Default: 60 243462306a36Sopenharmony_ci 243562306a36Sopenharmony_cirouter_solicitation_delay - INTEGER 243662306a36Sopenharmony_ci Number of seconds to wait after interface is brought up 243762306a36Sopenharmony_ci before sending Router Solicitations. 243862306a36Sopenharmony_ci 243962306a36Sopenharmony_ci Default: 1 244062306a36Sopenharmony_ci 244162306a36Sopenharmony_cirouter_solicitation_interval - INTEGER 244262306a36Sopenharmony_ci Number of seconds to wait between Router Solicitations. 244362306a36Sopenharmony_ci 244462306a36Sopenharmony_ci Default: 4 244562306a36Sopenharmony_ci 244662306a36Sopenharmony_cirouter_solicitations - INTEGER 244762306a36Sopenharmony_ci Number of Router Solicitations to send until assuming no 244862306a36Sopenharmony_ci routers are present. 244962306a36Sopenharmony_ci 245062306a36Sopenharmony_ci Default: 3 245162306a36Sopenharmony_ci 245262306a36Sopenharmony_ciuse_oif_addrs_only - BOOLEAN 245362306a36Sopenharmony_ci When enabled, the candidate source addresses for destinations 245462306a36Sopenharmony_ci routed via this interface are restricted to the set of addresses 245562306a36Sopenharmony_ci configured on this interface (vis. RFC 6724, section 4). 245662306a36Sopenharmony_ci 245762306a36Sopenharmony_ci Default: false 245862306a36Sopenharmony_ci 245962306a36Sopenharmony_ciuse_tempaddr - INTEGER 246062306a36Sopenharmony_ci Preference for Privacy Extensions (RFC3041). 246162306a36Sopenharmony_ci 246262306a36Sopenharmony_ci * <= 0 : disable Privacy Extensions 246362306a36Sopenharmony_ci * == 1 : enable Privacy Extensions, but prefer public 246462306a36Sopenharmony_ci addresses over temporary addresses. 246562306a36Sopenharmony_ci * > 1 : enable Privacy Extensions and prefer temporary 246662306a36Sopenharmony_ci addresses over public addresses. 246762306a36Sopenharmony_ci 246862306a36Sopenharmony_ci Default: 246962306a36Sopenharmony_ci 247062306a36Sopenharmony_ci * 0 (for most devices) 247162306a36Sopenharmony_ci * -1 (for point-to-point devices and loopback devices) 247262306a36Sopenharmony_ci 247362306a36Sopenharmony_citemp_valid_lft - INTEGER 247462306a36Sopenharmony_ci valid lifetime (in seconds) for temporary addresses. 247562306a36Sopenharmony_ci 247662306a36Sopenharmony_ci Default: 172800 (2 days) 247762306a36Sopenharmony_ci 247862306a36Sopenharmony_citemp_prefered_lft - INTEGER 247962306a36Sopenharmony_ci Preferred lifetime (in seconds) for temporary addresses. 248062306a36Sopenharmony_ci 248162306a36Sopenharmony_ci Default: 86400 (1 day) 248262306a36Sopenharmony_ci 248362306a36Sopenharmony_cikeep_addr_on_down - INTEGER 248462306a36Sopenharmony_ci Keep all IPv6 addresses on an interface down event. If set static 248562306a36Sopenharmony_ci global addresses with no expiration time are not flushed. 248662306a36Sopenharmony_ci 248762306a36Sopenharmony_ci * >0 : enabled 248862306a36Sopenharmony_ci * 0 : system default 248962306a36Sopenharmony_ci * <0 : disabled 249062306a36Sopenharmony_ci 249162306a36Sopenharmony_ci Default: 0 (addresses are removed) 249262306a36Sopenharmony_ci 249362306a36Sopenharmony_cimax_desync_factor - INTEGER 249462306a36Sopenharmony_ci Maximum value for DESYNC_FACTOR, which is a random value 249562306a36Sopenharmony_ci that ensures that clients don't synchronize with each 249662306a36Sopenharmony_ci other and generate new addresses at exactly the same time. 249762306a36Sopenharmony_ci value is in seconds. 249862306a36Sopenharmony_ci 249962306a36Sopenharmony_ci Default: 600 250062306a36Sopenharmony_ci 250162306a36Sopenharmony_ciregen_max_retry - INTEGER 250262306a36Sopenharmony_ci Number of attempts before give up attempting to generate 250362306a36Sopenharmony_ci valid temporary addresses. 250462306a36Sopenharmony_ci 250562306a36Sopenharmony_ci Default: 5 250662306a36Sopenharmony_ci 250762306a36Sopenharmony_cimax_addresses - INTEGER 250862306a36Sopenharmony_ci Maximum number of autoconfigured addresses per interface. Setting 250962306a36Sopenharmony_ci to zero disables the limitation. It is not recommended to set this 251062306a36Sopenharmony_ci value too large (or to zero) because it would be an easy way to 251162306a36Sopenharmony_ci crash the kernel by allowing too many addresses to be created. 251262306a36Sopenharmony_ci 251362306a36Sopenharmony_ci Default: 16 251462306a36Sopenharmony_ci 251562306a36Sopenharmony_cidisable_ipv6 - BOOLEAN 251662306a36Sopenharmony_ci Disable IPv6 operation. If accept_dad is set to 2, this value 251762306a36Sopenharmony_ci will be dynamically set to TRUE if DAD fails for the link-local 251862306a36Sopenharmony_ci address. 251962306a36Sopenharmony_ci 252062306a36Sopenharmony_ci Default: FALSE (enable IPv6 operation) 252162306a36Sopenharmony_ci 252262306a36Sopenharmony_ci When this value is changed from 1 to 0 (IPv6 is being enabled), 252362306a36Sopenharmony_ci it will dynamically create a link-local address on the given 252462306a36Sopenharmony_ci interface and start Duplicate Address Detection, if necessary. 252562306a36Sopenharmony_ci 252662306a36Sopenharmony_ci When this value is changed from 0 to 1 (IPv6 is being disabled), 252762306a36Sopenharmony_ci it will dynamically delete all addresses and routes on the given 252862306a36Sopenharmony_ci interface. From now on it will not possible to add addresses/routes 252962306a36Sopenharmony_ci to the selected interface. 253062306a36Sopenharmony_ci 253162306a36Sopenharmony_ciaccept_dad - INTEGER 253262306a36Sopenharmony_ci Whether to accept DAD (Duplicate Address Detection). 253362306a36Sopenharmony_ci 253462306a36Sopenharmony_ci == ============================================================== 253562306a36Sopenharmony_ci 0 Disable DAD 253662306a36Sopenharmony_ci 1 Enable DAD (default) 253762306a36Sopenharmony_ci 2 Enable DAD, and disable IPv6 operation if MAC-based duplicate 253862306a36Sopenharmony_ci link-local address has been found. 253962306a36Sopenharmony_ci == ============================================================== 254062306a36Sopenharmony_ci 254162306a36Sopenharmony_ci DAD operation and mode on a given interface will be selected according 254262306a36Sopenharmony_ci to the maximum value of conf/{all,interface}/accept_dad. 254362306a36Sopenharmony_ci 254462306a36Sopenharmony_ciforce_tllao - BOOLEAN 254562306a36Sopenharmony_ci Enable sending the target link-layer address option even when 254662306a36Sopenharmony_ci responding to a unicast neighbor solicitation. 254762306a36Sopenharmony_ci 254862306a36Sopenharmony_ci Default: FALSE 254962306a36Sopenharmony_ci 255062306a36Sopenharmony_ci Quoting from RFC 2461, section 4.4, Target link-layer address: 255162306a36Sopenharmony_ci 255262306a36Sopenharmony_ci "The option MUST be included for multicast solicitations in order to 255362306a36Sopenharmony_ci avoid infinite Neighbor Solicitation "recursion" when the peer node 255462306a36Sopenharmony_ci does not have a cache entry to return a Neighbor Advertisements 255562306a36Sopenharmony_ci message. When responding to unicast solicitations, the option can be 255662306a36Sopenharmony_ci omitted since the sender of the solicitation has the correct link- 255762306a36Sopenharmony_ci layer address; otherwise it would not have be able to send the unicast 255862306a36Sopenharmony_ci solicitation in the first place. However, including the link-layer 255962306a36Sopenharmony_ci address in this case adds little overhead and eliminates a potential 256062306a36Sopenharmony_ci race condition where the sender deletes the cached link-layer address 256162306a36Sopenharmony_ci prior to receiving a response to a previous solicitation." 256262306a36Sopenharmony_ci 256362306a36Sopenharmony_cindisc_notify - BOOLEAN 256462306a36Sopenharmony_ci Define mode for notification of address and device changes. 256562306a36Sopenharmony_ci 256662306a36Sopenharmony_ci * 0 - (default): do nothing 256762306a36Sopenharmony_ci * 1 - Generate unsolicited neighbour advertisements when device is brought 256862306a36Sopenharmony_ci up or hardware address changes. 256962306a36Sopenharmony_ci 257062306a36Sopenharmony_cindisc_tclass - INTEGER 257162306a36Sopenharmony_ci The IPv6 Traffic Class to use by default when sending IPv6 Neighbor 257262306a36Sopenharmony_ci Discovery (Router Solicitation, Router Advertisement, Neighbor 257362306a36Sopenharmony_ci Solicitation, Neighbor Advertisement, Redirect) messages. 257462306a36Sopenharmony_ci These 8 bits can be interpreted as 6 high order bits holding the DSCP 257562306a36Sopenharmony_ci value and 2 low order bits representing ECN (which you probably want 257662306a36Sopenharmony_ci to leave cleared). 257762306a36Sopenharmony_ci 257862306a36Sopenharmony_ci * 0 - (default) 257962306a36Sopenharmony_ci 258062306a36Sopenharmony_cindisc_evict_nocarrier - BOOLEAN 258162306a36Sopenharmony_ci Clears the neighbor discovery table on NOCARRIER events. This option is 258262306a36Sopenharmony_ci important for wireless devices where the neighbor discovery cache should 258362306a36Sopenharmony_ci not be cleared when roaming between access points on the same network. 258462306a36Sopenharmony_ci In most cases this should remain as the default (1). 258562306a36Sopenharmony_ci 258662306a36Sopenharmony_ci - 1 - (default): Clear neighbor discover cache on NOCARRIER events. 258762306a36Sopenharmony_ci - 0 - Do not clear neighbor discovery cache on NOCARRIER events. 258862306a36Sopenharmony_ci 258962306a36Sopenharmony_cimldv1_unsolicited_report_interval - INTEGER 259062306a36Sopenharmony_ci The interval in milliseconds in which the next unsolicited 259162306a36Sopenharmony_ci MLDv1 report retransmit will take place. 259262306a36Sopenharmony_ci 259362306a36Sopenharmony_ci Default: 10000 (10 seconds) 259462306a36Sopenharmony_ci 259562306a36Sopenharmony_cimldv2_unsolicited_report_interval - INTEGER 259662306a36Sopenharmony_ci The interval in milliseconds in which the next unsolicited 259762306a36Sopenharmony_ci MLDv2 report retransmit will take place. 259862306a36Sopenharmony_ci 259962306a36Sopenharmony_ci Default: 1000 (1 second) 260062306a36Sopenharmony_ci 260162306a36Sopenharmony_ciforce_mld_version - INTEGER 260262306a36Sopenharmony_ci * 0 - (default) No enforcement of a MLD version, MLDv1 fallback allowed 260362306a36Sopenharmony_ci * 1 - Enforce to use MLD version 1 260462306a36Sopenharmony_ci * 2 - Enforce to use MLD version 2 260562306a36Sopenharmony_ci 260662306a36Sopenharmony_cisuppress_frag_ndisc - INTEGER 260762306a36Sopenharmony_ci Control RFC 6980 (Security Implications of IPv6 Fragmentation 260862306a36Sopenharmony_ci with IPv6 Neighbor Discovery) behavior: 260962306a36Sopenharmony_ci 261062306a36Sopenharmony_ci * 1 - (default) discard fragmented neighbor discovery packets 261162306a36Sopenharmony_ci * 0 - allow fragmented neighbor discovery packets 261262306a36Sopenharmony_ci 261362306a36Sopenharmony_cioptimistic_dad - BOOLEAN 261462306a36Sopenharmony_ci Whether to perform Optimistic Duplicate Address Detection (RFC 4429). 261562306a36Sopenharmony_ci 261662306a36Sopenharmony_ci * 0: disabled (default) 261762306a36Sopenharmony_ci * 1: enabled 261862306a36Sopenharmony_ci 261962306a36Sopenharmony_ci Optimistic Duplicate Address Detection for the interface will be enabled 262062306a36Sopenharmony_ci if at least one of conf/{all,interface}/optimistic_dad is set to 1, 262162306a36Sopenharmony_ci it will be disabled otherwise. 262262306a36Sopenharmony_ci 262362306a36Sopenharmony_ciuse_optimistic - BOOLEAN 262462306a36Sopenharmony_ci If enabled, do not classify optimistic addresses as deprecated during 262562306a36Sopenharmony_ci source address selection. Preferred addresses will still be chosen 262662306a36Sopenharmony_ci before optimistic addresses, subject to other ranking in the source 262762306a36Sopenharmony_ci address selection algorithm. 262862306a36Sopenharmony_ci 262962306a36Sopenharmony_ci * 0: disabled (default) 263062306a36Sopenharmony_ci * 1: enabled 263162306a36Sopenharmony_ci 263262306a36Sopenharmony_ci This will be enabled if at least one of 263362306a36Sopenharmony_ci conf/{all,interface}/use_optimistic is set to 1, disabled otherwise. 263462306a36Sopenharmony_ci 263562306a36Sopenharmony_cistable_secret - IPv6 address 263662306a36Sopenharmony_ci This IPv6 address will be used as a secret to generate IPv6 263762306a36Sopenharmony_ci addresses for link-local addresses and autoconfigured 263862306a36Sopenharmony_ci ones. All addresses generated after setting this secret will 263962306a36Sopenharmony_ci be stable privacy ones by default. This can be changed via the 264062306a36Sopenharmony_ci addrgenmode ip-link. conf/default/stable_secret is used as the 264162306a36Sopenharmony_ci secret for the namespace, the interface specific ones can 264262306a36Sopenharmony_ci overwrite that. Writes to conf/all/stable_secret are refused. 264362306a36Sopenharmony_ci 264462306a36Sopenharmony_ci It is recommended to generate this secret during installation 264562306a36Sopenharmony_ci of a system and keep it stable after that. 264662306a36Sopenharmony_ci 264762306a36Sopenharmony_ci By default the stable secret is unset. 264862306a36Sopenharmony_ci 264962306a36Sopenharmony_ciaddr_gen_mode - INTEGER 265062306a36Sopenharmony_ci Defines how link-local and autoconf addresses are generated. 265162306a36Sopenharmony_ci 265262306a36Sopenharmony_ci = ================================================================= 265362306a36Sopenharmony_ci 0 generate address based on EUI64 (default) 265462306a36Sopenharmony_ci 1 do no generate a link-local address, use EUI64 for addresses 265562306a36Sopenharmony_ci generated from autoconf 265662306a36Sopenharmony_ci 2 generate stable privacy addresses, using the secret from 265762306a36Sopenharmony_ci stable_secret (RFC7217) 265862306a36Sopenharmony_ci 3 generate stable privacy addresses, using a random secret if unset 265962306a36Sopenharmony_ci = ================================================================= 266062306a36Sopenharmony_ci 266162306a36Sopenharmony_cidrop_unicast_in_l2_multicast - BOOLEAN 266262306a36Sopenharmony_ci Drop any unicast IPv6 packets that are received in link-layer 266362306a36Sopenharmony_ci multicast (or broadcast) frames. 266462306a36Sopenharmony_ci 266562306a36Sopenharmony_ci By default this is turned off. 266662306a36Sopenharmony_ci 266762306a36Sopenharmony_cidrop_unsolicited_na - BOOLEAN 266862306a36Sopenharmony_ci Drop all unsolicited neighbor advertisements, for example if there's 266962306a36Sopenharmony_ci a known good NA proxy on the network and such frames need not be used 267062306a36Sopenharmony_ci (or in the case of 802.11, must not be used to prevent attacks.) 267162306a36Sopenharmony_ci 267262306a36Sopenharmony_ci By default this is turned off. 267362306a36Sopenharmony_ci 267462306a36Sopenharmony_ciaccept_untracked_na - INTEGER 267562306a36Sopenharmony_ci Define behavior for accepting neighbor advertisements from devices that 267662306a36Sopenharmony_ci are absent in the neighbor cache: 267762306a36Sopenharmony_ci 267862306a36Sopenharmony_ci - 0 - (default) Do not accept unsolicited and untracked neighbor 267962306a36Sopenharmony_ci advertisements. 268062306a36Sopenharmony_ci 268162306a36Sopenharmony_ci - 1 - Add a new neighbor cache entry in STALE state for routers on 268262306a36Sopenharmony_ci receiving a neighbor advertisement (either solicited or unsolicited) 268362306a36Sopenharmony_ci with target link-layer address option specified if no neighbor entry 268462306a36Sopenharmony_ci is already present for the advertised IPv6 address. Without this knob, 268562306a36Sopenharmony_ci NAs received for untracked addresses (absent in neighbor cache) are 268662306a36Sopenharmony_ci silently ignored. 268762306a36Sopenharmony_ci 268862306a36Sopenharmony_ci This is as per router-side behavior documented in RFC9131. 268962306a36Sopenharmony_ci 269062306a36Sopenharmony_ci This has lower precedence than drop_unsolicited_na. 269162306a36Sopenharmony_ci 269262306a36Sopenharmony_ci This will optimize the return path for the initial off-link 269362306a36Sopenharmony_ci communication that is initiated by a directly connected host, by 269462306a36Sopenharmony_ci ensuring that the first-hop router which turns on this setting doesn't 269562306a36Sopenharmony_ci have to buffer the initial return packets to do neighbor-solicitation. 269662306a36Sopenharmony_ci The prerequisite is that the host is configured to send unsolicited 269762306a36Sopenharmony_ci neighbor advertisements on interface bringup. This setting should be 269862306a36Sopenharmony_ci used in conjunction with the ndisc_notify setting on the host to 269962306a36Sopenharmony_ci satisfy this prerequisite. 270062306a36Sopenharmony_ci 270162306a36Sopenharmony_ci - 2 - Extend option (1) to add a new neighbor cache entry only if the 270262306a36Sopenharmony_ci source IP address is in the same subnet as an address configured on 270362306a36Sopenharmony_ci the interface that received the neighbor advertisement. 270462306a36Sopenharmony_ci 270562306a36Sopenharmony_cienhanced_dad - BOOLEAN 270662306a36Sopenharmony_ci Include a nonce option in the IPv6 neighbor solicitation messages used for 270762306a36Sopenharmony_ci duplicate address detection per RFC7527. A received DAD NS will only signal 270862306a36Sopenharmony_ci a duplicate address if the nonce is different. This avoids any false 270962306a36Sopenharmony_ci detection of duplicates due to loopback of the NS messages that we send. 271062306a36Sopenharmony_ci The nonce option will be sent on an interface unless both of 271162306a36Sopenharmony_ci conf/{all,interface}/enhanced_dad are set to FALSE. 271262306a36Sopenharmony_ci 271362306a36Sopenharmony_ci Default: TRUE 271462306a36Sopenharmony_ci 271562306a36Sopenharmony_ci``icmp/*``: 271662306a36Sopenharmony_ci=========== 271762306a36Sopenharmony_ci 271862306a36Sopenharmony_ciratelimit - INTEGER 271962306a36Sopenharmony_ci Limit the maximal rates for sending ICMPv6 messages. 272062306a36Sopenharmony_ci 272162306a36Sopenharmony_ci 0 to disable any limiting, 272262306a36Sopenharmony_ci otherwise the minimal space between responses in milliseconds. 272362306a36Sopenharmony_ci 272462306a36Sopenharmony_ci Default: 1000 272562306a36Sopenharmony_ci 272662306a36Sopenharmony_ciratemask - list of comma separated ranges 272762306a36Sopenharmony_ci For ICMPv6 message types matching the ranges in the ratemask, limit 272862306a36Sopenharmony_ci the sending of the message according to ratelimit parameter. 272962306a36Sopenharmony_ci 273062306a36Sopenharmony_ci The format used for both input and output is a comma separated 273162306a36Sopenharmony_ci list of ranges (e.g. "0-127,129" for ICMPv6 message type 0 to 127 and 273262306a36Sopenharmony_ci 129). Writing to the file will clear all previous ranges of ICMPv6 273362306a36Sopenharmony_ci message types and update the current list with the input. 273462306a36Sopenharmony_ci 273562306a36Sopenharmony_ci Refer to: https://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml 273662306a36Sopenharmony_ci for numerical values of ICMPv6 message types, e.g. echo request is 128 273762306a36Sopenharmony_ci and echo reply is 129. 273862306a36Sopenharmony_ci 273962306a36Sopenharmony_ci Default: 0-1,3-127 (rate limit ICMPv6 errors except Packet Too Big) 274062306a36Sopenharmony_ci 274162306a36Sopenharmony_ciecho_ignore_all - BOOLEAN 274262306a36Sopenharmony_ci If set non-zero, then the kernel will ignore all ICMP ECHO 274362306a36Sopenharmony_ci requests sent to it over the IPv6 protocol. 274462306a36Sopenharmony_ci 274562306a36Sopenharmony_ci Default: 0 274662306a36Sopenharmony_ci 274762306a36Sopenharmony_ciecho_ignore_multicast - BOOLEAN 274862306a36Sopenharmony_ci If set non-zero, then the kernel will ignore all ICMP ECHO 274962306a36Sopenharmony_ci requests sent to it over the IPv6 protocol via multicast. 275062306a36Sopenharmony_ci 275162306a36Sopenharmony_ci Default: 0 275262306a36Sopenharmony_ci 275362306a36Sopenharmony_ciecho_ignore_anycast - BOOLEAN 275462306a36Sopenharmony_ci If set non-zero, then the kernel will ignore all ICMP ECHO 275562306a36Sopenharmony_ci requests sent to it over the IPv6 protocol destined to anycast address. 275662306a36Sopenharmony_ci 275762306a36Sopenharmony_ci Default: 0 275862306a36Sopenharmony_ci 275962306a36Sopenharmony_cierror_anycast_as_unicast - BOOLEAN 276062306a36Sopenharmony_ci If set to 1, then the kernel will respond with ICMP Errors 276162306a36Sopenharmony_ci resulting from requests sent to it over the IPv6 protocol destined 276262306a36Sopenharmony_ci to anycast address essentially treating anycast as unicast. 276362306a36Sopenharmony_ci 276462306a36Sopenharmony_ci Default: 0 276562306a36Sopenharmony_ci 276662306a36Sopenharmony_cixfrm6_gc_thresh - INTEGER 276762306a36Sopenharmony_ci (Obsolete since linux-4.14) 276862306a36Sopenharmony_ci The threshold at which we will start garbage collecting for IPv6 276962306a36Sopenharmony_ci destination cache entries. At twice this value the system will 277062306a36Sopenharmony_ci refuse new allocations. 277162306a36Sopenharmony_ci 277262306a36Sopenharmony_ci 277362306a36Sopenharmony_ciIPv6 Update by: 277462306a36Sopenharmony_ciPekka Savola <pekkas@netcore.fi> 277562306a36Sopenharmony_ciYOSHIFUJI Hideaki / USAGI Project <yoshfuji@linux-ipv6.org> 277662306a36Sopenharmony_ci 277762306a36Sopenharmony_ci 277862306a36Sopenharmony_ci/proc/sys/net/bridge/* Variables: 277962306a36Sopenharmony_ci================================= 278062306a36Sopenharmony_ci 278162306a36Sopenharmony_cibridge-nf-call-arptables - BOOLEAN 278262306a36Sopenharmony_ci - 1 : pass bridged ARP traffic to arptables' FORWARD chain. 278362306a36Sopenharmony_ci - 0 : disable this. 278462306a36Sopenharmony_ci 278562306a36Sopenharmony_ci Default: 1 278662306a36Sopenharmony_ci 278762306a36Sopenharmony_cibridge-nf-call-iptables - BOOLEAN 278862306a36Sopenharmony_ci - 1 : pass bridged IPv4 traffic to iptables' chains. 278962306a36Sopenharmony_ci - 0 : disable this. 279062306a36Sopenharmony_ci 279162306a36Sopenharmony_ci Default: 1 279262306a36Sopenharmony_ci 279362306a36Sopenharmony_cibridge-nf-call-ip6tables - BOOLEAN 279462306a36Sopenharmony_ci - 1 : pass bridged IPv6 traffic to ip6tables' chains. 279562306a36Sopenharmony_ci - 0 : disable this. 279662306a36Sopenharmony_ci 279762306a36Sopenharmony_ci Default: 1 279862306a36Sopenharmony_ci 279962306a36Sopenharmony_cibridge-nf-filter-vlan-tagged - BOOLEAN 280062306a36Sopenharmony_ci - 1 : pass bridged vlan-tagged ARP/IP/IPv6 traffic to {arp,ip,ip6}tables. 280162306a36Sopenharmony_ci - 0 : disable this. 280262306a36Sopenharmony_ci 280362306a36Sopenharmony_ci Default: 0 280462306a36Sopenharmony_ci 280562306a36Sopenharmony_cibridge-nf-filter-pppoe-tagged - BOOLEAN 280662306a36Sopenharmony_ci - 1 : pass bridged pppoe-tagged IP/IPv6 traffic to {ip,ip6}tables. 280762306a36Sopenharmony_ci - 0 : disable this. 280862306a36Sopenharmony_ci 280962306a36Sopenharmony_ci Default: 0 281062306a36Sopenharmony_ci 281162306a36Sopenharmony_cibridge-nf-pass-vlan-input-dev - BOOLEAN 281262306a36Sopenharmony_ci - 1: if bridge-nf-filter-vlan-tagged is enabled, try to find a vlan 281362306a36Sopenharmony_ci interface on the bridge and set the netfilter input device to the 281462306a36Sopenharmony_ci vlan. This allows use of e.g. "iptables -i br0.1" and makes the 281562306a36Sopenharmony_ci REDIRECT target work with vlan-on-top-of-bridge interfaces. When no 281662306a36Sopenharmony_ci matching vlan interface is found, or this switch is off, the input 281762306a36Sopenharmony_ci device is set to the bridge interface. 281862306a36Sopenharmony_ci 281962306a36Sopenharmony_ci - 0: disable bridge netfilter vlan interface lookup. 282062306a36Sopenharmony_ci 282162306a36Sopenharmony_ci Default: 0 282262306a36Sopenharmony_ci 282362306a36Sopenharmony_ci``proc/sys/net/sctp/*`` Variables: 282462306a36Sopenharmony_ci================================== 282562306a36Sopenharmony_ci 282662306a36Sopenharmony_ciaddip_enable - BOOLEAN 282762306a36Sopenharmony_ci Enable or disable extension of Dynamic Address Reconfiguration 282862306a36Sopenharmony_ci (ADD-IP) functionality specified in RFC5061. This extension provides 282962306a36Sopenharmony_ci the ability to dynamically add and remove new addresses for the SCTP 283062306a36Sopenharmony_ci associations. 283162306a36Sopenharmony_ci 283262306a36Sopenharmony_ci 1: Enable extension. 283362306a36Sopenharmony_ci 283462306a36Sopenharmony_ci 0: Disable extension. 283562306a36Sopenharmony_ci 283662306a36Sopenharmony_ci Default: 0 283762306a36Sopenharmony_ci 283862306a36Sopenharmony_cipf_enable - INTEGER 283962306a36Sopenharmony_ci Enable or disable pf (pf is short for potentially failed) state. A value 284062306a36Sopenharmony_ci of pf_retrans > path_max_retrans also disables pf state. That is, one of 284162306a36Sopenharmony_ci both pf_enable and pf_retrans > path_max_retrans can disable pf state. 284262306a36Sopenharmony_ci Since pf_retrans and path_max_retrans can be changed by userspace 284362306a36Sopenharmony_ci application, sometimes user expects to disable pf state by the value of 284462306a36Sopenharmony_ci pf_retrans > path_max_retrans, but occasionally the value of pf_retrans 284562306a36Sopenharmony_ci or path_max_retrans is changed by the user application, this pf state is 284662306a36Sopenharmony_ci enabled. As such, it is necessary to add this to dynamically enable 284762306a36Sopenharmony_ci and disable pf state. See: 284862306a36Sopenharmony_ci https://datatracker.ietf.org/doc/draft-ietf-tsvwg-sctp-failover for 284962306a36Sopenharmony_ci details. 285062306a36Sopenharmony_ci 285162306a36Sopenharmony_ci 1: Enable pf. 285262306a36Sopenharmony_ci 285362306a36Sopenharmony_ci 0: Disable pf. 285462306a36Sopenharmony_ci 285562306a36Sopenharmony_ci Default: 1 285662306a36Sopenharmony_ci 285762306a36Sopenharmony_cipf_expose - INTEGER 285862306a36Sopenharmony_ci Unset or enable/disable pf (pf is short for potentially failed) state 285962306a36Sopenharmony_ci exposure. Applications can control the exposure of the PF path state 286062306a36Sopenharmony_ci in the SCTP_PEER_ADDR_CHANGE event and the SCTP_GET_PEER_ADDR_INFO 286162306a36Sopenharmony_ci sockopt. When it's unset, no SCTP_PEER_ADDR_CHANGE event with 286262306a36Sopenharmony_ci SCTP_ADDR_PF state will be sent and a SCTP_PF-state transport info 286362306a36Sopenharmony_ci can be got via SCTP_GET_PEER_ADDR_INFO sockopt; When it's enabled, 286462306a36Sopenharmony_ci a SCTP_PEER_ADDR_CHANGE event will be sent for a transport becoming 286562306a36Sopenharmony_ci SCTP_PF state and a SCTP_PF-state transport info can be got via 286662306a36Sopenharmony_ci SCTP_GET_PEER_ADDR_INFO sockopt; When it's disabled, no 286762306a36Sopenharmony_ci SCTP_PEER_ADDR_CHANGE event will be sent and it returns -EACCES when 286862306a36Sopenharmony_ci trying to get a SCTP_PF-state transport info via SCTP_GET_PEER_ADDR_INFO 286962306a36Sopenharmony_ci sockopt. 287062306a36Sopenharmony_ci 287162306a36Sopenharmony_ci 0: Unset pf state exposure, Compatible with old applications. 287262306a36Sopenharmony_ci 287362306a36Sopenharmony_ci 1: Disable pf state exposure. 287462306a36Sopenharmony_ci 287562306a36Sopenharmony_ci 2: Enable pf state exposure. 287662306a36Sopenharmony_ci 287762306a36Sopenharmony_ci Default: 0 287862306a36Sopenharmony_ci 287962306a36Sopenharmony_ciaddip_noauth_enable - BOOLEAN 288062306a36Sopenharmony_ci Dynamic Address Reconfiguration (ADD-IP) requires the use of 288162306a36Sopenharmony_ci authentication to protect the operations of adding or removing new 288262306a36Sopenharmony_ci addresses. This requirement is mandated so that unauthorized hosts 288362306a36Sopenharmony_ci would not be able to hijack associations. However, older 288462306a36Sopenharmony_ci implementations may not have implemented this requirement while 288562306a36Sopenharmony_ci allowing the ADD-IP extension. For reasons of interoperability, 288662306a36Sopenharmony_ci we provide this variable to control the enforcement of the 288762306a36Sopenharmony_ci authentication requirement. 288862306a36Sopenharmony_ci 288962306a36Sopenharmony_ci == =============================================================== 289062306a36Sopenharmony_ci 1 Allow ADD-IP extension to be used without authentication. This 289162306a36Sopenharmony_ci should only be set in a closed environment for interoperability 289262306a36Sopenharmony_ci with older implementations. 289362306a36Sopenharmony_ci 289462306a36Sopenharmony_ci 0 Enforce the authentication requirement 289562306a36Sopenharmony_ci == =============================================================== 289662306a36Sopenharmony_ci 289762306a36Sopenharmony_ci Default: 0 289862306a36Sopenharmony_ci 289962306a36Sopenharmony_ciauth_enable - BOOLEAN 290062306a36Sopenharmony_ci Enable or disable Authenticated Chunks extension. This extension 290162306a36Sopenharmony_ci provides the ability to send and receive authenticated chunks and is 290262306a36Sopenharmony_ci required for secure operation of Dynamic Address Reconfiguration 290362306a36Sopenharmony_ci (ADD-IP) extension. 290462306a36Sopenharmony_ci 290562306a36Sopenharmony_ci - 1: Enable this extension. 290662306a36Sopenharmony_ci - 0: Disable this extension. 290762306a36Sopenharmony_ci 290862306a36Sopenharmony_ci Default: 0 290962306a36Sopenharmony_ci 291062306a36Sopenharmony_ciprsctp_enable - BOOLEAN 291162306a36Sopenharmony_ci Enable or disable the Partial Reliability extension (RFC3758) which 291262306a36Sopenharmony_ci is used to notify peers that a given DATA should no longer be expected. 291362306a36Sopenharmony_ci 291462306a36Sopenharmony_ci - 1: Enable extension 291562306a36Sopenharmony_ci - 0: Disable 291662306a36Sopenharmony_ci 291762306a36Sopenharmony_ci Default: 1 291862306a36Sopenharmony_ci 291962306a36Sopenharmony_cimax_burst - INTEGER 292062306a36Sopenharmony_ci The limit of the number of new packets that can be initially sent. It 292162306a36Sopenharmony_ci controls how bursty the generated traffic can be. 292262306a36Sopenharmony_ci 292362306a36Sopenharmony_ci Default: 4 292462306a36Sopenharmony_ci 292562306a36Sopenharmony_ciassociation_max_retrans - INTEGER 292662306a36Sopenharmony_ci Set the maximum number for retransmissions that an association can 292762306a36Sopenharmony_ci attempt deciding that the remote end is unreachable. If this value 292862306a36Sopenharmony_ci is exceeded, the association is terminated. 292962306a36Sopenharmony_ci 293062306a36Sopenharmony_ci Default: 10 293162306a36Sopenharmony_ci 293262306a36Sopenharmony_cimax_init_retransmits - INTEGER 293362306a36Sopenharmony_ci The maximum number of retransmissions of INIT and COOKIE-ECHO chunks 293462306a36Sopenharmony_ci that an association will attempt before declaring the destination 293562306a36Sopenharmony_ci unreachable and terminating. 293662306a36Sopenharmony_ci 293762306a36Sopenharmony_ci Default: 8 293862306a36Sopenharmony_ci 293962306a36Sopenharmony_cipath_max_retrans - INTEGER 294062306a36Sopenharmony_ci The maximum number of retransmissions that will be attempted on a given 294162306a36Sopenharmony_ci path. Once this threshold is exceeded, the path is considered 294262306a36Sopenharmony_ci unreachable, and new traffic will use a different path when the 294362306a36Sopenharmony_ci association is multihomed. 294462306a36Sopenharmony_ci 294562306a36Sopenharmony_ci Default: 5 294662306a36Sopenharmony_ci 294762306a36Sopenharmony_cipf_retrans - INTEGER 294862306a36Sopenharmony_ci The number of retransmissions that will be attempted on a given path 294962306a36Sopenharmony_ci before traffic is redirected to an alternate transport (should one 295062306a36Sopenharmony_ci exist). Note this is distinct from path_max_retrans, as a path that 295162306a36Sopenharmony_ci passes the pf_retrans threshold can still be used. Its only 295262306a36Sopenharmony_ci deprioritized when a transmission path is selected by the stack. This 295362306a36Sopenharmony_ci setting is primarily used to enable fast failover mechanisms without 295462306a36Sopenharmony_ci having to reduce path_max_retrans to a very low value. See: 295562306a36Sopenharmony_ci http://www.ietf.org/id/draft-nishida-tsvwg-sctp-failover-05.txt 295662306a36Sopenharmony_ci for details. Note also that a value of pf_retrans > path_max_retrans 295762306a36Sopenharmony_ci disables this feature. Since both pf_retrans and path_max_retrans can 295862306a36Sopenharmony_ci be changed by userspace application, a variable pf_enable is used to 295962306a36Sopenharmony_ci disable pf state. 296062306a36Sopenharmony_ci 296162306a36Sopenharmony_ci Default: 0 296262306a36Sopenharmony_ci 296362306a36Sopenharmony_cips_retrans - INTEGER 296462306a36Sopenharmony_ci Primary.Switchover.Max.Retrans (PSMR), it's a tunable parameter coming 296562306a36Sopenharmony_ci from section-5 "Primary Path Switchover" in rfc7829. The primary path 296662306a36Sopenharmony_ci will be changed to another active path when the path error counter on 296762306a36Sopenharmony_ci the old primary path exceeds PSMR, so that "the SCTP sender is allowed 296862306a36Sopenharmony_ci to continue data transmission on a new working path even when the old 296962306a36Sopenharmony_ci primary destination address becomes active again". Note this feature 297062306a36Sopenharmony_ci is disabled by initializing 'ps_retrans' per netns as 0xffff by default, 297162306a36Sopenharmony_ci and its value can't be less than 'pf_retrans' when changing by sysctl. 297262306a36Sopenharmony_ci 297362306a36Sopenharmony_ci Default: 0xffff 297462306a36Sopenharmony_ci 297562306a36Sopenharmony_cirto_initial - INTEGER 297662306a36Sopenharmony_ci The initial round trip timeout value in milliseconds that will be used 297762306a36Sopenharmony_ci in calculating round trip times. This is the initial time interval 297862306a36Sopenharmony_ci for retransmissions. 297962306a36Sopenharmony_ci 298062306a36Sopenharmony_ci Default: 3000 298162306a36Sopenharmony_ci 298262306a36Sopenharmony_cirto_max - INTEGER 298362306a36Sopenharmony_ci The maximum value (in milliseconds) of the round trip timeout. This 298462306a36Sopenharmony_ci is the largest time interval that can elapse between retransmissions. 298562306a36Sopenharmony_ci 298662306a36Sopenharmony_ci Default: 60000 298762306a36Sopenharmony_ci 298862306a36Sopenharmony_cirto_min - INTEGER 298962306a36Sopenharmony_ci The minimum value (in milliseconds) of the round trip timeout. This 299062306a36Sopenharmony_ci is the smallest time interval the can elapse between retransmissions. 299162306a36Sopenharmony_ci 299262306a36Sopenharmony_ci Default: 1000 299362306a36Sopenharmony_ci 299462306a36Sopenharmony_cihb_interval - INTEGER 299562306a36Sopenharmony_ci The interval (in milliseconds) between HEARTBEAT chunks. These chunks 299662306a36Sopenharmony_ci are sent at the specified interval on idle paths to probe the state of 299762306a36Sopenharmony_ci a given path between 2 associations. 299862306a36Sopenharmony_ci 299962306a36Sopenharmony_ci Default: 30000 300062306a36Sopenharmony_ci 300162306a36Sopenharmony_cisack_timeout - INTEGER 300262306a36Sopenharmony_ci The amount of time (in milliseconds) that the implementation will wait 300362306a36Sopenharmony_ci to send a SACK. 300462306a36Sopenharmony_ci 300562306a36Sopenharmony_ci Default: 200 300662306a36Sopenharmony_ci 300762306a36Sopenharmony_civalid_cookie_life - INTEGER 300862306a36Sopenharmony_ci The default lifetime of the SCTP cookie (in milliseconds). The cookie 300962306a36Sopenharmony_ci is used during association establishment. 301062306a36Sopenharmony_ci 301162306a36Sopenharmony_ci Default: 60000 301262306a36Sopenharmony_ci 301362306a36Sopenharmony_cicookie_preserve_enable - BOOLEAN 301462306a36Sopenharmony_ci Enable or disable the ability to extend the lifetime of the SCTP cookie 301562306a36Sopenharmony_ci that is used during the establishment phase of SCTP association 301662306a36Sopenharmony_ci 301762306a36Sopenharmony_ci - 1: Enable cookie lifetime extension. 301862306a36Sopenharmony_ci - 0: Disable 301962306a36Sopenharmony_ci 302062306a36Sopenharmony_ci Default: 1 302162306a36Sopenharmony_ci 302262306a36Sopenharmony_cicookie_hmac_alg - STRING 302362306a36Sopenharmony_ci Select the hmac algorithm used when generating the cookie value sent by 302462306a36Sopenharmony_ci a listening sctp socket to a connecting client in the INIT-ACK chunk. 302562306a36Sopenharmony_ci Valid values are: 302662306a36Sopenharmony_ci 302762306a36Sopenharmony_ci * md5 302862306a36Sopenharmony_ci * sha1 302962306a36Sopenharmony_ci * none 303062306a36Sopenharmony_ci 303162306a36Sopenharmony_ci Ability to assign md5 or sha1 as the selected alg is predicated on the 303262306a36Sopenharmony_ci configuration of those algorithms at build time (CONFIG_CRYPTO_MD5 and 303362306a36Sopenharmony_ci CONFIG_CRYPTO_SHA1). 303462306a36Sopenharmony_ci 303562306a36Sopenharmony_ci Default: Dependent on configuration. MD5 if available, else SHA1 if 303662306a36Sopenharmony_ci available, else none. 303762306a36Sopenharmony_ci 303862306a36Sopenharmony_circvbuf_policy - INTEGER 303962306a36Sopenharmony_ci Determines if the receive buffer is attributed to the socket or to 304062306a36Sopenharmony_ci association. SCTP supports the capability to create multiple 304162306a36Sopenharmony_ci associations on a single socket. When using this capability, it is 304262306a36Sopenharmony_ci possible that a single stalled association that's buffering a lot 304362306a36Sopenharmony_ci of data may block other associations from delivering their data by 304462306a36Sopenharmony_ci consuming all of the receive buffer space. To work around this, 304562306a36Sopenharmony_ci the rcvbuf_policy could be set to attribute the receiver buffer space 304662306a36Sopenharmony_ci to each association instead of the socket. This prevents the described 304762306a36Sopenharmony_ci blocking. 304862306a36Sopenharmony_ci 304962306a36Sopenharmony_ci - 1: rcvbuf space is per association 305062306a36Sopenharmony_ci - 0: rcvbuf space is per socket 305162306a36Sopenharmony_ci 305262306a36Sopenharmony_ci Default: 0 305362306a36Sopenharmony_ci 305462306a36Sopenharmony_cisndbuf_policy - INTEGER 305562306a36Sopenharmony_ci Similar to rcvbuf_policy above, this applies to send buffer space. 305662306a36Sopenharmony_ci 305762306a36Sopenharmony_ci - 1: Send buffer is tracked per association 305862306a36Sopenharmony_ci - 0: Send buffer is tracked per socket. 305962306a36Sopenharmony_ci 306062306a36Sopenharmony_ci Default: 0 306162306a36Sopenharmony_ci 306262306a36Sopenharmony_cisctp_mem - vector of 3 INTEGERs: min, pressure, max 306362306a36Sopenharmony_ci Number of pages allowed for queueing by all SCTP sockets. 306462306a36Sopenharmony_ci 306562306a36Sopenharmony_ci min: Below this number of pages SCTP is not bothered about its 306662306a36Sopenharmony_ci memory appetite. When amount of memory allocated by SCTP exceeds 306762306a36Sopenharmony_ci this number, SCTP starts to moderate memory usage. 306862306a36Sopenharmony_ci 306962306a36Sopenharmony_ci pressure: This value was introduced to follow format of tcp_mem. 307062306a36Sopenharmony_ci 307162306a36Sopenharmony_ci max: Number of pages allowed for queueing by all SCTP sockets. 307262306a36Sopenharmony_ci 307362306a36Sopenharmony_ci Default is calculated at boot time from amount of available memory. 307462306a36Sopenharmony_ci 307562306a36Sopenharmony_cisctp_rmem - vector of 3 INTEGERs: min, default, max 307662306a36Sopenharmony_ci Only the first value ("min") is used, "default" and "max" are 307762306a36Sopenharmony_ci ignored. 307862306a36Sopenharmony_ci 307962306a36Sopenharmony_ci min: Minimal size of receive buffer used by SCTP socket. 308062306a36Sopenharmony_ci It is guaranteed to each SCTP socket (but not association) even 308162306a36Sopenharmony_ci under moderate memory pressure. 308262306a36Sopenharmony_ci 308362306a36Sopenharmony_ci Default: 4K 308462306a36Sopenharmony_ci 308562306a36Sopenharmony_cisctp_wmem - vector of 3 INTEGERs: min, default, max 308662306a36Sopenharmony_ci Only the first value ("min") is used, "default" and "max" are 308762306a36Sopenharmony_ci ignored. 308862306a36Sopenharmony_ci 308962306a36Sopenharmony_ci min: Minimum size of send buffer that can be used by SCTP sockets. 309062306a36Sopenharmony_ci It is guaranteed to each SCTP socket (but not association) even 309162306a36Sopenharmony_ci under moderate memory pressure. 309262306a36Sopenharmony_ci 309362306a36Sopenharmony_ci Default: 4K 309462306a36Sopenharmony_ci 309562306a36Sopenharmony_ciaddr_scope_policy - INTEGER 309662306a36Sopenharmony_ci Control IPv4 address scoping - draft-stewart-tsvwg-sctp-ipv4-00 309762306a36Sopenharmony_ci 309862306a36Sopenharmony_ci - 0 - Disable IPv4 address scoping 309962306a36Sopenharmony_ci - 1 - Enable IPv4 address scoping 310062306a36Sopenharmony_ci - 2 - Follow draft but allow IPv4 private addresses 310162306a36Sopenharmony_ci - 3 - Follow draft but allow IPv4 link local addresses 310262306a36Sopenharmony_ci 310362306a36Sopenharmony_ci Default: 1 310462306a36Sopenharmony_ci 310562306a36Sopenharmony_ciudp_port - INTEGER 310662306a36Sopenharmony_ci The listening port for the local UDP tunneling sock. Normally it's 310762306a36Sopenharmony_ci using the IANA-assigned UDP port number 9899 (sctp-tunneling). 310862306a36Sopenharmony_ci 310962306a36Sopenharmony_ci This UDP sock is used for processing the incoming UDP-encapsulated 311062306a36Sopenharmony_ci SCTP packets (from RFC6951), and shared by all applications in the 311162306a36Sopenharmony_ci same net namespace. This UDP sock will be closed when the value is 311262306a36Sopenharmony_ci set to 0. 311362306a36Sopenharmony_ci 311462306a36Sopenharmony_ci The value will also be used to set the src port of the UDP header 311562306a36Sopenharmony_ci for the outgoing UDP-encapsulated SCTP packets. For the dest port, 311662306a36Sopenharmony_ci please refer to 'encap_port' below. 311762306a36Sopenharmony_ci 311862306a36Sopenharmony_ci Default: 0 311962306a36Sopenharmony_ci 312062306a36Sopenharmony_ciencap_port - INTEGER 312162306a36Sopenharmony_ci The default remote UDP encapsulation port. 312262306a36Sopenharmony_ci 312362306a36Sopenharmony_ci This value is used to set the dest port of the UDP header for the 312462306a36Sopenharmony_ci outgoing UDP-encapsulated SCTP packets by default. Users can also 312562306a36Sopenharmony_ci change the value for each sock/asoc/transport by using setsockopt. 312662306a36Sopenharmony_ci For further information, please refer to RFC6951. 312762306a36Sopenharmony_ci 312862306a36Sopenharmony_ci Note that when connecting to a remote server, the client should set 312962306a36Sopenharmony_ci this to the port that the UDP tunneling sock on the peer server is 313062306a36Sopenharmony_ci listening to and the local UDP tunneling sock on the client also 313162306a36Sopenharmony_ci must be started. On the server, it would get the encap_port from 313262306a36Sopenharmony_ci the incoming packet's source port. 313362306a36Sopenharmony_ci 313462306a36Sopenharmony_ci Default: 0 313562306a36Sopenharmony_ci 313662306a36Sopenharmony_ciplpmtud_probe_interval - INTEGER 313762306a36Sopenharmony_ci The time interval (in milliseconds) for the PLPMTUD probe timer, 313862306a36Sopenharmony_ci which is configured to expire after this period to receive an 313962306a36Sopenharmony_ci acknowledgment to a probe packet. This is also the time interval 314062306a36Sopenharmony_ci between the probes for the current pmtu when the probe search 314162306a36Sopenharmony_ci is done. 314262306a36Sopenharmony_ci 314362306a36Sopenharmony_ci PLPMTUD will be disabled when 0 is set, and other values for it 314462306a36Sopenharmony_ci must be >= 5000. 314562306a36Sopenharmony_ci 314662306a36Sopenharmony_ci Default: 0 314762306a36Sopenharmony_ci 314862306a36Sopenharmony_cireconf_enable - BOOLEAN 314962306a36Sopenharmony_ci Enable or disable extension of Stream Reconfiguration functionality 315062306a36Sopenharmony_ci specified in RFC6525. This extension provides the ability to "reset" 315162306a36Sopenharmony_ci a stream, and it includes the Parameters of "Outgoing/Incoming SSN 315262306a36Sopenharmony_ci Reset", "SSN/TSN Reset" and "Add Outgoing/Incoming Streams". 315362306a36Sopenharmony_ci 315462306a36Sopenharmony_ci - 1: Enable extension. 315562306a36Sopenharmony_ci - 0: Disable extension. 315662306a36Sopenharmony_ci 315762306a36Sopenharmony_ci Default: 0 315862306a36Sopenharmony_ci 315962306a36Sopenharmony_ciintl_enable - BOOLEAN 316062306a36Sopenharmony_ci Enable or disable extension of User Message Interleaving functionality 316162306a36Sopenharmony_ci specified in RFC8260. This extension allows the interleaving of user 316262306a36Sopenharmony_ci messages sent on different streams. With this feature enabled, I-DATA 316362306a36Sopenharmony_ci chunk will replace DATA chunk to carry user messages if also supported 316462306a36Sopenharmony_ci by the peer. Note that to use this feature, one needs to set this option 316562306a36Sopenharmony_ci to 1 and also needs to set socket options SCTP_FRAGMENT_INTERLEAVE to 2 316662306a36Sopenharmony_ci and SCTP_INTERLEAVING_SUPPORTED to 1. 316762306a36Sopenharmony_ci 316862306a36Sopenharmony_ci - 1: Enable extension. 316962306a36Sopenharmony_ci - 0: Disable extension. 317062306a36Sopenharmony_ci 317162306a36Sopenharmony_ci Default: 0 317262306a36Sopenharmony_ci 317362306a36Sopenharmony_ciecn_enable - BOOLEAN 317462306a36Sopenharmony_ci Control use of Explicit Congestion Notification (ECN) by SCTP. 317562306a36Sopenharmony_ci Like in TCP, ECN is used only when both ends of the SCTP connection 317662306a36Sopenharmony_ci indicate support for it. This feature is useful in avoiding losses 317762306a36Sopenharmony_ci due to congestion by allowing supporting routers to signal congestion 317862306a36Sopenharmony_ci before having to drop packets. 317962306a36Sopenharmony_ci 318062306a36Sopenharmony_ci 1: Enable ecn. 318162306a36Sopenharmony_ci 0: Disable ecn. 318262306a36Sopenharmony_ci 318362306a36Sopenharmony_ci Default: 1 318462306a36Sopenharmony_ci 318562306a36Sopenharmony_cil3mdev_accept - BOOLEAN 318662306a36Sopenharmony_ci Enabling this option allows a "global" bound socket to work 318762306a36Sopenharmony_ci across L3 master domains (e.g., VRFs) with packets capable of 318862306a36Sopenharmony_ci being received regardless of the L3 domain in which they 318962306a36Sopenharmony_ci originated. Only valid when the kernel was compiled with 319062306a36Sopenharmony_ci CONFIG_NET_L3_MASTER_DEV. 319162306a36Sopenharmony_ci 319262306a36Sopenharmony_ci Default: 1 (enabled) 319362306a36Sopenharmony_ci 319462306a36Sopenharmony_ci 319562306a36Sopenharmony_ci``/proc/sys/net/core/*`` 319662306a36Sopenharmony_ci======================== 319762306a36Sopenharmony_ci 319862306a36Sopenharmony_ci Please see: Documentation/admin-guide/sysctl/net.rst for descriptions of these entries. 319962306a36Sopenharmony_ci 320062306a36Sopenharmony_ci 320162306a36Sopenharmony_ci``/proc/sys/net/unix/*`` 320262306a36Sopenharmony_ci======================== 320362306a36Sopenharmony_ci 320462306a36Sopenharmony_cimax_dgram_qlen - INTEGER 320562306a36Sopenharmony_ci The maximum length of dgram socket receive queue 320662306a36Sopenharmony_ci 320762306a36Sopenharmony_ci Default: 10 320862306a36Sopenharmony_ci 3209