
From guillaume.maudoux@uclouvain.be  Thu Feb  4 06:02:20 2016
Return-Path: <guillaume.maudoux@uclouvain.be>
X-Original-To: multipathtcp@ietfa.amsl.com
Delivered-To: multipathtcp@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 61BAF1B2FB9 for <multipathtcp@ietfa.amsl.com>; Thu,  4 Feb 2016 06:02:20 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.601
X-Spam-Level: 
X-Spam-Status: No, score=-1.601 tagged_above=-999 required=5 tests=[BAYES_50=0.8, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QtUksv1DCw1u for <multipathtcp@ietfa.amsl.com>; Thu,  4 Feb 2016 06:02:18 -0800 (PST)
Received: from smtp6.sgsi.ucl.ac.be (smtp.sgsi.ucl.ac.be [130.104.5.67]) by ietfa.amsl.com (Postfix) with ESMTP id 047C21B2FBA for <multipathtcp@ietf.org>; Thu,  4 Feb 2016 06:02:15 -0800 (PST)
Received: from [130.104.228.22] (unknown [130.104.228.22]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) (Authenticated sender: gmaudoux@smtp6.sgsi.ucl.ac.be) by smtp6.sgsi.ucl.ac.be (Postfix) with ESMTPSA id 754A41835C6 for <multipathtcp@ietf.org>; Thu,  4 Feb 2016 15:01:44 +0100 (CET)
X-DKIM: Sendmail DKIM Filter v2.8.3 smtp6.sgsi.ucl.ac.be 754A41835C6
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=uclouvain.be; s=selucl; t=1454594504; bh=vUeb5VTmB52S2BtlLOt/TgN90JdbTWhOoWZ6rKxJAvY=; h=From:Subject:To:Message-ID:Date:MIME-Version:Content-Type: Content-Transfer-Encoding; b=XlrWcXHyzvBSVdSBDaeSsEGtH2CVkTGCcCGUzG3+nXZBF90aJ9nvsaf+odOAZOXS6 guxcS8Hs6G65TzQhVPYo5jgUQaJBsRugf1K9lRHDppZNfqb8eX/VqQK4bV7Qqqqxar ggqTCspvIe7fbQPbUaAFTxzqz+NJqaHkrPUKhgO8=
From: Guillaume Maudoux <guillaume.maudoux@uclouvain.be>
X-Enigmail-Draft-Status: N1110
To: multipathtcp@ietf.org
Message-ID: <56B359CC.6020100@uclouvain.be>
Date: Thu, 4 Feb 2016 15:01:48 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: clamav-milter 0.99-beta1 at smtp-6.sipr-dc.ucl.ac.be
X-Virus-Status: Clean
X-Sgsi-Spamcheck: SASL authenticated, 
X-SGSI-MailScanner-ID: 754A41835C6.A26F1
X-SGSI-MailScanner: Found to be clean
X-SGSI-From: guillaume.maudoux@uclouvain.be
X-SGSI-Spam-Status: No
Archived-At: <http://mailarchive.ietf.org/arch/msg/multipathtcp/6KzlT9l0ckcMGNDVFSVu-9Tf8_g>
Subject: [multipathtcp] Linux MPTCP kernel on NixOS
X-BeenThere: multipathtcp@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multi-path extensions for TCP <multipathtcp.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/multipathtcp/>
List-Post: <mailto:multipathtcp@ietf.org>
List-Help: <mailto:multipathtcp-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/multipathtcp>, <mailto:multipathtcp-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 04 Feb 2016 17:28:55 -0000

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

