Skip to content

add MPTCP (Multipath TCP)-support to kernel #713

@gstammw

Description

@gstammw

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}

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions