Subject: [multipathtcp] Linux MPTCP kernel on NixOS

From: Guillaume Maudoux <[email-masked]>
Date: Thu, 4 Feb 2016 15:01:48 +0100

Hi,

My patch to include the MPTCP kernel into NixOS has landed.
This means that it is possible to use MPTCP with NixOS by adding
`boot.kernelPackages = pkgs.linuxPackages_mptcp;` to your
/etc/nixos/configuration.nix.

NixOS[1] is a "Purely Functional Linux Distribution" with a completely
declarative configuration.
This makes it easy to build reproducible systems and share them.
It also handles atomic updates and rollbacks.

You may also be interested by the very concise declaration of the
package [2].
The package is built by declaring only the sources, the kernel options
and some metadata.

This patch only provides the required packages, and does not handle the
configuration of MPTCP.
As is, the kernel is already usable for a server, as it will accept
mptcp connections, but comes with the dummy path manager.

As usual, you need to configure manually the source routing tables and
pick the right path manager.
It would be a great addition to NixOS to add declarative options to
select the path manager,
the interfaces that should participate in the mesh and to handle the
source routing.
This remains to be done...

Regards,
Guillaume.

[1] http://nixos.org/
[2]
https://github.com/NixOS/nixpkgs/blob/master/pkgs/os-specific/linux/kernel/linux-mptcp.nix