2019-03-23 14:55:22 +00:00
|
|
|
{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args:
|
|
|
|
let
|
2019-04-09 10:34:03 +01:00
|
|
|
mptcpVersion = "0.94.4";
|
|
|
|
modDirVersion = "4.14.110";
|
2019-03-23 14:55:22 +00:00
|
|
|
in
|
|
|
|
buildLinux ({
|
2015-11-17 08:48:31 +00:00
|
|
|
version = "${modDirVersion}-mptcp_v${mptcpVersion}";
|
2019-03-23 14:55:22 +00:00
|
|
|
inherit modDirVersion;
|
2015-11-17 08:48:31 +00:00
|
|
|
|
|
|
|
extraMeta = {
|
2017-09-07 02:29:36 +01:00
|
|
|
branch = "4.4";
|
|
|
|
maintainers = with stdenv.lib.maintainers; [ teto layus ];
|
2015-11-17 08:48:31 +00:00
|
|
|
};
|
|
|
|
|
2017-11-05 13:56:06 +00:00
|
|
|
src = fetchFromGitHub {
|
|
|
|
owner = "multipath-tcp";
|
|
|
|
repo = "mptcp";
|
|
|
|
rev = "v${mptcpVersion}";
|
2019-04-09 10:34:03 +01:00
|
|
|
sha256 = "1ng6p1djhm3m5g44yyq7gpqqbzsnhm9rimsafp5g4dx8cm27a70f";
|
2015-11-17 08:48:31 +00:00
|
|
|
};
|
|
|
|
|
2019-03-23 14:55:22 +00:00
|
|
|
structuredExtraConfig = with import ../../../../lib/kernel.nix { inherit (stdenv) lib; version = null; };
|
|
|
|
stdenv.lib.mkMerge [ {
|
|
|
|
IPV6 = yes;
|
|
|
|
MPTCP = yes;
|
|
|
|
IP_MULTIPLE_TABLES = yes;
|
2015-11-17 08:48:31 +00:00
|
|
|
|
|
|
|
# Enable advanced path-managers...
|
2019-03-23 14:55:22 +00:00
|
|
|
MPTCP_PM_ADVANCED = yes;
|
|
|
|
MPTCP_FULLMESH = yes;
|
|
|
|
MPTCP_NDIFFPORTS = yes;
|
2015-11-17 08:48:31 +00:00
|
|
|
# ... but use none by default.
|
|
|
|
# The default is safer if source policy routing is not setup.
|
2019-03-23 14:55:22 +00:00
|
|
|
DEFAULT_DUMMY = yes;
|
|
|
|
DEFAULT_MPTCP_PM.freeform = "default";
|
2015-11-17 08:48:31 +00:00
|
|
|
|
|
|
|
# MPTCP scheduler selection.
|
2019-03-23 14:55:22 +00:00
|
|
|
MPTCP_SCHED_ADVANCED = yes;
|
|
|
|
DEFAULT_MPTCP_SCHED.freeform = "default";
|
2015-11-17 08:48:31 +00:00
|
|
|
|
|
|
|
# Smarter TCP congestion controllers
|
2019-03-23 14:55:22 +00:00
|
|
|
TCP_CONG_LIA = module;
|
|
|
|
TCP_CONG_OLIA = module;
|
|
|
|
TCP_CONG_WVEGAS = module;
|
|
|
|
TCP_CONG_BALIA = module;
|
|
|
|
}
|
|
|
|
structuredExtraConfig
|
|
|
|
];
|
2018-01-28 18:50:18 +00:00
|
|
|
} // args)
|