Merge pull request #297787 from wfdewith/dpdk-23.11

dpdk: 23.07 -> 23.11

authored by Jörg Thalheim and committed by GitHub 6da17952 1e546323

+15 -46
+4 -10
pkgs/os-specific/linux/dpdk-kmods/default.nix
··· 2 3 stdenv.mkDerivation rec { 4 pname = "dpdk-kmods"; 5 - version = "2022-08-29"; 6 7 src = fetchzip { 8 - url = "https://git.dpdk.org/dpdk-kmods/snapshot/dpdk-kmods-4a589f7bed00fc7009c93d430bd214ac7ad2bb6b.tar.xz"; 9 - sha256 = "sha256-l9asJuw2nl63I1BxK6udy2pNunRiMJxyoXeg9V5+WgI="; 10 }; 11 - 12 - patches = [ 13 - (fetchpatch { 14 - url = "https://git.launchpad.net/ubuntu/+source/dpdk-kmods/plain/debian/patches/0001-support-linux-5.18.patch?id=9d628c02c169d8190bc2cb6afd81e4d364c382cd"; 15 - sha256 = "sha256-j4kpx1DOnmf5lFxOhaVFNT7prEy1jrJERX2NFaybTPU="; 16 - }) 17 - ]; 18 19 hardeningDisable = [ "pic" ]; 20 ··· 39 license = licenses.gpl2Only; 40 maintainers = [ maintainers.mic92 ]; 41 platforms = platforms.linux; 42 }; 43 }
··· 2 3 stdenv.mkDerivation rec { 4 pname = "dpdk-kmods"; 5 + version = "2023-02-05"; 6 7 src = fetchzip { 8 + url = "https://git.dpdk.org/dpdk-kmods/snapshot/dpdk-kmods-e721c733cd24206399bebb8f0751b0387c4c1595.tar.xz"; 9 + sha256 = "sha256-AG5Lthp+CPR4R7I23DUmoWAmET8gLEFHHdjk2TUbQn4="; 10 }; 11 12 hardeningDisable = [ "pic" ]; 13 ··· 32 license = licenses.gpl2Only; 33 maintainers = [ maintainers.mic92 ]; 34 platforms = platforms.linux; 35 + broken = kernel.isHardened; 36 }; 37 }
+6 -18
pkgs/os-specific/linux/dpdk/default.nix
··· 1 { stdenv, lib 2 - , kernel 3 , fetchurl 4 , pkg-config, meson, ninja, makeWrapper 5 , libbsd, numactl, libbpf, zlib, elfutils, jansson, openssl, libpcap, rdma-core ··· 13 ) 14 }: 15 16 - let 17 - mod = kernel != null; 18 - dpdkVersion = "23.07"; 19 - in stdenv.mkDerivation { 20 pname = "dpdk"; 21 - version = "${dpdkVersion}" + lib.optionalString mod "-${kernel.version}"; 22 23 src = fetchurl { 24 - url = "https://fast.dpdk.org/rel/dpdk-${dpdkVersion}.tar.xz"; 25 - sha256 = "sha256-4IYU6K65KUB9c9cWmZKJpE70A0NSJx8JOX7vkysjs9Y="; 26 }; 27 28 nativeBuildInputs = [ ··· 44 openssl.dev 45 zlib 46 python3 47 - ] ++ lib.optionals mod kernel.moduleBuildDependencies; 48 49 propagatedBuildInputs = [ 50 # Propagated to support current DPDK users in nixpkgs which statically link ··· 56 57 postPatch = '' 58 patchShebangs config/arm buildtools 59 - '' + lib.optionalString mod '' 60 - # kernel_install_dir is hardcoded to `/lib/modules`; patch that. 61 - sed -i "s,kernel_install_dir *= *['\"].*,kernel_install_dir = '$kmod/lib/modules/${kernel.modDirVersion}'," kernel/linux/meson.build 62 ''; 63 64 mesonFlags = [ 65 "-Dtests=false" 66 "-Denable_docs=true" 67 - "-Denable_kmods=${lib.boolToString mod}" 68 ] 69 - # kni kernel driver is currently not compatble with 5.11 70 - ++ lib.optional (mod && kernel.kernelOlder "5.11") "-Ddisable_drivers=kni" 71 ++ [(if shared then "-Ddefault_library=shared" else "-Ddefault_library=static")] 72 ++ lib.optional (machine != null) "-Dmachine=${machine}" 73 - ++ lib.optional mod "-Dkernel_dir=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build" 74 ++ lib.optional (withExamples != []) "-Dexamples=${builtins.concatStringsSep "," withExamples}"; 75 76 postInstall = '' ··· 87 88 outputs = 89 [ "out" "doc" ] 90 - ++ lib.optional mod "kmod" 91 ++ lib.optional (withExamples != []) "examples"; 92 93 meta = with lib; { ··· 96 license = with licenses; [ lgpl21 gpl2 bsd2 ]; 97 platforms = platforms.linux; 98 maintainers = with maintainers; [ magenbluten orivej mic92 zhaofengli ]; 99 - broken = mod && kernel.isHardened; 100 }; 101 }
··· 1 { stdenv, lib 2 , fetchurl 3 , pkg-config, meson, ninja, makeWrapper 4 , libbsd, numactl, libbpf, zlib, elfutils, jansson, openssl, libpcap, rdma-core ··· 12 ) 13 }: 14 15 + stdenv.mkDerivation rec { 16 pname = "dpdk"; 17 + version = "23.11"; 18 19 src = fetchurl { 20 + url = "https://fast.dpdk.org/rel/dpdk-${version}.tar.xz"; 21 + sha256 = "sha256-ZPpY/fyelRDo5BTjvt0WW9PUykZaIxsoAyP4PNU/2GU="; 22 }; 23 24 nativeBuildInputs = [ ··· 40 openssl.dev 41 zlib 42 python3 43 + ]; 44 45 propagatedBuildInputs = [ 46 # Propagated to support current DPDK users in nixpkgs which statically link ··· 52 53 postPatch = '' 54 patchShebangs config/arm buildtools 55 ''; 56 57 mesonFlags = [ 58 "-Dtests=false" 59 "-Denable_docs=true" 60 + "-Ddeveloper_mode=disabled" 61 ] 62 ++ [(if shared then "-Ddefault_library=shared" else "-Ddefault_library=static")] 63 ++ lib.optional (machine != null) "-Dmachine=${machine}" 64 ++ lib.optional (withExamples != []) "-Dexamples=${builtins.concatStringsSep "," withExamples}"; 65 66 postInstall = '' ··· 77 78 outputs = 79 [ "out" "doc" ] 80 ++ lib.optional (withExamples != []) "examples"; 81 82 meta = with lib; { ··· 85 license = with licenses; [ lgpl21 gpl2 bsd2 ]; 86 platforms = platforms.linux; 87 maintainers = with maintainers; [ magenbluten orivej mic92 zhaofengli ]; 88 }; 89 }
+3 -13
pkgs/os-specific/linux/pktgen/default.nix
··· 18 19 stdenv.mkDerivation rec { 20 pname = "pktgen"; 21 - version = "22.07.1"; 22 23 src = fetchFromGitHub { 24 owner = "pktgen"; 25 repo = "Pktgen-DPDK"; 26 rev = "pktgen-${version}"; 27 - sha256 = "sha256-wBLGwVdn3ymUTVv7J/kbQYz4WNIgV246PHg51+FStUo="; 28 }; 29 30 - patches = [ 31 - (fetchpatch { 32 - # Ealier DPDK deprecated some macros, which were finally removed in >= 22.11 33 - url = "https://github.com/pktgen/Pktgen-DPDK/commit/089ef94ac04629f7380f5e618443bcacb2cef5ab.patch"; 34 - sha256 = "sha256-ITU/dIfu7QPpdIVYuCuDhDG9rVF+n8i1YYn9bFmQUME="; 35 - }) 36 - ]; 37 - 38 nativeBuildInputs = [ meson ninja pkg-config ]; 39 40 buildInputs = [ ··· 47 GUI = lib.optionalString withGtk "true"; 48 49 env.NIX_CFLAGS_COMPILE = toString [ 50 - # Needed with GCC 12 51 - "-Wno-error=address" 52 - "-Wno-error=use-after-free" 53 ]; 54 55 # requires symbols from this file
··· 18 19 stdenv.mkDerivation rec { 20 pname = "pktgen"; 21 + version = "23.10.0"; 22 23 src = fetchFromGitHub { 24 owner = "pktgen"; 25 repo = "Pktgen-DPDK"; 26 rev = "pktgen-${version}"; 27 + sha256 = "sha256-eujVEU+XkxF1kIGQJoBW3oXXNSqBEzx6mwR2XYoHinM="; 28 }; 29 30 nativeBuildInputs = [ meson ninja pkg-config ]; 31 32 buildInputs = [ ··· 39 GUI = lib.optionalString withGtk "true"; 40 41 env.NIX_CFLAGS_COMPILE = toString [ 42 + "-Wno-error=sign-compare" 43 ]; 44 45 # requires symbols from this file
+1 -3
pkgs/top-level/all-packages.nix
··· 27683 27684 cryptodev = linuxPackages.cryptodev; 27685 27686 - dpdk = callPackage ../os-specific/linux/dpdk { 27687 - kernel = null; # dpdk modules are in linuxPackages.dpdk.kmod 27688 - }; 27689 27690 keyutils = callPackage ../os-specific/linux/keyutils { }; 27691
··· 27683 27684 cryptodev = linuxPackages.cryptodev; 27685 27686 + dpdk = callPackage ../os-specific/linux/dpdk { }; 27687 27688 keyutils = callPackage ../os-specific/linux/keyutils { }; 27689
+1 -2
pkgs/top-level/linux-kernels.nix
··· 309 inherit (pkgs) odp-dpdk pktgen; # added 2018-05 310 inherit (pkgs) bcc bpftrace; # added 2021-12 311 inherit (pkgs) oci-seccomp-bpf-hook; # added 2022-11 312 313 acpi_call = callPackage ../os-specific/linux/acpi-call {}; 314 ··· 344 digimend = callPackage ../os-specific/linux/digimend { }; 345 346 dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { }; 347 - 348 - dpdk = pkgs.dpdk.override { inherit kernel; }; 349 350 exfat-nofuse = if lib.versionOlder kernel.version "5.8" then callPackage ../os-specific/linux/exfat { } else null; 351
··· 309 inherit (pkgs) odp-dpdk pktgen; # added 2018-05 310 inherit (pkgs) bcc bpftrace; # added 2021-12 311 inherit (pkgs) oci-seccomp-bpf-hook; # added 2022-11 312 + inherit (pkgs) dpdk; # added 2024-03 313 314 acpi_call = callPackage ../os-specific/linux/acpi-call {}; 315 ··· 345 digimend = callPackage ../os-specific/linux/digimend { }; 346 347 dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { }; 348 349 exfat-nofuse = if lib.versionOlder kernel.version "5.8" then callPackage ../os-specific/linux/exfat { } else null; 350