MPTCP Sysfs variables

/proc/sys/net/mptcp/* Variables

add_addr_timeout - INTEGER (seconds)

Set the maximum value of timeout after which an ADD_ADDR control messagewill be resent to an MPTCP peer that has not acknowledged a previousADD_ADDR message. A dynamically estimated retransmission timeout basedon the estimated connection round-trip-time is used if this value islower than the maximum one.

Do not retransmit if set to 0.

The default value matches TCP_RTO_MAX. This is a per-namespacesysctl.

Default: 120

allow_join_initial_addr_port - BOOLEAN

Allow peers to send join requests to the IP address and port number usedby the initial subflow if the value is 1. This controls a flag that issent to the peer at connection time, and whether such join requests areaccepted or denied.

Joins to addresses advertised with ADD_ADDR are not affected by thisvalue.

This is a per-namespace sysctl.

Default: 1

available_path_managers - STRING

Shows the available path managers choices that are registered. Morepath managers may be available, but not loaded.

available_schedulers - STRING

Shows the available schedulers choices that are registered. More packetschedulers may be available, but not loaded.

blackhole_timeout - INTEGER (seconds)

Initial time period in second to disable MPTCP on active MPTCP socketswhen a MPTCP firewall blackhole issue happens. This time period willgrow exponentially when more blackhole issues get detected right afterMPTCP is re-enabled and will reset to the initial value when theblackhole issue goes away.

0 to disable the blackhole detection. This is a per-namespace sysctl.

Default: 3600

checksum_enabled - BOOLEAN

Control whether DSS checksum can be enabled.

DSS checksum can be enabled if the value is nonzero. This is aper-namespace sysctl.

Default: 0

close_timeout - INTEGER (seconds)

Set the make-after-break timeout: in absence of any close orshutdown syscall, MPTCP sockets will maintain the statusunchanged for such time, after the last subflow removal, beforemoving to TCP_CLOSE.

The default value matches TCP_TIMEWAIT_LEN. This is a per-namespacesysctl.

Default: 60

enabled - BOOLEAN

Control whether MPTCP sockets can be created.

MPTCP sockets can be created if the value is 1. This is aper-namespace sysctl.

Default: 1 (enabled)

path_manager - STRING

Set the default path manager name to use for each new MPTCPsocket. In-kernel path management will control subflowconnections and address advertisements according toper-namespace values configured over the MPTCP netlinkAPI. Userspace path management puts per-MPTCP-connection subflowconnection decisions and address advertisements under control ofa privileged userspace program, at the cost of more netlinktraffic to propagate all of the related events and commands.

This is a per-namespace sysctl.

  • “kernel” - In-kernel path manager

  • “userspace” - Userspace path manager

Default: “kernel”

pm_type - INTEGER

Set the default path manager type to use for each new MPTCPsocket. In-kernel path management will control subflowconnections and address advertisements according toper-namespace values configured over the MPTCP netlinkAPI. Userspace path management puts per-MPTCP-connection subflowconnection decisions and address advertisements under control ofa privileged userspace program, at the cost of more netlinktraffic to propagate all of the related events and commands.

This is a per-namespace sysctl.

Deprecated since v6.15, use path_manager instead.

  • 0 - In-kernel path manager

  • 1 - Userspace path manager

Default: 0

scheduler - STRING

Select the scheduler of your choice.

Support for selection of different schedulers. This is a per-namespacesysctl.

Default: “default”

stale_loss_cnt - INTEGER

The number of MPTCP-level retransmission intervals with no traffic andpending outstanding data on a given subflow required to declare it stale.The packet scheduler ignores stale subflows.A low stale_loss_cnt value allows for fast active-backup switch-over,an high value maximize links utilization on edge scenarios e.g. lossylink with high BER or peer pausing the data processing.

This is a per-namespace sysctl.

Default: 4

syn_retrans_before_tcp_fallback - INTEGER

The number of SYN + MP_CAPABLE retransmissions before falling back toTCP, i.e. dropping the MPTCP options. In other words, if all the packetsare dropped on the way, there will be:

  • The initial SYN with MPTCP support

  • This number of SYN retransmitted with MPTCP support

  • The next SYN retransmissions will be without MPTCP support

0 means the first retransmission will be done without MPTCP options.>= 128 means that all SYN retransmissions will keep the MPTCP options. Alower number might increase false-positive MPTCP blackholes detections.This is a per-namespace sysctl.

Default: 2