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