Linux MPTCP Upstream Project
The goal of this community is to add an implementation of the MPTCP protocol (RFC 6824bis) to the upstream Linux kernel.
Our basic guidelines for an upstreamable implementation are:
TCP complexity can't increase. It's already a complex, performance-sensitive piece of software that every Linux user depends on. Intrusive changes have a risk of creating bugs or changing operation of the stack in unexpected ways.
sk_buff structure size can't get bigger. It's already large and, if anything, the maintainers hope to reduce its size. Changes to the data structure size are amplified by the large number of instances in a busy system.
An additional protocol like MPTCP should be opt-in, so users of regular TCP continue to get the same type of connection and performance unless MPTCP is requested.
The Linux MultiPath TCP Project has a MPTCP-enabled kernel available, however it was developed with different requirements in mind and is not upstreamable as-is.
- Linux Plumbers Conference Networking Track (September 2019): https://linuxplumbersconf.org/event/4/contributions/435/
- Netdev 0x12 (July 2018): https://www.netdevconf.org/0x12/session.html?how-hard-can-it-be-adding-multipath-tcp-to-the-upstream-kernel
- Mailing list: https://lists.01.org/postorius/lists/mptcp.lists.01.org/
- Repositories: https://github.com/multipath-tcp/mptcp_net-next.git, see the different Git Branches