[meta-freescale] [PATCH 4/6] dpdk : Upgrade to v17.11

Chunrong Guo chunrong.guo at nxp.com
Thu Mar 15 22:03:34 PDT 2018


1. Rename the recipe version

2. Remove add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch

3. Add cmdif demo and lib

4. Enable openssl and kni

5. Changes:
11d461d - PVT: dpaa: Coverity fixes
f48f745 - PVT: dpaa2: Coverity fixes
4294b65 - Merge pull request #581 in GITAM/dpdk from bugfix/DPDK-1236-vhost to 17.11-next-qoriq
ea9e9f5 - PVT:examples/vhost: add NXP NON upstream compilation flag
fa63d1a - PVT: dpaa2: add dynamic AIOP DPL script
0c5d852 - PVT: crypto/dpaa_sec: Adding a check to verify portal configuration
3be54a7 - PVT: crypto/dpaa_sec: adding a check to create mempool only once per device
09dc340 - PVT: test/test: add macro for dpaa_sec device name
edd313f - PVT: crypto/dpaa_sec: add macro for device name
cad0a33 - Merge pull request #571 in GITAM/dpdk from bugfix/DPDK-1222 to 17.11-next-qoriq
0057e69 - dpaa/event: rearranging of atomic queue support code
2a43d84 - Merge pull request #569 in GITAM/dpdk from feature/DPDK-781 to 17.11-next-qoriq
214085e - README: Update for l3fwd with eventdev config
5ab4786 - PVT: mbuf: change mempool set from register
4ecd97c - license: introduce SPDX identifiers
e762ed7 - doc: add DPAA eventdev guide
84956ed - crypto/dpaa2_sec: fix build with GCC < 7
e716b6f - crypto/dpaa2_sec: fix build with GCC 7
a38ca35 - lib: remove unused map symbols
4d8a6de - net/dpaa2: remove unused global variable
513dac2 - bus/fslmc: fix build with latest glibc
ae9a891 - bus/dpaa: fix default IOVA mode
3d4dacb - bus/fslmc: fix DPCI compare in scan
080fda4 - bus/dpaa: fix clang warnings
d82a750 - crypto/dpaa2_sec: fix enum conversion for GCM
17ae857 - crypto/dpaa_sec: fix enum conversion for GCM
2e1e748 - net/dpaa: fix potential memory leak
18a9fad - Merge pull request #566 in GITAM/dpdk from ~NXA15309/dpdk:DPDK-781-l3fwd-event to 17.11-next-qoriq
6acd7a7 - PVT: doc: update the cmdif doc with correct AIOP ELF path
0056df7 - PVT: examples/l3fwd: adding CLI parameters for eventdev config
46aaafa - PVT: raw/dpaa2_cmdif: use iova-vaddr conversion macros
e7933b2 - PVT: bus/fslmc: add typecast in iova-vaddr conversion macros
fa06a86 - PVT: doc: add DPAA2 based CMDIF demo
5fcd632 - PVT: examples/cmdif: add the command interface demo application
3bcae6d - PVT: examples/cmdif: add CMDIF SHBP library
a8ff22c - PVT: examples/cmdif: add CMDIF server library
86a71f5 - PVT: examples/cmdif: add CMDIF client library

Signed-off-by: Chunrong Guo <chunrong.guo at nxp.com>
---
 ...ys-sysmacros.h-for-major-minor-defintions.patch |  38 --------
 recipes-extended/dpdk/dpdk_16.07.bb                |  89 ------------------
 recipes-extended/dpdk/dpdk_17.11.bb                | 104 +++++++++++++++++++++
 3 files changed, 104 insertions(+), 127 deletions(-)
 delete mode 100644 recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
 delete mode 100644 recipes-extended/dpdk/dpdk_16.07.bb
 create mode 100644 recipes-extended/dpdk/dpdk_17.11.bb

diff --git a/recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch b/recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
deleted file mode 100644
index c894044..0000000
--- a/recipes-extended/dpdk/dpdk/0001-include-sys-sysmacros.h-for-major-minor-defintions.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-Subject: [PATCH] include <sys/sysmacros.h> for major/minor defintions
-
-glibc 2.25 is warning about it if applications depend on
-sys/types.h for these macros, it expects to be included
-from <sys/sysmacros.h>
-
-Fixes
-| Grow.c:3534:13: error: In the GNU C Library, "minor" is defined
-|  by <sys/sysmacros.h>. For historical compatibility, it is
-|  currently defined by <sys/types.h> as well, but we plan to
-|  remove this soon. To use "minor", include <sys/sysmacros.h>
-|  directly. If you did not intend to use a system-defined macro
-|  "minor", you should undefine it after including <sys/types.h>. [-Werror]
-| Query.c: In function 'Query':
-| Query.c:105:13: error: In the GNU C Library, "makedev" is defined
-|  by <sys/sysmacros.h>. For historical compatibility, it is
-|  currently defined by <sys/types.h> as well, but we plan to
-|  remove this soon. To use "makedev", include <sys/sysmacros.h>
-|  directly. If you did not intend to use a system-defined macro
-|  "makedev", you should undefine it after including <sys/types.h>. [-Werror]
-|           makedev((unsigned)disc.major,(unsigned)disc.minor) == stb.st_rdev)
-|              ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
-Signed-off-by: Chunrong Guo <chunrong.guo at nxp.com>
----
-Upstream-Status: Pending
-
-
---- a/lib/librte_eal/linuxapp/eal/eal_pci_uio.cold	2017-02-27 17:36:15.984931159 +0800
-+++ b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c	2017-02-27 17:36:57.520929721 +0800
-@@ -39,6 +39,7 @@
- #include <sys/stat.h>
- #include <sys/mman.h>
- #include <linux/pci_regs.h>
-+#include <sys/sysmacros.h>
- 
- #if defined(RTE_ARCH_X86)
- #include <sys/io.h>
diff --git a/recipes-extended/dpdk/dpdk_16.07.bb b/recipes-extended/dpdk/dpdk_16.07.bb
deleted file mode 100644
index 78328c4..0000000
--- a/recipes-extended/dpdk/dpdk_16.07.bb
+++ /dev/null
@@ -1,89 +0,0 @@
-DESCRIPTION = "Data Plane Development Kit"
-HOMEPAGE = "http://dpdk.org"
-LICENSE = "BSD & LGPLv2 & GPLv2"
-LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe"
-
-DEPENDS += "virtual/kernel openssl"
-RDEPENDS_${PN} = "bash python"
-RDEPENDS_${PN}-examples = "bash python-core"
-
-inherit module
-
-SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/dpdk;nobranch=1 \
-    file://add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
-    file://0001-include-sys-sysmacros.h-for-major-minor-defintions.patch \
-"
-SRCREV = "076aa8e2f9a4ad7e0a020f5c574371d92afe4a60"
-
-S = "${WORKDIR}/git"
-
-DPAA_VER ?= "dpaa2"
-DPAA_VER_fsl-lsch2 = "dpaa"
-export RTE_TARGET = "${ARCH}-${DPAA_VER}-linuxapp-gcc"
-export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${RTE_TARGET}/"
-
-EXTRA_OEMAKE += 'ARCH="${ARCH}" CROSS="${TARGET_PREFIX}" \
-    CPU_CFLAGS="--sysroot=${STAGING_DIR_HOST}" RTE_SDK="${S}" \
-    OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
-    RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" \
-'
-
-do_configure[noexec] = "1"
-
-do_compile[depends] += "virtual/kernel:do_shared_workdir"
-do_compile() {
-    oe_runmake O="${RTE_TARGET}" T="${RTE_TARGET}" config
-}
-
-do_install() {
-    unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
-
-    oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  WERROR_FLAGS="-w" V=1  T="${RTE_TARGET}" DESTDIR="${D}" install
-
-    # Build and install the DPDK examples
-    for APP in examples/l2fwd examples/l3fwd examples/l2fwd-crypto examples/ipsec-secgw examples/kni examples/ip_fragmentation examples/ip_reassembly; do
-        oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  -C ${APP}
-
-        [ ! -d ${D}/${bindir}/dpdk-example ] && install -d 0644 ${D}/${bindir}/dpdk-example
-        install -m 0755 ${S}/examples/`basename ${APP}`/build/`basename ${APP}` \
-            ${D}/${bindir}/dpdk-example/
-    done
-    install -m 0755 ${S}/${RTE_TARGET}/app/testpmd ${D}/${bindir}/dpdk-example/
-    rm -fr ${D}/lib/modules/*
-    install -d ${D}/lib/modules/${KERNEL_VERSION}/dpdk
-    install -m 0755 ${S}/${RTE_TARGET}/kmod/rte_kni.ko ${D}/lib/modules/${KERNEL_VERSION}/dpdk/
-    install -d ${D}/${bindir}/dpdk-example/extras
-    cp -rf  ${S}/nxp/* ${D}/${bindir}/dpdk-example/extras/
-    rm ${D}/${datadir}/${RTE_TARGET}/app/dpdk-pmdinfogen
-
-    chown root:root -R ${D}
-}
-
-PACKAGE_ARCH = "${MACHINE_ARCH}"
-
-PACKAGES += "${PN}-examples"
-
-FILES_${PN} += "${datadir}/* ${bindir}/* ${sbindir}/*"
-FILES_${PN}-dbg += "${bindir}/dpdk-example/.debug \
-    ${datadir}/examples/kni/build/.debug \
-    ${datadir}/examples/kni/build/app/.debug \
-    ${datadir}/examples/l2fwd/build/.debug \
-    ${datadir}/examples/l2fwd/build/app/.debug \
-    ${datadir}/examples/l2fwd-crypto/build/.debug \
-    ${datadir}/examples/l2fwd-crypto/build/app/.debug \
-    ${datadir}/examples/l3fwd/build/.debug \
-    ${datadir}/examples/l3fwd/build/app/.debug \
-    ${datadir}/examples/ipsec-secgw/build/.debug \
-    ${datadir}/examples/ipsec-secgw/build/app/.debug \
-    ${datadir}/examples/ip_fragmentation/build/.debug \
-    ${datadir}/examples/ip_fragmentation/build/app/.debug \
-    ${datadir}/examples/ip_reassembly/build/.debug \
-    ${datadir}/examples/ip_reassembly/build/app/.debug \
-"
-FILES_${PN}-dev += "${datadir}/mk ${datadir}/scripts \
-    ${datadir}/${RTE_TARGET} \
-    ${includedir} \
-"
-FILES_${PN}-examples += "${datadir}/examples"
-
-COMPATIBLE_MACHINE = "(ls2080ardb|ls2084ardb|ls2088a|ls1043a|ls1046a|ls1088a)"
diff --git a/recipes-extended/dpdk/dpdk_17.11.bb b/recipes-extended/dpdk/dpdk_17.11.bb
new file mode 100644
index 0000000..43a1859
--- /dev/null
+++ b/recipes-extended/dpdk/dpdk_17.11.bb
@@ -0,0 +1,104 @@
+DESCRIPTION = "Data Plane Development Kit"
+HOMEPAGE = "http://dpdk.org"
+LICENSE = "BSD-3-Clause & LGPLv2 & GPLv2"
+LIC_FILES_CHKSUM = "file://license/README;md5=3383def2d4c82237df281174e981a492"
+
+DEPENDS += "virtual/kernel openssl"
+RDEPENDS_${PN} = "bash python"
+RDEPENDS_${PN}-examples = "bash python-core"
+
+inherit module
+
+SRC_URI = "git://source.codeaurora.org/external/qoriq/qoriq-components/dpdk;nobranch=1 \
+    file://add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
+"
+SRCREV = "11d461d88390eb77bbf695eeddaad8e6f6cc25ce"
+
+S = "${WORKDIR}/git"
+
+DPAA_VER ?= "dpaa2"
+DPAA_VER_fsl-lsch2 = "dpaa"
+export RTE_TARGET = "${ARCH}-${DPAA_VER}-linuxapp-gcc"
+export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${RTE_TARGET}/"
+
+EXTRA_OEMAKE += 'ARCH="${ARCH}" CROSS="${TARGET_PREFIX}" \
+    CPU_CFLAGS="--sysroot=${STAGING_DIR_HOST}" RTE_SDK="${S}" \
+    OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
+    RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" \
+'
+
+do_configure[noexec] = "1"
+
+do_compile[depends] += "virtual/kernel:do_shared_workdir"
+do_compile() {
+    oe_runmake O="${RTE_TARGET}" T="${RTE_TARGET}" config
+}
+
+do_install() {
+    unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
+
+    oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  WERROR_FLAGS="-w" V=1  T="${RTE_TARGET}" DESTDIR="${D}" install CONFIG_RTE_EAL_IGB_UIO=n CONFIG_RTE_KNI_KMOD=y CONFIG_RTE_LIBRTE_PMD_OPENSSL=y 
+
+    # Build and install the DPDK examples
+    for APP in examples/l2fwd examples/l3fwd examples/l2fwd-crypto examples/ipsec-secgw examples/kni examples/ip_fragmentation examples/ip_reassembly; do
+        temp=`basename ${APP}` 
+        if [ ${temp} = "ipsec-secgw" ] || [ ${temp} = "l2fwd-crypto" ]; then 
+            oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  -C ${APP} CONFIG_RTE_LIBRTE_PMD_OPENSSL=y
+        else 
+            oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  -C ${APP}
+        fi
+
+        [ ! -d ${D}/${bindir}/dpdk-example ] && install -d 0644 ${D}/${bindir}/dpdk-example
+        install -m 0755 ${S}/examples/`basename ${APP}`/build/`basename ${APP}` \
+            ${D}/${bindir}/dpdk-example/
+    done
+    oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  -C examples/vhost
+    install -m 0755 ${S}/examples/vhost/build/vhost-switch ${D}/${bindir}/dpdk-example/
+    oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu"  -C examples/cmdif
+    
+    install -d 0644 ${D}/usr/share/dpdk/cmdif/include
+    install -d 0644 ${D}/usr/share/dpdk/cmdif/lib
+    cp examples/cmdif/lib/client/fsl_cmdif_client.h examples/cmdif/lib/server/fsl_cmdif_server.h \
+        examples/cmdif/lib/shbp/fsl_shbp.h      ${D}/usr/share/dpdk/cmdif/include 
+    cp examples/cmdif/lib/${RTE_TARGET}/librte_cmdif.a ${D}/usr/share/dpdk/cmdif/lib
+
+    install -m 0755 ${S}/${RTE_TARGET}/app/testpmd ${D}/${bindir}/dpdk-example/
+    rm -fr ${D}/lib/modules/*
+    install -d ${D}/lib/modules/${KERNEL_VERSION}/dpdk
+    install -m 0755 ${S}/${RTE_TARGET}/kmod/rte_kni.ko ${D}/lib/modules/${KERNEL_VERSION}/dpdk/
+    install -d ${D}/${bindir}/dpdk-example/extras
+    cp -rf  ${S}/nxp/* ${D}/${bindir}/dpdk-example/extras/
+    rm ${D}/${datadir}/${RTE_TARGET}/app/dpdk-pmdinfogen
+
+    chown root:root -R ${D}
+}
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
+
+PACKAGES += "${PN}-examples"
+
+FILES_${PN} += "${datadir}/* ${bindir}/* ${sbindir}/* /usr/share/dpdk/cmdif/include/*"
+FILES_${PN}-dbg += "${bindir}/dpdk-example/.debug \
+    ${datadir}/examples/kni/build/.debug \
+    ${datadir}/examples/kni/build/app/.debug \
+    ${datadir}/examples/l2fwd/build/.debug \
+    ${datadir}/examples/l2fwd/build/app/.debug \
+    ${datadir}/examples/l2fwd-crypto/build/.debug \
+    ${datadir}/examples/l2fwd-crypto/build/app/.debug \
+    ${datadir}/examples/l3fwd/build/.debug \
+    ${datadir}/examples/l3fwd/build/app/.debug \
+    ${datadir}/examples/ipsec-secgw/build/.debug \
+    ${datadir}/examples/ipsec-secgw/build/app/.debug \
+    ${datadir}/examples/ip_fragmentation/build/.debug \
+    ${datadir}/examples/ip_fragmentation/build/app/.debug \
+    ${datadir}/examples/ip_reassembly/build/.debug \
+    ${datadir}/examples/ip_reassembly/build/app/.debug \
+"
+FILES_${PN}-dev += "${datadir}/mk ${datadir}/scripts \
+    ${datadir}/${RTE_TARGET} \
+    ${includedir} \
+"
+FILES_${PN}-examples += "${datadir}/examples"
+
+FILES_${PN}-staticdev += "/usr/share/dpdk/cmdif/lib/*.a"
+COMPATIBLE_MACHINE = "(ls2080ardb|ls2084ardb|ls2088a|ls1043a|ls1046a|ls1088a)"
-- 
1.9.0



More information about the meta-freescale mailing list