From ea8a4fca07647837559e8e1f936faafc726081cd Mon Sep 17 00:00:00 2001 From: Matthieu Coudron Date: Mon, 24 Jun 2019 11:49:11 +0900 Subject: [PATCH] linux_mptcp_94: 0.94.4 -> 0.94.6 Also move to a pkgs/os-specific/linux/kernel/linux-mptcp-94.nix. makes updates easier. Added a structured config pkgs/os-specific/linux/kernel/mptcp-config.nix that can be shared between the different kernels. --- .../linux/kernel/linux-mptcp-94.nix | 26 ++++++++++ pkgs/os-specific/linux/kernel/linux-mptcp.nix | 49 ------------------- .../os-specific/linux/kernel/mptcp-config.nix | 28 +++++++++++ pkgs/top-level/all-packages.nix | 2 +- 4 files changed, 55 insertions(+), 50 deletions(-) create mode 100644 pkgs/os-specific/linux/kernel/linux-mptcp-94.nix delete mode 100644 pkgs/os-specific/linux/kernel/linux-mptcp.nix create mode 100644 pkgs/os-specific/linux/kernel/mptcp-config.nix 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.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 a73dbf25197..1b8f5213972 100644 --- a/pkgs/top-level/all-packages.nix +++ b/pkgs/top-level/all-packages.nix @@ -15290,7 +15290,7 @@ 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_94 = callPackage ../os-specific/linux/kernel/linux-mptcp-94.nix { kernelPatches = [ kernelPatches.bridge_stp_helper kernelPatches.cpu-cgroup-v2."4.11"