Re: [meta-intel] [PATCH V2 1/3] meta-intel/common: Add include file for DPDK
Hi Ross, Is this patch fine ? Do you have any feedback on this. Thanks and Regards, -Sreeju -Original Message- From: Selvaraj, Sreeju ArmughanX Sent: Wednesday, September 17, 2014 10:20 PM To: meta-intel@yoctoproject.org Cc: Selvaraj, Sreeju ArmughanX Subject: [PATCH V2 1/3] meta-intel/common: Add include file for DPDK From: Sreeju Selvaraj sreeju.armughanx.selva...@intel.com Added include file dpdk.inc to share the common functionality based on dpdk_1.6.0r2 Added a new variable EXAMPLE_BUILD_DIR. this points to apps build directory which is different in dpdk v1.6.0r2 and v1.7.0. User of dpdk.inc has to define EXAMPLE_BUILD_DIR for the installation of example apps Signed-off-by: Sreeju Selvaraj sreeju.armughanx.selva...@intel.com --- common/recipes-extended/dpdk/dpdk.inc| 139 + common/recipes-extended/dpdk/dpdk_1.6.0r2.bb | 150 +++ 2 files changed, 154 insertions(+), 135 deletions(-) create mode 100644 common/recipes-extended/dpdk/dpdk.inc diff --git a/common/recipes-extended/dpdk/dpdk.inc b/common/recipes-extended/dpdk/dpdk.inc new file mode 100644 index 000..ef369df --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk.inc @@ -0,0 +1,139 @@ +DESCRIPTION = Intel(r) Data Plane Development Kit +HOMEPAGE = http://dpdk.org; +LICENSE = BSD LGPLv2 GPLv2 +LIC_FILES_CHKSUM = file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe + + +RDEPENDS_${PN} += python-subprocess + +inherit module + +export MODULE_DIR=/lib/modules/${KERNEL_VERSION}/kernel/drivers/net +export RTE_SDK = ${S} +export RTE_TARGET=${TARGET_ARCH}-ivshmem-${TARGET_OS}app-gcc +export ICP_ROOT = ${PKG_CONFIG_SYSROOT_DIR}/usr/include +export ICP_LIB_ROOT= ${PKG_CONFIG_SYSROOT_DIR}/usr/lib +export RTE_KERNELDIR = ${STAGING_KERNEL_DIR} +export INSTALL_PATH = ${prefix}/dpdk + + +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 + + make O=$RTE_TARGET T=$RTE_TARGET config + +} + + +do_compile () { + unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS + + cd ${S}/${RTE_TARGET} + oe_runmake EXTRA_LDFLAGS= --sysroot=${STAGING_DIR_HOST} \ + EXTRA_CFLAGS= --sysroot=${STAGING_DIR_HOST} \ + CROSS=${TARGET_PREFIX} \ + prefix= LDFLAGS= WERROR_FLAGS=-w V=1 + +} + + +do_install () { + + install -m 0755 -d ${D}/${INSTALL_PATH} \ + ${D}/${INSTALL_PATH}/doc \ + ${D}/${INSTALL_PATH}/tools \ + ${D}/${INSTALL_PATH}/${RTE_TARGET} \ + ${D}/${INSTALL_PATH}/${RTE_TARGET}/app \ + ${D}${includedir} \ + ${D}${includedir}/arch \ + ${D}${includedir}/exec-env \ + ${D}${libdir} \ + ${D}${MODULE_DIR} + + install -m 0755 ${S}/${RTE_TARGET}/kmod/igb_uio.ko ${D}${MODULE_DIR}/ + install -m 0755 ${S}/${RTE_TARGET}/kmod/rte_kni.ko ${D}${MODULE_DIR}/ + + install -m 640 ${S}/${RTE_TARGET}/lib/*.a ${D}${libdir} + + install -m 640 ${S}/${RTE_TARGET}/.config ${D}/${INSTALL_PATH}/${RTE_TARGET}/ + install -m 640 ${S}/${RTE_TARGET}/include/*.h ${D}${includedir}/ + install -m 640 ${S}/${RTE_TARGET}/include/arch/* ${D}${includedir}/arch/ + install -m 640 ${S}/${RTE_TARGET}/include/exec-env/* ${D}${includedir}/exec-env/ + install -m 0755 ${S}/tools/*.py ${D}/${INSTALL_PATH}/tools/ + + + #Install test applications + install -m 0755 ${S}/${RTE_TARGET}/app/test ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${S}/${RTE_TARGET}/app/testpmd ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${S}/${RTE_TARGET}/app/dump_cfg ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${S}/${RTE_TARGET}/app/cmdline_test ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + + + # Install example applications + # It is expected that user of this include file should define EXAMPLES_BUILD_DIR + for app in ${S}/examples/* + do + case `basename ${app}` in + dpdk_qat | vhost | vhost_xen | Makefile ) continue + ;; + l2fwd-ivshmem) + install -m 0755 ${app}/guest/${EXAMPLES_BUILD_DIR}/app/guest ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${app}/host/${EXAMPLES_BUILD_DIR}/app/host ${D}/${INSTALL_PATH}/${RTE_TARGET}/app
Re: [meta-intel] [PATCH V2 1/3] meta-intel/common: Add include file for DPDK
On 26 September 2014 07:58, Selvaraj, Sreeju ArmughanX sreeju.armughanx.selva...@intel.com wrote: Is this patch fine ? Do you have any feedback on this. It seems reasonable to me. Ross -- ___ meta-intel mailing list meta-intel@yoctoproject.org https://lists.yoctoproject.org/listinfo/meta-intel
[meta-intel] [PATCH V2 1/3] meta-intel/common: Add include file for DPDK
From: Sreeju Selvaraj sreeju.armughanx.selva...@intel.com Added include file dpdk.inc to share the common functionality based on dpdk_1.6.0r2 Added a new variable EXAMPLE_BUILD_DIR. this points to apps build directory which is different in dpdk v1.6.0r2 and v1.7.0. User of dpdk.inc has to define EXAMPLE_BUILD_DIR for the installation of example apps Signed-off-by: Sreeju Selvaraj sreeju.armughanx.selva...@intel.com --- common/recipes-extended/dpdk/dpdk.inc| 139 + common/recipes-extended/dpdk/dpdk_1.6.0r2.bb | 150 +++ 2 files changed, 154 insertions(+), 135 deletions(-) create mode 100644 common/recipes-extended/dpdk/dpdk.inc diff --git a/common/recipes-extended/dpdk/dpdk.inc b/common/recipes-extended/dpdk/dpdk.inc new file mode 100644 index 000..ef369df --- /dev/null +++ b/common/recipes-extended/dpdk/dpdk.inc @@ -0,0 +1,139 @@ +DESCRIPTION = Intel(r) Data Plane Development Kit +HOMEPAGE = http://dpdk.org; +LICENSE = BSD LGPLv2 GPLv2 +LIC_FILES_CHKSUM = file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe + + +RDEPENDS_${PN} += python-subprocess + +inherit module + +export MODULE_DIR=/lib/modules/${KERNEL_VERSION}/kernel/drivers/net +export RTE_SDK = ${S} +export RTE_TARGET=${TARGET_ARCH}-ivshmem-${TARGET_OS}app-gcc +export ICP_ROOT = ${PKG_CONFIG_SYSROOT_DIR}/usr/include +export ICP_LIB_ROOT= ${PKG_CONFIG_SYSROOT_DIR}/usr/lib +export RTE_KERNELDIR = ${STAGING_KERNEL_DIR} +export INSTALL_PATH = ${prefix}/dpdk + + +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 + + make O=$RTE_TARGET T=$RTE_TARGET config + +} + + +do_compile () { + unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS + + cd ${S}/${RTE_TARGET} + oe_runmake EXTRA_LDFLAGS= --sysroot=${STAGING_DIR_HOST} \ + EXTRA_CFLAGS= --sysroot=${STAGING_DIR_HOST} \ + CROSS=${TARGET_PREFIX} \ + prefix= LDFLAGS= WERROR_FLAGS=-w V=1 + +} + + +do_install () { + + install -m 0755 -d ${D}/${INSTALL_PATH} \ + ${D}/${INSTALL_PATH}/doc \ + ${D}/${INSTALL_PATH}/tools \ + ${D}/${INSTALL_PATH}/${RTE_TARGET} \ + ${D}/${INSTALL_PATH}/${RTE_TARGET}/app \ + ${D}${includedir} \ + ${D}${includedir}/arch \ + ${D}${includedir}/exec-env \ + ${D}${libdir} \ + ${D}${MODULE_DIR} + + install -m 0755 ${S}/${RTE_TARGET}/kmod/igb_uio.ko ${D}${MODULE_DIR}/ + install -m 0755 ${S}/${RTE_TARGET}/kmod/rte_kni.ko ${D}${MODULE_DIR}/ + + install -m 640 ${S}/${RTE_TARGET}/lib/*.a ${D}${libdir} + + install -m 640 ${S}/${RTE_TARGET}/.config ${D}/${INSTALL_PATH}/${RTE_TARGET}/ + install -m 640 ${S}/${RTE_TARGET}/include/*.h ${D}${includedir}/ + install -m 640 ${S}/${RTE_TARGET}/include/arch/* ${D}${includedir}/arch/ + install -m 640 ${S}/${RTE_TARGET}/include/exec-env/* ${D}${includedir}/exec-env/ + install -m 0755 ${S}/tools/*.py ${D}/${INSTALL_PATH}/tools/ + + + #Install test applications + install -m 0755 ${S}/${RTE_TARGET}/app/test ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${S}/${RTE_TARGET}/app/testpmd ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${S}/${RTE_TARGET}/app/dump_cfg ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${S}/${RTE_TARGET}/app/cmdline_test ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + + + # Install example applications + # It is expected that user of this include file should define EXAMPLES_BUILD_DIR + for app in ${S}/examples/* + do + case `basename ${app}` in + dpdk_qat | vhost | vhost_xen | Makefile ) continue + ;; + l2fwd-ivshmem) + install -m 0755 ${app}/guest/${EXAMPLES_BUILD_DIR}/app/guest ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${app}/host/${EXAMPLES_BUILD_DIR}/app/host ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + continue + ;; + multi_process) + install -m 0755 ${app}/client_server_mp/mp_client/${EXAMPLES_BUILD_DIR}/app/mp_client ${D}/${INSTALL_PATH}/${RTE_TARGET}/app + install -m 0755 ${app}/client_server_mp/mp_server/${EXAMPLES_BUILD_DIR}/app/mp_server