xref: /linux/Documentation/networking/mptcp-sysctl.rst (revision a6021aa24f6417416d93318bbfa022ab229c33c8)
1.. SPDX-License-Identifier: GPL-2.0
2
3=====================
4MPTCP Sysfs variables
5=====================
6
7/proc/sys/net/mptcp/* Variables
8===============================
9
10add_addr_timeout - INTEGER (seconds)
11	Set the timeout after which an ADD_ADDR control message will be
12	resent to an MPTCP peer that has not acknowledged a previous
13	ADD_ADDR message.
14
15	The default value matches TCP_RTO_MAX. This is a per-namespace
16	sysctl.
17
18	Default: 120
19
20allow_join_initial_addr_port - BOOLEAN
21	Allow peers to send join requests to the IP address and port number used
22	by the initial subflow if the value is 1. This controls a flag that is
23	sent to the peer at connection time, and whether such join requests are
24	accepted or denied.
25
26	Joins to addresses advertised with ADD_ADDR are not affected by this
27	value.
28
29	This is a per-namespace sysctl.
30
31	Default: 1
32
33available_schedulers - STRING
34	Shows the available schedulers choices that are registered. More packet
35	schedulers may be available, but not loaded.
36
37blackhole_timeout - INTEGER (seconds)
38	Initial time period in second to disable MPTCP on active MPTCP sockets
39	when a MPTCP firewall blackhole issue happens. This time period will
40	grow exponentially when more blackhole issues get detected right after
41	MPTCP is re-enabled and will reset to the initial value when the
42	blackhole issue goes away.
43
44	0 to disable the blackhole detection.
45
46	Default: 3600
47
48checksum_enabled - BOOLEAN
49	Control whether DSS checksum can be enabled.
50
51	DSS checksum can be enabled if the value is nonzero. This is a
52	per-namespace sysctl.
53
54	Default: 0
55
56close_timeout - INTEGER (seconds)
57	Set the make-after-break timeout: in absence of any close or
58	shutdown syscall, MPTCP sockets will maintain the status
59	unchanged for such time, after the last subflow removal, before
60	moving to TCP_CLOSE.
61
62	The default value matches TCP_TIMEWAIT_LEN. This is a per-namespace
63	sysctl.
64
65	Default: 60
66
67enabled - BOOLEAN
68	Control whether MPTCP sockets can be created.
69
70	MPTCP sockets can be created if the value is 1. This is a
71	per-namespace sysctl.
72
73	Default: 1 (enabled)
74
75pm_type - INTEGER
76	Set the default path manager type to use for each new MPTCP
77	socket. In-kernel path management will control subflow
78	connections and address advertisements according to
79	per-namespace values configured over the MPTCP netlink
80	API. Userspace path management puts per-MPTCP-connection subflow
81	connection decisions and address advertisements under control of
82	a privileged userspace program, at the cost of more netlink
83	traffic to propagate all of the related events and commands.
84
85	This is a per-namespace sysctl.
86
87	* 0 - In-kernel path manager
88	* 1 - Userspace path manager
89
90	Default: 0
91
92scheduler - STRING
93	Select the scheduler of your choice.
94
95	Support for selection of different schedulers. This is a per-namespace
96	sysctl.
97
98	Default: "default"
99
100stale_loss_cnt - INTEGER
101	The number of MPTCP-level retransmission intervals with no traffic and
102	pending outstanding data on a given subflow required to declare it stale.
103	The packet scheduler ignores stale subflows.
104	A low stale_loss_cnt  value allows for fast active-backup switch-over,
105	an high value maximize links utilization on edge scenarios e.g. lossy
106	link with high BER or peer pausing the data processing.
107
108	This is a per-namespace sysctl.
109
110	Default: 4
111