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