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