Cloudflare Talks Up Multi-Path TCP But Dings Linux's Less Than Ideal Support

Written by Michael Larabel in Linux Networking on 3 January 2025 at 10:25 AM EST. 30 Comments
LINUX NETWORKING
The folks at Cloudflare have published another great engineering blog post with this time covering Multi-Path TCP (MPTCP) as a very interesting addition to the TCP spec. But there they acknowledge the less than ideal Linux support especially on the client side.

Multi-Path TCP is a means of allowing a TCP connection to use multiple paths (such as multiple wired/wireless network adapters) for achieving greater throughput and increased redundancy. This is excellent in theory for allowing greater throughput and redundancy especially for mobile phones having both a cellular data connection and WiFi or servers sporting multiple wired network interfaces, but in practice it's still not a fully-baked solution.

As written about back in 2020 on Phoronix, Multi-Path TCP was merged in Linux 5.6 and since then MPTCP has been seeing more improvements within the kernel as well as related Linux networking user-space components.

wired networking equipment


In the Cloudflare blog post they acknowledge the Linux support as well as the Apple support found with macOS 10.10 and newer or iOS 7 and newer. MPTCP support on Linux is more viable for servers but less ideal with the current client support.

Among the key takeaways from the Cloudflare blog:
"I find MPTCP very exciting, being one of a few deployable serious TCP extensions. However, current implementations are limited. My experimentation showed that the only practical scenario where currently MPTCP might be useful is:

- Linux as a server

- macOS/iOS as a client

- "interactive" use case

With a bit of effort, Linux can be made to work as a client.

Don't get me wrong, Linux developers did tremendous work to get where we are, but, in my opinion for any serious out-of-the-box use case, we're not there yet. I'm optimistic that Linux can develop a good MPTCP client story relatively soon, and the possibility of implementing the Path manager and Scheduler in BPF is really enticing.

Time will tell if MPTCP succeeds — it's been 15 years in the making. In the meantime, Multi-Path QUIC is under active development, but it's even further from being usable at this stage."

Those interested can read the blog post in full by Cloudflare engineer Marek Majkowski.
Related News
About The Author
Michael Larabel

Michael Larabel is the principal author of Phoronix.com and founded the site in 2004 with a focus on enriching the Linux hardware experience. Michael has written more than 20,000 articles covering the state of Linux hardware support, Linux performance, graphics drivers, and other topics. Michael is also the lead developer of the Phoronix Test Suite, Phoromatic, and OpenBenchmarking.org automated benchmarking software. He can be followed via Twitter, LinkedIn, or contacted via MichaelLarabel.com.

Popular News This Week