at 16.09-beta 51 lines 1.3 kB view raw
1{ stdenv, fetchurl, perl, buildLinux, ... } @ args: 2 3import ./generic.nix (args // rec { 4 mptcpVersion = "0.91"; 5 modDirVersion = "4.1.26"; 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 = "0rbvgz89j5wk781y201qdxy2kz4gmlamb72wdbxj8mxv92x56lh3"; 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.canDisableNetfilterConntrackHelpers = true; 50 features.netfilterRPFilter = true; 51} // (args.argsOverride or {}))