Accepting request 1077604 from home:dpitchumani:branches:openSUSE:Factory
Description: - Update DPDK to LTS release version v22.11.1 (jsc#PED-1237) - More details can be found in http://doc.dpdk.org/guides/rel_notes/release_22_11.html Actions: - submit home:dpitchumani:branches:openSUSE:Factory:Head/dpdk => network/dpdk OBS-URL: https://build.opensuse.org/request/show/1077604 OBS-URL: https://build.opensuse.org/package/show/network/dpdk?expand=0&rev=143
This commit is contained in:
parent
9c1b11f908
commit
7878d5e691
@ -1,38 +0,0 @@
|
|||||||
From 4034cebe2d0c36d8762fb4c06ba216b17f308e22 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Ferdinand Thiessen <rpm@fthiessen.de>
|
|
||||||
Date: Sat, 26 Feb 2022 22:14:14 +0100
|
|
||||||
Subject: [PATCH] build: try to get kernel version from kernel source
|
|
||||||
|
|
||||||
When building the kernel modules, try to get the kernel
|
|
||||||
version from the kernel sources first. This fixes the
|
|
||||||
kernel modules installation directory if the target kernel
|
|
||||||
version differs from the host kernel version, like for
|
|
||||||
CI build or when packaging for linux distributions.
|
|
||||||
|
|
||||||
Signed-off-by: Ferdinand Thiessen <rpm@fthiessen.de>
|
|
||||||
---
|
|
||||||
kernel/linux/meson.build | 18 ++++++++++++------
|
|
||||||
1 file changed, 12 insertions(+), 6 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/kernel/linux/meson.build b/kernel/linux/meson.build
|
|
||||||
--- dpdk-stable-21.11.1/kernel/linux/meson.build 2022-04-26 12:21:45.000000000 +0200
|
|
||||||
+++ mew/kernel/linux/meson.build 2022-04-27 18:17:06.676254482 +0200
|
|
||||||
@@ -11,7 +11,17 @@
|
|
||||||
|
|
||||||
if not meson.is_cross_build()
|
|
||||||
# native build
|
|
||||||
- kernel_version = run_command('uname', '-r', check: true).stdout().strip()
|
|
||||||
+ kernel_version = ''
|
|
||||||
+ if kernel_source_dir != ''
|
|
||||||
+ # Try kernel makefile first
|
|
||||||
+ r = run_command('make', '-s', '-C', kernel_source_dir, 'kernelrelease', check: false)
|
|
||||||
+ if r.returncode() == 0
|
|
||||||
+ kernel_version = r.stdout().strip()
|
|
||||||
+ endif
|
|
||||||
+ endif
|
|
||||||
+ if kernel_version == ''
|
|
||||||
+ kernel_version = run_command('uname', '-r').stdout().strip()
|
|
||||||
+ endif
|
|
||||||
kernel_install_dir = '/lib/modules/' + kernel_version + '/extra/dpdk'
|
|
||||||
if kernel_build_dir == ''
|
|
||||||
# use default path for native builds
|
|
69
0001-fix-cpu-compatibility.patch
Normal file
69
0001-fix-cpu-compatibility.patch
Normal file
@ -0,0 +1,69 @@
|
|||||||
|
From e2950fec9cd9c235a7847ed97b6914174857bf93 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "mvarlese@suse.de" <mvarlese@suse.de>
|
||||||
|
Date: Wed, 29 Apr 2020 12:24:16 +0200
|
||||||
|
Subject: [PATCH] fix cpu compatibility
|
||||||
|
|
||||||
|
Added 0001-fix-cpu-compatibility.patch to address issue with older CPUs (bsc#1125961, bsc#1099474)
|
||||||
|
|
||||||
|
Updated 2023-02-26 for version 22.11
|
||||||
|
|
||||||
|
diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
|
||||||
|
index 41bc07dde7..750180cb84 100644
|
||||||
|
--- a/drivers/bus/vdev/vdev.c
|
||||||
|
+++ b/drivers/bus/vdev/vdev.c
|
||||||
|
@@ -51,7 +51,11 @@ static struct vdev_custom_scans vdev_custom_scans =
|
||||||
|
static rte_spinlock_t vdev_custom_scan_lock = RTE_SPINLOCK_INITIALIZER;
|
||||||
|
|
||||||
|
/* register a driver */
|
||||||
|
-void
|
||||||
|
+#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
+void __attribute__((target ("sse2")))
|
||||||
|
+#else
|
||||||
|
+ void
|
||||||
|
+#endif
|
||||||
|
rte_vdev_register(struct rte_vdev_driver *driver)
|
||||||
|
{
|
||||||
|
TAILQ_INSERT_TAIL(&vdev_driver_list, driver, next);
|
||||||
|
diff --git a/lib/eal/common/eal_common_bus.c b/lib/eal/common/eal_common_bus.c
|
||||||
|
index deb9fb8a12..cb7bec607f 100644
|
||||||
|
--- a/lib/eal/common/eal_common_bus.c
|
||||||
|
+++ b/lib/eal/common/eal_common_bus.c
|
||||||
|
@@ -22,7 +22,11 @@ rte_bus_name(const struct rte_bus *bus)
|
||||||
|
return bus->name;
|
||||||
|
}
|
||||||
|
|
||||||
|
-void
|
||||||
|
+#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
+void __attribute__((target ("sse2")))
|
||||||
|
+#else
|
||||||
|
+ void
|
||||||
|
+#endif
|
||||||
|
rte_bus_register(struct rte_bus *bus)
|
||||||
|
{
|
||||||
|
RTE_VERIFY(bus);
|
||||||
|
diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h
|
||||||
|
index 15765b408d..4291706faa 100644
|
||||||
|
--- a/lib/eal/include/rte_common.h
|
||||||
|
+++ b/lib/eal/include/rte_common.h
|
||||||
|
@@ -179,8 +179,20 @@ typedef uint16_t unaligned_uint16_t;
|
||||||
|
* Lowest number is the first to run.
|
||||||
|
*/
|
||||||
|
#ifndef RTE_INIT_PRIO /* Allow to override from EAL */
|
||||||
|
+#if defined(__x86_64__) || defined(__i386__)
|
||||||
|
#define RTE_INIT_PRIO(func, prio) \
|
||||||
|
-static void __attribute__((constructor(RTE_PRIO(prio)), used)) func(void)
|
||||||
|
+static void \
|
||||||
|
+ __attribute__((constructor(RTE_PRIO(prio)), used)) \
|
||||||
|
+ __attribute__((target ("sse2"))) \
|
||||||
|
+ __attribute__((target ("no-sse3"))) \
|
||||||
|
+ __attribute__((target ("no-sse4"))) \
|
||||||
|
+ func(void)
|
||||||
|
+#else
|
||||||
|
+#define RTE_INIT_PRIO(func, prio) \
|
||||||
|
+static void \
|
||||||
|
+ __attribute__((constructor(RTE_PRIO(prio)), used)) \
|
||||||
|
+ func(void)
|
||||||
|
+#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
@ -3,11 +3,17 @@ From: =?UTF-8?q?Jaime=20Caama=C3=B1o=20Ruiz?= <jcaamano@suse.com>
|
|||||||
Date: Mon, 21 Sep 2020 14:50:13 +0200
|
Date: Mon, 21 Sep 2020 14:50:13 +0200
|
||||||
Subject: [PATCH] SLE15 SP3 compatibility patch for kni
|
Subject: [PATCH] SLE15 SP3 compatibility patch for kni
|
||||||
|
|
||||||
Updated 2022-02-25 for version 21.11
|
Add patch to resolve build error reported in Staging:E project
|
||||||
|
where a kernel backport (jsc#SLE-13536) introduced backward
|
||||||
|
incompatible changes to the API that break kni module build
|
||||||
|
* 0001-SLE15-SP3-compatibility-patch-for-kni.patch
|
||||||
|
|
||||||
diff -Nur dpdk-21.11/kernel/linux/kni/compat.h new/kernel/linux/kni/compat.h
|
Updated 2023-02-26 for version 22.11
|
||||||
--- dpdk-21.11/kernel/linux/kni/compat.h 2021-11-26 18:58:21.000000000 +0100
|
|
||||||
+++ new/kernel/linux/kni/compat.h 2022-02-25 18:08:52.638000134 +0100
|
diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h
|
||||||
|
index 3a86d12bbc..66d1afd944 100644
|
||||||
|
--- a/kernel/linux/kni/compat.h
|
||||||
|
+++ b/kernel/linux/kni/compat.h
|
||||||
@@ -14,7 +14,10 @@
|
@@ -14,7 +14,10 @@
|
||||||
#define SLE_VERSION(a, b, c) KERNEL_VERSION(a, b, c)
|
#define SLE_VERSION(a, b, c) KERNEL_VERSION(a, b, c)
|
||||||
#endif
|
#endif
|
||||||
|
@ -1,3 +0,0 @@
|
|||||||
version https://git-lfs.github.com/spec/v1
|
|
||||||
oid sha256:e0d1c442087ead6759d129ce7d7e3b87b4a01cd71047c621ebc35bb637027658
|
|
||||||
size 15115156
|
|
BIN
dpdk-22.11.1.tar.xz
(Stored with Git LFS)
Normal file
BIN
dpdk-22.11.1.tar.xz
(Stored with Git LFS)
Normal file
Binary file not shown.
62
dpdk.changes
62
dpdk.changes
@ -1,3 +1,65 @@
|
|||||||
|
-------------------------------------------------------------------
|
||||||
|
Wed Apr 5 21:10:54 UTC 2023 - Duraisankar P <Duraisankar.pitchumani@suse.com>
|
||||||
|
|
||||||
|
-- Update to LTS release version v22.11.1
|
||||||
|
Some of the new features are,
|
||||||
|
* Added initial LoongArch architecture support.
|
||||||
|
* Added support for multiple mbuf pools per ethdev Rx queue.
|
||||||
|
* Added support for congestion management in ethdev.
|
||||||
|
* Added protocol header based buffer split.
|
||||||
|
* Added proactive error handling mode for ethdev.
|
||||||
|
* Added ethdev Rx/Tx descriptor dump API.
|
||||||
|
* Added ethdev hairpin memory configuration options.
|
||||||
|
* Added new configuration flags for hairpin queues in rte_eth_hairpin_conf:
|
||||||
|
* Added strict queue to pre-configuration flow hints.
|
||||||
|
* Added configuration for asynchronous flow connection tracking.
|
||||||
|
* Added support for queue-based async query in flow API.
|
||||||
|
* Added new function rte_flow_async_action_handle_query() to query the action asynchronously.
|
||||||
|
* Extended metering and marking support in the flow API.
|
||||||
|
* Added flow offload action to route packets to kernel.
|
||||||
|
* Updated AF_XDP driver.
|
||||||
|
* Updated AMD Pensando ionic driver.
|
||||||
|
* Added GVE net PMD.
|
||||||
|
* Updated Intel iavf driver.
|
||||||
|
* Updated Intel ice driver.
|
||||||
|
* Added Intel idpf driver.
|
||||||
|
* Updated Marvell cnxk driver.
|
||||||
|
* Added Microsoft mana driver.
|
||||||
|
* Updated Netronome nfp driver.
|
||||||
|
* Added flow API support:
|
||||||
|
* Updated NVIDIA mlx5 driver.
|
||||||
|
* Updated NXP dpaa2 driver.
|
||||||
|
* Updated Wangxun ngbe driver.
|
||||||
|
* Added DMA vChannel unconfiguration for async vhost.
|
||||||
|
* Added non-blocking notify API to vhost library.
|
||||||
|
* Added support for MACsec in rte_security.
|
||||||
|
* Added new algorithms to cryptodev.
|
||||||
|
* Updated Intel QuickAssist Technology (QAT) crypto driver.
|
||||||
|
* Updated Marvell cnxk crypto driver.
|
||||||
|
* Updated aesni_mb crypto driver.
|
||||||
|
* Updated ipsec_mb crypto driver.
|
||||||
|
* Added UADK crypto driver.
|
||||||
|
* Added bbdev operation for FFT processing.
|
||||||
|
* Added Intel ACC200 bbdev driver.
|
||||||
|
* Added eventdev adapter instance get API.
|
||||||
|
* Added eventdev Tx adapter queue start/stop API.
|
||||||
|
* Added event crypto adapter vectorization support.
|
||||||
|
* Added NitroSketch in membership library.
|
||||||
|
* Added Intel uncore frequency control API to the power library.
|
||||||
|
* Added security performance test application.
|
||||||
|
* Updated IPsec sample application.
|
||||||
|
* Updated FIPS validation sample application.
|
||||||
|
* Rewrote pmdinfo script.
|
||||||
|
* More details can be found in
|
||||||
|
http://doc.dpdk.org/guides/rel_notes/release_22_11.html
|
||||||
|
* Removed the patches as fixed in upstream
|
||||||
|
0001-build-try-to-get-kernel-version-from-kernel-source.patch
|
||||||
|
kni-fix-build-with-Linux-5.18.patch
|
||||||
|
* Added Patches:
|
||||||
|
0001-fix-cpu-compatibility.patch
|
||||||
|
* Rebased patches:
|
||||||
|
0002-SLE15-SP3-compatibility-patch-for-kni.patch
|
||||||
|
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
Wed Feb 22 08:58:07 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>
|
Wed Feb 22 08:58:07 UTC 2023 - Bernhard Wiedemann <bwiedemann@suse.com>
|
||||||
|
|
||||||
|
26
dpdk.spec
26
dpdk.spec
@ -1,7 +1,7 @@
|
|||||||
#
|
#
|
||||||
# spec file
|
# spec file
|
||||||
#
|
#
|
||||||
# Copyright (c) 2022 SUSE LLC
|
# Copyright (c) 2023 SUSE LLC
|
||||||
#
|
#
|
||||||
# All modifications and additions to the file contributed by third parties
|
# All modifications and additions to the file contributed by third parties
|
||||||
# remain the property of their copyright owners, unless otherwise agreed
|
# remain the property of their copyright owners, unless otherwise agreed
|
||||||
@ -28,7 +28,7 @@
|
|||||||
%define aarch64_machine thunderx
|
%define aarch64_machine thunderx
|
||||||
%define exclusive_arch aarch64
|
%define exclusive_arch aarch64
|
||||||
%endif
|
%endif
|
||||||
# http://doc.dpdk.org/guides-21.11/linux_gsg/build_dpdk.html#adjusting-build-options
|
# http://doc.dpdk.org/guides-22.11/linux_gsg/build_dpdk.html#adjusting-build-options
|
||||||
%define platform generic
|
%define platform generic
|
||||||
%define machine auto
|
%define machine auto
|
||||||
%ifarch aarch64
|
%ifarch aarch64
|
||||||
@ -36,7 +36,7 @@
|
|||||||
%endif
|
%endif
|
||||||
# This is in sync with <src>/ABI_VERSION
|
# This is in sync with <src>/ABI_VERSION
|
||||||
# TODO: automate this sync
|
# TODO: automate this sync
|
||||||
%define maj 22
|
%define maj 23
|
||||||
%define min 0
|
%define min 0
|
||||||
#%%define lname libdpdk-%%{maj}_%%{min}
|
#%%define lname libdpdk-%%{maj}_%%{min}
|
||||||
%define lname libdpdk-%{maj}
|
%define lname libdpdk-%{maj}
|
||||||
@ -46,7 +46,7 @@
|
|||||||
%bcond_without tools
|
%bcond_without tools
|
||||||
#
|
#
|
||||||
Name: dpdk%{name_tag}
|
Name: dpdk%{name_tag}
|
||||||
Version: 21.11.1
|
Version: 22.11.1
|
||||||
Release: 0
|
Release: 0
|
||||||
Summary: Set of libraries and drivers for fast packet processing
|
Summary: Set of libraries and drivers for fast packet processing
|
||||||
License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
|
License: BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-only
|
||||||
@ -55,15 +55,14 @@ URL: https://www.dpdk.org/
|
|||||||
Source: https://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
|
Source: https://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
|
||||||
Source1: preamble
|
Source1: preamble
|
||||||
# PATCH-FIX-OPENSUSE PATCH-FEATURE-UPSTREAM
|
# PATCH-FIX-OPENSUSE PATCH-FEATURE-UPSTREAM
|
||||||
Patch0: 0001-build-try-to-get-kernel-version-from-kernel-source.patch
|
Patch0: 0001-fix-cpu-compatibility.patch
|
||||||
Patch1: 0002-SLE15-SP3-compatibility-patch-for-kni.patch
|
Patch1: 0002-SLE15-SP3-compatibility-patch-for-kni.patch
|
||||||
Patch2: kni-fix-build-with-Linux-5.18.patch
|
|
||||||
BuildRequires: binutils
|
BuildRequires: binutils
|
||||||
BuildRequires: doxygen
|
BuildRequires: doxygen
|
||||||
BuildRequires: fdupes
|
BuildRequires: fdupes
|
||||||
BuildRequires: kernel-syms
|
BuildRequires: kernel-syms
|
||||||
BuildRequires: libfdt-devel
|
BuildRequires: libfdt-devel
|
||||||
BuildRequires: meson >= 0.49.2
|
BuildRequires: meson >= 0.53.2
|
||||||
BuildRequires: modutils
|
BuildRequires: modutils
|
||||||
BuildRequires: patchelf
|
BuildRequires: patchelf
|
||||||
BuildRequires: pesign-obs-integration
|
BuildRequires: pesign-obs-integration
|
||||||
@ -164,7 +163,6 @@ as L2 and L3 forwarding.
|
|||||||
Summary: DPDK KNI kernel module %{summary_tag}
|
Summary: DPDK KNI kernel module %{summary_tag}
|
||||||
Group: System/Kernel
|
Group: System/Kernel
|
||||||
BuildRequires: %{kernel_module_package_buildreqs}
|
BuildRequires: %{kernel_module_package_buildreqs}
|
||||||
Conflicts: dpdk-any-kmp
|
|
||||||
%suse_kernel_module_package -p %{_sourcedir}/preamble pae 64kb
|
%suse_kernel_module_package -p %{_sourcedir}/preamble pae 64kb
|
||||||
|
|
||||||
%description kmp
|
%description kmp
|
||||||
@ -189,7 +187,7 @@ sed -i "/performance-thread/d" examples/meson.build
|
|||||||
%define _vpath_builddir "build-%{_target_cpu}-$flavor"
|
%define _vpath_builddir "build-%{_target_cpu}-$flavor"
|
||||||
|
|
||||||
%ifarch x86_64
|
%ifarch x86_64
|
||||||
export CFLAGS="%{optflags} -msse4"
|
export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -msse4"
|
||||||
%endif
|
%endif
|
||||||
examples="all"
|
examples="all"
|
||||||
for flavor in %{flavors_to_build}; do
|
for flavor in %{flavors_to_build}; do
|
||||||
@ -236,7 +234,15 @@ mv %{buildroot}/lib/modules %{buildroot}%{_prefix}/lib
|
|||||||
# Fix documentation
|
# Fix documentation
|
||||||
mkdir -p %{buildroot}%docdir
|
mkdir -p %{buildroot}%docdir
|
||||||
mv %{buildroot}%{_datadir}/doc/dpdk %{buildroot}%docdir
|
mv %{buildroot}%{_datadir}/doc/dpdk %{buildroot}%docdir
|
||||||
find %{buildroot}%docdir -name .doctrees | xargs rm -r # cleanup Sphinx leftovers
|
|
||||||
|
# driver .so files often depend upon the bus drivers for their connect bus,
|
||||||
|
# e.g. ixgbe depends on librte_bus_pci. This means that the bus drivers need
|
||||||
|
# to be in the library path, so symlink the drivers from the main lib directory
|
||||||
|
# Fix broken symlink created by buildtools/symlink-drivers-solibs.sh
|
||||||
|
for f in %{buildroot}/%{pmddir}/*.so.*; do
|
||||||
|
bn=$(basename ${f})
|
||||||
|
ln -s %{pmddir}/${bn} %{buildroot}%{_libdir}/${bn}
|
||||||
|
done
|
||||||
|
|
||||||
%if ! %{with tools}
|
%if ! %{with tools}
|
||||||
# Remove tools if not needed
|
# Remove tools if not needed
|
||||||
|
@ -1,49 +0,0 @@
|
|||||||
From: Jiri Slaby <jslaby@suse.cz>
|
|
||||||
Date: Wed, 25 May 2022 12:04:10 +0200
|
|
||||||
Subject: kni: fix build with Linux 5.18
|
|
||||||
Patch-mainline: Submitted 2022/05/25, 20220525102641.20982-1-jslaby@suse.cz
|
|
||||||
References: kernel 5.18
|
|
||||||
|
|
||||||
Since commit 2655926aea9b (net: Remove netif_rx_any_context() and
|
|
||||||
netif_rx_ni().) in 5.18, netif_rx_ni() no longer exists as netif_rx()
|
|
||||||
can be called from any context. So define HAVE_NETIF_RX_NI for older
|
|
||||||
releases and call the appropriate function in kni_net.
|
|
||||||
|
|
||||||
Cc: stable@dpdk.org
|
|
||||||
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
|
|
||||||
---
|
|
||||||
kernel/linux/kni/compat.h | 4 ++++
|
|
||||||
kernel/linux/kni/kni_net.c | 4 ++++
|
|
||||||
2 files changed, 8 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/kernel/linux/kni/compat.h b/kernel/linux/kni/compat.h
|
|
||||||
index 664785674ff1..a81846a8a895 100644
|
|
||||||
--- a/kernel/linux/kni/compat.h
|
|
||||||
+++ b/kernel/linux/kni/compat.h
|
|
||||||
@@ -141,3 +141,7 @@
|
|
||||||
#if KERNEL_VERSION(5, 9, 0) > LINUX_VERSION_CODE
|
|
||||||
#define HAVE_TSK_IN_GUP
|
|
||||||
#endif
|
|
||||||
+
|
|
||||||
+#if LINUX_VERSION_CODE < KERNEL_VERSION(5, 18, 0)
|
|
||||||
+#define HAVE_NETIF_RX_NI
|
|
||||||
+#endif
|
|
||||||
diff --git a/kernel/linux/kni/kni_net.c b/kernel/linux/kni/kni_net.c
|
|
||||||
index 29e5b9e21f9e..a8b092b7567d 100644
|
|
||||||
--- a/kernel/linux/kni/kni_net.c
|
|
||||||
+++ b/kernel/linux/kni/kni_net.c
|
|
||||||
@@ -441,7 +441,11 @@ kni_net_rx_normal(struct kni_dev *kni)
|
|
||||||
skb->ip_summed = CHECKSUM_UNNECESSARY;
|
|
||||||
|
|
||||||
/* Call netif interface */
|
|
||||||
+#ifdef HAVE_NETIF_RX_NI
|
|
||||||
netif_rx_ni(skb);
|
|
||||||
+#else
|
|
||||||
+ netif_rx(skb);
|
|
||||||
+#endif
|
|
||||||
|
|
||||||
/* Update statistics */
|
|
||||||
dev->stats.rx_bytes += len;
|
|
||||||
--
|
|
||||||
2.36.1
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user