Accepting request 1077701 from network
OBS-URL: https://build.opensuse.org/request/show/1077701 OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/dpdk?expand=0&rev=56
This commit is contained in:
commit
a5d617715e
@ -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
|
||||
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
|
||||
--- 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
|
||||
Updated 2023-02-26 for version 22.11
|
||||
|
||||
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 @@
|
||||
#define SLE_VERSION(a, b, c) KERNEL_VERSION(a, b, c)
|
||||
#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>
|
||||
|
||||
|
26
dpdk.spec
26
dpdk.spec
@ -1,7 +1,7 @@
|
||||
#
|
||||
# spec file
|
||||
#
|
||||
# Copyright (c) 2022 SUSE LLC
|
||||
# Copyright (c) 2023 SUSE LLC
|
||||
#
|
||||
# All modifications and additions to the file contributed by third parties
|
||||
# remain the property of their copyright owners, unless otherwise agreed
|
||||
@ -28,7 +28,7 @@
|
||||
%define aarch64_machine thunderx
|
||||
%define exclusive_arch aarch64
|
||||
%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 machine auto
|
||||
%ifarch aarch64
|
||||
@ -36,7 +36,7 @@
|
||||
%endif
|
||||
# This is in sync with <src>/ABI_VERSION
|
||||
# TODO: automate this sync
|
||||
%define maj 22
|
||||
%define maj 23
|
||||
%define min 0
|
||||
#%%define lname libdpdk-%%{maj}_%%{min}
|
||||
%define lname libdpdk-%{maj}
|
||||
@ -46,7 +46,7 @@
|
||||
%bcond_without tools
|
||||
#
|
||||
Name: dpdk%{name_tag}
|
||||
Version: 21.11.1
|
||||
Version: 22.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
|
||||
@ -55,15 +55,14 @@ URL: https://www.dpdk.org/
|
||||
Source: https://fast.dpdk.org/rel/dpdk-%{version}.tar.xz
|
||||
Source1: preamble
|
||||
# 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
|
||||
Patch2: kni-fix-build-with-Linux-5.18.patch
|
||||
BuildRequires: binutils
|
||||
BuildRequires: doxygen
|
||||
BuildRequires: fdupes
|
||||
BuildRequires: kernel-syms
|
||||
BuildRequires: libfdt-devel
|
||||
BuildRequires: meson >= 0.49.2
|
||||
BuildRequires: meson >= 0.53.2
|
||||
BuildRequires: modutils
|
||||
BuildRequires: patchelf
|
||||
BuildRequires: pesign-obs-integration
|
||||
@ -164,7 +163,6 @@ as L2 and L3 forwarding.
|
||||
Summary: DPDK KNI kernel module %{summary_tag}
|
||||
Group: System/Kernel
|
||||
BuildRequires: %{kernel_module_package_buildreqs}
|
||||
Conflicts: dpdk-any-kmp
|
||||
%suse_kernel_module_package -p %{_sourcedir}/preamble pae 64kb
|
||||
|
||||
%description kmp
|
||||
@ -189,7 +187,7 @@ sed -i "/performance-thread/d" examples/meson.build
|
||||
%define _vpath_builddir "build-%{_target_cpu}-$flavor"
|
||||
|
||||
%ifarch x86_64
|
||||
export CFLAGS="%{optflags} -msse4"
|
||||
export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -msse4"
|
||||
%endif
|
||||
examples="all"
|
||||
for flavor in %{flavors_to_build}; do
|
||||
@ -236,7 +234,15 @@ mv %{buildroot}/lib/modules %{buildroot}%{_prefix}/lib
|
||||
# Fix documentation
|
||||
mkdir -p %{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}
|
||||
# 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