diff options
| author | Ruiqiang Hao <Ruiqiang.Hao@windriver.com> | 2025-12-23 20:37:16 +0800 |
|---|---|---|
| committer | Anuj Mittal <anuj.mittal@oss.qualcomm.com> | 2025-12-23 18:13:55 +0530 |
| commit | e465ffb6f89ed4bf37d3c85e40a85569b8b8bb30 (patch) | |
| tree | 09d0cdd306601bcc37fee3b941598c2929ebc207 | |
| parent | 575d7113fc83e1664f14d193b382f7b18aeaea0a (diff) | |
| download | meta-dpdk-e465ffb6f89ed4bf37d3c85e40a85569b8b8bb30.tar.gz | |
dpdk: upgrade 22.11.7 -> 25.11.0
Upgrade to DPDK 25.11 LTS release.
- Update SRCREV and branch references
- Update library path to pmds-26.0
- Remove dpdk-module
- Remove patches that are no longer needed in 25.11.0:
* 0001-Makefile-add-makefile.patch
* 0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch
- Set the cpu_instruction_set through EXTRA_OEMESON
Signed-off-by: Ruiqiang Hao <Ruiqiang.Hao@windriver.com>
Signed-off-by: Anuj Mittal <anuj.mittal@oss.qualcomm.com>
| -rw-r--r-- | recipes-extended/dpdk/dpdk-module_22.11.7.bb | 49 | ||||
| -rw-r--r-- | recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch | 75 | ||||
| -rw-r--r-- | recipes-extended/dpdk/dpdk/0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch | 38 | ||||
| -rw-r--r-- | recipes-extended/dpdk/dpdk_25.11.0.bb (renamed from recipes-extended/dpdk/dpdk_22.11.7.bb) | 23 |
4 files changed, 13 insertions, 172 deletions
diff --git a/recipes-extended/dpdk/dpdk-module_22.11.7.bb b/recipes-extended/dpdk/dpdk-module_22.11.7.bb deleted file mode 100644 index 1ce396c..0000000 --- a/recipes-extended/dpdk/dpdk-module_22.11.7.bb +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | include dpdk.inc | ||
| 2 | |||
| 3 | FILESEXTRAPATHS:prepend := "${THISDIR}/dpdk:" | ||
| 4 | |||
| 5 | SRC_URI += " \ | ||
| 6 | file://0001-Makefile-add-makefile.patch \ | ||
| 7 | " | ||
| 8 | STABLE = "-stable" | ||
| 9 | BRANCH = "22.11" | ||
| 10 | SRCREV = "077a7044cc5b2533410f691c8db6fb4f6667b1ca" | ||
| 11 | |||
| 12 | inherit module | ||
| 13 | |||
| 14 | #kernel module needs 'rte_build_config.h', which is generated at buid time | ||
| 15 | DEPENDS += "dpdk" | ||
| 16 | |||
| 17 | COMPATIBLE_MACHINE = "null" | ||
| 18 | COMPATIBLE_HOST:libc-musl:class-target = "null" | ||
| 19 | COMPATIBLE_HOST:linux-gnux32 = "null" | ||
| 20 | |||
| 21 | export S | ||
| 22 | export STAGING_KERNEL_DIR | ||
| 23 | export STAGING_INCDIR | ||
| 24 | export INSTALL_MOD_DIR = "dpdk" | ||
| 25 | |||
| 26 | do_configure[noexec] = "1" | ||
| 27 | |||
| 28 | do_compile() { | ||
| 29 | cd ${S}/kernel/linux/kni | ||
| 30 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
| 31 | oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR} \ | ||
| 32 | KERNEL_VERSION=${KERNEL_VERSION} \ | ||
| 33 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ | ||
| 34 | AR="${KERNEL_AR}" \ | ||
| 35 | O=${STAGING_KERNEL_BUILDDIR} \ | ||
| 36 | KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \ | ||
| 37 | ${MAKE_TARGETS} | ||
| 38 | } | ||
| 39 | |||
| 40 | do_install() { | ||
| 41 | cd ${S}/kernel/linux/kni | ||
| 42 | unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS | ||
| 43 | oe_runmake DEPMOD=echo MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \ | ||
| 44 | INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \ | ||
| 45 | CC="${KERNEL_CC}" LD="${KERNEL_LD}" \ | ||
| 46 | O=${STAGING_KERNEL_BUILDDIR} \ | ||
| 47 | ${MODULES_INSTALL_TARGET} | ||
| 48 | } | ||
| 49 | |||
diff --git a/recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch b/recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch deleted file mode 100644 index 0fc849b..0000000 --- a/recipes-extended/dpdk/dpdk/0001-Makefile-add-makefile.patch +++ /dev/null | |||
| @@ -1,75 +0,0 @@ | |||
| 1 | From 768cef60957d5e840071d1d6514d4add3f3c2904 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 3 | Date: Wed, 14 Apr 2021 17:25:53 +0800 | ||
| 4 | Subject: [PATCH] Makefile: add makefile | ||
| 5 | |||
| 6 | Current meson build for kernel module build does not fit in Yocto. | ||
| 7 | So added Makefile to build rte_kni.ko | ||
| 8 | |||
| 9 | Upstream-Status: Inappropriate | ||
| 10 | |||
| 11 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 12 | --- | ||
| 13 | kernel/linux/kni/Kbuild | 6 ------ | ||
| 14 | kernel/linux/kni/Makefile | 35 +++++++++++++++++++++++++++++++++++ | ||
| 15 | 2 files changed, 35 insertions(+), 6 deletions(-) | ||
| 16 | delete mode 100644 kernel/linux/kni/Kbuild | ||
| 17 | create mode 100644 kernel/linux/kni/Makefile | ||
| 18 | |||
| 19 | diff --git a/kernel/linux/kni/Kbuild b/kernel/linux/kni/Kbuild | ||
| 20 | deleted file mode 100644 | ||
| 21 | index e5452d6c00..0000000000 | ||
| 22 | --- a/kernel/linux/kni/Kbuild | ||
| 23 | +++ /dev/null | ||
| 24 | @@ -1,6 +0,0 @@ | ||
| 25 | -# SPDX-License-Identifier: BSD-3-Clause | ||
| 26 | -# Copyright(c) 2018 Luca Boccassi <bluca@debian.org> | ||
| 27 | - | ||
| 28 | -ccflags-y := $(MODULE_CFLAGS) | ||
| 29 | -obj-m := rte_kni.o | ||
| 30 | -rte_kni-y := $(patsubst $(src)/%.c,%.o,$(wildcard $(src)/*.c)) | ||
| 31 | diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile | ||
| 32 | new file mode 100644 | ||
| 33 | index 0000000000..19897ee06e | ||
| 34 | --- /dev/null | ||
| 35 | +++ b/kernel/linux/kni/Makefile | ||
| 36 | @@ -0,0 +1,35 @@ | ||
| 37 | +# | ||
| 38 | +# Makefile for building rte_kni.ko | ||
| 39 | +# | ||
| 40 | +MODULE_CFLAGS += -include $(S)/config/rte_config.h | ||
| 41 | +MODULE_CFLAGS += -I$(S)/lib/librte_eal/include | ||
| 42 | +MODULE_CFLAGS += -I$(S)/lib/librte_kni | ||
| 43 | +MODULE_CFLAGS += -I$(S)/kernel/linux/kni | ||
| 44 | +MODULE_CFLAGS += -I$(S)/lib/kni | ||
| 45 | +MODULE_CFLAGS += -I$(S) | ||
| 46 | +MODULE_CFLAGS += -I$(STAGING_INCDIR) | ||
| 47 | + | ||
| 48 | +rte_kni-objs = kni_misc.o kni_net.o | ||
| 49 | + | ||
| 50 | +ccflags-y := $(MODULE_CFLAGS) | ||
| 51 | +cflags-y := $(MODULE_CFLAGS) | ||
| 52 | +obj-m := rte_kni.o | ||
| 53 | + | ||
| 54 | + | ||
| 55 | +KERNEL_MAKE_OPTS := -C $(STAGING_KERNEL_DIR) M=$(CURDIR) | ||
| 56 | +ifneq ($(ARCH),) | ||
| 57 | +KERNEL_MAKE_OPTS += ARCH=$(ARCH) | ||
| 58 | +endif | ||
| 59 | +ifneq ($(CROSS_COMPILE),) | ||
| 60 | +KERNEL_MAKE_OPTS += CROSS_COMPILE=$(CROSS_COMPILE) | ||
| 61 | +endif | ||
| 62 | + | ||
| 63 | +build: | ||
| 64 | + $(MAKE) $(KERNEL_MAKE_OPTS) modules | ||
| 65 | + | ||
| 66 | +install: modules_install | ||
| 67 | + | ||
| 68 | +modules_install: | ||
| 69 | + $(MAKE) $(KERNEL_MAKE_OPTS) modules_install | ||
| 70 | + | ||
| 71 | +clean: | ||
| 72 | + $(MAKE) $(KERNEL_MAKE_OPTS) clean | ||
| 73 | -- | ||
| 74 | 2.17.1 | ||
| 75 | |||
diff --git a/recipes-extended/dpdk/dpdk/0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch b/recipes-extended/dpdk/dpdk/0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch deleted file mode 100644 index a74869d..0000000 --- a/recipes-extended/dpdk/dpdk/0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch +++ /dev/null | |||
| @@ -1,38 +0,0 @@ | |||
| 1 | From 9aeb0bedf63f0f8f132194705b63ed0045452354 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 3 | Date: Wed, 8 Dec 2021 11:48:27 +0800 | ||
| 4 | Subject: [PATCH] meson.build:-march and -mcpu already passed by Yocto | ||
| 5 | |||
| 6 | Upstream-Status: Inappropriate | ||
| 7 | |||
| 8 | Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> | ||
| 9 | --- | ||
| 10 | config/meson.build | 12 ++++++------ | ||
| 11 | 1 file changed, 6 insertions(+), 6 deletions(-) | ||
| 12 | |||
| 13 | diff --git a/config/meson.build b/config/meson.build | ||
| 14 | index 805d5d51d0..620331a736 100644 | ||
| 15 | --- a/config/meson.build | ||
| 16 | +++ b/config/meson.build | ||
| 17 | @@ -127,12 +127,12 @@ dpdk_conf.set('RTE_MACHINE', cpu_instruction_set) | ||
| 18 | machine_args = [] | ||
| 19 | |||
| 20 | # ppc64 does not support -march= at all, use -mcpu and -mtune for that | ||
| 21 | -if host_machine.cpu_family().startswith('ppc') | ||
| 22 | - machine_args += '-mcpu=' + cpu_instruction_set | ||
| 23 | - machine_args += '-mtune=' + cpu_instruction_set | ||
| 24 | -else | ||
| 25 | - machine_args += '-march=' + cpu_instruction_set | ||
| 26 | -endif | ||
| 27 | +#if host_machine.cpu_family().startswith('ppc') | ||
| 28 | +# machine_args += '-mcpu=' + cpu_instruction_set | ||
| 29 | +# machine_args += '-mtune=' + cpu_instruction_set | ||
| 30 | +#else | ||
| 31 | +# machine_args += '-march=' + cpu_instruction_set | ||
| 32 | +#endif | ||
| 33 | |||
| 34 | toolchain = cc.get_id() | ||
| 35 | dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain) | ||
| 36 | -- | ||
| 37 | 2.17.1 | ||
| 38 | |||
diff --git a/recipes-extended/dpdk/dpdk_22.11.7.bb b/recipes-extended/dpdk/dpdk_25.11.0.bb index e69a2df..0978004 100644 --- a/recipes-extended/dpdk/dpdk_22.11.7.bb +++ b/recipes-extended/dpdk/dpdk_25.11.0.bb | |||
| @@ -1,17 +1,20 @@ | |||
| 1 | include dpdk.inc | 1 | include dpdk.inc |
| 2 | 2 | ||
| 3 | SRC_URI += " \ | 3 | SRC_URI += " file://0001-config-meson-get-cpu_instruction_set-from-meson-opti.patch" |
| 4 | file://0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch \ | ||
| 5 | " | ||
| 6 | 4 | ||
| 7 | STABLE = "-stable" | 5 | STABLE = "-stable" |
| 8 | BRANCH = "22.11" | 6 | BRANCH = "25.11" |
| 9 | SRCREV = "077a7044cc5b2533410f691c8db6fb4f6667b1ca" | 7 | SRCREV = "ed957165eadbe60a47d5ec223578cdd1c13d0bd9" |
| 10 | 8 | ||
| 11 | # kernel module is provide by dpdk-module recipe, so disable here | 9 | def get_cpu_instruction_set(bb, d): |
| 12 | EXTRA_OEMESON = " -Denable_kmods=false \ | 10 | import re |
| 13 | -Dexamples=all \ | 11 | march = re.search(r'-march=([^\s]*)', d.getVar('CC')) |
| 14 | " | 12 | if march: |
| 13 | return march.group(1) | ||
| 14 | else: | ||
| 15 | return "core2" | ||
| 16 | |||
| 17 | EXTRA_OEMESON = " -Dexamples=all -Dcpu_instruction_set=${@get_cpu_instruction_set(bb, d)} " | ||
| 15 | 18 | ||
| 16 | COMPATIBLE_MACHINE = "null" | 19 | COMPATIBLE_MACHINE = "null" |
| 17 | COMPATIBLE_HOST:libc-musl:class-target = "null" | 20 | COMPATIBLE_HOST:libc-musl:class-target = "null" |
| @@ -49,7 +52,7 @@ PACKAGES =+ "${PN}-examples ${PN}-tools" | |||
| 49 | FILES:${PN} += " ${bindir}/dpdk-testpmd \ | 52 | FILES:${PN} += " ${bindir}/dpdk-testpmd \ |
| 50 | ${bindir}/dpdk-proc-info \ | 53 | ${bindir}/dpdk-proc-info \ |
| 51 | ${libdir}/*.so* \ | 54 | ${libdir}/*.so* \ |
| 52 | ${libdir}/dpdk/pmds-23.0/*.so* \ | 55 | ${libdir}/dpdk/pmds-26.0/*.so* \ |
| 53 | " | 56 | " |
| 54 | FILES:${PN}-examples = " \ | 57 | FILES:${PN}-examples = " \ |
| 55 | ${prefix}/share/dpdk/examples/* \ | 58 | ${prefix}/share/dpdk/examples/* \ |
