-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Description
Hello community,
Multipath TCP ("MPTCP") enables seamless handover between different network connections like a wlan and 3G as well as bandwidth aggregation if the remote-site is also mptcp enabled.
See http://multipath-tcp.org/ for further details.
I hope that the communiity aggrees that this is a very interesting feature that should be added to the raspbian default-kernel.
The sourcecode is available at http://multipath-tcp.org/pmwiki.php?n=Main.Release89 and they have already ported mptcp to Rasppbery PI at https://github.com/multipath-tcp/mptcp-rpi.
Kind regards
I have cross-compiled it myself on Ubuntu 14.04.1LTS following https://gist.github.com/davasiloaei/7301598:
Prerequisites for compiling
$ sudo apt-get install gcc-arm-linux-gnueabi make ncurses-dev
CHECKOUT
$ mkdir rpi_mptcp_kernel
$ cd rpi_mptpc_kernel
$ git clone --depth 1 git://github.com/raspberrypi/linux.git
Merge MPTCP kernel source and Raspberry PI 3.12.y into rpi_mptcp:
$ git init
$ git remote add mptcp https://github.com/multipath-tcp/mptcp.git
$ git fetch mptcp --depth 1
$ cd linux/.git
$ git branch -a
$ cd ..
$ git checkout -b rpi_mptcp origin/rpi-3.12.y
$ cd ..
$ git merge -X theirs mptcp/mptcp_v0.89
COMPILE
Clean:
$ make mrproper
Get default rpi configuration:
$ make ARCH=arm bcmrpi_defconfig
Open the configuration gui:
$ make ARCH=arm nconfig
Under Networking Support ---> Networking options, enable 'The IPv6 protocol'. 2 more options should show up under IPv6 Protocol (MPTCP protocol and MPTCP: advanced path-manager control). Enable both, then exit and save.
Configure the cross compiler prefix:
$ export CCPREFIX=arm-linux-gnueabi-
Cross compile:
$ make ARCH=arm CROSS_COMPILE=${CCPREFIX}