Welcome to the Linux kernel MultiPath TCP project
Breaking News
25. April 2012: Our NSDI-paper (see below) has been awarded the Community-Award!!!
27. March 2012: We are proud to present our new paper: "How Hard Can It Be? Designing and Implementing a Deployable Multipath TCP" C. Raiciu, C. Paasch, S. Barré, A. Ford, M. Honda, F. Duchêne, O. Bonaventure and M. Handley. USENIX NSDI'12. San Jose (CA). 2012
7. March 2012: Wireshark has become MPTCP-capable. Check here to see how to install it. The apt-repositories have been updated with the recent fixes.
MultiPath TCP (MPTCP) is an effort towards enabling the simultaneous use of several IP-addresses/interfaces by a modification of TCP that presents a regular TCP interface to applications, while in fact spreading data across several subflows. Benefits of this include better resource utilization, better throughput and smoother reaction to failures.
The IP Networking Lab is implementing MPTCP in the Linux Kernel and hosting it on this website for users, testers and developers.
For questions, feedback,... please contact us at the mptcp-dev Mailing-List
Linux Kernel MultiPath TCP in action
We did a little demo of MultiPath TCP used over Ethernet/WiFi/3G on our Linux Kernel implementation.
We start an ssh-session with X-redirection and launch xscreensaver demo on the distant MPTCP-capable server.
We then turn off Ethernet and WiFi and thanks to MultiPath TCP the ssh-session is able to handover the traffic to 3G without interrupting the user-experience. Without our MPTCP Linux Kernel the session would simply stop working and the user would need to restart the ssh-session.
In the video you see a trafficmonitor on the right, displaying the instantaneous amount of traffic going over each interface. Top is Ethernet, middle is WiFi and bottom is 3G.
The authors
The initial MPTCP implementation and architecture for the Linux OS is from Sébastien Barré. Sébastien started this project around 2009, based on his shim6-implementation and continued working on the MPTCP-implementation until he finished his thesis.
Since then, several people have joined the project. Current active developers are Christoph Paasch, Jaakko Korkeaniemi, Fabien Duchêne and Gregory Detal.
For an overview of the current and past contributions have a look here (generated with gitstats)
We would like to thank our previous and present partners:
![]() | ![]() | ![]() |
Thanks to all the people who have used and reported their experience of using MPTCP, sometimes even helping in the debugging process: Joerg Wagner (NEC), Bruno Mongazon-Cazavet (Alcatel-Lucent), Andreas Seelinger (RWTH-Aachen), Vijay Subramanian, Alan P. Smith (BT), Ramakrishna Sura, Ovidiu Popa (University of Cambridge), Sergio Lembo (Aalto University), Piers O'Hanlon (UCLondon), Costin Raiciu (UCLondon).
Costin Raiciu has also written a userspace prototype that he kindly sent us as a help to start the development of this project.
A special thank to Adam Greenhalgh (UCLondon) for maintaining the HEN platform, which is a precious tool for thoroughly testing MPTCP in a wide range of scenarios. We specially appreciate his very fast action to solve problems on the platform. Prof. Mark Handley (UCLondon) also manages the platform and solved several tricky problems on it.




