[meta-intel] [PATCH 3/4 dizzy] meta-isg: Intel DPDK v1.6 recipe under recipes-extended

Ong, Boon Leong boon.leong.ong at intel.com
Thu May 7 22:54:56 PDT 2015



>-----Original Message-----
>From: Pattu, VenkatasubramanianX
>Sent: Friday, May 8, 2015 12:09 PM
>To: meta-intel at yoctoproject.org
>Cc: Ong, Boon Leong; Pattu, VenkatasubramanianX
>Subject: [PATCH 3/4 dizzy] meta-isg: Intel DPDK v1.6 recipe under recipes-
>extended
>
>This is an initial version of Intel Data Plane Development Kits
>(DPDK) recipe support. This recipe is targeting on Intel DPDK
>v1.6.0r2.
>
>Intel DPDK is needed for several IoTG maintained BSPs such as Crystal Forest &
>Highland Forest, Mohon Peak.
>Therefore, we place DPDK recipe under meta-isg/common/recipes-extended
>folder.
>
>This recipe is cherry-picked from branch dizzy and the commit ID:
>c249763d3cb92bd06742b7986f08cf844ddb1d51:meta-intel/common: Initial Intel
>DPDK recipe under recipes-extended
>
>This commit is removed in latest dizzy (1.7) due to build failure.
>DPDK v1.7 & v1.6 are validated on Linux kernel v3.10 and not supported on Linux
>kernel v3.17.
>Therefore, this recipe is intended to be supported only on Linux kernel v3.10 for all
>CID related platforms like Crystal Forest and Highland Forest.
>
>Signed-off-by: venkatasubramanian pattu
><venkatasubramanianx.pattu at intel.com>
Acked-by: Ong Boon Leong <boon.leong.ong at intel.com>

>---
> ...ix-build-switches-to-enable-cmdline-tests.patch | 52 ++++++++++++++++++++++
> ...dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch | 34 ++++++++++++++
> ...k-1.6.0r2-examples-qos_sched-fix-makefile.patch | 34 ++++++++++++++
> .../common/recipes-extended/dpdk/dpdk_1.6.0r2.bb   | 44 ++++++++++++++++++
> 4 files changed, 164 insertions(+)
> create mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-
>1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-tests.patch
> create mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-
>1.6.0r2-eal-fix-option-base-virtaddr.patch
> create mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-
>1.6.0r2-examples-qos_sched-fix-makefile.patch
> create mode 100644 meta-isg/common/recipes-extended/dpdk/dpdk_1.6.0r2.bb
>
>diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-
>fix-build-switches-to-enable-cmdline-tests.patch b/meta-isg/common/recipes-
>extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-
>tests.patch
>new file mode 100644
>index 0000000..8ca6bfe
>--- /dev/null
>+++ b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-app-test-fix-
>build-switches-to-enable-cmdline-tests.patch
>@@ -0,0 +1,52 @@
>+From cf953d2bfa7df9aa67459b333db4d4d8a9e72fd6 Mon Sep 17 00:00:00 2001
>+From: Thomas Monjalon <thomas.monjalon at 6wind.com>
>+Date: Fri, 27 Jun 2014 11:21:11 +0200
>+Subject: [PATCH] app/test: fix build switches to enable cmdline tests
>+
>+Upstream-Status: backport
>+Imported patch from: http://dpdk.org/browse/dpdk/log/
>+
>+There were 2 typos since these commits (in 1.6.0 releases):
>+	21a7f4e264 fix build without librte_cmdline
>+	cac6d08c8b replace --use-device option by --pci-whitelist and --vdev
>+In makefiles, the build options are prefixed with CONFIG_RTE_
>+but in .c file, it is only RTE_.
>+
>+These typos were disabling cmdline unit tests and test of "--vdev eth_ring"
>option.
>+
>+Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
>+Acked-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
>+Signed-off-by: Chan Wei Sern <wei.sern.chan at intel.com>
>+---
>+ app/test/test_cmdline.c   | 2 +-
>+ app/test/test_eal_flags.c | 2 +-
>+ 2 files changed, 2 insertions(+), 2 deletions(-)
>+
>+diff --git a/app/test/test_cmdline.c b/app/test/test_cmdline.c
>+index 77475c4..10a3f77 100644
>+--- a/app/test/test_cmdline.c
>++++ b/app/test/test_cmdline.c
>+@@ -39,7 +39,7 @@
>+ int
>+ test_cmdline(void)
>+ {
>+-#ifdef CONFIG_RTE_LIBRTE_CMDLINE
>++#ifdef RTE_LIBRTE_CMDLINE
>+	printf("Testind parsing ethernet addresses...\n");
>+	if (test_parse_etheraddr_valid() < 0)
>+		return -1;
>+diff --git a/app/test/test_eal_flags.c b/app/test/test_eal_flags.c
>+index a862654..1b80b80 100644
>+--- a/app/test/test_eal_flags.c
>++++ b/app/test/test_eal_flags.c
>+@@ -317,7 +317,7 @@ test_whitelist_flag(void)
>+	const char *wlval3[] = {prgname, prefix, mp_flag, "-n", "1", "-c", "1",
>+			pci_whitelist, "09:0B.3,type=test",
>+			pci_whitelist, "08:00.1,type=normal",
>+-#ifdef CONFIG_RTE_LIBRTE_PMD_RING
>++#ifdef RTE_LIBRTE_PMD_RING
>+			vdev, "eth_ring,arg=test",
>+ #endif
>+	};
>+--
>+1.9.1
>diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-
>option-base-virtaddr.patch b/meta-isg/common/recipes-
>extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch
>new file mode 100644
>index 0000000..8204e5a
>--- /dev/null
>+++ b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-eal-fix-option-
>base-virtaddr.patch
>@@ -0,0 +1,34 @@
>+From be1816f59e772e427fc5815281f9458a9314973a Mon Sep 17 00:00:00 2001
>+From: Pablo de Lara <pablo.de.lara.guarch at intel.com>
>+Date: Thu, 19 Jun 2014 16:35:22 +0100
>+Subject: [PATCH] eal: fix option --base-virtaddr
>+
>+Upstream-Status: backport
>+Imported patch from: http://dpdk.org/browse/dpdk/log/
>+
>+When parsing EAL option --base-virtaddr
>+errno was not being set to 0 before calling strtoull,
>+therefore function might fail unnecesarily.
>+
>+Signed-off-by: Pablo de Lara <pablo.de.lara.guarch at intel.com>
>+Signed-off-by: Aaron Campbell <aaron at arbor.net>
>+Acked-by: Anatoly Burakov <anatoly.burakov at intel.com>
>+Signed-off-by: Chan Wei Sern <wei.sern.chan at intel.com>
>+---
>+ lib/librte_eal/linuxapp/eal/eal.c | 1 +
>+ 1 file changed, 1 insertion(+)
>+
>+diff --git a/lib/librte_eal/linuxapp/eal/eal.c b/lib/librte_eal/linuxapp/eal/eal.c
>+index 6994303..d204387 100644
>+--- a/lib/librte_eal/linuxapp/eal/eal.c
>++++ b/lib/librte_eal/linuxapp/eal/eal.c
>+@@ -562,6 +562,7 @@ eal_parse_base_virtaddr(const char *arg)
>+	char *end;
>+	uint64_t addr;
>+
>++	errno = 0;
>+	addr = strtoull(arg, &end, 16);
>+
>+	/* check for errors */
>+--
>+1.9.1
>diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-
>examples-qos_sched-fix-makefile.patch b/meta-isg/common/recipes-
>extended/dpdk/dpdk/dpdk-1.6.0r2-examples-qos_sched-fix-makefile.patch
>new file mode 100644
>index 0000000..d1eb8dc
>--- /dev/null
>+++ b/meta-isg/common/recipes-extended/dpdk/dpdk/dpdk-1.6.0r2-examples-
>qos_sched-fix-makefile.patch
>@@ -0,0 +1,34 @@
>+From ea9a59b26c3c86b498337e968ee8f68c4e263614 Mon Sep 17 00:00:00 2001
>+From: Olivier Matz <olivier.matz at 6wind.com>
>+Date: Fri, 16 May 2014 10:18:59 +0200
>+Subject: [PATCH] examples/qos_sched: fix makefile
>+
>+Upstream-Status: backport
>+Imported patch from: http://dpdk.org/browse/dpdk/log/
>+
>+The example does not compile as the linker complains about duplicated
>+symbols.
>+
>+Remove -lsched from LDLIBS, it is already present in rte.app.mk and
>+added by the DPDK framework automatically.
>+
>+Signed-off-by: Olivier Matz <olivier.matz at 6wind.com>
>+Acked-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
>+Signed-off-by: Chan Wei Sern <wei.sern.chan at intel.com>
>+---
>+ examples/qos_sched/Makefile | 2 --
>+ 1 file changed, 2 deletions(-)
>+
>+diff --git a/examples/qos_sched/Makefile b/examples/qos_sched/Makefile
>+index b91fe37..9366efe 100755
>+--- a/examples/qos_sched/Makefile
>++++ b/examples/qos_sched/Makefile
>+@@ -54,6 +54,4 @@ CFLAGS += $(WERROR_FLAGS)
>+ CFLAGS_args.o := -D_GNU_SOURCE
>+ CFLAGS_cfg_file.o := -D_GNU_SOURCE
>+
>+-LDLIBS += -lrte_sched
>+-
>+ include $(RTE_SDK)/mk/rte.extapp.mk
>+--
>+1.9.1
>diff --git a/meta-isg/common/recipes-extended/dpdk/dpdk_1.6.0r2.bb b/meta-
>isg/common/recipes-extended/dpdk/dpdk_1.6.0r2.bb
>new file mode 100644
>index 0000000..a507d4e
>--- /dev/null
>+++ b/meta-isg/common/recipes-extended/dpdk/dpdk_1.6.0r2.bb
>@@ -0,0 +1,44 @@
>+include dpdk.inc
>+
>+
>+SRC_URI = "http://dpdk.org/browse/dpdk/snapshot/dpdk-
>${PV}.tar.gz;name=dpdk \
>+	   file://dpdk-1.6.0r2-examples-qos_sched-fix-makefile.patch \
>+	   file://dpdk-1.6.0r2-app-test-fix-build-switches-to-enable-cmdline-
>tests.patch \
>+	   file://dpdk-1.6.0r2-eal-fix-option-base-virtaddr.patch \
>+	   "
>+
>+
>+SRC_URI[dpdk.md5sum] = "f406d027320fc8e724bff20db5397cbb"
>+SRC_URI[dpdk.sha256sum] =
>"e72fdebcf8a899fc58e60c9b6493b7457576eece60b08dea6aee96c9087df4b2"
>+
>+export EXAMPLES_BUILD_DIR = "build"
>+
>+do_compile_append () {
>+
>+
>	############################################################
>#######
>+	### Compilation for examples
>+	### Skip dpdk_qat due to it has dependency with qat source code
>+	### Skip vhost due to it has dependency to fuse libraries
>+	### Skip vhost_xen due to it has dependency to xen libraries
>+
>	############################################################
>#######
>+	for app in ${S}/examples/*
>+	do
>+
>+		[ `basename ${app}` = "dpdk_qat" -o `basename ${app}` =  "vhost"
>-o  `basename ${app}` = "vhost_xen" ] && continue;
>+
>+		cd ${app}
>+
>+
>	############################################################
>###
>+		# netmap_compat is putting the binary in a directory path
>+		# which is different from rest of the example apps, so this
>+		# special case is handled here to avoid installation failure
>+		# with dpdk-1.6.0
>+
>	############################################################
>###
>+		if [ `basename ${app}` == "netmap_compat" ]; then
>+			oe_runmake CROSS="${TARGET_PREFIX}"
>O="${app}/bridge/${EXAMPLES_BUILD_DIR}/"
>+		else
>+			oe_runmake CROSS="${TARGET_PREFIX}"
>+		fi
>+	done
>+
>+}
>--
>1.9.1



More information about the meta-intel mailing list