Brussels / 4 & 5 February 2023


MPTCP in the upstream kernel

A long road that started almost 15 years ago

Multipath TCP (MPTCP) support in the Linux kernel has started in v5.6. At that time, only a single path could be used. The MPTCP development community has steadily expanded from the initial baseline feature set to now support a broad range of MPTCP features on the wire and through the socket and generic Netlink APIs.

An overview of MPTCP will be presented with an explanation of what is possible today in the Linux kernel and what should come next. The development of MPTCP in the Linux kernel is particular and has not been directly available on a vanilla kernel. Indeed, after 10 years of experimentations on the side -- in an Open-Source "out-of-tree" kernel -- the implementation has been rewritten (almost) from scratch to get an "upstreamable" result that is still being improved today. On the other hand, the out-of-tree kernel was and is still used today in production on large deployments with million of users. Maintaining this out of tree kernel with more than 21k modified lines for each different LTS version has a cost and also introduce some risks and complex situations that are interesting to share.

MPTCP development for the Linux kernel and mptcpd are public and open. You can find us at


Photo of Matthieu Baerts Matthieu Baerts