diff mbox series

[meta-dpdk,v2] dpdk: upgrade 23.11.1 -> 25.11.0

Message ID 20251216053630.512423-1-ruiqiang.hao@windriver.com
State New
Headers show
Series [meta-dpdk,v2] dpdk: upgrade 23.11.1 -> 25.11.0 | expand

Commit Message

Ruiqiang Hao Dec. 16, 2025, 5:36 a.m. UTC
From: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>

Upgrade to DPDK 25.11 LTS release.

- Remove patches that are no longer needed in 25.11.0:
  * 0001-Add-new-tracepoint-function-for-type-time_t.patch
  * 0001-net-gve-base-fix-build-with-Fedora.patch
  * 0001-net-ionic-fix-build-with-Fedora.patch
- Update library path from pmds-24.0 to pmds-26.0
- Update SRCREV and branch references

Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
---
 ...-tracepoint-function-for-type-time_t.patch | 114 ------------------
 ...1-net-gve-base-fix-build-with-Fedora.patch |  95 ---------------
 ...0001-net-ionic-fix-build-with-Fedora.patch |  65 ----------
 .../dpdk/{dpdk_23.11.1.bb => dpdk_25.11.0.bb} |  12 +-
 4 files changed, 5 insertions(+), 281 deletions(-)
 delete mode 100644 recipes-extended/dpdk/dpdk/0001-Add-new-tracepoint-function-for-type-time_t.patch
 delete mode 100644 recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch
 delete mode 100644 recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch
 rename recipes-extended/dpdk/{dpdk_23.11.1.bb => dpdk_25.11.0.bb} (82%)
diff mbox series

Patch

diff --git a/recipes-extended/dpdk/dpdk/0001-Add-new-tracepoint-function-for-type-time_t.patch b/recipes-extended/dpdk/dpdk/0001-Add-new-tracepoint-function-for-type-time_t.patch
deleted file mode 100644
index 56b4b43..0000000
--- a/recipes-extended/dpdk/dpdk/0001-Add-new-tracepoint-function-for-type-time_t.patch
+++ /dev/null
@@ -1,114 +0,0 @@ 
-From a97f93abc34731b73689c0c78bd189a91625779f Mon Sep 17 00:00:00 2001
-From: Changqing Li <changqing.li@windriver.com>
-Date: Tue, 29 Apr 2025 10:14:13 +0800
-Subject: [PATCH] Add new tracepoint function for type time_t
-
-To support Y2038 issue, for 32bit system, -D_TIME_BITS=64 is passed to
-gcc, struct timespec time->tv_sec is 64bit, but size_t is 32bits, so
-dpdk will compile failed with error:
-"../git/lib/ethdev/ethdev_trace.h: In function
-'rte_eth_trace_timesync_write_time':
-../git/lib/eal/include/rte_common.h:498:55: error: size of unnamed array
-is negative
-  498 | #define RTE_BUILD_BUG_ON(condition) ((void)sizeof(char[1 -
-      2*!!(condition)]))"
-
-Add a new tracepoint function for type time_t to fix this issue
-
-Upstream-Status: Submitted [https://patchwork.dpdk.org/project/dpdk/patch/20250527120404.2027529-1-changqing.li@windriver.com/]
-
-Signed-off-by: Changqing Li <changqing.li@windriver.com>
----
- lib/eal/common/eal_common_trace_ctf.c | 5 +++++
- lib/eal/include/rte_trace_point.h     | 4 ++++
- lib/ethdev/ethdev_trace.h             | 8 ++++----
- 3 files changed, 13 insertions(+), 4 deletions(-)
-
-diff --git a/lib/eal/common/eal_common_trace_ctf.c b/lib/eal/common/eal_common_trace_ctf.c
-index 04c4f71..055555e 100644
---- a/lib/eal/common/eal_common_trace_ctf.c
-+++ b/lib/eal/common/eal_common_trace_ctf.c
-@@ -88,6 +88,11 @@ meta_data_type_emit(char **meta, int *offset)
- 		"typealias integer {size = 64; base = x;} := size_t;\n"
- #else
- 		"typealias integer {size = 32; base = x;} := size_t;\n"
-+#endif
-+#if defined(_TIME_BITS) && _TIME_BITS == 64
-+		"typealias integer {size = 64; base = x;} := time_t;\n"
-+#else
-+		"typealias integer {size = 32; base = x;} := time_t;\n"
- #endif
- 		"typealias floating_point {\n"
- 		"    exp_dig = 8;\n"
-diff --git a/lib/eal/include/rte_trace_point.h b/lib/eal/include/rte_trace_point.h
-index 41e2a7f..d05422c 100644
---- a/lib/eal/include/rte_trace_point.h
-+++ b/lib/eal/include/rte_trace_point.h
-@@ -22,6 +22,7 @@ extern "C" {
- 
- #include <stdbool.h>
- #include <stdio.h>
-+#include <time.h>
- 
- #include <rte_branch_prediction.h>
- #include <rte_common.h>
-@@ -145,6 +146,8 @@ _tp _args \
- #define rte_trace_point_emit_ptr(val)
- /** Tracepoint function payload for string datatype */
- #define rte_trace_point_emit_string(val)
-+/** Tracepoint function payload for time_t datatype */
-+#define rte_trace_point_emit_time_t(val)
- /**
-  * Tracepoint function to capture a blob.
-  *
-@@ -429,6 +432,7 @@ do { \
- #define rte_trace_point_emit_float(in) __rte_trace_point_emit(in, float)
- #define rte_trace_point_emit_double(in) __rte_trace_point_emit(in, double)
- #define rte_trace_point_emit_ptr(in) __rte_trace_point_emit(in, uintptr_t)
-+#define rte_trace_point_emit_time_t(in) __rte_trace_point_emit(in, time_t)
- 
- #endif /* __DOXYGEN__ */
- 
-diff --git a/lib/ethdev/ethdev_trace.h b/lib/ethdev/ethdev_trace.h
-index 1b1ae0c..1d0dabb 100644
---- a/lib/ethdev/ethdev_trace.h
-+++ b/lib/ethdev/ethdev_trace.h
-@@ -1129,7 +1129,7 @@ RTE_TRACE_POINT(
- 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
- 		int ret),
- 	rte_trace_point_emit_u16(port_id);
--	rte_trace_point_emit_size_t(time->tv_sec);
-+	rte_trace_point_emit_time_t(time->tv_sec);
- 	rte_trace_point_emit_long(time->tv_nsec);
- 	rte_trace_point_emit_int(ret);
- )
-@@ -2146,7 +2146,7 @@ RTE_TRACE_POINT_FP(
- 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
- 		uint32_t flags, int ret),
- 	rte_trace_point_emit_u16(port_id);
--	rte_trace_point_emit_size_t(timestamp->tv_sec);
-+	rte_trace_point_emit_time_t(timestamp->tv_sec);
- 	rte_trace_point_emit_long(timestamp->tv_nsec);
- 	rte_trace_point_emit_u32(flags);
- 	rte_trace_point_emit_int(ret);
-@@ -2158,7 +2158,7 @@ RTE_TRACE_POINT_FP(
- 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *timestamp,
- 		int ret),
- 	rte_trace_point_emit_u16(port_id);
--	rte_trace_point_emit_size_t(timestamp->tv_sec);
-+	rte_trace_point_emit_time_t(timestamp->tv_sec);
- 	rte_trace_point_emit_long(timestamp->tv_nsec);
- 	rte_trace_point_emit_int(ret);
- )
-@@ -2169,7 +2169,7 @@ RTE_TRACE_POINT_FP(
- 	RTE_TRACE_POINT_ARGS(uint16_t port_id, const struct timespec *time,
- 		int ret),
- 	rte_trace_point_emit_u16(port_id);
--	rte_trace_point_emit_size_t(time->tv_sec);
-+	rte_trace_point_emit_time_t(time->tv_sec);
- 	rte_trace_point_emit_long(time->tv_nsec);
- 	rte_trace_point_emit_int(ret);
- )
--- 
-2.34.1
-
diff --git a/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch b/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch
deleted file mode 100644
index 05efc3f..0000000
--- a/recipes-extended/dpdk/dpdk/0001-net-gve-base-fix-build-with-Fedora.patch
+++ /dev/null
@@ -1,95 +0,0 @@ 
-From f0d9e787747dda0715654da9f0501f54fe105868 Mon Sep 17 00:00:00 2001
-From: Joshua Washington <joshwash@google.com>
-Date: Thu, 17 Oct 2024 16:42:33 -0700
-Subject: net/gve/base: fix build with Fedora Rawhide
-
-Currently, a number of integer types are typedef'd to their corresponding
-userspace or RTE values. This can be problematic if these types are
-already defined somewhere else, as it would cause type collisions.
-This patch changes the typedefs to #define macros which are only defined
-if the types are not defined already.
-
-Note: this was reported by OBS CI on 2024/10/17, when compiling DPDK
-in Fedora Rawhide.
-
-Fixes: c9ba2caf6302 ("net/gve/base: add OS-specific implementation")
-Fixes: abf1242fbb84 ("net/gve: add struct members and typedefs for DQO")
-Cc: stable@dpdk.org
-
-Upstream-Status: Backport [https://git.dpdk.org/dpdk/commit/?id=f0d9e787747dda0715654da9f0501f54fe105868]
-
-Reported-by: David Marchand <david.marchand@redhat.com>
-Signed-off-by: Joshua Washington <joshwash@google.com>
-Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
----
- drivers/net/gve/base/gve_osdep.h | 48 ++++++++++++++++++++++++++++++----------
- 1 file changed, 36 insertions(+), 12 deletions(-)
-
-(limited to 'drivers/net/gve/base/gve_osdep.h')
-
-diff --git a/drivers/net/gve/base/gve_osdep.h b/drivers/net/gve/base/gve_osdep.h
-index c0ee0d567c..64181cebd6 100644
---- a/drivers/net/gve/base/gve_osdep.h
-+++ b/drivers/net/gve/base/gve_osdep.h
-@@ -29,22 +29,46 @@
- #include <sys/utsname.h>
- #endif
- 
--typedef uint8_t u8;
--typedef uint16_t u16;
--typedef uint32_t u32;
--typedef uint64_t u64;
-+#ifndef u8
-+#define u8 uint8_t
-+#endif
-+#ifndef u16
-+#define u16 uint16_t
-+#endif
-+#ifndef u32
-+#define u32 uint32_t
-+#endif
-+#ifndef u64
-+#define u64 uint64_t
-+#endif
- 
--typedef rte_be16_t __sum16;
-+#ifndef __sum16
-+#define __sum16 rte_be16_t
-+#endif
- 
--typedef rte_be16_t __be16;
--typedef rte_be32_t __be32;
--typedef rte_be64_t __be64;
-+#ifndef __be16
-+#define __be16 rte_be16_t
-+#endif
-+#ifndef __be32
-+#define __be32 rte_be32_t
-+#endif
-+#ifndef __be64
-+#define __be64 rte_be64_t
-+#endif
- 
--typedef rte_le16_t __le16;
--typedef rte_le32_t __le32;
--typedef rte_le64_t __le64;
-+#ifndef __le16
-+#define __le16 rte_le16_t
-+#endif
-+#ifndef __le32
-+#define __le32 rte_le32_t
-+#endif
-+#ifndef __le64
-+#define __le64 rte_le64_t
-+#endif
- 
--typedef rte_iova_t dma_addr_t;
-+#ifndef dma_addr_t
-+#define dma_addr_t rte_iova_t
-+#endif
- 
- #define ETH_MIN_MTU	RTE_ETHER_MIN_MTU
- #define ETH_ALEN	RTE_ETHER_ADDR_LEN
--- 
-cgit v1.2.3
-
diff --git a/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch b/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch
deleted file mode 100644
index ce9a762..0000000
--- a/recipes-extended/dpdk/dpdk/0001-net-ionic-fix-build-with-Fedora.patch
+++ /dev/null
@@ -1,65 +0,0 @@ 
-From 45d48356e552d661885e1c29613891c11cd8ff4a Mon Sep 17 00:00:00 2001
-From: Timothy Redaelli <tredaelli@redhat.com>
-Date: Thu, 24 Oct 2024 11:30:06 +0200
-Subject: net/ionic: fix build with Fedora Rawhide
-
-Currently, a number of integer types are typedef'd to their corresponding
-userspace or RTE values. This can be problematic if these types are
-already defined somewhere else, as it would cause type collisions.
-This patch changes the typedefs to #define macros which are only defined
-if the types are not defined already.
-
-Fixes: 5ef518098ec6 ("net/ionic: register and initialize adapter")
-
-Upstream-Status: Backport [https://git.dpdk.org/dpdk-stable/patch/?id=45d48356e552d661885e1c29613891c11cd8ff4a]
-
-Signed-off-by: Timothy Redaelli <tredaelli@redhat.com>
-Signed-off-by: Xiangyu Chen <xiangyu.chen@windriver.com>
----
- drivers/net/ionic/ionic_osdep.h | 30 ++++++++++++++++++++++--------
- 1 file changed, 22 insertions(+), 8 deletions(-)
-
-diff --git a/drivers/net/ionic/ionic_osdep.h b/drivers/net/ionic/ionic_osdep.h
-index 68f767b920..97188dfd59 100644
---- a/drivers/net/ionic/ionic_osdep.h
-+++ b/drivers/net/ionic/ionic_osdep.h
-@@ -30,14 +30,28 @@
- 
- #define __iomem
- 
--typedef uint8_t	 u8;
--typedef uint16_t u16;
--typedef uint32_t u32;
--typedef uint64_t u64;
--
--typedef uint16_t __le16;
--typedef uint32_t __le32;
--typedef uint64_t __le64;
-+#ifndef u8
-+#define u8 uint8_t
-+#endif
-+#ifndef u16
-+#define u16 uint16_t
-+#endif
-+#ifndef u32
-+#define u32 uint32_t
-+#endif
-+#ifndef u64
-+#define u64 uint64_t
-+#endif
-+
-+#ifndef __le16
-+#define __le16 rte_le16_t
-+#endif
-+#ifndef __le32
-+#define __le32 rte_le32_t
-+#endif
-+#ifndef __le64
-+#define __le64 rte_le64_t
-+#endif
- 
- #define ioread8(reg)		rte_read8(reg)
- #define ioread32(reg)		rte_read32(rte_le_to_cpu_32(reg))
--- 
-cgit v1.2.3
-
diff --git a/recipes-extended/dpdk/dpdk_23.11.1.bb b/recipes-extended/dpdk/dpdk_25.11.0.bb
similarity index 82%
rename from recipes-extended/dpdk/dpdk_23.11.1.bb
rename to recipes-extended/dpdk/dpdk_25.11.0.bb
index b5aab21..eb3a0d4 100644
--- a/recipes-extended/dpdk/dpdk_23.11.1.bb
+++ b/recipes-extended/dpdk/dpdk_25.11.0.bb
@@ -1,13 +1,11 @@ 
 include dpdk.inc
 
-SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch \
-             file://0001-net-ionic-fix-build-with-Fedora.patch \
-             file://0001-net-gve-base-fix-build-with-Fedora.patch \
-             file://0001-Add-new-tracepoint-function-for-type-time_t.patch"
+SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch"
 
 STABLE = "-stable"
-BRANCH = "23.11"
-SRCREV = "a6ec5765cf83d3d58cbd6d4ed5b92b4a06f8a808"
+BRANCH = "v25.11"
+SRCREV = "ed957165eadbe60a47d5ec223578cdd1c13d0bd9"
+S = "${WORKDIR}/git"
 
 def get_cpu_instruction_set(bb, d):
     import re
@@ -55,7 +53,7 @@  PACKAGES =+ "${PN}-examples ${PN}-tools"
 FILES:${PN} += " ${bindir}/dpdk-testpmd \
 		 ${bindir}/dpdk-proc-info \
 		 ${libdir}/*.so* \
-		 ${libdir}/dpdk/pmds-24.0/*.so* \
+		 ${libdir}/dpdk/pmds-26.0/*.so* \
 		 "
 FILES:${PN}-examples = " \
 	${prefix}/share/dpdk/examples/* \