nixpkgs/pkgs/os-specific/linux/kernel/linux-mptcp.nix

48 lines
1.2 KiB
Nix
Raw Normal View History

2017-10-28 19:09:54 +00:00
{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
buildLinux (rec {
2017-11-05 13:56:06 +00:00
mptcpVersion = "0.93";
modDirVersion = "4.9.60";
version = "${modDirVersion}-mptcp_v${mptcpVersion}";
# autoModules= true;
extraMeta = {
2017-09-07 01:29:36 +00:00
branch = "4.4";
maintainers = with stdenv.lib.maintainers; [ teto layus ];
};
2017-11-05 13:56:06 +00:00
src = fetchFromGitHub {
owner = "multipath-tcp";
repo = "mptcp";
rev = "v${mptcpVersion}";
sha256 = "1irlppzvcmckrazs2c4vg6y8ji31552izc3wqabf401v57jvxcys";
};
extraConfig = ''
IPV6 y
MPTCP y
IP_MULTIPLE_TABLES y
# Enable advanced path-managers...
MPTCP_PM_ADVANCED y
MPTCP_FULLMESH y
MPTCP_NDIFFPORTS y
# ... but use none by default.
# The default is safer if source policy routing is not setup.
DEFAULT_DUMMY y
DEFAULT_MPTCP_PM default
# MPTCP scheduler selection.
# Disabled as the only non-default is the useless round-robin.
MPTCP_SCHED_ADVANCED n
DEFAULT_MPTCP_SCHED default
# Smarter TCP congestion controllers
TCP_CONG_LIA m
TCP_CONG_OLIA m
TCP_CONG_WVEGAS m
TCP_CONG_BALIA m
'' + (args.extraConfig or "");
} // args)