Release notes:
https://doc.dpdk.org/guides-21.11/rel_notes/release_21_11.html

Signed-off-by: Naveen Saini <[email protected]>
---
 recipes-extended/dpdk/dpdk-module_21.11.0.bb  | 45 ++++++++++++
 ...d-mcpu-already-passed-by-Yocto-21.11.patch | 38 +++++++++++
 recipes-extended/dpdk/dpdk_21.11.0.bb         | 68 +++++++++++++++++++
 3 files changed, 151 insertions(+)
 create mode 100644 recipes-extended/dpdk/dpdk-module_21.11.0.bb
 create mode 100644 
recipes-extended/dpdk/dpdk/0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch
 create mode 100644 recipes-extended/dpdk/dpdk_21.11.0.bb

diff --git a/recipes-extended/dpdk/dpdk-module_21.11.0.bb 
b/recipes-extended/dpdk/dpdk-module_21.11.0.bb
new file mode 100644
index 0000000..c21bc62
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk-module_21.11.0.bb
@@ -0,0 +1,45 @@
+include dpdk.inc
+
+FILESEXTRAPATHS:prepend := "${THISDIR}/dpdk:"
+
+SRC_URI += " \
+            file://0001-Makefile-add-makefile.patch \
+"
+STABLE = "-stable"
+BRANCH = "21.11"
+SRCREV = "45f04d88ae8fa6217812abdaa623d66b05fc7b6a"
+S = "${WORKDIR}/git"
+
+inherit module
+
+#kernel module needs 'rte_build_config.h', which is generated at buid time
+DEPENDS += "dpdk"
+
+export S
+export STAGING_KERNEL_DIR
+export STAGING_INCDIR
+export INSTALL_MOD_DIR="dpdk"
+
+do_configure[noexec] = "1"
+
+do_compile() {
+    cd ${S}/kernel/linux/kni
+    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+    oe_runmake KERNEL_PATH=${STAGING_KERNEL_DIR}   \
+           KERNEL_VERSION=${KERNEL_VERSION}    \
+           CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+           AR="${KERNEL_AR}" \
+               O=${STAGING_KERNEL_BUILDDIR} \
+           KBUILD_EXTRA_SYMBOLS="${KBUILD_EXTRA_SYMBOLS}" \
+           ${MAKE_TARGETS}
+}
+
+do_install() {
+    cd ${S}/kernel/linux/kni
+    unset CFLAGS CPPFLAGS CXXFLAGS LDFLAGS
+    oe_runmake DEPMOD=echo 
MODLIB="${D}${nonarch_base_libdir}/modules/${KERNEL_VERSION}" \
+               INSTALL_FW_PATH="${D}${nonarch_base_libdir}/firmware" \
+               CC="${KERNEL_CC}" LD="${KERNEL_LD}" \
+               O=${STAGING_KERNEL_BUILDDIR} \
+               ${MODULES_INSTALL_TARGET}
+}
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
new file mode 100644
index 0000000..a74869d
--- /dev/null
+++ 
b/recipes-extended/dpdk/dpdk/0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch
@@ -0,0 +1,38 @@
+From 9aeb0bedf63f0f8f132194705b63ed0045452354 Mon Sep 17 00:00:00 2001
+From: Naveen Saini <[email protected]>
+Date: Wed, 8 Dec 2021 11:48:27 +0800
+Subject: [PATCH] meson.build:-march and -mcpu already passed by Yocto
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Naveen Saini <[email protected]>
+---
+ config/meson.build | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/config/meson.build b/config/meson.build
+index 805d5d51d0..620331a736 100644
+--- a/config/meson.build
++++ b/config/meson.build
+@@ -127,12 +127,12 @@ dpdk_conf.set('RTE_MACHINE', cpu_instruction_set)
+ machine_args = []
+ 
+ # ppc64 does not support -march= at all, use -mcpu and -mtune for that
+-if host_machine.cpu_family().startswith('ppc')
+-    machine_args += '-mcpu=' + cpu_instruction_set
+-    machine_args += '-mtune=' + cpu_instruction_set
+-else
+-    machine_args += '-march=' + cpu_instruction_set
+-endif
++#if host_machine.cpu_family().startswith('ppc')
++#    machine_args += '-mcpu=' + cpu_instruction_set
++#    machine_args += '-mtune=' + cpu_instruction_set
++#else
++#    machine_args += '-march=' + cpu_instruction_set
++#endif
+ 
+ toolchain = cc.get_id()
+ dpdk_conf.set_quoted('RTE_TOOLCHAIN', toolchain)
+-- 
+2.17.1
+
diff --git a/recipes-extended/dpdk/dpdk_21.11.0.bb 
b/recipes-extended/dpdk/dpdk_21.11.0.bb
new file mode 100644
index 0000000..f7cdf0f
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk_21.11.0.bb
@@ -0,0 +1,68 @@
+include dpdk.inc
+
+SRC_URI += " \
+            
file://0001-meson.build-march-and-mcpu-already-passed-by-Yocto-21.11.patch \
+"
+
+STABLE = "-stable"
+BRANCH = "21.11"
+SRCREV = "45f04d88ae8fa6217812abdaa623d66b05fc7b6a"
+S = "${WORKDIR}/git"
+
+# kernel module is provide by dpdk-module recipe, so disable here
+EXTRA_OEMESON = " -Denable_kmods=false \
+                -Dexamples=all \
+"
+
+COMPATIBLE_MACHINE = "null"
+COMPATIBLE_HOST:libc-musl:class-target = "null"
+COMPATIBLE_HOST:linux-gnux32 = "null"
+
+PACKAGECONFIG ??= " "
+PACKAGECONFIG[afxdp] = ",,libbpf"
+PACKAGECONFIG[libvirt] = ",,libvirt"
+
+RDEPENDS:${PN} += "pciutils python3-core"
+RDEPENDS:${PN}-examples += "bash"
+DEPENDS = "numactl python3-pyelftools-native"
+
+inherit meson
+
+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-22.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"
-- 
2.17.1

-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#7374): 
https://lists.yoctoproject.org/g/meta-intel/message/7374
Mute This Topic: https://lists.yoctoproject.org/mt/87584802/21656
Group Owner: [email protected]
Unsubscribe: https://lists.yoctoproject.org/g/meta-intel/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to