From b3e62b524a91c91f5cc7e89110d06684e2c2c5e4ef2744264403f9915c36b5a9 Mon Sep 17 00:00:00 2001 From: Ana Guerrero Date: Tue, 16 Jul 2024 11:17:21 +0000 Subject: [PATCH] Accepting request 1187835 from home:jirislaby:branches:network - 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. OBS-URL: https://build.opensuse.org/request/show/1187835 OBS-URL: https://build.opensuse.org/package/show/network/dpdk?expand=0&rev=156 --- .gitattributes | 23 + .gitignore | 1 + 0001-fix-cpu-compatibility.patch | 69 + 0001-kni-fix-build-with-Linux-6.3.patch | 55 + 0001-kni-fix-build-with-Linux-6.5.patch | 50 + ...LE15-SP3-compatibility-patch-for-kni.patch | 36 + _constraints | 21 + _multibuild | 3 + dpdk-22.11.1.tar.xz | 3 + dpdk.changes | 1788 +++++++++++++++++ dpdk.spec | 334 +++ kni-fix-build-with-Linux-6.10.patch | 68 + kni-fix-build-with-Linux-6.8.patch | 45 + preamble | 4 + 14 files changed, 2500 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 0001-fix-cpu-compatibility.patch create mode 100644 0001-kni-fix-build-with-Linux-6.3.patch create mode 100644 0001-kni-fix-build-with-Linux-6.5.patch create mode 100644 0002-SLE15-SP3-compatibility-patch-for-kni.patch create mode 100644 _constraints create mode 100644 _multibuild create mode 100644 dpdk-22.11.1.tar.xz create mode 100644 dpdk.changes create mode 100644 dpdk.spec create mode 100644 kni-fix-build-with-Linux-6.10.patch create mode 100644 kni-fix-build-with-Linux-6.8.patch create mode 100644 preamble diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/0001-fix-cpu-compatibility.patch b/0001-fix-cpu-compatibility.patch new file mode 100644 index 0000000..c4a99d0 --- /dev/null +++ b/0001-fix-cpu-compatibility.patch @@ -0,0 +1,69 @@ +From e2950fec9cd9c235a7847ed97b6914174857bf93 Mon Sep 17 00:00:00 2001 +From: "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 + + /** diff --git a/0001-kni-fix-build-with-Linux-6.3.patch b/0001-kni-fix-build-with-Linux-6.3.patch new file mode 100644 index 0000000..fbb9c19 --- /dev/null +++ b/0001-kni-fix-build-with-Linux-6.3.patch @@ -0,0 +1,55 @@ +From: Ferruh Yigit +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 +Reviewed-by: David Marchand +Signed-off-by: Jiri Slaby +--- + 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 + diff --git a/0001-kni-fix-build-with-Linux-6.5.patch b/0001-kni-fix-build-with-Linux-6.5.patch new file mode 100644 index 0000000..6913e42 --- /dev/null +++ b/0001-kni-fix-build-with-Linux-6.5.patch @@ -0,0 +1,50 @@ +From: Ferruh Yigit +Date: Tue, 11 Jul 2023 11:09:41 +0100 +Subject: kni: fix build with Linux 6.5 +Git-repo: https://dpdk.org/git/dpdk +Git-commit: dd33d53b9a032d7376aa04a28a1235338e1fd78f +Patch-mainline: yes +References: kernel 6.5 + +The get_user_pages_remote() API has been modified in Linux kernel v6.5 +[1], "struct vm_area_struct **vmas" parameter removed from the API. + +To fix KNI build with Linux kernel v6.5, version check added around the +get_user_pages_remote() API. + +[1] +ca5e863233e8 ("mm/gup: remove vmas parameter from get_user_pages_remote()") + +Cc: stable@dpdk.org + +Signed-off-by: Ferruh Yigit +Signed-off-by: Jiri Slaby +--- + kernel/linux/kni/compat.h | 4 ++++ + kernel/linux/kni/kni_dev.h | 4 ++++ + 2 files changed, 8 insertions(+) + +--- a/kernel/linux/kni/compat.h ++++ b/kernel/linux/kni/compat.h +@@ -153,3 +153,7 @@ + #if KERNEL_VERSION(5, 18, 0) > LINUX_VERSION_CODE + #define HAVE_NETIF_RX_NI + #endif ++ ++#if KERNEL_VERSION(6, 5, 0) > LINUX_VERSION_CODE ++#define HAVE_VMA_IN_GUP ++#endif +--- a/kernel/linux/kni/kni_dev.h ++++ b/kernel/linux/kni/kni_dev.h +@@ -107,7 +107,11 @@ static inline phys_addr_t iova_to_phys(s + #ifdef HAVE_TSK_IN_GUP + ret = get_user_pages_remote(tsk, tsk->mm, iova, 1, 0, &page, NULL, NULL); + #else ++ #ifdef HAVE_VMA_IN_GUP + ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL, NULL); ++ #else ++ ret = get_user_pages_remote(tsk->mm, iova, 1, 0, &page, NULL); ++ #endif + #endif + if (ret < 0) + return 0; diff --git a/0002-SLE15-SP3-compatibility-patch-for-kni.patch b/0002-SLE15-SP3-compatibility-patch-for-kni.patch new file mode 100644 index 0000000..67ca541 --- /dev/null +++ b/0002-SLE15-SP3-compatibility-patch-for-kni.patch @@ -0,0 +1,36 @@ +From 430a4b50f2f7e5f21c7c2f81849588c575018501 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Jaime=20Caama=C3=B1o=20Ruiz?= +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)) diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..b075b8b --- /dev/null +++ b/_constraints @@ -0,0 +1,21 @@ + + + + + i586 + x86_64 + + + + mmx + sse + sse2 + ssse3 + sse4_2 + + + 8 + + + + diff --git a/_multibuild b/_multibuild new file mode 100644 index 0000000..896cba1 --- /dev/null +++ b/_multibuild @@ -0,0 +1,3 @@ + + thunderx + diff --git a/dpdk-22.11.1.tar.xz b/dpdk-22.11.1.tar.xz new file mode 100644 index 0000000..8a35255 --- /dev/null +++ b/dpdk-22.11.1.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:de076465f7174a0d52714b9072e4837a726baac82d8fe7dc644cad5c8cf74d4c +size 15582084 diff --git a/dpdk.changes b/dpdk.changes new file mode 100644 index 0000000..6fdc661 --- /dev/null +++ b/dpdk.changes @@ -0,0 +1,1788 @@ +------------------------------------------------------------------- +Tue Jul 16 08:47:23 UTC 2024 - Jiri Slaby + +- 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 + +- 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 + +- 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 + +- 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 + +- raise constraints to 8GB to cover SLE15 builds as well + +------------------------------------------------------------------- +Wed Apr 26 05:28:15 UTC 2023 - Jiri Slaby + +- add 0001-kni-fix-build-with-Linux-6.3.patch to fix build against + kernel 6.3. + +------------------------------------------------------------------- +Wed Apr 5 21:10:54 UTC 2023 - Duraisankar P + +-- 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 + +- Cleanup Sphinx build leftovers for reproducible builds + +------------------------------------------------------------------- +Tue Jun 21 13:20:00 UTC 2022 - Dirk Müller + +- also strip meson generated runpaths when installing examples + manually (bsc#1200620) + +------------------------------------------------------------------- +Wed May 25 10:13:44 UTC 2022 - Jiri Slaby + +- add kni-fix-build-with-Linux-5.18.patch to fix build with kernel + 5.18 + +------------------------------------------------------------------- +Wed Apr 27 16:08:56 UTC 2022 - Ferdinand Thiessen + +- Update to version 21.11.1 + * acl: add missing C++ guards + * app/compress-perf: Various bug fixes + * app/dumpcap: check for failure to set promiscuous + * app/fib: fix division by zero + * app/pdump: abort on multi-core capture limit + * app/regex: fix number of matches + * app/testpmd: Various bug fixes + * baseband/acc100: avoid out-of-bounds access + * bpf: add missing C++ guards + * bus/pci: assign driver pointer before mapping + * common/cnxk: Various bug fixes + * common/mlx5: Various bug fixes + * common/sfc_efx/base: fix recirculation ID set in outer rules + * compressdev: fix missing space in log macro + * eal/linux: + * fix device monitor stop return + * fix illegal memory access in uevent handler + * log hugepage create errors with filename + * Full change log can be found online: + http://doc.dpdk.org/guides-21.11/rel_notes/release_21_11.html#fixes +- Rebased 0001-build-try-to-get-kernel-version-from-kernel-source.patch +- Dropped upstream fixed fix-buildsystem-python36.patch +- fixes CVE-2022-0669 [bsc#1198964], CVE-2021-3839 [bsc#1198963 + +------------------------------------------------------------------- +Sat Feb 26 17:45:33 UTC 2022 - Ferdinand Thiessen + +- Update to LTS version 21.11. + 21.11 should be supported for at least two years, the new major + ABI version is 22. New Features: + * General + * hugetlbfs subdirectories + * AddressSanitizer (ASan) integration for debug + * mempool flag for non-IO usages + * device class for DMA accelerators and drivers for + * HiSilicon, Intel DSA, Intel IOAT, Marvell CNXK and NXP DPAA + * device class for GPU devices and driver for NVIDIA CUDA + * Toeplitz hash using Galois Fields New Instructions (GFNI) + * Networking + * MTU handling rework + * get all MAC addresses of a port + * RSS based on L3/L4 checksum fields + * flow match on L2TPv2 and PPP + * flow flex parser for custom header + * control delivery of HW Rx metadata + * transfer flows API rework + * shared Rx queue + * driver for NXP ENETFEC + * vDPA driver for Xilinx devices + * virtio RSS + * vhost power monitor wakeup + * testpmd multi-process + * pcapng library and dumpcap tool + * API/ABI + * API namespace improvements and cleanups + * API internals hidden + * flags check for future ABI compatibility + * More details in the release notes: + https://doc.dpdk.org/guides/rel_notes/release_21_11.html +- Update to LTS version 20.11.0, new features: + * General + * mbuf dynamic area increased from 16 to 36 bytes + * ring zero cop + * SIMD bitwidth limit API + * moved igb_uio to dpdk-kmods/linux + * removed Python 2 support + * removed Make support, meson + pkg-config files are + now used to build applications + * Networking + * FEC AP + * Rx buffer split + * thread safety in flow API + * shared action in flow API + * flow sampling and mirroring + * tunnel offload API + * multi-port hairpin + * Solarflare EF100 architecture + * Wangxun txgbe driver + * vhost-vDPA backend in virtio-user + * removed vhost dequeue zero-copy + * removed legacy ethdev filtering + * SWX pipeline aligned with P4 + * Baseband + * Intel ACC100 driver + * Cryptography + * raw datapath API + * Broadcom BCMFS symmetric crypto driver + * RegEx + * Marvell OCTEON TX2 regex driver + * Others + * Intel DLB/DLB2 drivers + * Intel DSA support in IOAT driver + * Full changes and more details in the release notes: + https://doc.dpdk.org/guides/rel_notes/release_20_11.html +- Rebased 0002-SLE15-SP3-compatibility-patch-for-kni.patch +- Drop outdated 0001-fix-cpu-compatibility.patch +- Drop outdated 0003-dpdk-fallthrough-comment-fixes.patch +- Added 0001-build-try-to-get-kernel-version-from-kernel-source.patch + Allow host system to have a different kernel than the target + system, fixes kernel module installation path for such case. + Submitted upstream 2022-02-26 +- Added fix-buildsystem-python36.patch for Leap as the buildsystem + uses python syntax introduced with python37, but Leap still + sticks with 3.6, so this backports it for the old python version. + +------------------------------------------------------------------- +Mon Oct 25 13:41:49 UTC 2021 - Stefan Weiberg + +- - Update LTS version to maintenance release 19.11.10 + * app/crypto-perf: fix out-of-place mempool allocation + * app/test: fix IPv6 header initialization + * app/testpmd: change port link speed without stopping all + * app/testpmd: fix help string for port reset + * app/testpmd: fix IPv4 checksum + * app/testpmd: fix MAC address after port reset + * app/testpmd: fix offloads for newly attached port + * app/testpmd: fix Tx checksum calculation for tunnel + * bitmap: fix buffer overrun in bitmap init + * bus: clarify log for non-NUMA-aware devices + * bus/dpaa: fix freeing in FMAN interface destructor + * common/mlx5: fix compatibility with OFED port query API + * common/mlx5: fix Netlink port name padding in probing + * common/mlx5: use new port query API if available + * cryptodev: fix freeing after device release + * crypto/mvsam: fix AES-GCM session parameters + * crypto/mvsam: fix capabilities + * crypto/mvsam: fix options parsing + * crypto/mvsam: fix session data reset + * crypto/octeontx: fix freeing after device release + * crypto/qat: fix Arm build with special memcpy + * devtools: fix file listing in maintainers check + * distributor: fix 128-bit write alignment + * doc: add limitation for ConnectX-4 with L2 in mlx5 guide + * doc: announce common prefix for ethdev + * doc: fix default burst size in testpmd + * doc: fix spelling + * drivers/net: fix memzone allocations for DMA memory + * ethdev: fix doc of flow action + * eventdev: fix event port setup in tx adapter + * flow_classify: fix leaking rules on delete + * (github-cpaelzer-stable/19.11) telemetry: fix race in telemetry control thread creation + * ipc: stop mp control thread on cleanup + * kni: fix crash on userspace VA for segmented packets + * kni: fix mbuf allocation for kernel side use + * mempool/octeontx2: fix shift calculation + * net/bnxt: check access to possible null pointer + * net/bnxt: cleanup code + * net/bnxt: clear cached statistics + * net/bnxt: detect bad opaque in Rx completion + * net/bnxt: fix auto-negotiation on Whitney+ + * net/bnxt: fix check for PTP support in FW + * net/bnxt: fix error handling in VNIC prepare + * net/bnxt: fix error messages in VNIC prepare + * net/bnxt: fix missing barriers in completion handling + * net/bnxt: fix nested lock during bonding + * net/bnxt: fix ring and context memory allocation + * net/bnxt: fix Rx burst size constraint + * net/bnxt: fix Rx interrupt setting + * net/bnxt: fix scalar Tx completion handling + * net/bnxt: fix Tx descriptor status implementation + * net/bnxt: fix typo in log message + * net/bnxt: improve probing log message + * net/bnxt: invoke device removal event on recovery failure + * net/bnxt: remove unnecessary code + * net/bnxt: remove unnecessary comment + * net/bnxt: set flow error after tunnel redirection free + * net/bnxt: set flow error when free filter not available + * net/bnxt: use common function to free VNIC resource + * net/bnxt: workaround spurious zero stats in Thor + * net/bonding: check flow setting + * net/bonding: fix error message on flow verify + * net/ena: enable multi-segment in Tx offload flags + * net/ena: trigger reset on Tx prepare failure + * net/hinic/base: fix LRO + * net/hinic: increase protection of the VLAN + * net/hns3: fix delay for waiting to stop Rx/Tx + * net/hns3: fix filter parsing comment + * net/hns3: fix Tx prepare after stop + * net/hns3: fix VLAN strip log + * net/hns3: increase VF reset retry maximum + * net/i40e: fix descriptor scan on Arm + * net/i40e: fix multi-process shared data + * net/iavf: fix RSS key access out of bound + * net/iavf: fix Tx threshold check + * net/ice/base: fix first profile mask + * net/ice/base: revert change of first profile mask + * net/ice: fix default RSS key generation + * net/ice: fix memzone leak when firmware is missing + * net/ixgbe: fix flow entry access after freeing + * net/mlx5: fix incorrect r/w lock usage in DMA unmap + * net/mlx5: fix IPIP multi-tunnel validation + * net/mlx5: fix match MPLS over GRE with key + * net/mlx5: fix MPLS RSS expansion + * net/mlx5: fix overflow in mempool argument + * net/mlx5: fix representor interrupt handler + * net/mlx5: fix RoCE LAG bond device probing + * net/mlx5: fix RSS flow item expansion for GRE key + * net/mlx5: fix Rx/Tx queue checks + * net/mlx5: fix switchdev mode recognition + * net/mlx5: fix typo in vectorized Rx comments + * net/mlx5: limit implicit MPLS RSS expansion over GRE + * net/mlx5: limit inner RSS expansion for MPLS + * net/mlx5: remove redundant operations in NEON Rx + * net/mlx5: remove unsupported flow item MPLS over IP + * net/mlx5: workaround drop action with old kernel + * net/mvpp2: fix configured state dependency + * net/mvpp2: fix port speed overflow + * net/octeontx2: fix default MCAM allocation size + * net/octeontx2: fix flow creation limit on CN98xx + * net/octeontx2: use runtime LSO format indices + * net/octeontx/base: fix debug build with clang + * net/pfe: remove unnecessary null check + * net/sfc: fix MAC stats lock in xstats query by ID + * net/sfc: fix MAC stats update for stopped device + * net/sfc: fix reading adapter state without locking + * net/sfc: fix xstats query by ID according to ethdev + * net/sfc: fix xstats query by unsorted list of IDs + * net/softnic: fix connection memory leak + * net/softnic: fix memory leak as profile is freed + * net/virtio: fix aarch32 build + * net/virtio: fix refill order in packed ring datapath + * net/virtio: report maximum MTU in device info + * power: fix namespace for internal struct + * rib: fix max depth IPv6 lookup + * test/crypto: fix mbuf reset after null check + * test/crypto: fix mempool size for session-less + * test/crypto: fix typo in AES case + * test/crypto: fix typo in ESN case + * test/mbuf: fix virtual address conversion + * tests/eal: fix memory leak + * vhost/crypto: check request pointer before dereference + * vhost: fix crash on reconnect + * vhost: fix missing guest pages table NUMA realloc + * vhost: fix missing memory table NUMA realloc + * vhost: utilize dynamic memory allocator + * Changes from 19.11.9: + https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#id25 +- rename + 0001-SLE15-SP3-compatibility-patch-for-kni.patch + to + 0002-SLE15-SP3-compatibility-patch-for-kni.patch +- rename + dpdk-fallthrough-comment-fixes.patch + to + 0003-dpdk-fallthrough-comment-fixes.patch + +------------------------------------------------------------------- +Mon Sep 13 16:46:30 CEST 2021 - tiwai@suse.de + +- Fix build error with SLE15-SP4 kernel (bsc#1190362): + dpdk-fallthrough-comment-fixes.patch + +------------------------------------------------------------------- +Thu Sep 2 15:42:14 UTC 2021 - Guillaume GARDET + +- Add BuildRequires kernel-syms and modutils for proper + dependencies to be inserted in the resulting binary RPM, as + pointed by rpmlint + +------------------------------------------------------------------- +Thu Jul 22 06:00:37 UTC 2021 - Steve Kowalik + +- Normalize all Python script shebangs to use Python 3. + +------------------------------------------------------------------- +Fri May 14 11:58:06 UTC 2021 - Ferdinand Thiessen + +- Update LTS version to maintenance release 19.11.8 + * vhost/crypto: fix data length check (CVE-2020-14374) + * vhost/crypto: fix incorrect descriptor deduction (CVE-2020-14378) + * vhost/crypto: fix incorrect write back source + * vhost/crypto: fix missed request check for copy mode + (CVE-2020-14376 CVE-2020-14377) + * vhost/crypto: fix pool allocation + * vhost/crypto: fix possible TOCTOU attack (CVE-2020-14375) + * Changes from 19.11.6: + https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#id14 + * Changes from 19.11.7: + https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#id18 +- Drop security patches, fixed with 19.11.5 + * 0001-vhost-crypto-fix-pool-allocation.patch + * 0002-vhost-crypto-fix-incorrect-descriptor-deduction.patch + * 0003-vhost-crypto-fix-missed-request-check-for-copy-mode.patch + * 0004-vhost-crypto-fix-incorrect-write-back-source.patch + * 0005-vhost-crypto-fix-data-length-check.patch + * 0006-vhost-crypto-fix-possible-TOCTOU-attack.patch +- Drop 0001-kni-fix-build-with-Linux-5.9.patch, fixed with 19.11.6 +- Updated 0001-SLE15-SP3-compatibility-patch-for-kni.patch + +------------------------------------------------------------------- +Wed Apr 21 10:36:13 UTC 2021 - Matthias Gerstner + +- add 0001-kni-fix-build-with-Linux-5.9.patch: fixes the build against kernel + >= 5.9. Also see here: + + http://inbox.dpdk.org/users/CAJFAV8w8ozEkdSKdBHEHXJDxpChorGa1jUsNEcPMptG30bWykw@mail.gmail.com/T + +------------------------------------------------------------------- +Tue Sep 29 09:13:17 UTC 2020 - Jaime Caamaño Ruiz + +- Add patches to fix vulnerability where malicious guest can harm the host + using vhost crypto, this includes executing code in host (VM Escape), + reading host application memory space to guest and causing partially + denial of service in the host (bsc#1176590). + * 0001-vhost-crypto-fix-pool-allocation.patch + * 0002-vhost-crypto-fix-incorrect-descriptor-deduction.patch + * 0003-vhost-crypto-fix-missed-request-check-for-copy-mode.patch + * 0004-vhost-crypto-fix-incorrect-write-back-source.patch + * 0005-vhost-crypto-fix-data-length-check.patch + * 0006-vhost-crypto-fix-possible-TOCTOU-attack.patch + +------------------------------------------------------------------- +Tue Sep 22 08:13:23 UTC 2020 - Jaime Caamaño Ruiz + +- Update to 19.11.4. For a list of fixes check: + https://doc.dpdk.org/guides-19.11/rel_notes/release_19_11.html#id8 +- 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 + +------------------------------------------------------------------- +Tue Aug 11 06:56:10 UTC 2020 - Dirk Mueller + +- update to v19.11.3: + app/crypto-perf: fix display of sample test vector + app/eventdev: check Tx adapter service ID + app: fix usage help of options separated by dashes + app/pipeline: fix build with gcc 10 + app: remove extra new line after link duplex + app/testpmd: add parsing for QinQ VLAN headers + app/testpmd: fix DCB set + app/testpmd: fix memory failure handling for i40e DDP + app/testpmd: fix PPPoE flow command + app/testpmd: fix statistics after reset + baseband/turbo_sw: fix exposed LLR decimals assumption + bbdev: fix doxygen comments + build: disable gcc 10 zero-length-bounds warning + build: fix linker warnings with clang on Windows + build: support MinGW-w64 with Meson + buildtools: get static mlx dependencies for meson + bus/fslmc: fix dereferencing null pointer + bus/fslmc: fix size of qman fq descriptor + bus/pci: fix devargs on probing again + bus/pci: fix UIO resource access from secondary process + bus/vmbus: fix comment spelling + ci: fix telemetry dependency in Travis + common/iavf: update copyright + common/mlx5: fix build with -fno-common + common/mlx5: fix build with rdma-core 21 + common/mlx5: fix netlink buffer allocation from stack + common/mlx5: fix umem buffer alignment + common/octeontx: fix gcc 9.1 ABI break + common/qat: fix GEN3 marketing name + contigmem: cleanup properly when load fails + crypto/caam_jr: fix check of file descriptors + crypto/caam_jr: fix IRQ functions return type + crypto/ccp: fix fd leak on probe failure + cryptodev: add asymmetric session-less feature name + cryptodev: fix missing device id range checking + cryptodev: fix SHA-1 digest enum comment + crypto/kasumi: fix extern declaration + crypto/nitrox: fix CSR register address generation + crypto/nitrox: fix oversized device name + crypto/octeontx2: fix build with gcc 10 + crypto/openssl: fix out-of-place encryption + crypto/qat: fix cipher descriptor for ZUC and SNOW + crypto/qat: support plain SHA1..SHA512 hashes + devtools: fix symbol map change check + doc: add i40e limitation for flow director + doc: add NASM installation steps + doc: fix API index + doc: fix build issue in ABI guide + doc: fix build with doxygen 1.8.18 + doc: fix default symbol binding in ABI guide + doc: fix log level example in Linux guide + doc: fix LTO config option + doc: fix matrix CSS for recent sphinx + doc: fix multicast filter feature announcement + doc: fix number of failsafe sub-devices + doc: fix reference in ABI guide + doc: fix sphinx compatibility + doc: fix typo in contributors guide + doc: fix typo in contributors guide + doc: fix typos in ABI policy + doc: prefer https when pointing to dpdk.org + drivers: add crypto as dependency for event drivers + drivers/crypto: disable gcc 10 no-common errors + drivers/crypto: fix build with make 4.3 + drivers/crypto: fix log type variables for -fno-common + drivers: fix log type variables for -fno-common + eal/arm64: fix precise TSC + eal: fix C++17 compilation + eal: fix comments spelling + eal: fix log message print for regex + eal: fix PRNG init with HPET enabled + eal: fix typo in endian conversion macros + eal/freebsd: fix queuing duplicate alarm callbacks + eal/ppc: fix bool type after altivec include + eal/ppc: fix build with gcc 9.3 + eal/x86: ignore gcc 10 stringop-overflow warnings + ethdev: fix build when vtune profiling is on + ethdev: fix spelling + eventdev: fix probe and remove for secondary process + event/dsw: avoid reusing previously recorded events + event/dsw: fix enqueue burst return value + event/dsw: remove redundant control ring poll + event/dsw: remove unnecessary read barrier + event/octeontx2: fix build for O1 optimization + event/octeontx2: fix queue removal from Rx adapter + examples/eventdev: fix build with gcc 10 + examples/eventdev: fix crash on exit + examples/fips_validation: fix parsing of algorithms + examples/ip_pipeline: remove check of null response + examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning + examples/kni: fix crash during MTU set + examples/kni: fix MTU change to setup Tx queue + examples/l2fwd-keepalive: fix mbuf pool size + examples/qos_sched: fix build with gcc 10 + examples: remove extra new line after link duplex + examples/vhost_blk: fix build with gcc 10 + examples/vmdq: fix output of pools/queues + examples/vmdq: fix RSS configuration + examples/vm_power: drop Unix path limit redefinition + examples/vm_power: fix build with -fno-common + fib: fix headers for C++ support + fix same typo in multiple places + fix various typos found by Lintian + ipsec: check SAD lookup error + ipsec: fix build dependency on hash lib + kvargs: fix buffer overflow when parsing list + kvargs: fix invalid token parsing on FreeBSD + kvargs: fix strcmp helper documentation + log: fix level picked with globbing on type register + lpm6: fix comments spelling + lpm6: fix size of tbl8 group + mem: fix overflow on allocation + mem: mark pages as not accessed when freeing memory + mem: mark pages as not accessed when reserving VA + mempool/dpaa2: install missing header with meson + mempool/octeontx2: fix build for gcc O1 optimization + mempool: remove inline functions from export list + mem: preallocate VA space in no-huge mode + mk: fix static linkage of mlx dependency + net/avp: fix gcc 10 maybe-uninitialized warning + net/bnxt: do not use PMD log type + net/bnxt: fix error log for command timeout + net/bnxt: fix FW version query + net/bnxt: fix HWRM command during FW reset + net/bnxt: fix max ring count + net/bnxt: fix memory leak during queue restart + net/bnxt: fix number of TQM ring + net/bnxt: fix port start failure handling + net/bnxt: fix possible stack smashing + net/bnxt: fix Rx ring producer index + net/bnxt: fix storing MAC address twice + net/bnxt: fix TQM ring context memory size + net/bnxt: fix using RSS config struct + net/bnxt: fix VLAN add when port is stopped + net/bnxt: fix VNIC Rx queue count on VNIC free + net/bnxt: use true/false for bool types + net/dpaa2: fix 10G port negotiation + net/dpaa2: fix congestion ID for multiple traffic classes + net/dpaa: use dynamic log type + net/e1000: fix port hotplug for multi-process + net/ena/base: fix documentation of functions + net/ena/base: fix indentation in CQ polling + net/ena/base: fix indentation of multiple defines + net/ena/base: fix testing for supported hash function + net/ena/base: make allocation macros thread-safe + net/ena/base: prevent allocation of zero sized memory + net/ena: fix build for O1 optimization + net/ena: set IO ring size to valid value + net/enetc: fix Rx lock-up + net/enic: fix flow action reordering + net/failsafe: fix fd leak + net/hinic: allocate IO memory with socket id + net/hinic/base: fix PF firmware hot-active problem + net/hinic/base: fix port start during FW hot update + net/hinic: fix LRO + net/hinic: fix queues resource free + net/hinic: fix repeating cable log and length check + net/hinic: fix snprintf length of cable info + net/hinic: fix TSO + net/hinic: fix Tx mbuf length while copying + net/hns3: add free threshold in Rx + net/hns3: add RSS hash offload to capabilities + net/hns3: clear residual flow rules on init + net/hns3: fix configuring illegal VLAN PVID + net/hns3: fix configuring RSS hash when rules are flushed + net/hns3: fix crash when flushing RSS flow rules with FLR + net/hns3: fix default error code of command interface + net/hns3: fix default VLAN filter configuration for PF + net/hns3: fix mailbox opcode data type + net/hns3: fix MSI-X interrupt during initialization + net/hns3: fix packets offload features flags in Rx + net/hns3: fix promiscuous mode for PF + net/hns3: fix return value of setting VLAN offload + net/hns3: fix return value when clearing statistics + net/hns3: fix RSS indirection table configuration + net/hns3: fix RSS key length + net/hns3: fix Rx interrupt after reset + net/hns3: fix status after repeated resets + net/hns3: fix Tx interrupt when enabling Rx interrupt + net/hns3: fix VLAN filter when setting promisucous mode + net/hns3: fix VLAN PVID when configuring device + net/hns3: reduce judgements of free Tx ring space + net/hns3: remove one IO barrier in Rx + net/hns3: remove unnecessary assignments in Tx + net/hns3: replace memory barrier with data dependency order + net/hns3: support different numbers of Rx and Tx queues + net/hns3: support Rx interrupt + net/i40e/base: update copyright + net/i40e: fix flow director enabling + net/i40e: fix flow director for ARP packets + net/i40e: fix flow director initialisation + net/i40e: fix flush of flow director filter + net/i40e: fix queue region in RSS flow + net/i40e: fix queue related exception handling + net/i40e: fix setting L2TAG + net/i40e: fix wild pointer + net/i40e: fix X722 performance + net/i40e: relax barrier in Tx + net/i40e: relax barrier in Tx for NEON + net/iavf: fix link speed + net/iavf: fix setting L2TAG + net/iavf: fix stats query error code + net/ice: add action number check for switch + net/ice/base: check memory pointer before copying + net/ice/base: fix binary order for GTPU filter + net/ice/base: fix MAC write command + net/ice/base: fix uninitialized stack variables + net/ice/base: minor fixes + net/ice/base: read PSM clock frequency from register + net/ice/base: remove unused code in switch rule + net/ice/base: update copyright + net/ice: change default tunnel type + net/ice: fix crash in switch filter + net/ice: fix hash flow crash + net/ice: fix input set of VLAN item + net/ice: fix RSS advanced rule + net/ice: fix RSS for GTPU + net/ice: fix setting L2TAG + net/ice: fix variable initialization + net/ice: remove bulk alloc option + net/ice: remove unnecessary variable + net/ice: support mark only action for flow director + net/ipn3ke: use control thread to check link status + net/ixgbe/base: update copyright + net/ixgbe: check driver type in MACsec API + net/ixgbe: fix link state timing on fiber ports + net/ixgbe: fix link status after port reset + net/ixgbe: fix link status inconsistencies + net/ixgbe: fix link status synchronization on BSD + net/ixgbe: fix resource leak after thread exits normally + net/ixgbe: fix statistics in flow control mode + net/memif: fix init when already connected + net/memif: fix resource leak + net/mlx4: fix build with -fno-common + net/mlx4: fix drop queue error handling + net/mlx5: add device parameter for MPRQ stride size + net/mlx5: add multi-segment packets in MPRQ mode + net/mlx5: enable MPRQ multi-stride operations + net/mlx5: fix actions validation on root table + net/mlx5: fix assert in doorbell lookup + net/mlx5: fix assert in dynamic metadata handling + net/mlx5: fix assert in modify converting + net/mlx5: fix build with separate glue lib for dlopen + net/mlx5: fix call to modify action without init item + net/mlx5: fix counter container usage + net/mlx5: fix crash when releasing meter table + net/mlx5: fix CVLAN tag set in IP item translation + net/mlx5: fix doorbell bitmap management offsets + net/mlx5: fix gcc 10 enum-conversion warning + net/mlx5: fix header modify action validation + net/mlx5: fix imissed counter overflow + net/mlx5: fix jump table leak + net/mlx5: fix mask used for IPv6 item validation + net/mlx5: fix matching for UDP tunnels with Verbs + net/mlx5: fix match on empty VLAN item in DV mode + net/mlx5: fix metadata for compressed Rx CQEs + net/mlx5: fix meter color register consideration + net/mlx5: fix meter suffix table leak + net/mlx5: fix packet length assert in MPRQ + net/mlx5: fix push VLAN action to use item info + net/mlx5: fix RSS enablement + net/mlx5: fix RSS key copy to TIR context + net/mlx5: fix Tx queue release debug log timing + net/mlx5: fix validation of push VLAN without full mask + net/mlx5: fix validation of VXLAN/VXLAN-GPE specs + net/mlx5: fix VLAN flow action with wildcard VLAN item + net/mlx5: fix VLAN ID check + net/mlx5: fix VLAN PCP item calculation + net/mlx5: fix zero metadata action + net/mlx5: fix zero value validation for metadata + net/mlx5: improve logging of MPRQ selection + net/mlx5: reduce Tx completion index memory loads + net/mlx5: set dynamic flow metadata in Rx queues + net/mlx5: update VLAN and encap actions validation + net/mlx5: use open/read/close for ib stats query + net/mvneta: do not use PMD log type + net/mvpp2: fix build with gcc 10 + net/netvsc: avoid possible live lock + net/netvsc: do not configure RSS if disabled + net/netvsc: do RSS across Rx queue only + net/netvsc: fix comment spelling + net/netvsc: fix memory free on device close + net/netvsc: handle Rx packets during multi-channel setup + net/netvsc: handle Tx completions based on burst size + net/netvsc: propagate descriptor limits from VF + net/netvsc: remove process event optimization + net/netvsc: split send buffers from Tx descriptors + net/nfp: fix dangling pointer on probe failure + net/nfp: fix log format specifiers + net/null: fix secondary burst function selection + net/null: remove redundant check + net/octeontx2: disable unnecessary error interrupts + net/octeontx2: enable error and RAS interrupt in configure + net/octeontx2: fix buffer size assignment + net/octeontx2: fix device configuration sequence + net/octeontx2: fix link information for loopback port + net/octeontx: fix dangling pointer on init failure + net/octeontx: fix meson build for disabled drivers + net/pfe: do not use PMD log type + net/pfe: fix double free of MAC address + net/qede: fix link state configuration + net/qede: fix port reconfiguration + net/ring: fix device pointer on allocation + net/sfc/base: fix build when EVB is enabled + net/sfc/base: fix manual filter delete in EF10 + net/sfc/base: handle manual and auto filter clashes in EF10 + net/sfc/base: reduce filter priorities to implemented only + net/sfc/base: refactor filter lookup loop in EF10 + net/sfc/base: reject automatic filter creation by users + net/sfc/base: use simpler EF10 family conditional check + net/sfc/base: use simpler EF10 family run-time checks + net/sfc: fix initialization error path + net/sfc: fix promiscuous and allmulticast toggles errors + net/sfc: fix reported promiscuous/multicast mode + net/sfc: fix Rx queue start failure path + net/sfc: set priority of created filters to manual + net/softnic: fix memory leak for thread + net/softnic: fix resource leak for pipeline + net/tap: do not use PMD log type + net/tap: fix check for mbuf number of segment + net/tap: fix crash in flow destroy + net/tap: fix fd leak on creation failure + net/tap: fix file close on remove + net/tap: fix mbuf and mem leak during queue release + net/tap: fix mbuf double free when writev fails + net/tap: fix queues fd check before close + net/tap: fix unexpected link handler + net/tap: remove unused assert + net/thunderx: use dynamic log type + net/vhost: fix potential memory leak on close + net/virtio: do not use PMD log type + net/virtio: fix crash when device reconnecting + net/virtio: fix outdated comment + net/virtio: fix unexpected event after reconnect + net/virtio-user: fix devargs parsing + net/vmxnet3: fix RSS setting on v4 + net/vmxnet3: handle bad host framing + pci: accept 32-bit domain numbers + pci: fix build on FreeBSD + pci: fix build on ppc + pci: reject negative values in PCI id + pci: remove unneeded includes in public header file + remove references to private PCI probe function + Revert “common/qat: fix GEN3 marketing name” + Revert “net/bnxt: fix number of TQM ring” + Revert “net/bnxt: fix TQM ring context memory size” + security: fix crash at accessing non-implemented ops + security: fix return types in documentation + security: fix session counter + security: fix verification of parameters + service: fix crash on exit + service: fix identification of service running on other lcore + service: fix race condition for MT unsafe service + service: remove rte prefix from static functions + telemetry: fix port stats retrieval + test/crypto: fix flag check + test/crypto: fix statistics case + test: fix build with gcc 10 + test/flow_classify: enable multi-sockets system + test/ipsec: fix crash in session destroy + test/kvargs: fix invalid cases check + test/kvargs: fix to consider empty elements as valid + test: load drivers when required + test: remove redundant macro + test: skip some subtests in no-huge mode + timer: protect initialization with lock + usertools: check for pci.ids in /usr/share/misc + vfio: fix race condition with sysfs + vfio: fix use after free with multiprocess + vhost/crypto: add missing user protocol flag + vhost: fix packed ring zero-copy + vhost: fix peer close check + vhost: fix shadowed descriptors not flushed + vhost: fix shadow update + vhost: fix zero-copy server mode + vhost: handle mbuf allocation failure + vhost: make IOTLB cache name unique among processes + vhost: prevent zero-copy with incompatible client mode + vhost: remove unused variable +- remove the security backport patches as they're already included + upstream: + * 0001-vhost-check-log-mmap-offset-and-size-overflow.patch + * 0002-vhost-fix-vring-index-check.patch + * 0003-vhost-crypto-validate-keys-lengths.patch + * 0004-vhost-fix-translated-address-not-checked.patch + * 0005-vhost-fix-potential-memory-space-leak.patch + * 0006-vhost-fix-potential-fd-leak.patch + +------------------------------------------------------------------- +Tue May 19 11:41:34 UTC 2020 - Jaime Caamaño Ruiz + +- Add patches to fix vulnerability where malicious guest/container can + cause resource leak resulting a Denial-of-Service, or memory corruption + and crash, or information leak in vhost-user backend application + (bsc#1171477, CVE-2020-10722, CVE-2020-10723, CVE-2020-10724, + CVE-2020-10725, CVE-2020-10726). + * 0001-vhost-check-log-mmap-offset-and-size-overflow.patch + * 0002-vhost-fix-vring-index-check.patch + * 0003-vhost-crypto-validate-keys-lengths.patch + * 0004-vhost-fix-translated-address-not-checked.patch + * 0005-vhost-fix-potential-memory-space-leak.patch + * 0006-vhost-fix-potential-fd-leak.patch + +------------------------------------------------------------------- +Wed Apr 29 11:45:24 UTC 2020 - Jaime Caamaño Ruiz + +- Update to v19.11.1. For a list of changes, check: + * https://doc.dpdk.org/guides/rel_notes/release_19_11.html#new-features +- Removed patches no longer applying to the code base: + * 0001-vhost-fix-possible-denial-of-service-on-SET_VRING_NU.patch + * 0002-vhost-fix-possible-denial-of-service-by-leaking-FDs.patch + * 0002-fix-cpu-compatibility.patch +- Rebased patches: + * 0001-fix-cpu-compatibility.patch + +------------------------------------------------------------------- +Mon Mar 2 10:25:12 UTC 2020 - Stefan Weiberg + +- Change constraint to ssse3 to fix build issues on x86_64 and i586 + +------------------------------------------------------------------- +Tue Nov 19 15:45:29 UTC 2019 - Jaime Caamaño Ruiz + +- Add version to the PMD driver directory to avoid loading previous + version drivers (bsc#1157179). +- Update to 18.11.3 (bsc#1156146). For a list of fixes check: + * https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes +- Add patches to fix vulnerability where malicious container can trigger + a denial of service (CVE-2019-14818, bsc#1156146) + * 0001-vhost-fix-possible-denial-of-service-on-SET_VRING_NU.patch + * 0002-vhost-fix-possible-denial-of-service-by-leaking-FDs.patch +- Removed patrches already included upstream: + * dpdk-fix-implicit-fallthrough-warning.patch + +------------------------------------------------------------------- +Mon Sep 30 10:04:59 UTC 2019 - + +- Changed to multibuild (bsc#1151455). +- Added dpdk-fix-implicit-fallthrough-warning.patch to address build error with + recent kernels (bsc#1144704). + +------------------------------------------------------------------- +Mon Jun 17 17:14:01 CEST 2019 - ndas@suse.de + +- Minor Update to 18.11.2 + * List of fixes can be found in + https://doc.dpdk.org/guides-18.11/rel_notes/release_18_11.html#fixes + +------------------------------------------------------------------- +Mon Apr 29 17:14:01 CEST 2019 - ndas@suse.de + +- Add missing libmnl-devel + +------------------------------------------------------------------- +Fri Mar 8 11:50:03 CET 2019 - ndas@suse.de + +- remove -Wno-error=array-bounds as its no longer needed +- disable i586 build because lack of sse support + +------------------------------------------------------------------- +Fri Feb 22 10:57:13 CET 2019 - ndas@suse.de + +- Add 0002-fix-cpu-compatibility.patch to address issue with older + CPUs (bsc#1125961, bsc#1099474) + [+ 0002-fix-cpu-compatibility.patch] + +------------------------------------------------------------------- +Thu Jan 24 14:17:48 CET 2019 - ndas@suse.de + +- Update to 18.11; some of the changes are(fate#325916, fate#325951 fate#326025, fate#326992, bsc#1134968, jira#SLE-4715) : + * Added support for using externally allocated memory in DPDK. + * Added check for ensuring allocated memory is addressable by devices. + * Updated the C11 memory model version of the ring library. + * Added NXP CAAM JR PMD. + * Added support for GEN3 devices to Intel QAT driver. + * Added Distributed Software Eventdev PMD. + * Updated KNI kernel module, rte_kni library, and KNI sample application. + * Add a new sample application for vDPA. + * Updated mlx5 driver. + ** Improved security of PMD to prevent the NIC from getting stuck when the application misbehaves. + ** Reworked flow engine to supported e-switch flow rules (transfer attribute). + ** Added support for header re-write(L2-L4), VXLAN encap/decap, count, match on TCP flags and multiple flow groups with e-switch flow rules. + ** Added support for match on metadata, VXLAN and MPLS encap/decap with flow rules. + ** Added support for RTE_ETH_DEV_CLOSE_REMOVE flag to provide better support for representors. + ** Added support for meson build. + ** Fixed build issue with PPC. + ** Added support for BlueField VF. + ** Added support for externally allocated static memory for DMA. + all the changes can be viwed in http://doc.dpdk.org/guides/rel_notes/release_18_11.html + [- 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch] + +------------------------------------------------------------------- +Thu Oct 25 15:26:53 CEST 2018 - ndas@suse.de + +- Enable missed MLX PMDs for SLE12SP4 (bsc#1112307) + +------------------------------------------------------------------- +Mon Sep 24 11:52:08 UTC 2018 - Marco Varlese + +- Fixed a problem with ABI compatibility; API/ABI compatibility is + guaranteed by DPDK upstream community across subsequent bug-fix + releases. However, the .spec file broke it by defining the wrong + version which included also the bug-fix release number. +- Fixed a naming issue with library: did not reflect soname + +------------------------------------------------------------------- +Wed Aug 29 09:59:13 UTC 2018 - marco.varlese@suse.com + +- Fixed a syntax error affecting csh environment configuration(bsc#1102310) + +------------------------------------------------------------------- +Mon Jun 18 06:21:21 UTC 2018 - marco.varlese@suse.com + +- Update to 18.02.2; some of the changes are: + * Added function to allow releasing internal EAL resources on exit + * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API + * Updated i40e driver to support PPPoE/PPPoL2TP + * Added MAC loopback support for i40e + * Added support of run time determination of number of queues per i40e VF + * Updated mlx4/mlx5 driver + * Added NVGRE and UDP tunnels support in Solarflare network PMD + * Added AVF (Adaptive Virtual Function) net PMD + * Added feature supports for live migration from vhost-net to vhost-user + * Updated the AESNI-MB PMD + * Updated the DPAA_SEC crypto driver to support rte_security + * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD + * Added GRO support for VxLAN-tunneled packets +- Removed 0002-dpdk-eal-ppc-rte_smp_mb.patch since incorporated + upstream + +------------------------------------------------------------------- +Mon Apr 23 14:11:51 UTC 2018 - marco.varlese@suse.com + +- Update to 18.02.1 +- Restrict untrusted guest to misuse virtio to corrupt + host application(ovs-dpdk) memory which can lead all VM to lose + connectivity(CVE-2018-1059,bsc#1089638). + Changes: + * Add deprecation notice for rte_vhost_gpa_to_vva() + * Patch vhost-net and vhost-scsi examples + * Fixes checkpatch warnings + * Take VIRTIO_RING_F_EVENT_IDX into account when ring size (Tiwei) + * Fix next chuncks translation access rights in Rx paths (Tiwei) + * vhost: fix indirect descriptors table translation size + * vhost: check all range is mapped when translating GPAs + * vhost: introduce safe API for GPA translation + * vhost: ensure all range is mapped when translating QVAs + * vhost: add support for non-contiguous indirect descs tables + * vhost: handle virtually non-contiguous buffers in Tx + * vhost: handle virtually non-contiguous buffers in Rx + * vhost: handle virtually non-contiguous buffers in Rx-mrg + * examples/vhost: move to safe GPA translation API + * examples/vhost_scsi: move to safe GPA translation API + * vhost/crypto: move to safe GPA translation API + * vhost: deprecate unsafe GPA translation API + +------------------------------------------------------------------- +Fri Apr 20 14:16:57 CEST 2018 - ndas@suse.de + +- Enable MLX4/5 PMD only in Factory and >= SLES15 + It needs rdma-core >= v16. + +------------------------------------------------------------------- +Tue Mar 6 11:35:29 UTC 2018 - marco.varlese@suse.de + +- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files +- Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 +- Updated to version 18.02; some of the changes include: + * Added function to allow releasing internal EAL resources on exit + * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API + * Updated i40e driver to support PPPoE/PPPoL2TP + * Added MAC loopback support for i40e + * Added support of run time determination of number of queues per i40e VF + * Updated mlx5 driver + * Updated mlx4 driver + * Added NVGRE and UDP tunnels support in Solarflare network PMD + * Added AVF (Adaptive Virtual Function) net PMD + * Added feature supports for live migration from vhost-net to vhost-user + * Updated the AESNI-MB PMD + * Updated the DPAA_SEC crypto driver to support rte_security + * Added Wireless Base Band Device (bbdev) abstraction + * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD + * Added new pipeline use case for dpdk-test-eventdev application + * Updated Eventdev sample application to support event devices based on capability + * Added Rawdev, a generic device support library + * Added new multi-process communication channel + * Added GRO support for VxLAN-tunneled packets + * Increased default Rx and Tx ring size in sample applications + * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL] + +------------------------------------------------------------------- +Wed Feb 28 07:02:13 UTC 2018 - marco.varlese@suse.de + +- The vm_power example does not work for ppc64le since it uses the + IXGBE PMD driver which is not available for that platform(bsc#1082154): + * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; + * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver; + +------------------------------------------------------------------- +Tue Feb 27 14:45:25 UTC 2018 - marco.varlese@suse.de + +- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: + * location changes of the GPL and LGPL licenses; + * net/mlx4: + - fix drop flow resources leak + * net/bnxt: + - double increment of idx during Tx ring alloc + - group info usage + - check for ether type + - size of Tx ring in HW + - number of pools for RSS + - return code in MAC address set + - link speed setting with autoneg off + * net/nfp: + - MTU settings + - jumbo settings + - CRC strip check behaviour + * net/sfc: + - multicast address list copy memory leak + - DMA memory leak after kvarg processing failure + - fix label name to be consistent + * net/i40e: + - VLAN offload setting issue + - FDIR input set conflict + - FDIR rule confiliction issue + - setting MAC address of VF + - flow director Rx resource defect + - warn when writing global registers + - multiple driver support + - interrupt conflict with multi-driver + - Rx interrupt + - check multi-driver option parsing + - flow director filter + * net/qede: + - enable LRO over tunnels + - reject config with no Rx queue + - check tunnel L3 header + - tunnel header size in Tx BD configuration + - VF LRO tunnel configuration + * net/mlx5: + - Tx checksum offloads + - un-supported RSS hash fields use + - device operation type + - pedantic compilation + - fix pedantic compilation + - flow item validation + - flow RSS configuration + - UAR remapping on non configured queues + - secondary process verification + - port stop by verify flows are still present + - flow priority on queue action + +------------------------------------------------------------------- +Mon Jan 15 11:20:39 CET 2018 - ndas@suse.de + +- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609) + +------------------------------------------------------------------- +Tue Jan 9 14:03:43 UTC 2018 - marco.varlese@suse.de + +- Upgraded to latest major 17.11(fate#322609); some of the fixes include: + * Extended port_id range from uint8_t to uint16_t + * Added a new driver for Marvell Armada 7k/8k devices + * Updated mlx4 driver + * Updated mlx5 driver + * Added SoftNIC PMD + * Added support for NXP DPAA Devices + * Updated support for Cavium OCTEONTX Device + * Added PF support to the Netronome NFP PMD + * Updated bnxt PMD + * Added bus agnostic functions to cryptodev for PMD initialization + * Updated QAT crypto PMD + * Updated the AESNI MB PMD + * Updated the OpenSSL PMD + * Added NXP DPAA SEC crypto PMD + * Add new benchmarking mode to dpdk-test-crypto-perf application + * Added IOMMU support to libvhost-user + * Added the Generic Segmentation Offload Library + * Added the Flow Classification Library +- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11 + +------------------------------------------------------------------- +Fri Dec 22 09:06:51 UTC 2017 - marco.varlese@suse.de + +- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810 + +------------------------------------------------------------------- +Mon Dec 11 07:53:13 UTC 2017 - marco.varlese@suse.de + +- Upgraded to latest stable 17.08.1; some of the fixes include: + * net/qede: disable per-VF Tx switching feature + * revert "net/virtio: flush Rx queues on start" + * various fixes for mlx5 PMD drivers + * various fixes for bnxt PMD drivers + * various fixes for i40e PMD drivers + * various fixes for crypto PMD drivers + * testpmd: fix for non-consecutive ports + * ethdev: fix ABI version + +------------------------------------------------------------------- +Wed Nov 15 09:02:07 UTC 2017 - mchandras@suse.de + +- Add missing libelf-devel dependency + +------------------------------------------------------------------- +Mon Sep 4 11:18:19 CEST 2017 - ndas@suse.de + +- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) + Some of the new features are listed below: + * Increase minimum x86 ISA version to SSE4.2 + * Added Fail-Safe PMD + * Added support for generic flow API (rte_flow) on igb NICs + * Added support for generic flow API (rte_flow) on enic + * Added support for Chelsio T6 family of adapters + * Added latency and performance improvements for cxgbe + * Updated mlx5 driver + * Added NXP DPAA2 Eventdev PMD + * Added dpdk-test-eventdev test application + * from 17.05: + * Added mbuf raw free API + * Added free Tx mbuf on demand API + * Added VFIO hotplug support + * Added PowerPC support for i40e and its vector PMD + * Added VF max bandwidth setting in i40e + * Added LiquidIO network PMD + * Added support for NXP DPAA2 Network PMD + * Added support for NXP DPAA2 - FSLMC bus + * Added support for the Wind River Systems AVP PMD + * Added vmxnet3 version 3 support + * Added MTU feature support to Virtio and Vhost + * Added event driven programming model library (rte_eventdev) + * Added Software Eventdev PMD + * Added Cavium OCTEONTX Eventdev PMD + * Added NXP DPAA2 SEC crypto PMD + * from 17.02: + * Added generic EAL API for I/O device memory read/write operations + * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL + * Added generic flow API (rte_flow) + * Added APIs for MACsec offload support to the ixgbe PMD + * Added Solarflare libefx-based network PMD. + * Added support for Mellanox ConnectX-5 adapters (mlx5) + * Added ARMv8 crypto PMD + * Added crypto performance test application + * more details can be found in + http://dpdk.org/doc/guides/rel_notes/release_17_08.html + http://dpdk.org/doc/guides/rel_notes/release_17_05.html + http://dpdk.org/doc/guides/rel_notes/release_17_02.html + [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch + -0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch + -0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch + -0005-kni-fix-build-with-gcc-7.1.patch + -0006-kni-fix-ethtool-build-with-kernel-4.11.patch + -0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] +- Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). + [+ 0002-kni-fix-build-on-SLE12-SP3.patch] + +------------------------------------------------------------------- +Fri Aug 25 12:09:57 UTC 2017 - marco.varlese@suse.com + +- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version + +------------------------------------------------------------------- +Fri Aug 18 14:44:37 UTC 2017 - marco.varlese@suse.com + +- Split libs into a subpackage to provide multiple installable versions on same sytem + +------------------------------------------------------------------- +Tue Jul 18 11:26:36 CEST 2017 - ndas@suse.de + +- Do not use obsolete pci_enable_msix for() kernel > 4.8 + [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, + +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] + +------------------------------------------------------------------- +Wed Jun 14 12:55:10 CEST 2017 - ndas@suse.de + +- Updated to 16.11.2 which provide bug fixes as below(fate#321541): + * mbuf: fix missing includes in exported header + * eal: fix debug macro redefinition + * net/nfp: fix packet/data length conversion + * net/i40e: fix setup when bulk is disabled + * pci: fix device registration on FreeBSD + * net/i40e: ensure vector mode is not used with QinQ + * nic_uio: fix device binding at boot + * net/bnx2x: fix transmit queue free threshold + * net/vmxnet3: fix queue size changes + * kni: fix build with kernel 4.11 + * kni: fix possible memory leak + * kni: fix crash caused by freeing mempool + * net/i40e: fix allocation check + * net/virtio: fix crash when closing twice + * net/ixgbevf: set xstats id values + * net/i40e: fix hash input set on X722 + * eal/linux: fix build with glibc 2.25 + * net/i40e: fix incorrect packet index reference + * net/thunderx: fix 32-bit build + * net/thunderx: fix build on FreeBSD + * net/thunderx: fix deadlock in Rx path + * net/ixgbe: fix setting MTU on stopped device + * vfio: fix secondary process start + * net/virtio-user: fix address on 32-bit system + * net/virtio: fix MSI-X for modern devices + * net/virtio: fix link status always down + * net/ixgbe: fix multi-queue mode check in SRIOV mode + * net/i40e/base: fix potential out of bound array access + * vhost: fix false sharing + * net/thunderx: fix stats access out of bounds + * net/virtio: disable LSC interrupt if MSIX not enabled + * net/i40e: fix mbuf alloc failed counter + * net: fix stripped VLAN flag for offload emulation + * vfio: fix disabling INTx + * net/igb: fix VF MAC address setting + * net/igb: fix VF MAC address setting + * net/ixgbe: fix VF Rx mode for allmulticast disabled + * net/bonding: fix updating slave link status + * net/virtio-user: fix overflow + * net/i40e: fix TC bitmap of VEB + * net/ixgbe/base: fix build error + * net/ixgbe: fix Rx queue blocking issue + * net/ixgbe: fix all queues drop setting of DCB + * net/ixgbe: fix TC bandwidth setting + more details can be found in + http://dpdk.org/ml/archives/stable/2017-May/001809.html + [- 0005-kni-fix-build-with-kernel-4.11.patch] +- use default gcc which is now gcc7 (bsc#1042372) + [+0005-kni-fix-build-with-gcc-7.1.patch] + +------------------------------------------------------------------- +Tue May 23 22:25:38 UTC 2017 - mchandras@suse.de + +- Add upstream patch to fix building against linux kernel 4.11 + [+0005-kni-fix-build-with-kernel-4.11.patch] + +------------------------------------------------------------------- +Tue Apr 25 13:40:05 CEST 2017 - ndas@suse.de + +- sync mailbox definitions with Linux PF driver(bsc#1035993) + [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch] + +------------------------------------------------------------------- +Tue Apr 18 11:35:19 CEST 2017 - ndas@suse.de + +- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). + [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch] + +------------------------------------------------------------------- +Tue Apr 4 15:28:20 CEST 2017 - ndas@suse.de + +- Fix dpdk KMP build fails(bsc#1031750) +- enable igb_uio kernel module(fate#322394) +- update kernel version for SLES12SP3 4.4.59 for bsc#1031705 + [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch] + +------------------------------------------------------------------- +Thu Mar 30 16:50:07 CEST 2017 - ndas@suse.de + +- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). + [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch] + +------------------------------------------------------------------- +Mon Mar 20 15:32:12 CET 2017 - ndas@suse.de + +- Disable dpdk-kmp package for ix86. + +------------------------------------------------------------------- +Fri Mar 3 11:37:59 CET 2017 - ndas@suse.de + +- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): + * app/test: fix symmetric session free in crypto perf tests + * app/testpmd: fix check for invalid ports + * app/testpmd: fix static build link ordering + * crypto/aesni_gcm: fix IV size in capabilities + * crypto/aesni_gcm: fix J0 padding bytes + * crypto/aesni_mb: fix incorrect crypto session + * crypto/openssl: fix extra bytes written at end of data + * crypto/openssl: fix indentation in guide + * crypto/qat: fix IV size in capabilities + * crypto/qat: fix to avoid buffer overwrite in OOP case + * cryptodev: fix crash on null dereference + * cryptodev: fix loop in device query + * devargs: reset driver name pointer on parsing failure + * drivers/crypto: fix different auth/cipher keys + * ethdev: check maximum number of queues for statistics + * ethdev: fix extended statistics name index + * ethdev: fix port data mismatched in multiple process model + * ethdev: fix port lookup if none + * ethdev: remove invalid function from version map + * examples/ethtool: fix driver information + * examples/ethtool: fix querying non-PCI devices + * examples/ip_pipeline: fix coremask limitation + * examples/ip_pipeline: fix parsing of pass-through pipeline + * examples/l2fwd-crypto: fix overflow + * examples/vhost: fix calculation of mbuf count + * examples/vhost: fix lcore initialization + * mempool: fix API documentation + * mempool: fix stack handler dequeue + * net/af_packet: fix fd use after free + * net/bnx2x: fix Rx mode configuration + * net/cxgbe/base: initialize variable before reading EEPROM + * net/cxgbe: fix parenthesis on bitwise operation + * net/ena: fix setting host attributes + * net/enic: fix hardcoding of some flow director masks + * net/enic: fix memory leak with oversized Tx packets + * net/enic: remove unnecessary function parameter attributes + * net/i40e: enable auto link update for 25G + * net/i40e: fix Rx checksum flag + * net/i40e: fix TC bandwidth definition + * net/i40e: fix VF reset flow + * net/i40e: fix checksum flag in x86 vector Rx + * net/i40e: fix crash in close + * net/i40e: fix deletion of all macvlan filters + * net/i40e: fix ethertype filter on X722 + * net/i40e: fix link update delay + * net/i40e: fix logging for Tx free threshold check + * net/i40e: fix segment number in reassemble process + * net/i40e: fix wrong return value when handling PF message + * net/i40e: fix xstats value mapping + * net/i40evf: fix casting between structs + * net/i40evf: fix reporting of imissed packets + * net/ixgbe: fix blocked interrupts + * net/ixgbe: fix received packets number for ARM + * net/ixgbe: fix received packets number for ARM NEON + * net/ixgbevf: fix max packet length + * net/mlx5: fix RSS hash result for flows + * net/mlx5: fix Rx packet validation and type + * net/mlx5: fix Tx doorbell + * net/mlx5: fix endianness in Tx completion queue + * net/mlx5: fix inconsistent link status + * net/mlx5: fix leak when starvation occurs + * net/mlx5: fix link status query + * net/mlx5: fix memory leak when parsing device params + * net/mlx5: fix missing inline attributes + * net/mlx5: fix updating total length of multi-packet send + * net/mlx: fix IPv4 and IPv6 packet type + * net/nfp: fix VLAN offload flags check + * net/nfp: fix typo in Tx offload capabilities + * net/pcap: fix timestamps in output pcap file + * net/qede/base: fix FreeBSD build + * net/qede: add vendor/device id info + * net/qede: fix PF fastpath status block index + * net/qede: fix filtering code + * net/qede: fix function declaration + * net/qede: fix per queue statisitics + * net/qede: fix resource leak + * net/vhost: fix socket file deleted on stop + * net/vhost: fix unix socket not removed as closing + * net/virtio-user: fix not properly reset device + * net/virtio-user: fix wrongly get/set features + * net/virtio: fix build without virtio-user + * net/virtio: fix crash when number of virtio devices > 1 + * net/virtio: fix multiple process support + * net/virtio: fix performance regression due to TSO + * net/virtio: fix rewriting LSC flag + * net/virtio: fix wrong Rx/Tx method for secondary process + * net/virtio: optimize header reset on any layout + * net/virtio: store IO port info locally + * net/virtio: store PCI operators pointer locally + * net/vmxnet3: fix Rx deadlock + * pci: fix check of mknod + * pmdinfogen: fix endianness with cross-compilation + * pmdinfogen: fix null dereference + * sched: fix crash when freeing port + * usertools: fix active interface detection when binding + * vdev: fix detaching with alias + * vfio: fix file descriptor leak in multi-process + * vhost: allow many vhost-user ports + * vhost: do not GSO when no header is present + * vhost: fix dead loop in enqueue path + * vhost: fix guest/host physical address mapping + * vhost: fix long stall of negotiation + * vhost: fix memory leak + +------------------------------------------------------------------- +Fri Feb 24 13:46:44 CET 2017 - ndas@suse.de + +- Fix broken dpdk-pmd/* soft links(bsc#1026804). + +------------------------------------------------------------------- +Thu Feb 16 18:29:43 CET 2017 - ndas@suse.de + +- Do not disable cryptodev as EXPREMENTAL tag has been removed. +- Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending + on it anymore and its removed from the upstream. + +------------------------------------------------------------------- +Fri Feb 10 11:24:27 CET 2017 - ndas@suse.de + +- Enable rte_kni kernel module for dpdk(fate#322394). + [+preamble] +- Build dpdk-thunderx only for aarch64 + +------------------------------------------------------------------- +Thu Feb 2 15:21:14 CET 2017 - ndas@suse.de + +- Update to version 16.11(fate#321541). Some of the new features are listed below: + * Added software parser for packet type. + * Improved offloads support in mbuf. + * Added vhost-user dequeue zero copy support. + * Added vhost-user indirect descriptors support. + * Added vhost PMD xstats. + * Added virtio NEON support for ARM. + * Updated the ixgbe base driver. + * Added APIs for VF management to the ixgbe PMD. + * Updated the enic driver. + * Added openssl PMD. + * Added support for new gcc -march option. + Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html +- Resolved fixes in the updated versions are : + * enic: Fixed several flow director issues. + * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. + * enic: Fixed high driver overhead when servicing Rx queues beyond the first. + +------------------------------------------------------------------- +Fri Jan 20 11:01:47 CET 2017 - ndas@suse.de + +- Added gcc-6 as default compiler for CRC/mtune & other optimizations. +- Fix possible parallel installation of dpdk subpackages. + +------------------------------------------------------------------- +Wed Jan 4 18:11:17 CET 2017 - ndas@suse.de + +- Add pre_checkin.sh to generate the dpdk-thunderx.spec file + +------------------------------------------------------------------- +Mon Dec 12 11:35:44 UTC 2016 - marco.varlese@suse.com + +- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec + +------------------------------------------------------------------- +Mon Dec 12 11:08:37 UTC 2016 - marco.varlese@suse.com + +- Added back in all the architectures to keep .spec files aligned + * Driving thunderx platform architectural dependency via the ExclusiveArch tag + +------------------------------------------------------------------- +Mon Dec 12 10:30:00 UTC 2016 - mvarlese@suse.com + +- Added support to build code for Thunderx platform(fate#321960). +- Introduced new dpdk-thunderx.spec file: + * Removed architectures not supporting Thunderx platform (e.g. x86) + * Added dependency on gcc v5.0 for armv8a-crc + +------------------------------------------------------------------- +Wed Nov 30 16:51:47 UTC 2016 - mchandras@suse.de + +- Update to version 16.07.2. Some of the fixes are listed below: + * ethdev: prevent duplicate event callback + * hash: fix bucket size usage + * hash: fix unlimited cuckoo path + * lpm: fix freeing memory + * lpm: fix freeing unused sub-table on rule delete + * mempool: fix leak if populate fails + * mempool: fix search of maximum contiguous pages + * pci: fix probing error if no driver found + * net/bnx2x: fix maximum PF queues + * net/bnxt: fix bit shift size + * net/bnxt: fix crash when closing + * net/enic: fix Rx queue index when not using Rx scatter + * net/enic: fix crash on MTU update or Rx queue reconfigure + * net/enic: fix crash with removed flow director filters + * net/enic: fix max packet length check + * net/enic: fix multi-queue Rx performance + * net/enic: revert truncated packets counter fix + * net/fm10k: fix VF Tx queue initialization + * net/i40e: fix Rx hang when disable LLDP + * net/ixgbe: fix VF registers + * net/thunderx: fix Tx checksum handling + * [The list of changes is rather long so please consult the following + resources for the complete list of new features, bugfixes and other + changes in this release: + - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2] + +------------------------------------------------------------------- +Thu Nov 24 15:31:27 UTC 2016 - mchandras@suse.de + +- Update to version 16.07.1. Some of the fixes are listed below: + * contigmem: zero all pages during mmap + * crypto/null: fix key size increment value + * hash: fix false zero signature key hit lookup + * mem: fix crash on hugepage mapping error + * mbuf: fix error handling on pool creation + * net/e1000: fix returned number of available Rx descriptors + * net/enic: fix freeing memory for descriptor ring + * net/i40e: fix dropping packets with ethertype 0x88A8 + * net/i40e: fix mbuf leak during Rx queue release + * net/i40e: fix null pointer dereferences when using VMDq+RSS + * net/ixgbe/base: fix possible corruption of shadow RAM + * net/ixgbe: fix VF reset to apply to correct VF + * net/virtio_user: fix error management during init + * [The list of changes is rather long so please consult the following + resources for the complete list of new features, bugfixes and other + changes in this release: + - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release] + +------------------------------------------------------------------- +Thu Oct 6 10:36:52 UTC 2016 - mchandras@suse.de + +- Drop code for generating our own linker script. + * Commit 948fd64befc3 (" mk: replace the combined library with a + linker script") added upstream support for building and installing + a linker script so we drop our code from the spec file which + generated a much larger and possibly broken linker script resulting + to linking issues (boo#1002534) + +------------------------------------------------------------------- +Wed Aug 10 16:51:17 CEST 2016 - ndas@suse.de + +- Update to version 16.07. Some of the new features are listed below: + * Removed the mempool cache memory if caching is not being used. + * Added mempool external cache for non-EAL thread. + * Changed the memory allocation scheme in the mempool library. + * Added a new driver for Broadcom NetXtreme-C devices. + * Added a new driver for ThunderX nicvf devices. + * Added mailbox interrupt support for ixgbe and igb VFs. + * Updated the ixgbe base driver. + * Updated the i40e base driver. + * Updated the enic driver. + * Updated the mlx5 driver. + * Added support for virtio on IBM POWER8. + * Added support for Virtio in containers. + * Added vhost-user client mode. + * Added NSH packet recognition in i40e. + * Added AES-CTR support to AESNI MB PMD. + * Added AES counter mode support for Intel QuickAssist devices. + * Added KASUMI SW PMD. + * Added multi-writer support for RTE Hash with Intel TSX. + * Improved IP Pipeline Application. + * Added keepalive enhancements. + * Added packet capture framework. + * Added floating VEB support for i40e PF driver. + * Added support for live migration of a VM with SRIOV VF. + * [The list of changes is rather long so please consult the following + resources for the complete list of new features, bugfixes and other + changes in this release: + - http://dpdk.org/doc/guides/rel_notes/release_16_07.html + - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst + - Or the doc/guides/rel_notes/release_16_07.rst file in the released + tarball.] +- Removed patches that are already avilable in dpdk-16.07 + [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch + -0003-mk-fix-external-shared-library-dependencies-of-libraries.patch + -0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + -0005-d293dac-vhost-claim-support-of-guest-announce.patch + -0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch + -0007-ixgbe-fix-VLAN-filter-missing-brackets.patch + -0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch + -0009-bonding-copy-entire-config-structure-in-mode-4.patch + -0010-bonding-fix-active-slaves-with-no-primary.patch + -0011-bonding-do-not-ignore-multicast-in-mode-4.patch + -0012-bonding-do-not-activate-slave-twice.patch + -0013-bonding-fix-crash-when-no-slave-device.patch + -0014-bonding-fix-detach-of-bonded-device.patch + -0015-bonding-fix-detach-of-slave-devices.patch + -0016-eal-linux-support-built-in-kernel-modules.patch + -0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch + -0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch + -0019-i40e-base-fix-driver-load-failure.patch + -0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch + -0021-i40e-fix-inverted-check-for-no-refcount.patch + -0022-i40e-fix-overflow.patch + -0023-i40e-fix-VLAN-filtering.patch + -0024-mempool-fix-leak-when-creation-fails.patch + -0025-pcap-fix-captured-frame-length.patch + -0026-port-fix-crash-for-ethdev-writer-nodrop.patch + -0027-port-fix-crash-for-ring-writer-nodrop.patch + -0028-tools-fix-unbinding-failure-handling.patch + -0029-tools-support-Python-3-in-bind-script.patch + -0030-tools-support-binding-to-built-in-kernel-modules.patch + -0031-vhost-fix-leak-of-fds-and-mmaps.patch + -0032-virtio-fix-crash-in-statistics-functions.patch + -0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch + -0034-virtio-fix-restart.patch + -0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch + -0036-examples-fix-build-dependencies.patch + -0037-examples-ethtool-fix-build.patch + -0099-mk-fix-gcc-5-version-on-suse.patch + -0100-kni-fix-build-with-gcc-6.patch + -0101-ixgbe-fix-uninitialized-warning.patch + -0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch + -0103-e1000-base-Add-missing-braces-to-the-if-statements.patch + -0104-igb-fix-constant-sign-in-left-shift-operator.patch + -0105-e1000-fix-missing-link-interrupt-check-brackets.patch + -0106-app-test-fix-missing-brackets.patch + -0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch + ] + +- Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. +- Added a new binary dpdk-pdump dpdk-procinfo + +------------------------------------------------------------------- +Thu Jul 28 16:39:07 CEST 2016 - ndas@suse.de + +- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). +- Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). +- Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. +- Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). +- Disable examples that need LPM which is disabled on non-x86. + + [+0036-examples-fix-build-dependencies.patch, + +0037-examples-ethtool-fix-build.patch, + +_constraints] + +------------------------------------------------------------------- +Mon Jul 11 18:20:57 CEST 2016 - ndas@suse.de + +- Added support for aarch64 compilation. + [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] +- Disabled aarch64 dpdk-examples package for the time being as it + contains lots of Intel specific code. +- Added proper "Group" field for the subpackages . + +------------------------------------------------------------------- +Thu Jun 23 09:56:05 UTC 2016 - mchandras@suse.de + +- Add upstream patches to fix building with gcc >= 6 + * 0100-kni-fix-build-with-gcc-6.patch + * 0101-ixgbe-fix-uninitialized-warning.patch + * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch + * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch + * 0104-igb-fix-constant-sign-in-left-shift-operator.patch + * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch + * 0106-app-test-fix-missing-brackets.patch + * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch + +------------------------------------------------------------------- +Tue Jun 14 10:04:09 UTC 2016 - ndas@suse.de + +- Removed unwanted files(bsc#984437). + +------------------------------------------------------------------- +Thu Jun 9 17:18:01 CEST 2016 - ndas@suse.de + +- Added missing GPL-2.0 and LGPL-2.1 licenses. + +------------------------------------------------------------------- +Wed Jun 1 14:16:10 UTC 2016 - mchandras@suse.de + +- Update tarball URL. + +------------------------------------------------------------------- +Fri May 27 12:28:02 CEST 2016 - ndas@suse.de + +- Applied all the fixes recommended by upstream for + v2.2 stable release(bsc#981996). + + [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, + +0009-bonding-copy-entire-config-structure-in-mode-4.patch, + +0010-bonding-fix-active-slaves-with-no-primary.patch, + +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, + +0012-bonding-do-not-activate-slave-twice.patch, + +0013-bonding-fix-crash-when-no-slave-device.patch, + +0014-bonding-fix-detach-of-bonded-device.patch, + +0015-bonding-fix-detach-of-slave-devices.patch, + +0016-eal-linux-support-built-in-kernel-modules.patch, + +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, + +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, + +0019-i40e-base-fix-driver-load-failure.patch, + +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, + +0021-i40e-fix-inverted-check-for-no-refcount.patch, + +0022-i40e-fix-overflow.patch, + +0023-i40e-fix-VLAN-filtering.patch, + +0024-mempool-fix-leak-when-creation-fails.patch, + +0025-pcap-fix-captured-frame-length.patch, + +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, + +0027-port-fix-crash-for-ring-writer-nodrop.patch, + +0028-tools-fix-unbinding-failure-handling.patch, + +0029-tools-support-Python-3-in-bind-script.patch, + +0030-tools-support-binding-to-built-in-kernel-modules.patch, + +0031-vhost-fix-leak-of-fds-and-mmaps.patch, + +0032-virtio-fix-crash-in-statistics-functions.patch, + +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, + +0034-virtio-fix-restart.patch] + +------------------------------------------------------------------- +Wed May 11 09:21:40 UTC 2016 - mchandras@suse.de + +- Use fdupes to manage duplicate files + +------------------------------------------------------------------- +Thu Apr 28 14:39:36 CEST 2016 - ndas@suse.de + +- Create DPDK packages for 32 bit x86(bsc#977639). + +------------------------------------------------------------------- +Wed Apr 27 14:55:37 UTC 2016 - mchandras@suse.de + +- Add upstream patch for the ixgbe driver + * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN + filtering logic by adding the missing brackets in the 'if' statement. + +------------------------------------------------------------------- +Tue Apr 19 10:45:29 CEST 2016 - ndas@suse.de + +- DPDK is most common vhost-user backend, Adding upstream patches to + help qemu vm live migration with vhost-user (fate#320713). + [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch] + +------------------------------------------------------------------- +Wed Apr 13 10:56:08 UTC 2016 - mchandras@suse.de + +- Move the combined library back to the devel package (bsc#975123) + Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the + libdpdk.so is no longer a shared object but rather a linker script + generated by the spec file. This means that it is only used during + linking and the linker will add the individual DPDK libraries to the + DT_NEEDED tag on the dependent binaries. + +------------------------------------------------------------------- +Tue Apr 12 12:45:40 UTC 2016 - mchandras@suse.de + +- Fix shared linking against libdpdk.so (bsc#975123) + * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch + patch which sets the correct dependencies for the shared libraries. + * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script + is used to create and install a more lightweight version of libdpdk.so. + * Include the combined libdpdk.so library to the regular package since it + is also necessary during runtime. + +------------------------------------------------------------------- +Mon Apr 11 16:12:09 CEST 2016 - ndas@suse.de + +- Removed unwnated patch and reformated patch file names(bsc#974903). + [- dpdk-2.2-dtneeded.patch, + - dpdk-2.2-examples.patch, + - enic-pun-fix.patch, + - dpdk-2.2-warningflags.patch, + + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] +- Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into + one library + +------------------------------------------------------------------- +Mon Mar 21 14:15:08 UTC 2016 - nirmoy.das@suse.com + +- Intial version 2.2.0(fate#319169) + diff --git a/dpdk.spec b/dpdk.spec new file mode 100644 index 0000000..568878d --- /dev/null +++ b/dpdk.spec @@ -0,0 +1,334 @@ +# +# spec file for package dpdk +# +# 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 +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# +# needssslcertforbuild + + +%define flavor @BUILD_FLAVOR@%{nil} +%define aarch64_machine armv8a +%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} +%endif +# This is in sync with /ABI_VERSION +# TODO: automate this sync +%define maj 23 +%define min 0 +#%%define lname libdpdk-%%{maj}_%%{min} +%define lname libdpdk-%{maj} +# 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 +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 +Patch3: 0001-kni-fix-build-with-Linux-6.5.patch +Patch4: kni-fix-build-with-Linux-6.8.patch +Patch100: kni-fix-build-with-Linux-6.10.patch +BuildRequires: binutils +BuildRequires: doxygen +BuildRequires: fdupes +BuildRequires: kernel-syms +BuildRequires: libfdt-devel +BuildRequires: meson >= 0.53.2 +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) +BuildRequires: pkgconfig(libelf) +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} +%if 0%{?suse_version} > 1500 || 0%{?sle_version} >= 150400 +# https://bugzilla.opensuse.org/show_bug.cgi?id=1196511 +BuildRequires: pkgconfig(libbpf) +%endif + +%description +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} +Group: Development/Libraries/C and C++ +Requires: %{lname} = %{version} +Conflicts: dpdk-any-devel +Provides: dpdk-any-devel = %{version} + +%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} +Group: Development/Libraries/C and C++ +Requires: %{name}-devel = %{version} + +%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} +Group: Development/Libraries/C and C++ +Provides: %{lname}-any = %{version} + +%description -n %{lname} +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} +Group: System/Libraries +Conflicts: dpdk-any-doc +Provides: dpdk-any-doc = %{version} +BuildArch: noarch + +%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} +Group: System/Libraries +Requires: %{name} = %{version} +Requires: findutils +Requires: iproute +Requires: kmod +Requires: pciutils +Conflicts: dpdk-any-tools +Provides: dpdk-any-tools = %{version} + +%description tools +This package contains tools for setting up Data Plane Development Kit environment +%endif + +%if %{with examples} +%package examples +Summary: Data Plane Development Kit example applications %{summary_tag} +Group: System/Libraries +BuildRequires: libvirt-devel +Conflicts: dpdk-any-examples +Provides: dpdk-any-examples = %{version} + +%description examples +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 +%define pmddir %{_libdir}/dpdk-pmds-%{maj}.%{min} + +%prep +# can't use %%{name} because of dpdk-thunderx +%setup -n dpdk-stable-%{version} +%if 0%{?suse_version} > 1600 +%autopatch -p1 +%else +# grr, no fs.copyfile() in the old meson in SLE. +# and no -m and -M to %%autopatch in SLE either. Yuck. +%patch -P 0 -p1 +%patch -P 1 -p1 +%patch -P 2 -p1 +%patch -P 3 -p1 +%patch -P 4 -p1 +%endif + +# Skip not supported examples +sed -i "/performance-thread/d" examples/meson.build + +# Verify ABI +[ "$(cat ABI_VERSION)" = "%{maj}.%{min}" ] || exit 1 + +%build +%define _vpath_builddir "build-%{_target_cpu}-$flavor" + +%ifarch x86_64 +export CFLAGS="%{optflags} -U_FORTIFY_SOURCE -msse4" +%endif +examples="all" +for flavor in %{flavors_to_build}; do + %meson --includedir=%{incdir} \ + -Ddefault_library=shared \ + -Denable_docs=true \ + -Db_lto=true \ + %if %{with examples} + -Dexamples="$examples" \ + %endif + -Dplatform="%{platform}" \ + -Dcpu_instruction_set=%{machine} \ + -Denable_kmods=true \ + -Ddrivers_install_subdir=%{pmddir} \ + -Dkernel_dir="%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor" + %meson_build + # Make sure examples are only built once + examples="" +done + +%install +examples="%{?with_examples:all}" +for flavor in %{flavors_to_build}; do + %meson_install + # Also install the example binaries + if [ ! -z "$examples" ]; then + for f in %{_vpath_builddir}/examples/dpdk-*; do + bn=$(basename "$f") + if [ -f "$f" ] ; then + install -Dm 0755 ${f} "%{buildroot}%{_bindir}/${bn/dpdk-/dpdk_example_}" + patchelf --remove-rpath "%{buildroot}%{_bindir}/${bn/dpdk-/dpdk_example_}" + fi + done + fi + 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 + +# 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 +for tool in dpdk-devbind.py dpdk-pmdinfo.py dpdk-telemetry.py dpdk-hugepages.py; do + rm -rf "%{buildroot}%{_bindir}/$tool" +done +%else +# Add compatibility symlink +mkdir -p %{buildroot}%{_sbindir} +ln -s %{_bindir}/dpdk-devbind.py %{buildroot}%{_sbindir}/dpdk_nic_bind +%endif + +# Fix interpreter +%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 +%fdupes %{buildroot}/%{sdkdir}/examples + +# Fix broken symlink (yes with * in its name) +rm -v "%{buildroot}%{_libdir}/librte_*.so*" + +%post devel -p /sbin/ldconfig +%postun devel -p /sbin/ldconfig +%post -n %{lname} -p /sbin/ldconfig +%postun -n %{lname} -p /sbin/ldconfig + +%files +%{_bindir}/dpdk-dumpcap +%{_bindir}/dpdk-pdump +%{_bindir}/dpdk-proc-info +%{_bindir}/dpdk-test* + +%files -n %{lname} +%license license/gpl-2.0.txt license/lgpl-2.1.txt license/bsd-3-clause.txt +%{_libdir}/*.so.* +%dir %{pmddir} +%{pmddir}/*.so.* + +%files devel +#BSD +%{incdir}/ +%{sdkdir}/ +%{pmddir}/*.so +%{_libdir}/*.so +%{_libdir}/pkgconfig/libdpdk*.pc +%if %{with examples} +%exclude %{sdkdir}/examples/ +%endif + +%files devel-static +#BSD +%{_libdir}/*.a + +%files doc +#BSD +%doc %docdir + +%if %{with tools} +%files tools +%{_sbindir}/dpdk_nic_bind +%{_bindir}/dpdk-*.py +%endif + +%if %{with examples} +%files examples +%{_bindir}/dpdk_example_* +%doc %{sdkdir}/examples +%endif + +%changelog diff --git a/kni-fix-build-with-Linux-6.10.patch b/kni-fix-build-with-Linux-6.10.patch new file mode 100644 index 0000000..232a818 --- /dev/null +++ b/kni-fix-build-with-Linux-6.10.patch @@ -0,0 +1,68 @@ +From: Jiri Slaby +Date: Tue, 16 Jul 2024 10:40:26 +0200 +Subject: kni: fix build with Linux 6.10 +Patch-mainline: submitted to dev@dpdk.org, <20240716084414.115852-1-jslaby@suse.cz> +References: kernel 6.10 + +6.10 removed the "support" (it was never supported [1]) of separate +source and build dirs for out of tree modules. + +KNI uses "src=" hack for that purpose. + +Instead, copy sources to the build dir and don't rely upon the +unsupported... + +Intended esp. for stable/22.11. It should go wherever kni is still in +the tree. + +[1] https://lore.kernel.org/all/CAK7LNAQ47bZpE6c6Yoz-jQS78uU611oZwU8bH+7e=p5zSyADJw@mail.gmail.com/ + +Signed-off-by: Jiri Slaby +--- + kernel/linux/kni/meson.build | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/kernel/linux/kni/meson.build b/kernel/linux/kni/meson.build +index 4c90069e..39ca2ade 100644 +--- a/kernel/linux/kni/meson.build ++++ b/kernel/linux/kni/meson.build +@@ -11,8 +11,8 @@ if run_cmd.stdout().contains('txqueue') == true + kmod_cflags = '-DHAVE_ARG_TX_QUEUE' + endif + +- +-kni_mkfile = custom_target('rte_kni_makefile', ++kni_deps = [] ++kni_deps += custom_target('rte_kni_makefile', + output: 'Makefile', + command: ['touch', '@OUTPUT@']) + +@@ -22,12 +22,15 @@ kni_sources = files( + 'Kbuild', + ) + ++foreach file : kni_sources ++ kni_deps += fs.copyfile(file) ++endforeach ++ + custom_target('rte_kni', + input: kni_sources, + output: 'rte_kni.ko', + command: ['make', '-j4', '-C', kernel_build_dir, + 'M=' + meson.current_build_dir(), +- 'src=' + meson.current_source_dir(), + ' '.join(['MODULE_CFLAGS=', kmod_cflags,'-include ']) + + dpdk_source_root + '/config/rte_config.h' + + ' -I' + dpdk_source_root + '/lib/eal/include' + +@@ -35,7 +38,7 @@ custom_target('rte_kni', + ' -I' + dpdk_build_root + + ' -I' + meson.current_source_dir(), + 'modules'] + cross_args, +- depends: kni_mkfile, ++ depends: kni_deps, + install: install, + install_dir: kernel_install_dir, + build_by_default: get_option('enable_kmods')) +-- +2.45.2 + diff --git a/kni-fix-build-with-Linux-6.8.patch b/kni-fix-build-with-Linux-6.8.patch new file mode 100644 index 0000000..96eb0a4 --- /dev/null +++ b/kni-fix-build-with-Linux-6.8.patch @@ -0,0 +1,45 @@ +From: Jiri Slaby +Date: Tue, 12 Mar 2024 09:49:14 +0100 +Subject: kni: fix build with Linux 6.8 +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit +Git-repo: git://dpdk.org/dpdk-stable +Git-commit: 15658afda05f50e69805b891ebb4d2d5c1966d44 +Patch-mainline: yes +References: kernel 6.8 + +strlcpy() was removed in commit d26270061ae6 (string: Remove strlcpy()), use +strscpy() instead. + +The patches fixes this: +kernel/linux/kni/kni_net.c: In function ‘kni_get_drvinfo’: +kernel/linux/kni/kni_net.c:835:9: error: implicit declaration of function ‘strlcpy’; did you mean ‘strscpy’? + +Intended esp. for stable/22.11. It should go wherever kni is still in +the tree. + +Signed-off-by: Jiri Slaby +Acked-by: Luca Boccassi +--- + kernel/linux/kni/kni_net.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/kernel/linux/kni/kni_net.c b/kernel/linux/kni/kni_net.c +index 779ee345..c115a728 100644 +--- a/kernel/linux/kni/kni_net.c ++++ b/kernel/linux/kni/kni_net.c +@@ -832,8 +832,8 @@ static const struct net_device_ops kni_net_netdev_ops = { + static void kni_get_drvinfo(struct net_device *dev, + struct ethtool_drvinfo *info) + { +- strlcpy(info->version, KNI_VERSION, sizeof(info->version)); +- strlcpy(info->driver, "kni", sizeof(info->driver)); ++ strscpy(info->version, KNI_VERSION, sizeof(info->version)); ++ strscpy(info->driver, "kni", sizeof(info->driver)); + } + + static const struct ethtool_ops kni_net_ethtool_ops = { +-- +2.45.2 + diff --git a/preamble b/preamble new file mode 100644 index 0000000..815b8d5 --- /dev/null +++ b/preamble @@ -0,0 +1,4 @@ +Requires: kernel-%1 +Enhances: kernel-%1 +Supplements: packageand(kernel-%1:%{-n*}) +Conflicts: dpdk-any-kmp