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 maximum value of timeout after which an ADD_ADDR control message 12 will be resent to an MPTCP peer that has not acknowledged a previous 13 ADD_ADDR message. A dynamically estimated retransmission timeout based 14 on the estimated connection round-trip-time is used if this value is 15 lower than the maximum one. 16 17 Do not retransmit if set to 0. 18 19 The default value matches TCP_RTO_MAX. This is a per-namespace 20 sysctl. 21 22 Default: 120 23 24allow_join_initial_addr_port - BOOLEAN 25 Allow peers to send join requests to the IP address and port number used 26 by the initial subflow if the value is 1. This controls a flag that is 27 sent to the peer at connection time, and whether such join requests are 28 accepted or denied. 29 30 Joins to addresses advertised with ADD_ADDR are not affected by this 31 value. 32 33 This is a per-namespace sysctl. 34 35 Default: 1 36 37available_path_managers - STRING 38 Shows the available path managers choices that are registered. More 39 path managers may be available, but not loaded. 40 41available_schedulers - STRING 42 Shows the available schedulers choices that are registered. More packet 43 schedulers may be available, but not loaded. 44 45blackhole_timeout - INTEGER (seconds) 46 Initial time period in second to disable MPTCP on active MPTCP sockets 47 when a MPTCP firewall blackhole issue happens. This time period will 48 grow exponentially when more blackhole issues get detected right after 49 MPTCP is re-enabled and will reset to the initial value when the 50 blackhole issue goes away. 51 52 0 to disable the blackhole detection. This is a per-namespace sysctl. 53 54 Default: 3600 55 56checksum_enabled - BOOLEAN 57 Control whether DSS checksum can be enabled. 58 59 DSS checksum can be enabled if the value is nonzero. This is a 60 per-namespace sysctl. 61 62 Default: 0 63 64close_timeout - INTEGER (seconds) 65 Set the make-after-break timeout: in absence of any close or 66 shutdown syscall, MPTCP sockets will maintain the status 67 unchanged for such time, after the last subflow removal, before 68 moving to TCP_CLOSE. 69 70 The default value matches TCP_TIMEWAIT_LEN. This is a per-namespace 71 sysctl. 72 73 Default: 60 74 75enabled - BOOLEAN 76 Control whether MPTCP sockets can be created. 77 78 MPTCP sockets can be created if the value is 1. This is a 79 per-namespace sysctl. 80 81 Default: 1 (enabled) 82 83path_manager - STRING 84 Set the default path manager name to use for each new MPTCP 85 socket. In-kernel path management will control subflow 86 connections and address advertisements according to 87 per-namespace values configured over the MPTCP netlink 88 API. Userspace path management puts per-MPTCP-connection subflow 89 connection decisions and address advertisements under control of 90 a privileged userspace program, at the cost of more netlink 91 traffic to propagate all of the related events and commands. 92 93 This is a per-namespace sysctl. 94 95 * "kernel" - In-kernel path manager 96 * "userspace" - Userspace path manager 97 98 Default: "kernel" 99 100pm_type - INTEGER 101 Set the default path manager type to use for each new MPTCP 102 socket. In-kernel path management will control subflow 103 connections and address advertisements according to 104 per-namespace values configured over the MPTCP netlink 105 API. Userspace path management puts per-MPTCP-connection subflow 106 connection decisions and address advertisements under control of 107 a privileged userspace program, at the cost of more netlink 108 traffic to propagate all of the related events and commands. 109 110 This is a per-namespace sysctl. 111 112 Deprecated since v6.15, use path_manager instead. 113 114 * 0 - In-kernel path manager 115 * 1 - Userspace path manager 116 117 Default: 0 118 119scheduler - STRING 120 Select the scheduler of your choice. 121 122 Support for selection of different schedulers. This is a per-namespace 123 sysctl. 124 125 Default: "default" 126 127stale_loss_cnt - INTEGER 128 The number of MPTCP-level retransmission intervals with no traffic and 129 pending outstanding data on a given subflow required to declare it stale. 130 The packet scheduler ignores stale subflows. 131 A low stale_loss_cnt value allows for fast active-backup switch-over, 132 an high value maximize links utilization on edge scenarios e.g. lossy 133 link with high BER or peer pausing the data processing. 134 135 This is a per-namespace sysctl. 136 137 Default: 4 138 139syn_retrans_before_tcp_fallback - INTEGER 140 The number of SYN + MP_CAPABLE retransmissions before falling back to 141 TCP, i.e. dropping the MPTCP options. In other words, if all the packets 142 are dropped on the way, there will be: 143 144 * The initial SYN with MPTCP support 145 * This number of SYN retransmitted with MPTCP support 146 * The next SYN retransmissions will be without MPTCP support 147 148 0 means the first retransmission will be done without MPTCP options. 149 >= 128 means that all SYN retransmissions will keep the MPTCP options. A 150 lower number might increase false-positive MPTCP blackholes detections. 151 This is a per-namespace sysctl. 152 153 Default: 2 154