Compare commits
4 Commits
0ab5392128
...
main
Author | SHA256 | Date | |
---|---|---|---|
6354a0f14b | |||
067a93e62e | |||
f8b09b8054 | |||
f30a000626 |
35
0001-always_inline-fix.patch
Normal file
35
0001-always_inline-fix.patch
Normal file
@@ -0,0 +1,35 @@
|
||||
From a9ae58b265d580a1b7048e0686a626d7b2538d18 Mon Sep 17 00:00:00 2001
|
||||
From: Clemens Famulla-Conrad <cfamullaconrad@suse.de>
|
||||
Date: Tue, 1 Apr 2025 10:05:47 +0200
|
||||
Subject: [PATCH] rte_trace: rte_trace_feature_is_enabled as makro
|
||||
|
||||
---
|
||||
lib/eal/include/rte_trace.h | 9 ++-------
|
||||
1 file changed, 2 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/lib/eal/include/rte_trace.h b/lib/eal/include/rte_trace.h
|
||||
index 90af760194..df95674277 100644
|
||||
--- a/lib/eal/include/rte_trace.h
|
||||
+++ b/lib/eal/include/rte_trace.h
|
||||
@@ -44,16 +44,11 @@ bool rte_trace_is_enabled(void);
|
||||
* @return
|
||||
* true if trace feature is enabled, false otherwise.
|
||||
*/
|
||||
-__rte_experimental
|
||||
-static __rte_always_inline bool
|
||||
-rte_trace_feature_is_enabled(void)
|
||||
-{
|
||||
#ifdef RTE_TRACE
|
||||
- return true;
|
||||
+#define rte_trace_feature_is_enabled() (true)
|
||||
#else
|
||||
- return false;
|
||||
+#define rte_trace_feature_is_enabled() (false)
|
||||
#endif
|
||||
-}
|
||||
|
||||
/**
|
||||
* Enumerate trace mode operation.
|
||||
--
|
||||
2.43.0
|
||||
|
41
0001-dts-generate-random-capture_name-per-call.patch
Normal file
41
0001-dts-generate-random-capture_name-per-call.patch
Normal file
@@ -0,0 +1,41 @@
|
||||
From a1601d25a7c05e9b572c5055ffd460f7b902258c Mon Sep 17 00:00:00 2001
|
||||
From: Clemens Famulla-Conrad <cfamullaconrad@suse.de>
|
||||
Date: Thu, 5 Jun 2025 16:48:27 +0200
|
||||
Subject: [PATCH 1/1] dts: generate random capture_name per call
|
||||
Reference: boo#1244130
|
||||
|
||||
Previously, `capture_name` defaulted to a "dynamic" value. This caused
|
||||
non-deterministic documentation (as reported in
|
||||
https://bugs.dpdk.org/show_bug.cgi?id=1718) and could lead to
|
||||
overwriting capture files if the method was called
|
||||
multiple times within a single Python process.
|
||||
---
|
||||
.../traffic_generator/capturing_traffic_generator.py | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dts/framework/testbed_model/traffic_generator/capturing_traffic_generator.py b/dts/framework/testbed_model/traffic_generator/capturing_traffic_generator.py
|
||||
index 66a77da9c4..c1e4a898d4 100644
|
||||
--- a/dts/framework/testbed_model/traffic_generator/capturing_traffic_generator.py
|
||||
+++ b/dts/framework/testbed_model/traffic_generator/capturing_traffic_generator.py
|
||||
@@ -70,7 +70,7 @@ def send_packets_and_capture(
|
||||
receive_port: Port,
|
||||
filter_config: PacketFilteringConfig,
|
||||
duration: float,
|
||||
- capture_name: str = _get_default_capture_name(),
|
||||
+ capture_name: str = None,
|
||||
) -> list[Packet]:
|
||||
"""Send `packets` and capture received traffic.
|
||||
|
||||
@@ -104,6 +104,9 @@ def send_packets_and_capture(
|
||||
duration,
|
||||
)
|
||||
|
||||
+ if capture_name is None:
|
||||
+ capture_name = _get_default_capture_name()
|
||||
+
|
||||
self._logger.debug(f"Received packets: {get_packet_summaries(received_packets)}")
|
||||
self._write_capture_from_packets(capture_name, received_packets)
|
||||
return received_packets
|
||||
--
|
||||
2.43.0
|
||||
|
@@ -1,3 +0,0 @@
|
||||
<multibuild>
|
||||
<package>thunderx</package>
|
||||
</multibuild>
|
BIN
dpdk-23.11.1.tar.xz
(Stored with Git LFS)
BIN
dpdk-23.11.1.tar.xz
(Stored with Git LFS)
Binary file not shown.
BIN
dpdk-24.11.1.tar.xz
(Stored with Git LFS)
Normal file
BIN
dpdk-24.11.1.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
51
dpdk.changes
51
dpdk.changes
@@ -1,3 +1,54 @@
|
||||
-------------------------------------------------------------------
|
||||
Thu Jun 5 14:55:25 UTC 2025 - Clemens Famulla-Conrad <cfamullaconrad@suse.com>
|
||||
|
||||
- Fix deterministic build [bsc#1244130]
|
||||
[+ 0001-dts-generate-random-capture_name-per-call.patch]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Tue Apr 1 09:54:21 UTC 2025 - Clemens Famulla-Conrad <cfamullaconrad@suse.com>
|
||||
|
||||
- Change 0001-always_inline-fix.patch by replacing the function
|
||||
rte_trace_feature_is_enabled with a preprocessor substitution,
|
||||
this also work with older gcc7 where -mgeneral-regs-only isn't
|
||||
available.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 31 11:49:34 UTC 2025 - Richard Biener <rguenther@suse.com>
|
||||
|
||||
- Add 0001-always_inline-fix.patch to fix issue with always_inline
|
||||
and rte_trace_feature_is_enabled which should use -mgeneral-regs-only
|
||||
to inter-operate with other ISA flags. Remove GCC 14 build requirement
|
||||
for SLE15/16 again.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Mar 14 13:37:33 UTC 2025 - Clemens Famulla-Conrad <cfamullaconrad@suse.com>
|
||||
|
||||
- Remove the 'thunderx' multibuild flavor; it was identical to aarch64.
|
||||
It also makes 'Provides: dpdk-any' obsolete. [bsc#1237385]
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Mar 10 13:21:19 UTC 2025 - Clemens Famulla-Conrad <cfamullaconrad@suse.com>
|
||||
|
||||
- Update to version 24.11.1
|
||||
* Contains DPDK 24.11 plus the fix for CVE-2024-11614,
|
||||
remove patch dpdk-CVE-2024-11614.patch
|
||||
- Move docs from %{_docdir}/dpdk/dpdk to %{docdir}/dpdk
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Mon Feb 17 07:38:12 UTC 2025 - Guillaume GARDET <guillaume.gardet@opensuse.org>
|
||||
|
||||
- Update to LTS version 24.11
|
||||
* Changelog: https://doc.dpdk.org/guides/rel_notes/release_24_11.html
|
||||
* This update fix build with glibc 2.41
|
||||
- Use gcc14 on x86_64 SLE15/16 to avoid the inline error
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Wed Jan 1 13:12:20 UTC 2025 - Duraisankar P <Duraisankar.pitchumani@suse.com>
|
||||
|
||||
- Fix CVE-2024-11614 [bsc#1234718] - Denial Of Service from malicious guest on hypervisors using DPDK Vhost library
|
||||
- Added patch,
|
||||
+ dpdk-CVE-2024-11614.patch
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Sat Sep 14 12:34:14 UTC 2024 - Dan Partelly <d.partelly@yahoo.com>
|
||||
|
||||
|
91
dpdk.spec
91
dpdk.spec
@@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file for package dpdk
|
||||
#
|
||||
# Copyright (c) 2024 SUSE LLC
|
||||
# Copyright (c) 2025 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@@ -17,25 +17,11 @@
|
||||
# needssslcertforbuild
|
||||
|
||||
|
||||
%define flavor @BUILD_FLAVOR@%{nil}
|
||||
%define aarch64_machine armv8-a
|
||||
%define exclusive_arch aarch64 x86_64 ppc64le
|
||||
%define name_tag %{nil}
|
||||
%define summary_tag %{nil}
|
||||
%if "%{flavor}" == "thunderx"
|
||||
%define name_tag -thunderx
|
||||
%define summary_tag (thunderx)
|
||||
%define exclusive_arch aarch64
|
||||
%endif
|
||||
# http://doc.dpdk.org/guides-22.11/linux_gsg/build_dpdk.html#adjusting-build-options
|
||||
%define platform generic
|
||||
%define machine auto
|
||||
%ifarch aarch64
|
||||
%define machine %{aarch64_machine}
|
||||
%endif
|
||||
# This is in sync with <src>/ABI_VERSION
|
||||
# TODO: automate this sync
|
||||
%define maj 24
|
||||
%define maj 25
|
||||
%define min 0
|
||||
#%%define lname libdpdk-%%{maj}_%%{min}
|
||||
%define lname libdpdk-%{maj}
|
||||
@@ -51,8 +37,8 @@
|
||||
%bcond_without examples
|
||||
# Add option to build without tools
|
||||
%bcond_without tools
|
||||
Name: dpdk%{name_tag}
|
||||
Version: 23.11.1
|
||||
Name: dpdk
|
||||
Version: 24.11.1
|
||||
Release: 0
|
||||
Summary: Set of libraries and drivers for fast packet processing
|
||||
License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
|
||||
@@ -63,6 +49,10 @@ Source: https://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
|
||||
Patch0: 0001-fix-cpu-compatibility.patch
|
||||
# PATCH-FIX-UPSTREAM - https://bugs.dpdk.org/show_bug.cgi?id=1530
|
||||
Patch1: 0001-examples-vm_power_manager-add-missing-header.patch
|
||||
# Fix inline error for < gcc14 (<=SLE16)
|
||||
Patch2: 0001-always_inline-fix.patch
|
||||
# Fix reproducable builds https://bugzilla.opensuse.org/show_bug.cgi?id=1244130
|
||||
Patch3: 0001-dts-generate-random-capture_name-per-call.patch
|
||||
BuildRequires: %{python_module Sphinx}
|
||||
BuildRequires: %{python_module pyelftools >= 0.22}
|
||||
BuildRequires: %{pythons}
|
||||
@@ -84,10 +74,12 @@ BuildRequires: pkgconfig(libmnl)
|
||||
BuildRequires: pkgconfig(libpcap)
|
||||
BuildRequires: pkgconfig(numa)
|
||||
BuildRequires: pkgconfig(zlib)
|
||||
Conflicts: dpdk-any
|
||||
Provides: dpdk-any = %{version}
|
||||
Obsoletes: dpdk-kmp-trace < %{version}
|
||||
ExclusiveArch: %{exclusive_arch}
|
||||
%ifarch aarch64
|
||||
Provides: dpdk-thunderx = %{version}-%{release}
|
||||
Obsoletes: dpdk-thunderx < %{version}-%{release}
|
||||
%endif
|
||||
ExclusiveArch: aarch64 x86_64 ppc64le
|
||||
%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400
|
||||
# https://bugzilla.opensuse.org/show_bug.cgi?id=1196511
|
||||
BuildRequires: pkgconfig(libbpf)
|
||||
@@ -98,27 +90,33 @@ The Data Plane Development Kit is a set of libraries and drivers for
|
||||
fast packet processing in the user space.
|
||||
|
||||
%package devel
|
||||
Summary: Data Plane Development Kit development files %{summary_tag}
|
||||
Summary: Data Plane Development Kit development files
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{lname} = %{version}
|
||||
Conflicts: dpdk-any-devel
|
||||
Provides: dpdk-any-devel = %{version}
|
||||
%ifarch aarch64
|
||||
Provides: dpdk-thunderx-devel = %{version}-%{release}
|
||||
Obsoletes: dpdk-thunderx-devel < %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description devel
|
||||
This package contains the headers and other files needed for developing
|
||||
applications with the Data Plane Development Kit.
|
||||
|
||||
%package devel-static
|
||||
Summary: Data Plane Development Kit static development files %{summary_tag}
|
||||
Summary: Data Plane Development Kit static development files
|
||||
Group: Development/Libraries/C and C++
|
||||
Requires: %{name}-devel = %{version}
|
||||
%ifarch aarch64
|
||||
Provides: dpdk-thunderx-devel-static = %{version}-%{release}
|
||||
Obsoletes: dpdk-thunderx-devel-static < %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description devel-static
|
||||
This package contains the static library files needed for developing
|
||||
applications with the Data Plane Development Kit.
|
||||
|
||||
%package -n %{lname}
|
||||
Summary: Data Plane Development Kit runtime libraries %{summary_tag}
|
||||
Summary: Data Plane Development Kit runtime libraries
|
||||
Group: Development/Libraries/C and C++
|
||||
Provides: %{lname}-any = %{version}
|
||||
|
||||
@@ -127,26 +125,30 @@ This package contains the runtime libraries needed for 3rd party application
|
||||
to use the Data Plane Development Kit.
|
||||
|
||||
%package doc
|
||||
Summary: Data Plane Development Kit API documentation %{summary_tag}
|
||||
Summary: Data Plane Development Kit API documentation
|
||||
Group: System/Libraries
|
||||
Conflicts: dpdk-any-doc
|
||||
Provides: dpdk-any-doc = %{version}
|
||||
BuildArch: noarch
|
||||
%ifarch aarch64
|
||||
Provides: dpdk-thunderx-doc = %{version}-%{release}
|
||||
Obsoletes: dpdk-thunderx-doc < %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description doc
|
||||
API programming documentation for the Data Plane Development Kit.
|
||||
|
||||
%if %{with tools}
|
||||
%package tools
|
||||
Summary: Tools for setting up Data Plane Development Kit environment %{summary_tag}
|
||||
Summary: Tools for setting up Data Plane Development Kit environment
|
||||
Group: System/Libraries
|
||||
Requires: %{name} = %{version}
|
||||
Requires: findutils
|
||||
Requires: iproute
|
||||
Requires: kmod
|
||||
Requires: pciutils
|
||||
Conflicts: dpdk-any-tools
|
||||
Provides: dpdk-any-tools = %{version}
|
||||
%ifarch aarch64
|
||||
Provides: dpdk-thunderx-tools = %{version}-%{release}
|
||||
Obsoletes: dpdk-thunderx-tools < %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description tools
|
||||
This package contains tools for setting up Data Plane Development Kit environment
|
||||
@@ -154,11 +156,13 @@ This package contains tools for setting up Data Plane Development Kit environmen
|
||||
|
||||
%if %{with examples}
|
||||
%package examples
|
||||
Summary: Data Plane Development Kit example applications %{summary_tag}
|
||||
Summary: Data Plane Development Kit example applications
|
||||
Group: System/Libraries
|
||||
BuildRequires: libvirt-devel
|
||||
Conflicts: dpdk-any-examples
|
||||
Provides: dpdk-any-examples = %{version}
|
||||
%ifarch aarch64
|
||||
Provides: dpdk-thunderx-examples = %{version}-%{release}
|
||||
Obsoletes: dpdk-thunderx-examples < %{version}-%{release}
|
||||
%endif
|
||||
|
||||
%description examples
|
||||
Example applications utilizing the Data Plane Development Kit, such
|
||||
@@ -171,14 +175,8 @@ as L2 and L3 forwarding.
|
||||
%define pmddir %{_libdir}/dpdk-pmds-%{maj}.%{min}
|
||||
|
||||
%prep
|
||||
# can't use %%{name} because of dpdk-thunderx
|
||||
%setup -q -n dpdk-stable-%{version}
|
||||
%if 0%{?suse_version} > 1600
|
||||
%autopatch -p1
|
||||
%else
|
||||
# grr, no fs.copyfile() in the old meson in SLE (but it has old enough kernel).
|
||||
%autopatch -p1 -M 99
|
||||
%endif
|
||||
|
||||
# Skip not supported examples
|
||||
sed -i "/performance-thread/d" examples/meson.build
|
||||
@@ -230,9 +228,14 @@ for flavor in %{flavors_to_build}; do
|
||||
done
|
||||
|
||||
# Fix documentation
|
||||
mkdir -p %{buildroot}%docdir
|
||||
mv %{buildroot}%{_datadir}/doc/dpdk %{buildroot}%docdir
|
||||
rm -r %{buildroot}/%docdir/dpdk/html/.doctrees
|
||||
mkdir -p %{buildroot}%{docdir}
|
||||
mv %{buildroot}%{_datadir}/doc/dpdk %{buildroot}%{_docdir}
|
||||
rm -rf %{buildroot}%{docdir}/html/.doctrees
|
||||
rm -rf %{buildroot}%{docdir}/html/dts/.doctrees
|
||||
rm %{buildroot}%{docdir}/html/.buildinfo
|
||||
rm %{buildroot}%{docdir}/html/dts/.buildinfo
|
||||
rm %{buildroot}%{docdir}/html/dts/.html.d
|
||||
|
||||
# Fix man directory
|
||||
rm -r %{buildroot}%{_mandir}/man3/*
|
||||
|
||||
|
Reference in New Issue
Block a user