at 17.09-beta 50 lines 1.3 kB view raw
1{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args: 2 3import ./generic.nix (args // rec { 4 mptcpVersion = "0.91.3"; 5 modDirVersion = "4.1.38"; 6 version = "${modDirVersion}-mptcp_v${mptcpVersion}"; 7 8 extraMeta = { 9 branch = "4.1"; 10 maintainers = [ stdenv.lib.maintainers.layus ]; 11 }; 12 13 src = fetchurl { 14 url = "https://github.com/multipath-tcp/mptcp/archive/v${mptcpVersion}.tar.gz"; 15 sha256 = "0vqjnkzcbbvyq24w3cryfmw7hhws1xqkkxqcv71szkbqqs6mcr14"; 16 }; 17 18 kernelPatches = args.kernelPatches; 19 20 extraConfig = '' 21 IPV6 y 22 MPTCP y 23 IP_MULTIPLE_TABLES y 24 25 # Enable advanced path-managers... 26 MPTCP_PM_ADVANCED y 27 MPTCP_FULLMESH y 28 MPTCP_NDIFFPORTS y 29 # ... but use none by default. 30 # The default is safer if source policy routing is not setup. 31 DEFAULT_DUMMY y 32 DEFAULT_MPTCP_PM default 33 34 # MPTCP scheduler selection. 35 # Disabled as the only non-default is the useless round-robin. 36 MPTCP_SCHED_ADVANCED n 37 DEFAULT_MPTCP_SCHED default 38 39 # Smarter TCP congestion controllers 40 TCP_CONG_LIA m 41 TCP_CONG_OLIA m 42 TCP_CONG_WVEGAS m 43 TCP_CONG_BALIA m 44 ''; 45 46 features.iwlwifi = true; 47 features.efiBootStub = true; 48 features.needsCifsUtils = true; 49 features.netfilterRPFilter = true; 50} // (args.argsOverride or {}))