[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