summaryrefslogtreecommitdiffstats
path: root/bsp/meta-freescale/recipes-extended/dpdk
diff options
context:
space:
mode:
Diffstat (limited to 'bsp/meta-freescale/recipes-extended/dpdk')
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk.inc119
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch26
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch26
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-examples-ipsec-gw-fix-gcc-10-maybe-uninitialized-war.patch53
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-fix-gcc-8-build-error.patch51
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk/0004-update-WERROR_FLAGS.patch39
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk_17.11.bb104
-rw-r--r--bsp/meta-freescale/recipes-extended/dpdk/dpdk_19.11-20.04.bb19
8 files changed, 282 insertions, 155 deletions
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk.inc b/bsp/meta-freescale/recipes-extended/dpdk/dpdk.inc
new file mode 100644
index 00000000..f5793a19
--- /dev/null
+++ b/bsp/meta-freescale/recipes-extended/dpdk/dpdk.inc
@@ -0,0 +1,119 @@
+DESCRIPTION = "Data Plane Development Kit"
+HOMEPAGE = "http://dpdk.org"
+LICENSE = "BSD-3-Clause & LGPLv2 & GPLv2"
+
+DEPENDS = "virtual/kernel openssl"
+DEPENDS_append_x86-64 = " numactl"
+do_configure[depends] += "virtual/kernel:do_shared_workdir"
+
+inherit module
+
+COMPATIBLE_HOST = '(aarch64|arm|i.86|x86_64).*-linux'
+COMPATIBLE_HOST_libc-musl = 'null'
+COMPATIBLE_HOST_armv4 = 'null'
+COMPATIBLE_HOST_armv5 = 'null'
+COMPATIBLE_HOST_armv6 = 'null'
+
+COMPATIBLE_MACHINE = "(imx|qoriq)"
+
+DPDK_RTE_TARGET_x86-64 = "x86_64-native-linuxapp-gcc"
+DPDK_RTE_TARGET_x86 = "i686-native-linuxapp-gcc"
+DPDK_RTE_TARGET_armv7a = "${ARCH}-armv7a-linuxapp-gcc"
+DPDK_RTE_TARGET_armv7ve = "${ARCH}-armv7a-linuxapp-gcc"
+DPDK_RTE_TARGET ?= "${ARCH}-dpaa-linuxapp-gcc"
+
+export RTE_TARGET = "${DPDK_RTE_TARGET}"
+export RTE_OUTPUT = "${S}/${RTE_TARGET}"
+export MODULE_DIR = "/lib/modules/${KERNEL_VERSION}/kernel/drivers/net"
+
+S = "${WORKDIR}/git"
+
+EXTRA_OEMAKE += 'ETHTOOL_LIB_PATH="${S}/examples/ethtool/lib/${RTE_TARGET}" RTE_SDK="${S}" \
+ OPENSSL_PATH="${STAGING_DIR_HOST}" RTE_KERNELDIR="${STAGING_KERNEL_DIR}" \
+ RTE_KERNELDIR_OUT="${STAGING_KERNEL_BUILDDIR}" EXAMPLES_BUILD_DIR="${RTE_TARGET}" \
+'
+do_configure () {
+ #############################################################
+ ### default value for prefix is "usr", unsetting it, so it
+ ### will not be concatenated in ${RTE_TARGET}/Makefile
+ ### which will cause compilation failure
+ #############################################################
+ unset prefix
+ oe_runmake O=$RTE_TARGET T=$RTE_TARGET config
+}
+
+do_compile () {
+ unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
+
+ cd ${S}/${RTE_TARGET}
+ oe_runmake CONFIG_RTE_EAL_IGB_UIO=n CONFIG_RTE_KNI_KMOD=y \
+ CONFIG_RTE_LIBRTE_PMD_OPENSSL=y \
+ EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \
+ EXTRA_CFLAGS="${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -I${STAGING_INCDIR}" \
+ CROSS="${TARGET_PREFIX}" \
+ prefix="" LDFLAGS="${TUNE_LDARGS}" WERROR_FLAGS="-w" V=1
+
+ cd ${S}/examples/
+ for APP in l2fwd l3fwd cmdif l2fwd-qdma l2fwd-crypto ipsec-secgw vhost kni ip_fragmentation ip_reassembly; do
+ temp=`basename ${APP}`
+ if [ ${temp} = "ipsec-secgw" ] || [ ${temp} = "l2fwd-crypto" ]; then
+ oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu -fuse-ld=bfd" \
+ EXTRA_CFLAGS="${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -I${STAGING_INCDIR}" \
+ CROSS="${TARGET_PREFIX}" -C ${APP} CONFIG_RTE_LIBRTE_PMD_OPENSSL=y O="${S}/examples/${temp}"
+ else
+ oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu -fuse-ld=bfd" \
+ EXTRA_CFLAGS="${HOST_CC_ARCH} ${TOOLCHAIN_OPTIONS} -I${STAGING_INCDIR}" \
+ CROSS="${TARGET_PREFIX}" -C ${APP} CONFIG_RTE_LIBRTE_PMD_OPENSSL=y O="${S}/examples/${temp}/"
+ fi
+ done
+
+}
+
+do_install () {
+ oe_runmake O=${RTE_OUTPUT} T= install-runtime DESTDIR=${D}
+ oe_runmake O=${RTE_OUTPUT} T= install-kmod DESTDIR=${D} kerneldir=${MODULE_DIR}
+ oe_runmake O=${RTE_OUTPUT} T= install-sdk DESTDIR=${D}
+
+ # Install examples
+ install -d 0644 ${D}/${datadir}/dpdk/cmdif/include
+ install -d 0644 ${D}/${datadir}/dpdk/cmdif/lib
+ install -d 0644 ${D}/${datadir}/dpdk/examples
+ 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}/${datadir}/dpdk/cmdif/include
+ cp examples/cmdif/lib/${RTE_TARGET}/librte_cmdif.a ${D}/${datadir}/dpdk/cmdif/lib
+ install -d 0644 ${D}/${datadir}/dpdk/examples/ipsec_secgw
+ cp -r ${S}/examples/ipsec-secgw/*.cfg ${D}/${datadir}/dpdk/examples/ipsec_secgw
+ cp -rf ${S}/nxp/* ${D}/${datadir}/dpdk
+ cp -r ${S}/examples/cmdif/cmdif_demo/${DPDK_RTE_TARGET}/cmdif_demo ${D}/${datadir}/dpdk/examples
+ cp -r ${S}/examples/vhost/vhost-switch ${D}/${datadir}/dpdk/examples
+ for APP in l2fwd l3fwd l2fwd-qdma l2fwd-crypto ipsec-secgw kni ip_fragmentation ip_reassembly; do
+ cp -r ${S}/examples/${APP}/${APP} ${D}/${datadir}/dpdk/examples
+ done
+}
+
+PACKAGES += "${PN}-examples"
+
+FILES_${PN}-dbg += " \
+ ${datadir}/dpdk/.debug \
+ ${datadir}/dpdk/examples/*/.debug \
+ "
+FILES_${PN}-staticdev += "${datadir}/dpdk/cmdif/lib/*.a \
+"
+FILES_${PN}-dev += " \
+ ${datadir}/dpdk/${RTE_TARGET}/.config \
+ ${includedir} \
+ ${includedir}/exec-env \
+ ${datadir}/dpdk/buildtools/ \
+ ${datadir}/dpdk/${RTE_TARGET}/include \
+ ${datadir}/dpdk/${RTE_TARGET}/lib \
+ ${datadir}/dpdk/mk \
+ "
+
+FILES_${PN} += " ${datadir}/ \
+ ${prefix}/sbin/ \
+ ${prefix}/bin/ \
+ ${libdir}/ \
+ "
+FILES_${PN}-examples += " \
+ ${datadir}/examples/* \
+ "
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch
new file mode 100644
index 00000000..5ee48a59
--- /dev/null
+++ b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-Add-RTE_KERNELDIR_OUT.patch
@@ -0,0 +1,26 @@
+From 9c2b840a1c8ac0fbb638b5cd481909a3f832eed4 Mon Sep 17 00:00:00 2001
+From: Chunrong Guo <chunrong.guo@nxp.com>
+Date: Wed, 3 Jul 2019 08:50:45 +0200
+Subject: [PATCH] Add RTE_KERNELDIR_OUT
+
+Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
+---
+ kernel/linux/kni/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
+index 595bac261..28a31f36a 100644
+--- a/kernel/linux/kni/Makefile
++++ b/kernel/linux/kni/Makefile
+@@ -20,7 +20,7 @@ MODULE_CFLAGS += -Wall -Werror
+
+ ifeq ($(DISTRIB_ID),Ubuntu)
+ MODULE_CFLAGS += -DUBUNTU_RELEASE_CODE=$(subst .,,$(DISTRIB_RELEASE))
+-UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR)/include/generated/utsrelease.h \
++UBUNTU_KERNEL_CODE := $(shell echo `grep UTS_RELEASE $(RTE_KERNELDIR_OUT)/include/generated/utsrelease.h \
+ | cut -d '"' -f2 | cut -d- -f1,2 | tr .- ,`,1)
+ MODULE_CFLAGS += -D"UBUNTU_KERNEL_CODE=UBUNTU_KERNEL_VERSION($(UBUNTU_KERNEL_CODE))"
+ endif
+--
+2.17.1
+
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch
new file mode 100644
index 00000000..fa0eda87
--- /dev/null
+++ b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-add-Wno-cast-function-type.patch
@@ -0,0 +1,26 @@
+From 354c2d1570ddf83a99c4ac711c884644c6dd1cef Mon Sep 17 00:00:00 2001
+From: "C.r. Guo" <nxa13725@lsv07005.swis.us-cdc01.nxp.com>
+Date: Wed, 27 Mar 2019 09:35:43 +0100
+Subject: [PATCH] add -Wno-cast-function-type
+
+Upstream-Status: Inappropriate [configuration]
+---
+ examples/cmdif/lib/Makefile | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/examples/cmdif/lib/Makefile b/examples/cmdif/lib/Makefile
+index 235c3adbf..230f17b0a 100644
+--- a/examples/cmdif/lib/Makefile
++++ b/examples/cmdif/lib/Makefile
+@@ -28,7 +28,7 @@ SRCS-y += server/cmdif_srv_gpp.c
+ SRCS-y += shbp/shbp.c
+
+ CFLAGS += -O3
+-CFLAGS += $(WERROR_FLAGS)
++CFLAGS += $(WERROR_FLAGS) -Wno-cast-function-type -Wno-missing-attributes
+ CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib
+ CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib/client
+ CFLAGS += -I$(RTE_SDK)/examples/cmdif/lib/server
+--
+2.17.1
+
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-examples-ipsec-gw-fix-gcc-10-maybe-uninitialized-war.patch b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-examples-ipsec-gw-fix-gcc-10-maybe-uninitialized-war.patch
new file mode 100644
index 00000000..3b5a2b3a
--- /dev/null
+++ b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-examples-ipsec-gw-fix-gcc-10-maybe-uninitialized-war.patch
@@ -0,0 +1,53 @@
+From 6fe3e96ab6e92f8faca9784a46bc33d92790c2b8 Mon Sep 17 00:00:00 2001
+From: Kevin Traynor <ktraynor@redhat.com>
+Date: Wed, 11 Mar 2020 11:33:00 +0000
+Subject: [PATCH] examples/ipsec-gw: fix gcc 10 maybe-uninitialized warning
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+gcc 10.0.1 reports:
+
+../examples/ipsec-secgw/ipsec_process.c: In function ‘ipsec_process’:
+../examples/ipsec-secgw/ipsec_process.c:132:34:
+error: ‘grp.m’ may be used uninitialized in this function
+ [-Werror=maybe-uninitialized]
+ 132 | grp[n].cnt = pkts + i - grp[n].m;
+ | ~~~~~~^~
+
+This is a correct warning for the initial execution of the statement.
+However, it is the design of the loop that grp[0].cnt will later be
+written with the correct value using an initialized grp[0].m before it
+is used.
+
+In order to remove the warning, initialize grp[0].m for the initial and
+unused calculation of grp[0].cnt.
+
+Fixes: 3e5f4625dc17 ("examples/ipsec-secgw: make data-path to use IPsec library")
+Cc: stable@dpdk.org
+
+Upstream-Status: Backport
+
+Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
+Signed-off-by: Kevin Traynor <ktraynor@redhat.com>
+Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
+Signed-off-by: Jens Rehsack <jens.rehsack.ext@safrangroup.com>
+---
+ examples/ipsec-secgw/ipsec_process.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/examples/ipsec-secgw/ipsec_process.c b/examples/ipsec-secgw/ipsec_process.c
+index 2eb5c8b34..37f406d46 100644
+--- a/examples/ipsec-secgw/ipsec_process.c
++++ b/examples/ipsec-secgw/ipsec_process.c
+@@ -125,6 +125,7 @@ sa_group(void *sa_ptr[], struct rte_mbuf *pkts[],
+ void * const nosa = &spi;
+
+ sa = nosa;
++ grp[0].m = pkts;
+ for (i = 0, n = 0; i != num; i++) {
+
+ if (sa != sa_ptr[i]) {
+--
+2.17.1
+
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-fix-gcc-8-build-error.patch b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-fix-gcc-8-build-error.patch
deleted file mode 100644
index 51987b53..00000000
--- a/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0001-fix-gcc-8-build-error.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 7409d0b89f80a72d91e02dc9ec688a01723c3c66 Mon Sep 17 00:00:00 2001
-From: Chunrong Guo <chunrong.guo@nxp.com>
-Date: Wed, 4 Jul 2018 17:12:39 +0800
-Subject: [PATCH] fix gcc-8 build error
-
-Signed-off-by: Chunrong Guo <chunrong.guo@nxp.com>
----
- examples/ipsec-secgw/parser.c | 6 ++----
- mk/toolchain/gcc/rte.vars.mk | 2 +-
- 2 files changed, 3 insertions(+), 5 deletions(-)
-
-diff --git a/examples/ipsec-secgw/parser.c b/examples/ipsec-secgw/parser.c
-index 9d0ea46..b2b30e4 100644
---- a/examples/ipsec-secgw/parser.c
-+++ b/examples/ipsec-secgw/parser.c
-@@ -544,8 +544,7 @@ parse_cfg_file(const char *cfg_filename)
- goto error_exit;
- }
-
-- strncpy(str + strlen(str), oneline,
-- strlen(oneline));
-+ strcpy(str + strlen(str), oneline);
-
- continue;
- }
-@@ -557,8 +556,7 @@ parse_cfg_file(const char *cfg_filename)
- cfg_filename, line_num);
- goto error_exit;
- }
-- strncpy(str + strlen(str), oneline,
-- strlen(oneline));
-+ strcpy(str + strlen(str), oneline);
-
- str[strlen(str)] = '\n';
- if (cmdline_parse(cl, str) < 0) {
-diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
-index 3b907e2..cc63da8 100644
---- a/mk/toolchain/gcc/rte.vars.mk
-+++ b/mk/toolchain/gcc/rte.vars.mk
-@@ -75,7 +75,7 @@ WERROR_FLAGS := -W -Wall -Wstrict-prototypes -Wmissing-prototypes
- WERROR_FLAGS += -Wmissing-declarations -Wold-style-definition -Wpointer-arith
- WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
- WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
--WERROR_FLAGS += -Wundef -Wwrite-strings
-+WERROR_FLAGS += -Wundef -Wwrite-strings -Wno-cast-function-type
-
- ifeq ($(RTE_DEVEL_BUILD),y)
- WERROR_FLAGS += -Werror
---
-2.7.4
-
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0004-update-WERROR_FLAGS.patch b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0004-update-WERROR_FLAGS.patch
new file mode 100644
index 00000000..61467377
--- /dev/null
+++ b/bsp/meta-freescale/recipes-extended/dpdk/dpdk/0004-update-WERROR_FLAGS.patch
@@ -0,0 +1,39 @@
+From aa97b9162b68780ca912a226b5045a3ddab41d3c Mon Sep 17 00:00:00 2001
+From: Chunrong Guo <chunrong.guo@nxp.com>
+Date: Thu, 4 Jul 2019 08:03:56 +0200
+Subject: [PATCH] update WERROR_FLAGS
+
+Signed-off-by: C.r. Guo <nxa13725@lsv07004.swis.us-cdc01.nxp.com>
+---
+ kernel/linux/kni/Makefile | 2 +-
+ mk/toolchain/gcc/rte.vars.mk | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/kernel/linux/kni/Makefile b/kernel/linux/kni/Makefile
+index 595bac261..a17939996 100644
+--- a/kernel/linux/kni/Makefile
++++ b/kernel/linux/kni/Makefile
+@@ -14,7 +14,7 @@ MODULE = rte_kni
+ MODULE_CFLAGS += -I$(SRCDIR) --param max-inline-insns-single=50
+ MODULE_CFLAGS += -I$(RTE_OUTPUT)/include
+ MODULE_CFLAGS += -include $(RTE_OUTPUT)/include/rte_config.h
+-MODULE_CFLAGS += -Wall -Werror
++MODULE_CFLAGS += -Wall -Werror -Wno-missing-attributes
+
+ -include /etc/lsb-release
+
+diff --git a/mk/toolchain/gcc/rte.vars.mk b/mk/toolchain/gcc/rte.vars.mk
+index de5e0d24d..ca2cb5fcd 100644
+--- a/mk/toolchain/gcc/rte.vars.mk
++++ b/mk/toolchain/gcc/rte.vars.mk
+@@ -49,6 +49,7 @@ WERROR_FLAGS += -Wcast-align -Wnested-externs -Wcast-qual
+ WERROR_FLAGS += -Wformat-nonliteral -Wformat-security
+ WERROR_FLAGS += -Wundef -Wwrite-strings -Wdeprecated
+ WERROR_FLAGS += -Wno-error=pedantic
++WERROR_FLAGS += -Wno-address-of-packed-member
+
+ ifeq ($(RTE_DEVEL_BUILD),y)
+ WERROR_FLAGS += -Werror
+--
+2.17.1
+
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk_17.11.bb b/bsp/meta-freescale/recipes-extended/dpdk/dpdk_17.11.bb
deleted file mode 100644
index f9fe91e8..00000000
--- a/bsp/meta-freescale/recipes-extended/dpdk/dpdk_17.11.bb
+++ /dev/null
@@ -1,104 +0,0 @@
-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 \
- file://0001-fix-gcc-8-build-error.patch \
-"
-SRCREV = "f451d2beff458833f4da6682694ebc5c03d595c6"
-
-S = "${WORKDIR}/git"
-
-DPAA_VER ?= "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="-fPIC --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-qdma 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" EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" -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 = "(qoriq)"
diff --git a/bsp/meta-freescale/recipes-extended/dpdk/dpdk_19.11-20.04.bb b/bsp/meta-freescale/recipes-extended/dpdk/dpdk_19.11-20.04.bb
new file mode 100644
index 00000000..398d2ec4
--- /dev/null
+++ b/bsp/meta-freescale/recipes-extended/dpdk/dpdk_19.11-20.04.bb
@@ -0,0 +1,19 @@
+LIC_FILES_CHKSUM = "file://license/README;md5=3383def2d4c82237df281174e981a492"
+
+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-add-Wno-cast-function-type.patch \
+ file://0001-Add-RTE_KERNELDIR_OUT.patch \
+ file://0004-update-WERROR_FLAGS.patch \
+ file://0001-examples-ipsec-gw-fix-gcc-10-maybe-uninitialized-war.patch \
+"
+SRCREV = "4110a5fed09fa034963cfc246a6285911ecbd540"
+
+include dpdk.inc
+
+
+do_install_append () {
+ # Remove the unneeded dir
+ rm -rf ${D}/${datadir}/${RTE_TARGET}/app
+}
+