diff --git a/.dpdk.metadata b/.dpdk.metadata new file mode 100644 index 0000000..af260a2 --- /dev/null +++ b/.dpdk.metadata @@ -0,0 +1,2 @@ +7756c0e8b6751e7769ec9b9ac3585ad649219a49 SOURCES/dpdk-24.11.1.tar.xz +3cc45b133677fbff08e89e65a2120be52ebb27a5 SOURCES/pyelftools-0.27.tar.gz diff --git a/.gitignore b/.gitignore index e69de29..4b47d46 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +SOURCES/dpdk-24.11.1.tar.xz +SOURCES/pyelftools-0.27.tar.gz diff --git a/SOURCES/dpdk-22.11.tar.xz b/SOURCES/dpdk-22.11.tar.xz deleted file mode 100644 index 49908f8..0000000 Binary files a/SOURCES/dpdk-22.11.tar.xz and /dev/null differ diff --git a/SOURCES/pyelftools-0.27.tar.gz b/SOURCES/pyelftools-0.27.tar.gz deleted file mode 100644 index 3c6a4e0..0000000 Binary files a/SOURCES/pyelftools-0.27.tar.gz and /dev/null differ diff --git a/SPECS/dpdk.spec b/SPECS/dpdk.spec index a982d58..65530fa 100644 --- a/SPECS/dpdk.spec +++ b/SPECS/dpdk.spec @@ -8,8 +8,8 @@ #% define date 20191128 #% define shortcommit0 %(c=%{commit0}; echo ${c:0:7}) -%define ver 22.11 -%define rel 3 +%define ver 24.11.1 +%define rel 2 %define srcname dpdk%(awk -F. '{ if (NF > 2) print "-stable" }' <<<%{version}) @@ -23,9 +23,9 @@ Epoch: 2 %endif URL: http://dpdk.org %if 0%{?commit0:1} -Source: http://dpdk.org/browse/dpdk/snapshot/dpdk-%{commit0}.tar.xz +Source: https://dpdk.org/browse/dpdk/snapshot/dpdk-%{commit0}.tar.xz %else -Source: http://fast.dpdk.org/rel/dpdk-%{ver}.tar.xz +Source: https://fast.dpdk.org/rel/dpdk-%{ver}.tar.xz %endif # Only needed for creating snapshot tarballs, not used in build itself @@ -65,7 +65,7 @@ BuildRequires: python3-pyelftools BuildRequires: gcc, zlib-devel, numactl-devel, libarchive-devel BuildRequires: doxygen, python3-sphinx %ifarch x86_64 -BuildRequires: rdma-core-devel >= 15 +BuildRequires: rdma-core-devel >= 44 %endif %description @@ -151,11 +151,13 @@ ENABLED_DRIVERS+=( bus/vmbus common/iavf common/mlx5 + common/nfp net/bnxt + net/ena net/enic net/iavf net/ice - net/mlx4 + net/mana net/mlx5 net/netvsc net/nfp @@ -175,48 +177,41 @@ for driver in "${ENABLED_DRIVERS[@]}"; do enable_drivers="${enable_drivers:+$enable_drivers,}"$driver done -# As of 22.11, following libraries can be disabled: -# optional_libs = [ -# 'bitratestats', -# 'cfgfile', -# 'flow_classify', -# 'gpudev', -# 'gro', -# 'gso', -# 'kni', -# 'jobstats', -# 'latencystats', -# 'metrics', -# 'node', -# 'pdump', -# 'pipeline', -# 'port', -# 'power', -# 'table', -# 'vhost', -# ] # If doing any updates, this must be aligned with: # https://access.redhat.com/articles/3538141 -DISABLED_LIBS=( - cfgfile - flow_classify - gpudev - kni - jobstats - node - pipeline - port - power - table +ENABLED_LIBS=( + bbdev + bitratestats + bpf + cmdline + cryptodev + dmadev + gro + gso + hash + ip_frag + latencystats + member + meter + metrics + pcapng + pdump + security + stack + timer + vhost ) -for lib in "${DISABLED_LIBS[@]}"; do - disable_libs="${disable_libs:+$disable_libs,}"$lib +for lib in "${ENABLED_LIBS[@]}"; do + enable_libs="${enable_libs:+$enable_libs,}"$lib done +ln -s /usr/bin/true mandb +export PATH=$(pwd):$PATH %meson --includedir=include/dpdk \ --default-library=shared \ - -Ddisable_libs="$disable_libs" \ + -Ddeveloper_mode=disabled \ + -Denable_libs="$enable_libs" \ -Ddrivers_install_subdir=dpdk-pmds \ -Denable_apps="$enable_apps" \ -Denable_docs=true \ @@ -233,10 +228,10 @@ for driver in "${ENABLED_DRIVERS[@]}"; do echo "!!! Could not find $driver in rte_build_config.h, please check dependencies. !!!" false done -for lib in "${DISABLED_LIBS[@]}"; do +for lib in "${ENABLED_LIBS[@]}"; do config_token="RTE_LIB_$(echo "$lib" | tr [a-z/] [A-Z_])" - grep -Fqw "$config_token" */rte_build_config.h || continue - echo "!!! Found $lib in rte_build_config.h. !!!" + ! grep -Fqw "$config_token" */rte_build_config.h || continue + echo "!!! Could not find $lib in rte_build_config.h, please check dependencies. !!!" false done %meson_build @@ -246,9 +241,10 @@ done rm -f %{buildroot}%{_libdir}/*.a # Taken from debian/rules -rm -f %{docdir}/html/.buildinfo -rm -f %{docdir}/html/objects.inv -rm -rf %{docdir}/html/.doctrees +rm -f %{buildroot}%{docdir}/html/.buildinfo +rm -f %{buildroot}%{docdir}/html/objects.inv +rm -rf %{buildroot}%{docdir}/html/.doctrees +find %{buildroot}%{_datadir}/man/ -type f -a ! -iname "*rte_*" -exec rm {} \; %files # BSD @@ -279,6 +275,7 @@ rm -rf %{docdir}/html/.doctrees %{pmddir}/*.so %{_libdir}/pkgconfig/libdpdk.pc %{_libdir}/pkgconfig/libdpdk-libs.pc +%{_datadir}/man %if %{with examples} %files examples %{_bindir}/dpdk-* @@ -291,6 +288,21 @@ rm -rf %{docdir}/html/.doctrees %endif %changelog +* Mon Jan 13 2025 David Marchand - 24.11.1-2 +- Enable net/ena and net/mana drivers (RHEL-23843) + +* Wed Dec 18 2024 David Marchand - 24.11.1-1 +- Rebase to 24.11.1 (RHEL-71133) + +* Tue Dec 17 2024 Kevin Traynor - 23.11-2 +- Backport fixes for CVE-2024-11614 (RHEL-68605) + +* Fri Dec 15 2023 David Marchand - 23.11-1 +- Rebase to 23.11 (RHEL-19571) + +* Tue Apr 11 2023 David Marchand - 22.11-4 +- Fix MTU regression for net/i40e (#2182799) + * Thu Mar 23 2023 Timothy Redaelli - 22.11-3 - Add support to load compressed firmware (#2179024)