meta-dpdk: Move to independant layer

DPDK is now a Linux Foundation project and as such not completely
Intel based, therefore move this to it's own layer so that others
can use.

Signed-off-by: Saul Wold <sgw@linux.intel.com>
This commit is contained in:
Saul Wold 2017-09-26 08:02:23 -07:00
parent 2f1bcac3fb
commit a72281adbb
21 changed files with 0 additions and 949 deletions

View File

@ -1,17 +0,0 @@
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in
all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

View File

@ -1,5 +0,0 @@
All metadata files (including, but not limited to bb, bbappend,
bbclass, inc and conf files) are MIT licensed unless otherwise stated.
Source code included in tree for individual recipes is under the
LICENSE stated in the associated recipe (.bb file) unless otherwise
stated.

View File

@ -1,85 +0,0 @@
meta-dpdk
=========
This README file contains information on building and booting
meta-intel BSP layers. Please see the corresponding sections below
for details.
Yocto Project Compatible
========================
The BSPs contained in this layer are compatible with the Yocto Project
as per the requirements listed here:
https://www.yoctoproject.org/webform/yocto-project-compatible-registration
Dependencies
============
This layer depends on:
URI: git://git.openembedded.org/bitbake
branch: 1.34
URI: git://git.openembedded.org/openembedded-core
layers: meta
branch: rocko
Guidelines for submitting patches
====================================
Please submit any patches against meta-dpdk to the meta-intel
mailing list (meta-intel@yoctoproject.org). Also, if your patches are
available via a public git repository, please also include a URL to
the repo and branch containing your patches as that makes it easier
for maintainers to grab and test your patches.
There are patch submission scripts available that will, among other
things, automatically include the repo URL and branch as mentioned.
Please see the Yocto Project Development Manual sections entitled
'Using Scripts to Push a Change Upstream and Request a Pull' and
'Using Email to Submit a Patch' for details.
Regardless of how you submit a patch or patchset, the patches should
at minimum follow the suggestions outlined in the 'Submitting a Change
to the Yocto Project' section in the Yocto Project Development Manual.
Specifically, they should:
- Include a 'Signed-off-by:' line. A commit can't legally be pulled
in without this.
- Provide a single-line, short summary of the change. This short
description should be prefixed by the BSP or recipe name, as
appropriate, followed by a colon. Capitalize the first character
of the summary (following the colon).
- For the body of the commit message, provide detailed information
that describes what you changed, why you made the change, and the
approach you used.
- If the change addresses a specific bug or issue that is associated
with a bug-tracking ID, include a reference to that ID in your
detailed description in the following format: [YOCTO #<bug-id>].
- Pay attention to line length - please don't allow any particular
line in the commit message to stretch past 72 characters.
- For any non-trivial patch, provide information about how you
tested the patch, and for any non-trivial or non-obvious testing
setup, provide details of that setup.
Doing a quick 'git log' in meta-intel will provide you with many
examples of good example commits if you have questions about any
aspect of the preferred format.
The meta-intel maintainers will do their best to review and/or pull in
a patch or patchset within 24 hours of the time it was posted. For
larger and/or more involved patches and patchsets, the review process
may take longer.
Please see the meta-intel/MAINTAINERS file for the list of maintainers
and their specific areas; it's also a good idea to cc: the specific
maintainer, if applicable.

View File

@ -1,4 +0,0 @@
# This file contains a list of recipe maintainers for meta-intel
RECIPE_MAINTAINER_pn-dpdk = "TBD DPDK Flex Team"
RECIPE_MAINTAINER_pn-dpdk-dev-libibverbs = "TBD DPDK Flex Team"

View File

@ -1,19 +0,0 @@
# We have a conf and classes directory, add to BBPATH
BBPATH .= ":${LAYERDIR}"
# We have recipes-* directories, add to BBFILES
BBFILES += "${LAYERDIR}/recipes-*/*/*.bb \
${LAYERDIR}/recipes-*/*/*.bbappend"
BBFILE_COLLECTIONS += "dpdk"
BBFILE_PATTERN_dpdk := "^${LAYERDIR}/"
BBFILE_PRIORITY_dpdk = "5"
LAYERDEPENDS_dpdk = "core"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_dpdk = "1"
LAYERSERIES_COMPAT_dpdk = "rocko"
require ${LAYERDIR}/conf/include/maintainers.inc

View File

@ -1,27 +0,0 @@
DESCRIPTION = "libibverbs library to support Mellanox config"
HOMEPAGE = "https://github.com/Mellanox/dpdk-dev-libibverbs"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=7c557f27dd795ba77cc419dddc656b51"
SRC_URI = "https://github.com/Mellanox/dpdk-dev-libibverbs/archive/libibverbs-${PV}.tar.gz;name=${PN} \
file://init_c.patch \
file://0001-Fix-build-with-clang.patch \
file://0002-typecast-enum-to-int-before-comparison.patch \
file://0003-initialize-use_config_mr.patch \
file://0004-Fix-clang-warnings.patch \
"
SRC_URI[dpdk-dev-libibverbs.md5sum] = "65234ee278eb437a7069326f37cd4d86"
SRC_URI[dpdk-dev-libibverbs.sha256sum] = "a6471515556cb8d10ad471bb7efb8cf760b248a28aceb57d4534d50d572f56cd"
# A machine needs to enable this using:
# COMPATIBLE_MACHINE_pn-dpdk-dev-libibverbs = "<machine name>"
COMPATIBLE_MACHINE = "null"
COMPATIBLE_HOST_libc-musl_class-target = "null"
S = "${WORKDIR}/${PN}-libibverbs-${PV}"
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
DEPENDS = "libnl"
inherit pkgconfig autotools

View File

@ -1,32 +0,0 @@
From b705caef6c717adc80585843b7fcc68700ced4b6 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 12 Aug 2017 09:25:24 -0700
Subject: [PATCH 1/4] Fix build with clang
Fix
error: logical not is only applied to the left hand side of this bitwise operator [-Werror,-Wlogical-not-parentheses]
if ((!port_attr->comp_mask & IBV_EXP_QUERY_PORT_ATTR_MASK1) ||
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
include/infiniband/verbs_exp.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/include/infiniband/verbs_exp.h b/include/infiniband/verbs_exp.h
index ae94deb..42ed83d 100644
--- a/include/infiniband/verbs_exp.h
+++ b/include/infiniband/verbs_exp.h
@@ -2955,7 +2955,7 @@ static inline int ibv_exp_query_port(struct ibv_context *context,
&port_attr->port_attr);
/* Check that only valid flags were given */
- if ((!port_attr->comp_mask & IBV_EXP_QUERY_PORT_ATTR_MASK1) ||
+ if (!(port_attr->comp_mask & IBV_EXP_QUERY_PORT_ATTR_MASK1) ||
(port_attr->comp_mask & ~IBV_EXP_QUERY_PORT_ATTR_MASKS) ||
(port_attr->mask1 & ~IBV_EXP_QUERY_PORT_MASK)) {
errno = EINVAL;
--
2.14.1

View File

@ -1,115 +0,0 @@
From 7edab012f2d28de7e6d3657ec698e1090d0112de Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 12 Aug 2017 09:25:49 -0700
Subject: [PATCH 2/4] typecast enum to int before comparison
Fix
error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
examples/cc_pingpong.c | 2 +-
examples/rc_pingpong.c | 2 +-
examples/srq_pingpong.c | 2 +-
examples/task_pingpong.c | 2 +-
examples/uc_pingpong.c | 2 +-
examples/umr_rc.c | 2 +-
examples/xsrq_pingpong.c | 2 +-
7 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/examples/cc_pingpong.c b/examples/cc_pingpong.c
index 7b3e397..567c503 100644
--- a/examples/cc_pingpong.c
+++ b/examples/cc_pingpong.c
@@ -1408,7 +1408,7 @@ int main(int argc, char *argv[])
case 'm':
mtu = pp_mtu_to_enum(strtol(optarg, NULL, 0));
- if (mtu < 0) {
+ if ((int)mtu < 0) {
usage(argv[0]);
return 1;
}
diff --git a/examples/rc_pingpong.c b/examples/rc_pingpong.c
index 786577e..e661368 100644
--- a/examples/rc_pingpong.c
+++ b/examples/rc_pingpong.c
@@ -759,7 +759,7 @@ int main(int argc, char *argv[])
case 'm':
mtu = pp_mtu_to_enum(strtol(optarg, NULL, 0));
- if (mtu < 0) {
+ if ((int)mtu < 0) {
usage(argv[0]);
return 1;
}
diff --git a/examples/srq_pingpong.c b/examples/srq_pingpong.c
index 9762866..f85a7cd 100644
--- a/examples/srq_pingpong.c
+++ b/examples/srq_pingpong.c
@@ -697,7 +697,7 @@ int main(int argc, char *argv[])
case 'm':
mtu = pp_mtu_to_enum(strtol(optarg, NULL, 0));
- if (mtu < 0) {
+ if ((int)mtu < 0) {
usage(argv[0]);
return 1;
}
diff --git a/examples/task_pingpong.c b/examples/task_pingpong.c
index 748f8bb..d03a8b2 100644
--- a/examples/task_pingpong.c
+++ b/examples/task_pingpong.c
@@ -1005,7 +1005,7 @@ int main(int argc, char *argv[])
case 'm':
mtu = pp_mtu_to_enum(strtol(optarg, NULL, 0));
- if (mtu < 0) {
+ if ((int)mtu < 0) {
usage(argv[0]);
return 1;
}
diff --git a/examples/uc_pingpong.c b/examples/uc_pingpong.c
index 879bd77..a38a054 100644
--- a/examples/uc_pingpong.c
+++ b/examples/uc_pingpong.c
@@ -606,7 +606,7 @@ int main(int argc, char *argv[])
case 'm':
mtu = pp_mtu_to_enum(strtol(optarg, NULL, 0));
- if (mtu < 0) {
+ if ((int)mtu < 0) {
usage(argv[0]);
return 1;
}
diff --git a/examples/umr_rc.c b/examples/umr_rc.c
index ab76d3c..0ec636a 100644
--- a/examples/umr_rc.c
+++ b/examples/umr_rc.c
@@ -950,7 +950,7 @@ int main(int argc, char *argv[])
case 'm':
mtu = pp_mtu_to_enum(strtol(optarg, NULL, 0));
- if (mtu < 0) {
+ if ((int)mtu < 0) {
usage(argv[0]);
return 1;
}
diff --git a/examples/xsrq_pingpong.c b/examples/xsrq_pingpong.c
index c4ae51d..cebae5d 100644
--- a/examples/xsrq_pingpong.c
+++ b/examples/xsrq_pingpong.c
@@ -910,7 +910,7 @@ int main(int argc, char *argv[])
break;
case 'm':
ctx.mtu = pp_mtu_to_enum(strtol(optarg, NULL, 0));
- if (ctx.mtu < 0) {
+ if ((int)ctx.mtu < 0) {
usage(argv[0]);
return 1;
}
--
2.14.1

View File

@ -1,31 +0,0 @@
From 936da7fcab06ff3bc7c1c1e1ab108a36797da039 Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 12 Aug 2017 09:28:00 -0700
Subject: [PATCH 3/4] initialize use_config_mr
Fixes
error: variable 'use_contig_mr' is uninitialized when used here [-Werror,-Wuninitialized]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
examples/dcini.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/examples/dcini.c b/examples/dcini.c
index 001e905..08d75ec 100644
--- a/examples/dcini.c
+++ b/examples/dcini.c
@@ -269,7 +269,7 @@ int main(int argc, char *argv[])
int size = 4096;
int iters = 1000;
int use_event = 0;
- int use_contig_mr;
+ int use_contig_mr = 0;
int err;
struct ibv_ah_attr ah_attr;
struct dc_ctx ctx = {
--
2.14.1

View File

@ -1,56 +0,0 @@
From 08944074f9d9525a57e88a4990dd833d0999b8df Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Sat, 12 Aug 2017 09:36:55 -0700
Subject: [PATCH 4/4] Fix clang warnings
../../../../../../../workspace/sources/dpdk-dev-libibverbs/examples/intf.c:1221:11: error: comparison of array 'ctx->dev_name' not equal to a null pointer is always true [-Werror,-Wtautological-pointer-compare]
if (ctx->dev_name != NULL) {
~~~~~^~~~~~~~ ~~~~
../../../../../../../workspace/sources/dpdk-dev-libibverbs/examples/intf.c:1893:13: error: comparison of unsigned expression < 0 is always false [-Werror,-Wtautological-compare]
if (size < 0 || size > MAX_MSG_SIZE)
~~~~ ^ ~
../../../../../../../workspace/sources/dpdk-dev-libibverbs/examples/intf.c:1901:12: error: comparison of unsigned enum expression < 0 is always false [-Werror,-Wtautological-compare]
if (mtu < 0)
~~~ ^ ~
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
Upstream-Status: Pending
examples/intf.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/examples/intf.c b/examples/intf.c
index 8d158ee..1f1af50 100644
--- a/examples/intf.c
+++ b/examples/intf.c
@@ -1218,7 +1218,7 @@ int create_resources(struct intf_context *ctx)
return 1;
}
- if (!ctx->dev_name) {
+ if (!ctx->dev_name[0]) {
ctx->ib_dev = *dev_list;
if (!ctx->ib_dev) {
fprintf(stderr, "No IB devices found\n");
@@ -1828,7 +1828,7 @@ int parse_input(struct intf_input *input, struct intf_input *default_input, int
char *ib_devname = NULL;
char *vrbs_intf = NULL;
char *cpus_str = NULL;
- unsigned long long size;
+ long long size;
memcpy(input, default_input, sizeof(*input));
@@ -1898,7 +1898,7 @@ int parse_input(struct intf_input *input, struct intf_input *default_input, int
case 'm':
mtu = mtu_to_enum(strtol(optarg, NULL, 0));
- if (mtu < 0)
+ if ((int)mtu < 0)
goto print_usage;
input->ib_data.mtu = mtu;
break;
--
2.14.1

View File

@ -1,23 +0,0 @@
dpdk-dev-libibverbs: suppress gcc7 warnings
We know that format-truncation in init.c is okay.
Upstream-Status: Pending
Signed-off-by: Joe Slater <joe.slater@windriver.com>
--- a/src/init.c
+++ b/src/init.c
@@ -31,6 +31,11 @@
* SOFTWARE.
*/
+/* For this file we know we can ignore this warning. */
+#if __GNUC__ > 6
+#pragma GCC diagnostic ignored "-Wformat-truncation"
+#endif
+
#if HAVE_CONFIG_H
# include <config.h>
#endif /* HAVE_CONFIG_H */

View File

@ -1,146 +0,0 @@
DESCRIPTION = "Intel(r) Data Plane Development Kit"
HOMEPAGE = "http://dpdk.org"
LICENSE = "BSD & LGPLv2 & GPLv2"
LIC_FILES_CHKSUM = "file://LICENSE.GPL;md5=751419260aa954499f7abaabaa882bbe"
SRC_URI = "http://fast.dpdk.org/rel/${BP}.tar.gz;name=dpdk \
file://dpdk-16.04-add-RTE_KERNELDIR_OUT-to-split-kernel-bu.patch \
file://dpdk-16.07-add-sysroot-option-within-app-makefile.patch \
file://dpdk-16.04-Fix-for-misleading-indentation-error.patch \
file://dpdk-16.04-dpdk-fix-compilation-with-dynamic-libs.patch \
file://dpdk-16.07-dpdk-fix-for-parellel-make-issue.patch \
file://dpdk-17.02-dpdk-fix-installation-warning-and-issue.patch \
"
# A machine needs to enable this using:
# COMPATIBLE_MACHINE_pn-dpdk-dev-libibverbs = "<machine name>"
COMPATIBLE_MACHINE = "null"
COMPATIBLE_HOST_libc-musl_class-target = "null"
# dpdk example apps dpdk_qat and vhost have dependancy on fuse and qat.
# fuse is in meta-filesystems and qat is not yet upstreamed.
# So adding mechanism to explicitly disable the use of fuse and qat.
# To enable, uncomment the below line or include in .bbappend.
# PACKAGECONFIG ?= " dpdk_qat vhost libvirt"
PACKAGECONFIG[dpdk_qat] = ",,virtual/qat"
PACKAGECONFIG[vhost] = ",,fuse"
PACKAGECONFIG[libvirt] = ",,libvirt"
export CONFIG_EXAMPLE_DPDK_QAT = "${@bb.utils.contains('PACKAGECONFIG', 'dpdk_qat', 'y', 'n', d)}"
export CONFIG_EXAMPLE_VM_POWER_MANAGER = "${@bb.utils.contains('PACKAGECONFIG', 'libvirt', 'y', 'n', d)}"
export CONFIG_VHOST_ENABLED = "${@bb.utils.contains('PACKAGECONFIG', 'vhost', 'y', 'n', d)}"
RDEPENDS_${PN} += "python-subprocess dpdk-dev-libibverbs"
DEPENDS = "virtual/kernel dpdk-dev-libibverbs"
do_configure[depends] += "virtual/kernel:do_shared_workdir"
inherit module
export MODULE_DIR="/lib/modules/${KERNEL_VERSION}/kernel/drivers/net"
export RTE_SDK = "${S}"
export RTE_TARGET="${@bb.utils.contains("TUNE_FEATURES", "m64", "x86_64-native-linuxapp-gcc", "i686-native-linuxapp-gcc", d)}"
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 RTE_KERNELDIR_OUT = "${STAGING_KERNEL_BUILDDIR}"
export INSTALL_PATH = "${prefix}/share"
export RTE_OUTPUT = "${S}/${RTE_TARGET}"
export ETHTOOL_LIB_PATH = "${S}/examples/ethtool/lib/${RTE_TARGET}/"
export SYSROOTPATH = "--sysroot=${STAGING_DIR_HOST}"
export DPDK_TARGET_MACH = "${@get_dpdk_target_mach(bb,d)}"
export ICP_LAC_API_DIR = "${STAGING_DIR_TARGET}${includedir}/lac"
# The list of intel Comms platforms and their target machine
# process mapping. The supported target machine is listed under
# dpdk/mk/machine
def get_dpdk_target_mach(bb, d):
target_arch = d.getVar('DPDK_TARGET_MACHINE', True)
if target_arch:
target_arch
return "default"
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
# Fix-up CONFIG_RTE_MACHINE based on target machine
sed -e "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" -i ${S}/config/defconfig_x86_64-native-linuxapp-gcc
sed -e "s#CONFIG_RTE_MACHINE=\"native\"#CONFIG_RTE_MACHINE=\"${DPDK_TARGET_MACH}\"#" -i ${S}/config/defconfig_i686-native-linuxapp-gcc
# Fix-up vhost configs based on package config
sed -e "s#CONFIG_RTE_KNI_VHOST=n#CONFIG_RTE_KNI_VHOST=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp
sed -e "s#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=n#CONFIG_RTE_KNI_VHOST_VNET_HDR_EN=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp
sed -e "s#CONFIG_RTE_LIBRTE_VHOST=n#CONFIG_RTE_LIBRTE_VHOST=${CONFIG_VHOST_ENABLED}#" -i ${S}/config/common_linuxapp
make O=$RTE_TARGET T=$RTE_TARGET config
}
do_compile () {
unset LDFLAGS TARGET_LDFLAGS BUILD_LDFLAGS
cd ${S}/${RTE_TARGET}
oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu" \
EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \
CROSS="${TARGET_PREFIX}" \
prefix="" LDFLAGS="" WERROR_FLAGS="-w" V=1
cd ${S}/examples/
oe_runmake EXTRA_LDFLAGS="-L${STAGING_LIBDIR} --hash-style=gnu -fuse-ld=bfd" \
EXTRA_CFLAGS="--sysroot=${STAGING_DIR_HOST} -I${STAGING_INCDIR}" \
CROSS="${TARGET_PREFIX}" O="${S}/examples/$@/"
}
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
for dirname in ${S}/examples/*
do
install -m 0755 -d ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`
for appname in `find ${dirname} -regex ".*${EXAMPLES_BUILD_DIR}\/app\/[-0-9a-zA-Z0-9/_]*$"`
do
install -m 755 ${appname} ${D}/${INSTALL_PATH}/examples/`basename ${dirname}`/
done
done
}
PACKAGES += "${PN}-examples"
FILES_${PN}-dbg += " \
${INSTALL_PATH}/.debug \
${INSTALL_PATH}/examples/*/.debug \
"
FILES_${PN}-doc += "\
${INSTALL_PATH}/doc \
"
FILES_${PN}-dev += " \
${INSTALL_PATH}/${RTE_TARGET}/.config \
${includedir} \
${includedir}/${ARCHDIR} \
${includedir}/exec-env \
${INSTALL_PATH}/buildtools/ \
${INSTALL_PATH}/${RTE_TARGET}/include \
${INSTALL_PATH}/${RTE_TARGET}/lib \
"
FILES_${PN} += " ${INSTALL_PATH}/usertools/ \
${prefix}/sbin/ \
${prefix}/bin/ \
${libdir}/ \
"
FILES_${PN}-examples += " \
${INSTALL_PATH}/examples/* \
"

View File

@ -1,44 +0,0 @@
From 3924f5df5aca5ba23abbe9a84173280ede8be2dd Mon Sep 17 00:00:00 2001
From: Khem Raj <raj.khem@gmail.com>
Date: Tue, 1 Aug 2017 20:18:46 -0700
Subject: [PATCH] examples: Fix maybe-uninitialized warning
Initialize arrays to 0, makes compiler happy about
error: 'vals[0]' may be used uninitialized in this function [-Werror=maybe-uninitialized]
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
examples/qos_sched/args.c | 2 +-
examples/vhost/virtio_net.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/examples/qos_sched/args.c b/examples/qos_sched/args.c
index 476a0ee..fd601c3 100644
--- a/examples/qos_sched/args.c
+++ b/examples/qos_sched/args.c
@@ -241,7 +241,7 @@ static int
app_parse_flow_conf(const char *conf_str)
{
int ret;
- uint32_t vals[5];
+ uint32_t vals[5] = {0};
struct flow_conf *pconf;
uint64_t mask;
diff --git a/examples/vhost/virtio_net.c b/examples/vhost/virtio_net.c
index cc2c3d8..16b5392 100644
--- a/examples/vhost/virtio_net.c
+++ b/examples/vhost/virtio_net.c
@@ -327,7 +327,7 @@ vs_dequeue_pkts(struct vhost_dev *dev, uint16_t queue_id,
{
struct vhost_queue *queue;
struct rte_vhost_vring *vr;
- uint32_t desc_indexes[MAX_PKT_BURST];
+ uint32_t desc_indexes[MAX_PKT_BURST] = {0};
uint32_t used_idx;
uint32_t i = 0;
uint16_t free_entries;
--
2.13.3

View File

@ -1,56 +0,0 @@
From 8cd0a16af531cca0af6b4f9b729c252b8bdbf8e2 Mon Sep 17 00:00:00 2001
From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Date: Tue, 5 Jul 2016 00:05:25 +0800
Subject: [PATCH] Fix for misleading indentation error
fix the indentation of the code to match the block structure. This may cause
build errors if you have -Wall -Werror in your project.
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c | 8 ++++----
lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c
index df22470..ba28eba 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/e1000_phy.c
@@ -3302,8 +3302,8 @@ s32 e1000_read_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 *data)
/* Disable access to mPHY if it was originally disabled */
if (locked)
ready = e1000_is_mphy_ready(hw);
- if (!ready)
- return -E1000_ERR_PHY;
+ if (!ready)
+ return -E1000_ERR_PHY;
E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
E1000_MPHY_DIS_ACCESS);
@@ -3367,8 +3367,8 @@ s32 e1000_write_phy_reg_mphy(struct e1000_hw *hw, u32 address, u32 data,
/* Disable access to mPHY if it was originally disabled */
if (locked)
ready = e1000_is_mphy_ready(hw);
- if (!ready)
- return -E1000_ERR_PHY;
+ if (!ready)
+ return -E1000_ERR_PHY;
E1000_WRITE_REG(hw, E1000_MPHY_ADDR_CTRL,
E1000_MPHY_DIS_ACCESS);
diff --git a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c
index 017dfe1..7248a7e 100644
--- a/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c
+++ b/lib/librte_eal/linuxapp/kni/ethtool/ixgbe/ixgbe_82599.c
@@ -870,7 +870,7 @@ s32 ixgbe_setup_mac_link_82599(struct ixgbe_hw *hw,
if (speed & IXGBE_LINK_SPEED_10GB_FULL)
if (orig_autoc & IXGBE_AUTOC_KX4_SUPP)
autoc |= IXGBE_AUTOC_KX4_SUPP;
- if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) &&
+ if ((orig_autoc & IXGBE_AUTOC_KR_SUPP) &&
(hw->phy.smart_speed_active == false))
autoc |= IXGBE_AUTOC_KR_SUPP;
if (speed & IXGBE_LINK_SPEED_1GB_FULL)
--
1.9.1

View File

@ -1,52 +0,0 @@
From 6c8d348190a8cf6c35111913cbf117ca98137e84 Mon Sep 17 00:00:00 2001
From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Date: Fri, 18 Dec 2015 18:30:47 +0800
Subject: [PATCH] dpdk v2.2.0: add RTE_KERNELDIR_OUT to split kernel build
artifact
Introduce RTE_KERNELDIR_OUT to be the path to which kernel build
artifacts are located. This is for matching the workflow change
since Yocto Project v1.8 onwards whereby tmp/work-shared contains
separate directories for kernel source and kernel artifacts.
Upstream-Status: Inappropriate [configuration]
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
mk/rte.module.mk | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/mk/rte.module.mk b/mk/rte.module.mk
index 53ed4fe..b7a014b 100644
--- a/mk/rte.module.mk
+++ b/mk/rte.module.mk
@@ -77,7 +77,7 @@ build: _postbuild
# build module
$(MODULE).ko: $(SRCS_LINKS)
@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
+ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
CC="$(KERNELCC)" CROSS_COMPILE=$(CROSS) V=$(if $V,1,0)
# install module in $(RTE_OUTPUT)/kmod
@@ -88,7 +88,7 @@ $(RTE_OUTPUT)/kmod/$(MODULE).ko: $(MODULE).ko
# install module
modules_install:
- @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) \
+ @$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) \
modules_install
.PHONY: clean
@@ -98,7 +98,7 @@ clean: _postclean
.PHONY: doclean
doclean:
@if [ ! -f $(notdir Makefile) ]; then ln -nfs $(SRCDIR)/Makefile . ; fi
- $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR) clean
+ $(Q)$(MAKE) -C $(RTE_KERNELDIR) M=$(CURDIR) O=$(RTE_KERNELDIR_OUT) clean
@$(foreach FILE,$(SRCS-y) $(SRCS-n) $(SRCS-),\
if [ -h $(notdir $(FILE)) ]; then rm -f $(notdir $(FILE)) ; fi ;)
@if [ -h $(notdir Makefile) ]; then rm -f $(notdir Makefile) ; fi
--
1.9.1

View File

@ -1,33 +0,0 @@
From f7be643cc62860a986c9e0aec990c90bfc58a941 Mon Sep 17 00:00:00 2001
From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Date: Fri, 1 Apr 2016 17:31:55 +0800
Subject: [PATCH] dpdk: enable ip_fragmentation in common_base config
Upstream-Status: Inappropriate [Configuration]
This configuration need to set for ip_fragmentation application.
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
config/common_base | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/config/common_base b/config/common_base
index abd6a64..90259f0 100644
--- a/config/common_base
+++ b/config/common_base
@@ -442,6 +442,11 @@ CONFIG_RTE_LIBRTE_POWER_DEBUG=n
CONFIG_RTE_MAX_LCORE_FREQS=64
#
+# Compile ip_fragmentation
+#
+CONFIG_RTE_IP_FRAG=y
+
+#
# Compile librte_net
#
CONFIG_RTE_LIBRTE_NET=y
--
1.9.1

View File

@ -1,30 +0,0 @@
From 8ce0e3249942a90f733bb2113e70e5a90ae67b00 Mon Sep 17 00:00:00 2001
From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Date: Thu, 21 Jul 2016 05:53:52 +0800
Subject: [PATCH 1/2] dpdk: fix compilation with dynamic libs
Upstream-Status: Inappropriate [Configuration]
Ensure that the correct cflags are being used.
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
mk/rte.lib.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mk/rte.lib.mk b/mk/rte.lib.mk
index 8f7e021..42610c9 100644
--- a/mk/rte.lib.mk
+++ b/mk/rte.lib.mk
@@ -70,7 +70,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
ifeq ($(LINK_USING_CC),1)
# Override the definition of LD here, since we're linking with CC
-LD := $(CC) $(CPU_CFLAGS)
+LD := $(CC) $(CPU_CFLAGS) $(EXTRA_CFLAGS)
_CPU_LDFLAGS := $(call linkerprefix,$(CPU_LDFLAGS))
override EXTRA_LDFLAGS := $(call linkerprefix,$(EXTRA_LDFLAGS))
else
--
1.9.1

View File

@ -1,32 +0,0 @@
From a33a9e7559b59bc5fb0988af85062436ec4389a4 Mon Sep 17 00:00:00 2001
From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Date: Fri, 19 Aug 2016 11:57:49 +0800
Subject: [PATCH] dpdk: add --sysroot option within app makefile
Upstream-Status: Inappropriate [configuration]
rte.app.mk has been changed to add -Wl, to all items listed
under EXTRA_LDFLAGS. It causes --sysroot=<path> to not setup
correctly when we depends on gcc to setup for GNU ld.
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
mk/rte.app.mk | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mk/rte.app.mk b/mk/rte.app.mk
index eb28e11..296c8c7 100644
--- a/mk/rte.app.mk
+++ b/mk/rte.app.mk
@@ -195,7 +195,7 @@ exe2cmd = $(strip $(call dotfile,$(patsubst %,%.cmd,$(1))))
ifeq ($(LINK_USING_CC),1)
O_TO_EXE = $(CC) -o $@ $(CFLAGS) $(OBJS-y) $(call linkerprefix, \
$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
- $(MAPFLAGS))
+ $(MAPFLAGS)) $(SYSROOTPATH)
else
O_TO_EXE = $(LD) -o $@ $(OBJS-y) \
$(LDLIBS) $(LDFLAGS) $(LDFLAGS_$(@)) $(EXTRA_LDFLAGS) \
--
1.9.1

View File

@ -1,42 +0,0 @@
From 4cdcb5ea4af9677677a007c4f9b286948123be87 Mon Sep 17 00:00:00 2001
From: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
Date: Fri, 2 Sep 2016 15:48:52 +0800
Subject: [PATCH] dpdk: fix for parellel make issue
To make sure that the path of libraries should be correct and
libraries will be build before, And available at the time of
linking example apps.
Signed-off-by: Rahul Kumar Gupta <rahul.kumarxx.gupta@intel.com>
---
examples/Makefile | 1 +
examples/ethtool/ethtool-app/Makefile | 1 +
2 files changed, 2 insertions(+)
diff --git a/examples/Makefile b/examples/Makefile
index 18b41b9..c7c2beb 100644
--- a/examples/Makefile
+++ b/examples/Makefile
@@ -43,6 +43,7 @@ DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
DIRS-$(CONFIG_RTE_LIBRTE_PMD_BOND) += bond
DIRS-y += cmdline
DIRS-$(CONFIG_RTE_LIBRTE_DISTRIBUTOR) += distributor
+DEPDIRS-y += examples/ethtool/lib
DIRS-y += ethtool
DIRS-y += exception_path
DIRS-y += helloworld
diff --git a/examples/ethtool/ethtool-app/Makefile b/examples/ethtool/ethtool-app/Makefile
index 09c66ad..ec068e6 100644
--- a/examples/ethtool/ethtool-app/Makefile
+++ b/examples/ethtool/ethtool-app/Makefile
@@ -47,6 +47,7 @@ SRCS-y := main.c ethapp.c
CFLAGS += -O3 -D_GNU_SOURCE -pthread -I$(SRCDIR)/../lib
CFLAGS += $(WERROR_FLAGS)
+LDLIBS += -L$(ETHTOOL_LIB_PATH)/
LDLIBS += -L$(subst ethtool-app,lib,$(RTE_OUTPUT))/lib
LDLIBS += -lrte_ethtool
--
1.9.1

View File

@ -1,81 +0,0 @@
From 363817bf84286fc167e0c3c255a7fd522bf87d8c Mon Sep 17 00:00:00 2001
From: Shashwat Pandey <shashwatx.p@intel.com>
Date: Mon, 20 Feb 2017 15:46:22 +0800
Subject: [PATCH] dpdk: fix installation warning and issue
Upstream-Status: Inappropriate [configuration]
Ensure that all compiled libs should be installed to correct location.
For cross compiling cp -r and extra tar flags used to avoid QA warning
[host-user-contaminated].
Added excluded files from bin and removing mk and app/dpdk-pmdinfogen files
installation since it is not needed as a part of image.
Signed-off-by: Shashwat Pandey <shashwatx.p@intel.com>
---
mk/rte.sdkinstall.mk | 29 ++++++++++++++---------------
1 file changed, 14 insertions(+), 15 deletions(-)
diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
index dbac2a2..563954e 100644
--- a/mk/rte.sdkinstall.mk
+++ b/mk/rte.sdkinstall.mk
@@ -115,16 +115,17 @@ endif
install-runtime:
$(Q)$(call rte_mkdir, $(DESTDIR)$(libdir))
- $(Q)cp -a $O/lib/* $(DESTDIR)$(libdir)
+ $(Q)cp -r $O/lib/* $(DESTDIR)$(libdir)
$(Q)$(call rte_mkdir, $(DESTDIR)$(bindir))
- $(Q)tar -cf - -C $O --exclude 'app/*.map' \
- --exclude app/dpdk-pmdinfogen \
- --exclude 'app/cmdline*' --exclude app/test \
- --exclude app/testacl --exclude app/testpipeline app | \
- tar -xf - -C $(DESTDIR)$(bindir) --strip-components=1 \
- --keep-newer-files
+ $(Q)tar -cf - -C $O --exclude app/dpdk-pmdinfogen app | \
+ tar -xf - -C $(DESTDIR)$(bindir) --no-same-owner --no-same-permissions \
+ --strip-components=1 --keep-newer-files --warning=no-ignore-newer
$(Q)$(call rte_mkdir, $(DESTDIR)$(datadir))
- $(Q)cp -a $(RTE_SDK)/usertools $(DESTDIR)$(datadir)
+ $(Q)cp -r $(RTE_SDK)/usertools $(DESTDIR)$(datadir)
+ $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/usertools/dpdk-setup.sh, \
+ $(DESTDIR)$(datadir)/usertools/setup.sh)
+ $(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/usertools/dpdk-devbind.py, \
+ $(DESTDIR)$(datadir)/usertools/dpdk_nic_bind.py)
$(Q)$(call rte_mkdir, $(DESTDIR)$(sbindir))
$(Q)$(call rte_symlink, $(DESTDIR)$(datadir)/usertools/dpdk-devbind.py, \
$(DESTDIR)$(sbindir)/dpdk-devbind)
@@ -142,7 +143,7 @@ endif
install-kmod:
ifneq ($(wildcard $O/kmod/*),)
$(Q)$(call rte_mkdir, $(DESTDIR)$(kerneldir))
- $(Q)cp -a $O/kmod/* $(DESTDIR)$(kerneldir)
+ $(Q)cp -r $O/kmod/* $(DESTDIR)$(kerneldir)
endif
install-sdk:
@@ -151,11 +152,9 @@ install-sdk:
tar -xf - -C $(DESTDIR)$(includedir) --strip-components=1 \
--keep-newer-files
$(Q)$(call rte_mkdir, $(DESTDIR)$(sdkdir))
- $(Q)cp -a $(RTE_SDK)/mk $(DESTDIR)$(sdkdir)
- $(Q)cp -a $(RTE_SDK)/buildtools $(DESTDIR)$(sdkdir)
- $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir)/app)
- $(Q)cp -a $O/.config $(DESTDIR)$(targetdir)
- $(Q)cp -a $O/app/dpdk-pmdinfogen $(DESTDIR)$(targetdir)/app
+ $(Q)cp -r $(RTE_SDK)/buildtools $(DESTDIR)$(sdkdir)
+ $(Q)$(call rte_mkdir, $(DESTDIR)$(targetdir))
+ $(Q)cp -r $O/.config $(DESTDIR)$(targetdir)
$(Q)$(call rte_symlink, $(DESTDIR)$(includedir), $(DESTDIR)$(targetdir)/include)
$(Q)$(call rte_symlink, $(DESTDIR)$(libdir), $(DESTDIR)$(targetdir)/lib)
@@ -171,4 +170,4 @@ ifneq ($(wildcard $O/doc/*/*/*pdf),)
$(Q)cp -a $O/doc/*/*/*pdf $(DESTDIR)$(docdir)/guides
endif
$(Q)$(call rte_mkdir, $(DESTDIR)$(datadir))
- $(Q)cp -a $(RTE_SDK)/examples $(DESTDIR)$(datadir)
+ $(Q)cp -r $(RTE_SDK)/examples $(DESTDIR)$(datadir)
--
1.9.1

View File

@ -1,19 +0,0 @@
include dpdk.inc
SRC_URI += "\
file://dpdk-16.04-dpdk-enable-ip_fragmentation-in-common_base-config.patch \
file://0001-examples-Fix-maybe-uninitialized-warning.patch \
"
SRC_URI[dpdk.md5sum] = "39c4e1110dd1ef9dab33edbae820f939"
SRC_URI[dpdk.sha256sum] = "763bfb7e1765efcc949e79d645dc9f1ebd16591431ba0db5ce22becd928dcd0a"
export EXAMPLES_BUILD_DIR = "${RTE_TARGET}"
export ARCHDIR = "generic"
do_configure_prepend () {
sed -e "s#CONFIG_RTE_LIBRTE_POWER=y#CONFIG_RTE_LIBRTE_POWER=${CONFIG_EXAMPLE_VM_POWER_MANAGER}#" -i ${S}/config/common_linuxapp
}
COMPATIBLE_HOST_linux-gnux32 = "null"
COMPATIBLE_HOST_libc-musl_class-target = "null"