instructions on configuring your kernel for MultiPath TCP.
To install MPTCP, follow this procedure:
- Get the source by checking out the git-repository, or download one of the daily snapshots. You can also apply one of the patches based on different Linux versions, available here. We highly recommend to checkout the git-repository, as you can easily get our bug-fixes with a
git pull
.
git clone --depth=1 git://github.com/multipath-tcp/mptcp.git
- Then configure the Kernel by doing
make xconfig
ormake menuconfig
and enable MultiPath TCP:- You cannot set IPv6 as a module. Either compile it into the kernel, or disable it.
- enable MPTCP protocol (
Networking support->Networking options->TCP/IP networking->MPTCP protocol (MPTCP)
) (if you cannot find that checkbox, then you have not correctly disabled one of the above options) - If you want to use the Linked Increase Algorithm (LIA) Congestion Control, that guarantees fairness across a shared bottleneck, you have to enable
Networking support->Networking options->TCP: advanced congestion control->MPTCP Linked Increase
. To enable it as the default congestion control, you should also enable it in "Default TCP congestion control", or you just typeecho 'lia' > /proc/sys/net/ipv4/tcp_congestion_control
in the running Kernel. Other options are "Opportunistic Linked Increase (olia)", "WVEGAS CONGESTION CONTROL (wvegas)" or "BALIA CONGESTION CONTROL (balia)". - Choose a path-manager, by enabling "MPTCP: advanced path-manager control". More info can be found here.
- enable Policy-Routing (
Networking support->Networking options->IP: advanced router->IP: policy routing (IP_MULTIPLE_TABLES)
) to correctly configure your routing tables (see below).
- Compile, install and reboot your kernel, as it is recommended by your distribution.
- You have to correctly configure your routing table. Have a look here.
from http://multipath-tcp.org/pmwiki.php/Users/DoItYourself ,
http://multipath-tcp.org/pmwiki.php/Users/HowToInstallMPTCP?
https://github.com/multipath-tcp/mptcp
https://www.cs.princeton.edu/courses/archive/fall14/cos561/papers/MPTCP12.pdf