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