/mptcp.dev

GitHub Pages for mptcp.dev website 🌐

Primary LanguageHTMLBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Multipath TCP for Linux

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/

Features

As of Linux v5.19, major features of MPTCP include:

  • Support of the IPPROTO_MPTCP protocol in socket() system calls.
  • Fallback from MPTCP to TCP if the peer or a middlebox do not support MPTCP.
  • Path management using either an in-kernel or userspace path manager.
  • Socket options that are commonly used with TCP sockets.
  • Debug features including MIB counters, diag support (used by the ss command), and tracepoints.

See the ChangeLog for more details.

Communication

Projects

Kernel Development