Sync from SUSE:SLFO:Main dpdk revision ce70576c615c7d2f52affd38bc9becba

This commit is contained in:
Adrian Schröter 2024-10-11 10:00:33 +02:00
parent ad5d68acb5
commit 0ab5392128
9 changed files with 449 additions and 159 deletions

View File

@ -0,0 +1,32 @@
From a351bb62c81223c8e4727484ae54766ca8a6926f Mon Sep 17 00:00:00 2001
From: Guillaume Gardet <Guillaume.Gardet@arm.com>
Date: Thu, 29 Aug 2024 16:33:19 +0200
Subject: [PATCH] examples/vm_power_manager: add missing header
strtol is defined in stdlib.h
Bugzilla ID: 1530
Signed-off-by: Guillaume Gardet <guillaume.gardet@arm.com>
EDIT: drop .mailmap part for backport
---
.mailmap | 1 +
examples/vm_power_manager/guest_cli/vm_power_cli_guest.c | 1 +
2 files changed, 2 insertions(+)
diff --git a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c
index 5eddb47847..c153a1f8e0 100644
--- a/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c
+++ b/examples/vm_power_manager/guest_cli/vm_power_cli_guest.c
@@ -6,6 +6,7 @@
#include <stdint.h>
#include <string.h>
#include <stdio.h>
+#include <stdlib.h>
#include <termios.h>
#include <cmdline_rdline.h>
--
2.46.0

View File

@ -5,10 +5,10 @@ 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
Updated 2024-08-26 for version 23.11
diff --git a/drivers/bus/vdev/vdev.c b/drivers/bus/vdev/vdev.c
index 41bc07dde7..750180cb84 100644
index 7974b27295..25eec8bf6e 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 =
@ -25,7 +25,7 @@ index 41bc07dde7..750180cb84 100644
{
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
index acac14131a..a19f5e5431 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)
@ -42,13 +42,13 @@ index deb9fb8a12..cb7bec607f 100644
{
RTE_VERIFY(bus);
diff --git a/lib/eal/include/rte_common.h b/lib/eal/include/rte_common.h
index 15765b408d..4291706faa 100644
index c1ba32d00e..525a575c08 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.
@@ -208,8 +208,20 @@ typedef uint16_t unaligned_uint16_t;
*/
#ifndef RTE_INIT_PRIO /* Allow to override from EAL */
#ifndef RTE_TOOLCHAIN_MSVC
+#if defined(__x86_64__) || defined(__i386__)
#define RTE_INIT_PRIO(func, prio) \
-static void __attribute__((constructor(RTE_PRIO(prio)), used)) func(void)
@ -64,6 +64,6 @@ index 15765b408d..4291706faa 100644
+ __attribute__((constructor(RTE_PRIO(prio)), used)) \
+ func(void)
+#endif
#endif
/**
#else
/* definition from the Microsoft CRT */
typedef int(__cdecl *_PIFV)(void);

View File

@ -1,55 +0,0 @@
From: Ferruh Yigit <ferruh.yigit@amd.com>
Date: Fri, 14 Apr 2023 16:25:22 +0100
Subject: kni: fix build with Linux 6.3
Patch-mainline: yes
Git-commit: 5f34cc454df420b9b2da8deb949fb76cba058b87
References: kernel 6.3
KNI calls `get_user_pages_remote()` API which is using `FOLL_TOUCH`
flag, but `FOLL_TOUCH` is no more in public headers since v6.3,
causing a build error.
`FOLL_*` defines in Linux kernel first moved to another header [1],
later some of them moved to memory subsystem internal header [2] for 6.3
`get_user_pages_remote()` already sets `FOLL_TOUCH` internally,
no need to set this flag externally anyway, moving flag from the call
altogether.
[1]
Commit b5054174ac7c ("mm: move FOLL_* defs to mm_types.h")
[2]
Commit 2c2241081f7d ("mm/gup: move private gup FOLL_ flags to internal.h")
Fixes: e73831dc6c26 ("kni: support userspace VA")
Cc: stable@dpdk.org
Signed-off-by: Ferruh Yigit <ferruh.yigit@amd.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>
Signed-off-by: Jiri Slaby <jslaby@suse.cz>
---
kernel/linux/kni/kni_dev.h | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/kernel/linux/kni/kni_dev.h b/kernel/linux/kni/kni_dev.h
index a2c6d9fc..21bfb689 100644
--- a/kernel/linux/kni/kni_dev.h
+++ b/kernel/linux/kni/kni_dev.h
@@ -105,11 +105,9 @@ static inline phys_addr_t iova_to_phys(struct task_struct *tsk,
/* Read one page struct info */
#ifdef HAVE_TSK_IN_GUP
- ret = get_user_pages_remote(tsk, tsk->mm, iova, 1,
- FOLL_TOUCH, &page, NULL, NULL);
+ ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, 0, &page, NULL, NULL);
#else
- ret = get_user_pages_remote(tsk->mm, iova, 1,
- FOLL_TOUCH, &page, NULL, NULL);
+ ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL, NULL);
#endif
if (ret < 0)
return 0;
--
2.35.3

View File

@ -1,36 +0,0 @@
From 430a4b50f2f7e5f21c7c2f81849588c575018501 Mon Sep 17 00:00:00 2001
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
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
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
#ifdef CONFIG_SUSE_KERNEL
-#if (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57))
+#if (defined(CONFIG_SUSE_VERSION) && CONFIG_SUSE_VERSION == 15 && \
+ defined(CONFIG_SUSE_PATCHLEVEL) && CONFIG_SUSE_PATCHLEVEL == 3)
+#define SLE_VERSION_CODE SLE_VERSION(15, 3, 0)
+#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(4, 4, 57))
/* SLES12SP3 is at least 4.4.57+ based */
#define SLE_VERSION_CODE SLE_VERSION(12, 3, 0)
#elif (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 12, 28))
@@ -132,6 +135,7 @@
#endif
#if KERNEL_VERSION(5, 6, 0) <= LINUX_VERSION_CODE || \
+ (SLE_VERSION_CODE && SLE_VERSION_CODE == SLE_VERSION(15, 3, 0)) || \
(defined(RHEL_RELEASE_CODE) && \
RHEL_RELEASE_VERSION(8, 3) <= RHEL_RELEASE_CODE) || \
(defined(CONFIG_SUSE_KERNEL) && defined(HAVE_ARG_TX_QUEUE))

BIN
dpdk-22.11.1.tar.xz (Stored with Git LFS)

Binary file not shown.

BIN
dpdk-23.11.1.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -1,3 +1,354 @@
-------------------------------------------------------------------
Sat Sep 14 12:34:14 UTC 2024 - Dan Partelly <d.partelly@yahoo.com>
- Enable (disabled by default) installation of headers needed
to build drivers.
-------------------------------------------------------------------
Fri Sep 13 05:08:15 UTC 2024 - Duraisankar P <Duraisankar.pitchumani@suse.com>
- Use python macros from build config
-------------------------------------------------------------------
Thu Sep 5 11:40:32 UTC 2024 - Guillaume GARDET <guillaume.gardet@opensuse.org>
- Fix build on aarch64 with gcc14:
* 0001-examples-vm_power_manager-add-missing-header.patch
-------------------------------------------------------------------
Mon Sep 2 06:15:32 UTC 2024 - Duraisankar P <Duraisankar.pitchumani@suse.com>
- Update to LTS version 23.11. Some are the fixes are below,
* app/crypto-perf: add missing op resubmission
* app/crypto-perf: fix copy segment size
* app/crypto-perf: fix data comparison
* app/crypto-perf: fix encrypt operation verification
* app/crypto-perf: fix next segment mbuf
* app/crypto-perf: fix out-of-place mbuf size
* app/crypto-perf: verify strdup return
* app/dma-perf: verify strdup return
* app/dumpcap: verify strdup return
* app/graph: fix build reason
* app/pdump: verify strdup return
* app/testpmd: fix --stats-period option check
* app/testpmd: fix GRO packets flush on timeout
* app/testpmd: fix async flow create failure handling
* app/testpmd: fix async indirect action list creation
* app/testpmd: fix auto-completion for indirect action list
* app/testpmd: fix burst option parsing
* app/testpmd: fix crash in multi-process forwarding
* app/testpmd: fix error message for invalid option
* app/testpmd: fix flow modify tag typo
* app/testpmd: hide --bitrate-stats in help if disabled
* app/testpmd: return if no packets in GRO heavy weight mode
* app/testpmd: verify strdup return
* build: fix linker warnings about undefined symbols
* build: fix reasons conflict
* build: link static libs with whole-archive in subproject
* build: pass cflags in subproject
* buildtools/cmdline: fix IP address initializer
* buildtools/cmdline: fix generated code for IP addresses
* bus/dpaa: verify strdup return
* bus/fslmc: verify strdup return
* bus/vdev: fix devargs in secondary process
* bus/vdev: verify strdup return
* ci: update versions of actions in GHA
* common/cnxk: fix RSS RETA configuration
* common/cnxk: fix Tx MTU configuration
* common/cnxk: fix VLAN check for inner header
* common/cnxk: fix inline device pointer check
* common/cnxk: fix link config for SDP
* common/cnxk: fix mbox region copy
* common/cnxk: fix mbox struct attributes
* common/cnxk: fix memory leak in CPT init
* common/cnxk: fix possible out-of-bounds access
* common/cnxk: remove CN9K inline IPsec FP opcodes
* common/cnxk: remove dead code
* common/mlx5: fix calloc parameters
* common/mlx5: fix duplicate read of general capabilities
* common/mlx5: fix query sample info capability
* common/qat: fix legacy flag
* common/sfc_efx/base: use C11 static assert
* config: fix CPU instruction set for cross-build
* crypto/cnxk: fix CN9K ECDH public key verification
* crypto/qat: fix crash with CCM null AAD pointer
* cryptodev: remove unused extern variable
* dma/dpaa2: fix logtype register
* dma/idxd: verify strdup return
* dmadev: fix calloc parameters
* doc: add --latencystats option in testpmd guide
* doc: add link speeds configuration in features table
* doc: add traffic manager in features table
* doc: fix aging poll frequency option in cnxk guide
* doc: fix commands in eventdev test tool guide
* doc: fix configuration in baseband 5GNR driver guide
* doc: fix default IP fragments maximum in programmer guide
* doc: fix typo in packet framework guide
* doc: fix typo in profiling guide
* doc: fix typos in cryptodev overview
* doc: remove cmdline polling mode deprecation notice
* doc: update link to Windows DevX in mlx5 guide
* drivers/net: fix buffer overflow for packet types list
* dts: fix smoke tests driver regex
* dts: strip whitespaces from stdout and stderr
* eal/x86: add AMD vendor check for TSC calibration
* eal: verify strdup return
* ethdev: fix NVGRE encap flow action description
* event/cnxk: fix dequeue timeout configuration
* event/cnxk: verify strdup return
* event/dlb2: remove superfluous memcpy
* eventdev/crypto: fix enqueueing
* eventdev: fix Doxygen processing of vector struct
* eventdev: fix calloc parameters
* eventdev: improve Doxygen comments on configure struct
* examples/ipsec-secgw: fix Rx queue ID in Rx callback
* examples/ipsec-secgw: fix cryptodev to SA mapping
* examples/ipsec-secgw: fix typo in error message
* examples/ipsec-secgw: fix width of variables
* examples/l3fwd: fix Rx over not ready port
* examples/l3fwd: fix Rx queue configuration
* examples/packet_ordering: fix Rx with reorder mode disabled
* examples/qos_sched: fix memory leak in args parsing
* examples/vhost: verify strdup return
* gro: fix reordering of packets
* hash: remove some dead code
* kernel/freebsd: fix module build on FreeBSD 14
* lib: add newline in logs
* lib: remove redundant newline from logs
* lib: use dedicated logtypes and macros
* ml/cnxk: fix xstats calculation
* net/af_xdp: fix leak on XSK configuration failure
* net/af_xdp: fix memzone leak on config failure
* net/bnx2x: fix calloc parameters
* net/bnx2x: fix warnings about memcpy lengths
* net/bnxt: fix 50G and 100G forced speed
* net/bnxt: fix array overflow
* net/bnxt: fix backward firmware compatibility
* net/bnxt: fix deadlock in ULP timer callback
* net/bnxt: fix null pointer dereference
* net/bnxt: fix number of Tx queues being created
* net/bnxt: fix speed change from 200G to 25G on Thor
* net/bnxt: modify locking for representor Tx
* net/bonding: fix flow count query
* net/cnxk: add cookies check for multi-segment offload
* net/cnxk: fix MTU limit
* net/cnxk: fix Rx packet format check condition
* net/cnxk: fix aged flow query
* net/cnxk: fix buffer size configuration
* net/cnxk: fix flow RSS configuration
* net/cnxk: fix indirect mbuf handling in Tx
* net/cnxk: fix mbuf fields in multi-segment Tx
* net/cnxk: improve Tx performance for SW mbuf free
* net/ena/base: fix metrics excessive memory consumption
* net/ena/base: limit exponential backoff
* net/ena/base: restructure interrupt handling
* net/ena: fix fast mbuf free
* net/ena: fix mbuf double free in fast free mode
* net/failsafe: fix memory leak in args parsing
* net/gve: fix DQO for chained descriptors
* net/hns3: enable PFC for all user priorities
* net/hns3: fix VF multiple count on one reset
* net/hns3: fix disable command with firmware
* net/hns3: fix reset level comparison
* net/hns3: refactor PF mailbox message struct
* net/hns3: refactor VF mailbox message struct
* net/hns3: refactor handle mailbox function
* net/hns3: refactor send mailbox function
* net/hns3: remove QinQ insert support for VF
* net/hns3: support new device
* net/i40e: remove incorrect 16B descriptor read block
* net/i40e: remove redundant judgment in flow parsing
* net/iavf: fix crash on VF start
* net/iavf: fix memory leak on security context error
* net/iavf: fix no polling mode switching
* net/iavf: remove error logs for VLAN offloading
* net/iavf: remove incorrect 16B descriptor read block
* net/ice: fix link update
* net/ice: fix memory leaks
* net/ice: fix tunnel TSO capabilities
* net/ice: remove incorrect 16B descriptor read block
* net/igc: fix timesync disable
* net/ionic: fix RSS query
* net/ionic: fix device close
* net/ionic: fix missing volatile type for cqe pointers
* net/ixgbe: fix memoy leak after device init failure
* net/ixgbe: increase VF reset timeout
* net/ixgbevf: fix RSS init for x550 NICs
* net/mana: fix memory leak on MR allocation
* net/mana: handle MR cache expansion failure
* net/mana: prevent values overflow returned from RDMA layer
* net/memif: fix crash with Tx burst larger than 255
* net/memif: fix extra mbuf refcnt update in zero copy Tx
* net/mlx5/hws: check not supported fields in VXLAN
* net/mlx5/hws: enable multiple integrity items
* net/mlx5/hws: fix ESP flow matching validation
* net/mlx5/hws: fix VLAN inner type
* net/mlx5/hws: fix VLAN item in non-relaxed mode
* net/mlx5/hws: fix direct index insert on depend WQE
* net/mlx5/hws: fix memory access in L3 decapsulation
* net/mlx5/hws: fix port ID for root table
* net/mlx5/hws: fix tunnel protocol checks
* net/mlx5/hws: skip item when inserting rules by index
* net/mlx5: fix DR context release ordering
* net/mlx5: fix GENEVE TLV option management
* net/mlx5: fix GENEVE option item translation
* net/mlx5: fix HWS meter actions availability
* net/mlx5: fix HWS registers initialization
* net/mlx5: fix IP-in-IP tunnels recognition
* net/mlx5: fix VLAN ID in flow modify
* net/mlx5: fix VLAN handling in meter split
* net/mlx5: fix age position in hairpin split
* net/mlx5: fix async flow create error handling
* net/mlx5: fix condition of LACP miss flow
* net/mlx5: fix connection tracking action validation
* net/mlx5: fix conntrack action handle representation
* net/mlx5: fix counters map in bonding mode
* net/mlx5: fix drop action release timing
* net/mlx5: fix error packets drop in regular Rx
* net/mlx5: fix flow action template expansion
* net/mlx5: fix flow configure validation
* net/mlx5: fix flow counter cache starvation
* net/mlx5: fix flow tag modification
* net/mlx5: fix indirect action async job initialization
* net/mlx5: fix jump action validation
* net/mlx5: fix meter policy priority
* net/mlx5: fix modify flex item
* net/mlx5: fix non-masked indirect list meter translation
* net/mlx5: fix parameters verification in HWS table create
* net/mlx5: fix rollback on failed flow configure
* net/mlx5: fix stats query crash in secondary process
* net/mlx5: fix sync flow meter action
* net/mlx5: fix sync meter processing in HWS
* net/mlx5: fix template clean up of FDB control flow rule
* net/mlx5: fix use after free when releasing Tx queues
* net/mlx5: fix warning about copy length
* net/mlx5: prevent ioctl failure log flooding
* net/mlx5: prevent querying aged flows on uninit port
* net/mlx5: remove GENEVE options length limitation
* net/mlx5: remove device status check in flow creation
* net/mlx5: remove duplication of L3 flow item validation
* net/netvsc: fix VLAN metadata parsing
* net/nfp: fix IPsec data endianness
* net/nfp: fix NFD3 metadata process
* net/nfp: fix NFDk metadata process
* net/nfp: fix Rx descriptor
* net/nfp: fix Rx memory leak
* net/nfp: fix calloc parameters
* net/nfp: fix device close
* net/nfp: fix device resource freeing
* net/nfp: fix getting firmware VNIC version
* net/nfp: fix initialization failure flow
* net/nfp: fix resource leak for CoreNIC firmware
* net/nfp: fix resource leak for PF initialization
* net/nfp: fix resource leak for VF
* net/nfp: fix resource leak for device initialization
* net/nfp: fix resource leak for exit of CoreNIC firmware
* net/nfp: fix resource leak for exit of flower firmware
* net/nfp: fix resource leak for flower firmware
* net/nfp: fix switch domain free check
* net/nfp: fix uninitialized variable
* net/nfp: free switch domain ID on close
* net/nfp: verify strdup return
* net/sfc: fix calloc parameters
* net/softnic: fix include of log library
* net/tap: do not overwrite flow API errors
* net/tap: fix traffic control handle calculation
* net/thunderx: fix DMAC control register update
* net/virtio: fix vDPA device init advertising control queue
* net/virtio: remove duplicate queue xstats
* net/vmxnet3: fix initialization on FreeBSD
* net/vmxnet3: ignore Rx queue interrupt setup on FreeBSD
* net: add macros for VLAN metadata parsing
* net: fix TCP/UDP checksum with padding data
* pipeline: fix calloc parameters
* rawdev: fix calloc parameters
* rcu: fix acked token in debug log
* rcu: use atomic operation on acked token
* regexdev: fix logtype register
* telemetry: fix connected clients count
* telemetry: fix empty JSON dictionaries
* test/cfgfile: fix typo in error messages
* test/event: fix crash in Tx adapter freeing
* test/event: skip test if no driver is present
* test/mbuf: fix external mbuf case with assert enabled
* test/power: fix typo in error message
* test: assume C source files are UTF-8 encoded
* test: do not count skipped tests as executed
* test: fix probing in secondary process
* test: verify strdup return
* vdpa/mlx5: fix queue enable drain CQ
* version: 23.11.1-rc2
* vhost: fix VDUSE device destruction failure
* vhost: fix deadlock during vDPA SW live migration
* vhost: fix memory leak in Virtio Tx split path
* vhost: fix virtqueue access check in VDUSE setup
* vhost: fix virtqueue access check in datapath
* vhost: fix virtqueue access check in vhost-user setup
- Fix macro aarch64_machine for thunderx and aarch64 build
- Drop building KMP as there are no Kernel modules available.
- Drop the below patches as KNI is removed from DPDK repository
* 0002-SLE15-SP3-compatibility-patch-for-kni.patch
* kni-fix-build-with-Linux-6.10.patch
* kni-fix-build-with-Linux-6.8.patch
* preamble
- Updated the below patch for DPDK v23.11
* 0001-fix-cpu-compatibility.patch
-------------------------------------------------------------------
Thu Aug 22 17:33:47 UTC 2024 - Aeneas Jaißle <aj@ajaissle.de>
- Update to LTS release version v22.11.6
* http://doc.dpdk.org/guides-22.11/rel_notes/release_22_11.html
- Drop patch (included upstream):
* kni-fix-build-with-Linux-6.8.patch (22.11.6)
-------------------------------------------------------------------
Sat Aug 17 13:47:42 UTC 2024 - Aeneas Jaißle <aj@ajaissle.de>
- Update to LTS release version v22.11.5
* http://doc.dpdk.org/guides-22.11/rel_notes/release_22_11.html
- Drop patches (included upstream):
* 0001-kni-fix-build-with-Linux-6.3.patch (22.11.3)
* 0001-kni-fix-build-with-Linux-6.5.patch (22.11.3)
-------------------------------------------------------------------
Wed Jul 24 06:25:38 UTC 2024 - Jiri Slaby <jslaby@suse.cz>
- use %autopatch even for older distros, -M *is* supported there
-------------------------------------------------------------------
Tue Jul 16 08:47:23 UTC 2024 - Jiri Slaby <jslaby@suse.cz>
- add kni-fix-build-with-Linux-6.10.patch to fix build against
kernel 6.8.
- update kni-fix-build-with-Linux-6.8.patch -- it is upstream now.
-------------------------------------------------------------------
Thu Jul 4 20:27:14 UTC 2024 - Bernhard Wiedemann <bwiedemann@suse.com>
- Drop leftover Sphinx doctrees to make package build reproducible
-------------------------------------------------------------------
Thu Jun 20 14:21:26 UTC 2024 - pgajdos@suse.com
- remove dependency on /usr/bin/python3 using
%python3_fix_shebang and %python3_fix_shebang_path macros
[bsc#1212476]
-------------------------------------------------------------------
Tue Mar 12 08:50:25 UTC 2024 - Jiri Slaby <jslaby@suse.cz>
- add kni-fix-build-with-Linux-6.8.patch to fix build against
kernel 6.8.
-------------------------------------------------------------------
Mon Sep 11 05:40:37 UTC 2023 - Jiri Slaby <jslaby@suse.cz>
- add 0001-kni-fix-build-with-Linux-6.5.patch to fix build against
kernel 6.5.
-------------------------------------------------------------------
Thu Apr 27 14:50:31 UTC 2023 - Dirk Müller <dmueller@suse.com>

View File

@ -1,7 +1,7 @@
#
# spec file
# spec file for package dpdk
#
# Copyright (c) 2023 SUSE LLC
# Copyright (c) 2024 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -18,46 +18,54 @@
%define flavor @BUILD_FLAVOR@%{nil}
%define aarch64_machine armv8a
%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 aarch64_machine 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_machine2}
%define machine %{aarch64_machine}
%endif
# This is in sync with <src>/ABI_VERSION
# TODO: automate this sync
%define maj 23
%define maj 24
%define min 0
#%%define lname libdpdk-%%{maj}_%%{min}
%define lname libdpdk-%{maj}
#
%if 0%{?sle_version} >= 150600
%global pprefix python311
%{?sle15_python_module_pythons}
%else
%global pythons python3
%global pprefix python3
%endif
# Add option to build without examples
%bcond_without examples
# Add option to build without tools
%bcond_without tools
#
Name: dpdk%{name_tag}
Version: 22.11.1
Version: 23.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
Group: System/Libraries
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-fix-cpu-compatibility.patch
Patch1: 0002-SLE15-SP3-compatibility-patch-for-kni.patch
Patch2: 0001-kni-fix-build-with-Linux-6.3.patch
# PATCH-FIX-UPSTREAM - https://bugs.dpdk.org/show_bug.cgi?id=1530
Patch1: 0001-examples-vm_power_manager-add-missing-header.patch
BuildRequires: %{python_module Sphinx}
BuildRequires: %{python_module pyelftools >= 0.22}
BuildRequires: %{pythons}
BuildRequires: binutils
BuildRequires: doxygen
BuildRequires: fdupes
@ -68,9 +76,6 @@ BuildRequires: modutils
BuildRequires: patchelf
BuildRequires: pesign-obs-integration
BuildRequires: pkgconfig
BuildRequires: python3
BuildRequires: python3-Sphinx
BuildRequires: python3-pyelftools >= 0.22
BuildRequires: rdma-core-devel
BuildRequires: pkgconfig(jansson)
BuildRequires: pkgconfig(libcrypto)
@ -160,15 +165,6 @@ Example applications utilizing the Data Plane Development Kit, such
as L2 and L3 forwarding.
%endif
%package kmp
Summary: DPDK KNI kernel module %{summary_tag}
Group: System/Kernel
BuildRequires: %{kernel_module_package_buildreqs}
%suse_kernel_module_package -p %{_sourcedir}/preamble pae 64kb
%description kmp
The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the Linux* control plane.
%define sdkdir %{_datadir}/dpdk
%define docdir %{_docdir}/dpdk
%define incdir %{_includedir}/dpdk
@ -176,7 +172,13 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the
%prep
# can't use %%{name} because of dpdk-thunderx
%autosetup -p1 -n dpdk-stable-%{version}
%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
@ -202,6 +204,7 @@ for flavor in %{flavors_to_build}; do
-Dplatform="%{platform}" \
-Dcpu_instruction_set=%{machine} \
-Denable_kmods=true \
-Denable_driver_sdk=true \
-Ddrivers_install_subdir=%{pmddir} \
-Dkernel_dir="%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor"
%meson_build
@ -226,15 +229,12 @@ for flavor in %{flavors_to_build}; do
examples=""
done
# Fix Kernel modules on Factory (/usr merge)
%if 0%{?suse_version} > 1550
mkdir -p %{buildroot}%{_prefix}/lib
mv %{buildroot}/lib/modules %{buildroot}%{_prefix}/lib
%endif
# Fix documentation
mkdir -p %{buildroot}%docdir
mv %{buildroot}%{_datadir}/doc/dpdk %{buildroot}%docdir
rm -r %{buildroot}/%docdir/dpdk/html/.doctrees
# Fix man directory
rm -r %{buildroot}%{_mandir}/man3/*
# 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
@ -257,8 +257,9 @@ ln -s %{_bindir}/dpdk-devbind.py %{buildroot}%{_sbindir}/dpdk_nic_bind
%endif
# Fix interpreter
find %{buildroot} -name "*.py" -exec sed -i 's|python$|python3|' \{\} +
find %{buildroot} -name "*.py" -exec sed -i 's|env python|python|' \{\} +
%python3_fix_shebang
%python3_fix_shebang_path %{buildroot}%{_datadir}/%{name}/examples/ipsec-secgw/test/*
%python3_fix_shebang_path %{buildroot}%{_datadir}/%{name}/examples/pipeline/examples/*
# Remove duplicates
%fdupes %{buildroot}/%docdir
@ -277,6 +278,7 @@ rm -v "%{buildroot}%{_libdir}/librte_*.so*"
%{_bindir}/dpdk-pdump
%{_bindir}/dpdk-proc-info
%{_bindir}/dpdk-test*
%{_bindir}/dpdk-graph*
%files -n %{lname}
%license license/gpl-2.0.txt license/lgpl-2.1.txt license/bsd-3-clause.txt

View File

@ -1,4 +0,0 @@
Requires: kernel-%1
Enhances: kernel-%1
Supplements: packageand(kernel-%1:%{-n*})
Conflicts: dpdk-any-kmp