mptcp-sysctl.rst 4.9 KB

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