Continue reading this page for the 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.
    Access the git-repository with
   git clone --depth=1 git://
  • Then configure the Kernel by doing make xconfig or make 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 type echo '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