diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp-93.nix b/pkgs/os-specific/linux/kernel/linux-mptcp-93.nix deleted file mode 100644 index 8be59fbea90..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-mptcp-93.nix +++ /dev/null @@ -1,47 +0,0 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, ... } @ args: - -buildLinux (rec { - mptcpVersion = "0.93"; - modDirVersion = "4.9.60"; - version = "${modDirVersion}-mptcp_v${mptcpVersion}"; - - 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) - diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix b/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix new file mode 100644 index 00000000000..e53c3ceb5c4 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-mptcp-94.nix @@ -0,0 +1,26 @@ +{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args: +let + mptcpVersion = "0.94.6"; + modDirVersion = "4.14.127"; +in +buildLinux ({ + version = "${modDirVersion}-mptcp_v${mptcpVersion}"; + inherit modDirVersion; + + extraMeta = { + branch = "4.4"; + maintainers = with stdenv.lib.maintainers; [ teto layus ]; + }; + + src = fetchFromGitHub { + owner = "multipath-tcp"; + repo = "mptcp"; + rev = "v${mptcpVersion}"; + sha256 = "071cx9205wpzhi5gc2da79w2abs3czd60jg0xml7j1szc5wl4yfn"; + }; + + structuredExtraConfig = stdenv.lib.mkMerge [ + (import ./mptcp-config.nix { inherit stdenv; }) + structuredExtraConfig + ]; +} // args) diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp-95.nix b/pkgs/os-specific/linux/kernel/linux-mptcp-95.nix new file mode 100644 index 00000000000..ad933ff63a7 --- /dev/null +++ b/pkgs/os-specific/linux/kernel/linux-mptcp-95.nix @@ -0,0 +1,27 @@ +{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args: +let + mptcpVersion = "0.95"; + modDirVersion = "4.19.55"; +in +buildLinux ({ + version = "${modDirVersion}-mptcp_v${mptcpVersion}"; + inherit modDirVersion; + + extraMeta = { + branch = "4.19"; + maintainers = with stdenv.lib.maintainers; [ teto layus ]; + }; + + src = fetchFromGitHub { + owner = "multipath-tcp"; + repo = "mptcp"; + rev = "v${mptcpVersion}"; + sha256 = "04a66iq5vsiz8mkpszfxmqknz7y4w3lsckrcz6q1syjpk0pdyiyw"; + }; + + structuredExtraConfig = stdenv.lib.mkMerge [ + (import ./mptcp-config.nix { inherit stdenv; }) + structuredExtraConfig + ]; + +} // args) diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix deleted file mode 100644 index 44499f39cc1..00000000000 --- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix +++ /dev/null @@ -1,49 +0,0 @@ -{ stdenv, buildPackages, fetchFromGitHub, perl, buildLinux, structuredExtraConfig ? {}, ... } @ args: -let - mptcpVersion = "0.94.4"; - modDirVersion = "4.14.110"; -in -buildLinux ({ - version = "${modDirVersion}-mptcp_v${mptcpVersion}"; - inherit modDirVersion; - - extraMeta = { - branch = "4.4"; - maintainers = with stdenv.lib.maintainers; [ teto layus ]; - }; - - src = fetchFromGitHub { - owner = "multipath-tcp"; - repo = "mptcp"; - rev = "v${mptcpVersion}"; - sha256 = "1ng6p1djhm3m5g44yyq7gpqqbzsnhm9rimsafp5g4dx8cm27a70f"; - }; - - structuredExtraConfig = with import ../../../../lib/kernel.nix { inherit (stdenv) lib; version = null; }; - stdenv.lib.mkMerge [ { - IPV6 = yes; - MPTCP = yes; - IP_MULTIPLE_TABLES = yes; - - # Enable advanced path-managers... - MPTCP_PM_ADVANCED = yes; - MPTCP_FULLMESH = yes; - MPTCP_NDIFFPORTS = yes; - # ... but use none by default. - # The default is safer if source policy routing is not setup. - DEFAULT_DUMMY = yes; - DEFAULT_MPTCP_PM.freeform = "default"; - - # MPTCP scheduler selection. - MPTCP_SCHED_ADVANCED = yes; - DEFAULT_MPTCP_SCHED.freeform = "default"; - - # Smarter TCP congestion controllers - TCP_CONG_LIA = module; - TCP_CONG_OLIA = module; - TCP_CONG_WVEGAS = module; - TCP_CONG_BALIA = module; - } - structuredExtraConfig - ]; -} // args) diff --git a/pkgs/os-specific/linux/kernel/mptcp-config.nix b/pkgs/os-specific/linux/kernel/mptcp-config.nix new file mode 100644 index 00000000000..e5e3ee283ff --- /dev/null +++ b/pkgs/os-specific/linux/kernel/mptcp-config.nix @@ -0,0 +1,28 @@ +{ stdenv }: +with import ../../../../lib/kernel.nix { inherit (stdenv) lib; version = null; }; +{ + # DRM_AMDGPU = yes; + + IPV6 = yes; + MPTCP = yes; + IP_MULTIPLE_TABLES = yes; + + # Enable advanced path-managers... + MPTCP_PM_ADVANCED = yes; + MPTCP_FULLMESH = yes; + MPTCP_NDIFFPORTS = yes; + # ... but use none by default. + # The default is safer if source policy routing is not setup. + DEFAULT_DUMMY = yes; + DEFAULT_MPTCP_PM.freeform = "default"; + + # MPTCP scheduler selection. + MPTCP_SCHED_ADVANCED = yes; + DEFAULT_MPTCP_SCHED.freeform = "default"; + + # Smarter TCP congestion controllers + TCP_CONG_LIA = module; + TCP_CONG_OLIA = module; + TCP_CONG_WVEGAS = module; + TCP_CONG_BALIA = module; +} diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix index 04943051303..818f8daa91d 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15294,8 +15294,9 @@ in klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { }); - linux_mptcp = linux_mptcp_94; - linux_mptcp_94 = callPackage ../os-specific/linux/kernel/linux-mptcp.nix { + linux_mptcp = linux_mptcp_95; + + linux_mptcp_94 = callPackage ../os-specific/linux/kernel/linux-mptcp-94.nix { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.cpu-cgroup-v2."4.11" @@ -15308,13 +15309,8 @@ in ]; }; - linux_mptcp_93 = callPackage ../os-specific/linux/kernel/linux-mptcp-93.nix { - kernelPatches = - [ kernelPatches.bridge_stp_helper - kernelPatches.p9_fixes - kernelPatches.cpu-cgroup-v2."4.9" - kernelPatches.modinst_arg_list_too_long - ]; + linux_mptcp_95 = callPackage ../os-specific/linux/kernel/linux-mptcp-95.nix { + kernelPatches = linux_4_19.kernelPatches; }; linux_rpi = callPackage ../os-specific/linux/kernel/linux-rpi.nix {