1. Installation

For the newest release, please follow the below steps[1] :

   # First, add the gpg-apt-key with:
   sudo apt-key adv --keyserver hkp://keys.gnupg.net --recv-keys 379CE192D401AB61
   # Then, just add the repository in your APT' sources files:
   sudo sh -c "echo 'deb https://dl.bintray.com/cpaasch/deb stretch main' > /etc/apt/sources.list.d/mptcp.list"
   # Now, install MPTCP with the following:
   sudo apt-get update
   sudo apt-get install linux-mptcp

And reboot your machine.

!!! NOTE : Reboot with new kernel [2]

2. Reboot

Modify /etc/default/grub

   GRUB_DEFAULT=1
   # GRUB_HIDDEN_TIMEOUT=0 .  [3]
   GRUB_HIDDEN_TIMEOUT_QUIET=true
   GRUB_TIMEOUT=10

3. Configuration && Getting started

topo.py [4]

#!/usr/bin/python
from mininet.topo import Topo
from mininet.net import Mininet
from mininet.cli import CLI
from mininet.link import TCLink
import time
##https://serverfault.com/questions/417885/configure-gateway-for-two-nics-through-static-routeing
#    ____h2____
#   /          \
# h1-----h4---- h3
#   \____h5____/
#
max_queue_size = 100  
net = Mininet( cleanup=True )
h1 = net.addHost('h1',ip='10.0.1.1')
h2 = net.addHost('h2',ip='10.0.1.2')
h3 = net.addHost('h3',ip='10.0.2.2')
h4 = net.addHost('h4',ip='10.0.3.2')
h5 = net.addHost('h5',ip='10.0.5.2')
c0 = net.addController( 'c0' )
net.addLink(h1,h2,intfName1='h1-eth0',intfName2='h2-eth0', cls=TCLink , bw=100, max_queue_size=max_queue_size)
net.addLink(h2,h3,intfName1='h2-eth1',intfName2='h3-eth0', cls=TCLink , bw=100, max_queue_size=max_queue_size)
net.addLink(h1,h4,intfName1='h1-eth1',intfName2='h4-eth0', cls=TCLink , bw=100, max_queue_size=max_queue_size)
net.addLink(h4,h3,intfName1='h4-eth1',intfName2='h3-eth1', cls=TCLink , bw=100, max_queue_size=max_queue_size)
net.addLink(h1,h5,intfName1='h1-eth2',intfName2='h5-eth0', cls=TCLink , bw=100, max_queue_size=max_queue_size)
net.addLink(h5,h3,intfName1='h5-eth1',intfName2='h3-eth2', cls=TCLink , bw=100, max_queue_size=max_queue_size)
net.build()
h1.setIP('10.0.1.1', intf='h1-eth0')
h1.cmd("ifconfig h1-eth0 10.0.1.1 netmask 255.255.255.0")

h1.setIP('10.0.3.1', intf='h1-eth1')
h1.cmd("ifconfig h1-eth1 10.0.3.1 netmask 255.255.255.0")

h1.setIP('10.0.5.1', intf='h1-eth2')
h1.cmd("ifconfig h1-eth2 10.0.5.1 netmask 255.255.255.0")

h1.cmd("ip route flush all proto static scope global")
h1.cmd("ip route add 10.0.1.1/24 dev h1-eth0 table 5000")
h1.cmd("ip route add default via 10.0.1.2 dev h1-eth0 table 5000")

h1.cmd("ip route add 10.0.3.1/24 dev h1-eth1 table 5001")
h1.cmd("ip route add default via 10.0.3.2 dev h1-eth1 table 5001")

h1.cmd("ip route add 10.0.5.1/24 dev h1-eth2 table 5002")
h1.cmd("ip route add default via 10.0.5.2 dev h1-eth2 table 5002")

h1.cmd("ip rule add from 10.0.1.1 table 5000")
h1.cmd("ip rule add from 10.0.3.1 table 5001")
h1.cmd("ip rule add from 10.0.5.1 table 5002")
h1.cmd("route add default gw 10.0.1.2  dev h1-eth0")

h2.setIP('10.0.1.2', intf='h2-eth0')
h2.setIP('10.0.2.1', intf='h2-eth1')
h2.cmd("ifconfig h2-eth0 10.0.1.2/24")
h2.cmd("ifconfig h2-eth1 10.0.2.1/24")
h2.cmd("ip route add 10.0.2.0/24 via 10.0.2.2")
h2.cmd("ip route add 10.0.1.0/24 via 10.0.1.1")
h2.cmd("echo 1 > /proc/sys/net/ipv4/ip_forward")

h5.setIP('10.0.5.2', intf='h5-eth0')
h5.setIP('10.0.6.1', intf='h5-eth1')
h5.cmd("ifconfig h5-eth0 10.0.5.2/24")
h5.cmd("ifconfig h5-eth1 10.0.6.1/24")
h5.cmd("ip route add 10.0.6.0/24 via 10.0.6.2")
h5.cmd("ip route add 10.0.5.0/24 via 10.0.5.1")
h5.cmd("echo 1 > /proc/sys/net/ipv4/ip_forward")

h4.setIP('10.0.3.2', intf='h4-eth0')
h4.setIP('10.0.4.1', intf='h4-eth1')
h4.cmd("ifconfig h4-eth0 10.0.3.2/24")
h4.cmd("ifconfig h4-eth1 10.0.4.1/24")
h4.cmd("ip route add 10.0.4.0  dev h4-eth1") #via 10.0.4.2
h4.cmd("ip route add 10.0.3.0 via 10.0.3.1")

h4.cmd("echo 1 > /proc/sys/net/ipv4/ip_forward")


h3.setIP('10.0.2.2', intf='h3-eth0')
h3.cmd("ifconfig h3-eth0 10.0.2.2 netmask 255.255.255.0")

h3.setIP('10.0.4.2', intf='h3-eth1')
h3.cmd("ifconfig h3-eth1 10.0.4.2 netmask 255.255.255.0")

h3.setIP('10.0.6.2', intf='h3-eth2')
h3.cmd("ifconfig h3-eth2 10.0.6.2 netmask 255.255.255.0")

h3.cmd("ip route flush all proto static scope global")
h3.cmd("ip route add 10.0.2.2/24 dev h3-eth0 table 5000")
h3.cmd("ip route add default via 10.0.2.1 dev h3-eth0 table 5000")

h3.cmd("ip route add 10.0.4.2/24 dev h3-eth1 table 5001")
h3.cmd("ip route add default via 10.0.4.1 dev h3-eth1 table 5001")

h3.cmd("ip route add 10.0.6.2/24 dev h3-eth2 table 5002")
h3.cmd("ip route add default via 10.0.6.1 dev h3-eth2 table 5002")

h3.cmd("ip rule add from 10.0.2.2 table 5000")
h3.cmd("ip rule add from 10.0.4.2 table 5001")
h3.cmd("ip rule add from 10.0.6.2 table 5002")

net.start()
time.sleep(1)
CLI(net)
net.stop()

Test

python topo.py
xterm h1 h3
h3: iperf -s
h1: iperf -c h3 -i 1 -t 10

REF

[1]. http://multipath-tcp.org/pmwiki.php/Users/AptRepository

[2]. https://www.cnblogs.com/zhuting/p/5675925.html

[3]. http://www.cnblogs.com/mawanglin2008/articles/4221480.html

[4]. https://blog.csdn.net/u010643777/article/details/81352481