From c092d35f096b529688cd34b8ff728b660038aae0 Mon Sep 17 00:00:00 2001 From: Anuj Mittal Date: Fri, 26 Dec 2025 09:12:29 +0530 Subject: dpdk: upgrade 23.11.1 -> 23.11.5 Upgrade to latest version for 23.11 LTS. Drop the patches that have already been merged. Signed-off-by: Anuj Mittal --- recipes-extended/dpdk/dpdk.inc | 2 +- .../0001-net-gve-base-fix-build-with-Fedora.patch | 95 ---------------------- .../0001-net-ionic-fix-build-with-Fedora.patch | 65 --------------- recipes-extended/dpdk/dpdk_23.11.1.bb | 73 ----------------- recipes-extended/dpdk/dpdk_23.11.5.bb | 71 ++++++++++++++++ 5 files changed, 72 insertions(+), 234 deletions(-) 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 delete mode 100644 recipes-extended/dpdk/dpdk_23.11.1.bb create mode 100644 recipes-extended/dpdk/dpdk_23.11.5.bb diff --git a/recipes-extended/dpdk/dpdk.inc b/recipes-extended/dpdk/dpdk.inc index 41618e0..f88ad98 100644 --- a/recipes-extended/dpdk/dpdk.inc +++ b/recipes-extended/dpdk/dpdk.inc @@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://license/gpl-2.0.txt;md5=b234ee4d69f5fce4486a80fdaf4a4 file://license/lgpl-2.1.txt;md5=4b54a1fd55a448865a0b32d41598759d \ file://license/bsd-3-clause.txt;md5=0f00d99239d922ffd13cabef83b33444" -SRC_URI = "git://dpdk.org/git/dpdk${STABLE};protocol=https;branch=${BRANCH} \ +SRC_URI = "git://dpdk.org/git/dpdk${STABLE};protocol=https;branch=${BRANCH};tag=v${PV} \ " CVE_PRODUCT = "data_plane_development_kit" 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 -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 -Signed-off-by: Joshua Washington -Signed-off-by: Xiangyu Chen ---- - 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 - #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 -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 -Signed-off-by: Xiangyu Chen ---- - 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_23.11.1.bb deleted file mode 100644 index b5aab21..0000000 --- a/recipes-extended/dpdk/dpdk_23.11.1.bb +++ /dev/null @@ -1,73 +0,0 @@ -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" - -STABLE = "-stable" -BRANCH = "23.11" -SRCREV = "a6ec5765cf83d3d58cbd6d4ed5b92b4a06f8a808" - -def get_cpu_instruction_set(bb, d): - import re - march = re.search(r'-march=([^\s]*)', d.getVar('CC')) - if march: - return march.group(1) - else: - return "core2" - -EXTRA_OEMESON = " -Dexamples=all -Dcpu_instruction_set=${@get_cpu_instruction_set(bb, d)} " - -COMPATIBLE_MACHINE = "null" -COMPATIBLE_HOST:libc-musl:class-target = "null" -COMPATIBLE_HOST:linux-gnux32 = "null" - -PACKAGECONFIG ??= " " -PACKAGECONFIG[afxdp] = ",,libbpf xdp-tools" -PACKAGECONFIG[libvirt] = ",,libvirt" - -RDEPENDS:${PN} += "pciutils python3-core" -RDEPENDS:${PN}-examples += "bash" -DEPENDS = "numactl python3-pyelftools-native" - -inherit meson pkgconfig - -INSTALL_PATH = "${prefix}/share/dpdk" - -do_install:append(){ - # remove source files - rm -rf ${D}/${INSTALL_PATH}/examples/* - - # Install examples - install -m 0755 -d ${D}/${INSTALL_PATH}/examples/ - for dirname in ${B}/examples/dpdk-* - do - if [ ! -d ${dirname} ] && [ -x ${dirname} ]; then - install -m 0755 ${dirname} ${D}/${INSTALL_PATH}/examples/ - fi - done - -} - -PACKAGES =+ "${PN}-examples ${PN}-tools" - -FILES:${PN} += " ${bindir}/dpdk-testpmd \ - ${bindir}/dpdk-proc-info \ - ${libdir}/*.so* \ - ${libdir}/dpdk/pmds-24.0/*.so* \ - " -FILES:${PN}-examples = " \ - ${prefix}/share/dpdk/examples/* \ - " - -FILES:${PN}-tools = " \ - ${bindir}/dpdk-pdump \ - ${bindir}/dpdk-test \ - ${bindir}/dpdk-test-* \ - ${bindir}/dpdk-*.py \ - " - -CVE_PRODUCT = "data_plane_development_kit" - -INSANE_SKIP:${PN} = "dev-so" diff --git a/recipes-extended/dpdk/dpdk_23.11.5.bb b/recipes-extended/dpdk/dpdk_23.11.5.bb new file mode 100644 index 0000000..0123c65 --- /dev/null +++ b/recipes-extended/dpdk/dpdk_23.11.5.bb @@ -0,0 +1,71 @@ +include dpdk.inc + +SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch \ + file://0001-Add-new-tracepoint-function-for-type-time_t.patch" + +STABLE = "-stable" +BRANCH = "23.11" +SRCREV = "62f583c49bf67dd4d6733ece14e55fe6839e66d1" + +def get_cpu_instruction_set(bb, d): + import re + march = re.search(r'-march=([^\s]*)', d.getVar('CC')) + if march: + return march.group(1) + else: + return "core2" + +EXTRA_OEMESON = " -Dexamples=all -Dcpu_instruction_set=${@get_cpu_instruction_set(bb, d)} " + +COMPATIBLE_MACHINE = "null" +COMPATIBLE_HOST:libc-musl:class-target = "null" +COMPATIBLE_HOST:linux-gnux32 = "null" + +PACKAGECONFIG ??= " " +PACKAGECONFIG[afxdp] = ",,libbpf xdp-tools" +PACKAGECONFIG[libvirt] = ",,libvirt" + +RDEPENDS:${PN} += "pciutils python3-core" +RDEPENDS:${PN}-examples += "bash" +DEPENDS = "numactl python3-pyelftools-native" + +inherit meson pkgconfig + +INSTALL_PATH = "${prefix}/share/dpdk" + +do_install:append(){ + # remove source files + rm -rf ${D}/${INSTALL_PATH}/examples/* + + # Install examples + install -m 0755 -d ${D}/${INSTALL_PATH}/examples/ + for dirname in ${B}/examples/dpdk-* + do + if [ ! -d ${dirname} ] && [ -x ${dirname} ]; then + install -m 0755 ${dirname} ${D}/${INSTALL_PATH}/examples/ + fi + done + +} + +PACKAGES =+ "${PN}-examples ${PN}-tools" + +FILES:${PN} += " ${bindir}/dpdk-testpmd \ + ${bindir}/dpdk-proc-info \ + ${libdir}/*.so* \ + ${libdir}/dpdk/pmds-24.0/*.so* \ + " +FILES:${PN}-examples = " \ + ${prefix}/share/dpdk/examples/* \ + " + +FILES:${PN}-tools = " \ + ${bindir}/dpdk-pdump \ + ${bindir}/dpdk-test \ + ${bindir}/dpdk-test-* \ + ${bindir}/dpdk-*.py \ + " + +CVE_PRODUCT = "data_plane_development_kit" + +INSANE_SKIP:${PN} = "dev-so" -- cgit v1.2.3-54-g00ecf