f620b1b693
- defined buildLinux as generic.nix instead of manual-config.nix. This makes kernel derivations a tad more similar to your typical derivations. - moved $buildRoot to within the source folder, this way it doesn't have to be created before the unpackPhase and make it easier to work on kernel source without running the unpackPhase
48 lines
1.2 KiB
Nix
48 lines
1.2 KiB
Nix
{ stdenv, buildPackages, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
|
|
|
|
buildLinux (rec {
|
|
mptcpVersion = "0.93";
|
|
modDirVersion = "4.9.60";
|
|
version = "${modDirVersion}-mptcp_v${mptcpVersion}";
|
|
# autoModules= true;
|
|
|
|
extraMeta = {
|
|
branch = "4.4";
|
|
maintainers = with stdenv.lib.maintainers; [ teto layus ];
|
|
};
|
|
|
|
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)
|