Multipath TCP (MPTCP) builds on top of TCP to improve connection redundancy and performance by sharing a network data stream across multiple underlying TCP sessions. The MPTCP v1 protocol is defined in RFC 8684.
The Linux MPTCP community develops and maintains the MPTCP v1 stack in the Linux kernel (v5.6 or later) and associated userspace tools and libraries.
This site is new and still evolving, so please refer to the Linux MPTCP Upstream Project wiki for additional information.
For out-of-tree kernels before v5.6 and an implementation of the experimental MPTCP v0 protocol, see https://multipath-tcp.org/
As of Linux v5.19, major features of MPTCP include:
IPPROTO_MPTCP
protocol in socket()
system calls.ss
command), and tracepoints.See the ChangeLog for more details.
mptcpd
daemon can do full userspace path management or control the in-kernel path manager.mptcpize
utility to allow legacy TCP binaries to use MPTCP.ip mptcp
command)