Hello community, here is the log from the commit of package dpdk for openSUSE:Factory checked in at 2016-08-09 22:15:52 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/dpdk (Old) and /work/SRC/openSUSE:Factory/.dpdk.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "dpdk" Changes: -------- --- /work/SRC/openSUSE:Factory/dpdk/dpdk.changes 2016-07-14 09:49:39.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.dpdk.new/dpdk.changes 2016-08-09 22:15:58.000000000 +0200 @@ -1,0 +2,12 @@ +Thu Jul 28 16:39:07 CEST 2016 - [email protected] + +- Add _constraints file to force build dpdk with sse3 enabled x86 machine. +- Enable compilation for ppc64le with the help of RĂ¼diger([email protected]). +- Enable example package for aarch64 using RĂ¼diger([email protected]) changes. +- Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). +- Disable examples that need LPM which is disabled on non-x86. + + [+0036-examples-fix-build-dependencies.patch, + +0037-examples-ethtool-fix-build.patch] + +------------------------------------------------------------------- New: ---- 0036-examples-fix-build-dependencies.patch 0037-examples-ethtool-fix-build.patch _constraints ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ dpdk.spec ++++++ --- /var/tmp/diff_new_pack.NWHaI3/_old 2016-08-09 22:16:00.000000000 +0200 +++ /var/tmp/diff_new_pack.NWHaI3/_new 2016-08-09 22:16:00.000000000 +0200 @@ -16,6 +16,8 @@ # +%define machine native +%define machine2 default %ifarch x86_64 %define machine native %define target x86_64-%{machine}-linuxapp-gcc @@ -25,16 +27,16 @@ %define target i686-%{machine}-linuxapp-gcc %endif %ifarch aarch64 -%define machine armv8a -%define target arm64-%{machine}-linuxapp-gcc +%define machine2 armv8a +%define target arm64-%{machine2}-linuxapp-gcc %endif -# Examples seems to contain lots of Intel specific code -# so disabling examples package for aarch64 till we find -# time to fix them all. - TODO -%ifnarch aarch64 -# Add option to build without examples -%bcond_without examples + +%ifarch ppc64le +%define machine2 power8 +%define target ppc_64-%{machine2}-linuxapp-gcc %endif + +%bcond_without examples %bcond_without shared # Add option to build without tools %bcond_without tools @@ -110,6 +112,10 @@ Patch34: 0034-virtio-fix-restart.patch #PATCH-FIX-OPENSUSE 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi Patch35: 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch +#PATCH-FIX-UPSTREAM 0036-examples-fix-build-dependencies +Patch36: 0036-examples-fix-build-dependencies.patch +#PATCH-FIX-UPSTREAM 0037-examples-ethtool-fix-build +Patch37: 0037-examples-ethtool-fix-build.patch # # Patches for build fixes @@ -138,7 +144,7 @@ BuildRequires: libnuma-devel BuildRequires: libpcap-devel BuildRequires: zlib-devel -ExclusiveArch: aarch64 x86_64 %ix86 +ExclusiveArch: aarch64 x86_64 %ix86 ppc64le %description The Data Plane Development Kit is a set of libraries and drivers for @@ -228,6 +234,8 @@ %patch33 -p1 %patch34 -p1 %patch35 -p1 +%patch36 -p1 +%patch37 -p1 # Build fixes %patch99 -p1 -z .rtetoolchain @@ -265,7 +273,7 @@ make V=1 O=%{target} T=%{target} %{?_smp_mflags} config -setconf CONFIG_RTE_MACHINE '"%{machine}"' +setconf CONFIG_RTE_MACHINE '"%{machine2}"' # Disable experimental features setconf CONFIG_RTE_NEXT_ABI n setconf CONFIG_RTE_LIBRTE_CRYPTODEV n @@ -287,6 +295,13 @@ setconf CONFIG_RTE_BUILD_SHARED_LIB y %endif +%ifarch aarch64 ppc64le +setconf CONFIG_RTE_LIBRTE_DISTRIBUTOR n +%endif +%ifarch ppc64le +setconf CONFIG_RTE_LIBRTE_PMD_RING n +%endif + make V=1 O=%{target} %{?_smp_mflags} make V=1 O=%{target} %{?_smp_mflags} doc-api-html @@ -340,7 +355,7 @@ EOF # Fixup target machine mismatch -sed -i -e 's:-%{machine}-:-default-:g' %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk* +sed -i -e 's:-%{machine}-:-%{machine2}-:g' %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk* # Upstream has an option to build a combined library but it's bloatware which # wont work at all when library versions start moving, replace it with a ++++++ 0036-examples-fix-build-dependencies.patch ++++++ >From 1f1d7f76edc37acc879746ef3822dae54cbfe2a3 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon <[email protected]> Date: Fri, 5 Feb 2016 15:43:56 +0100 Subject: [PATCH] examples: fix build dependencies When building for ARM some examples were failing to compile because of some dependencies disabled. Declaring these dependencies prevent from trying to compile some not supported examples. Signed-off-by: Thomas Monjalon <[email protected]> --- examples/Makefile | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/examples/Makefile b/examples/Makefile index 1cb4785..1665df1 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -46,21 +46,25 @@ endif DIRS-y += ethtool DIRS-y += exception_path DIRS-y += helloworld -DIRS-y += ip_pipeline -DIRS-y += ip_reassembly +DIRS-$(CONFIG_RTE_LIBRTE_PIPELINE) += ip_pipeline +ifeq ($(CONFIG_RTE_LIBRTE_LPM),y) +DIRS-$(CONFIG_RTE_IP_FRAG) += ip_reassembly DIRS-$(CONFIG_RTE_IP_FRAG) += ip_fragmentation +endif DIRS-y += ipv4_multicast DIRS-$(CONFIG_RTE_LIBRTE_KNI) += kni DIRS-y += l2fwd DIRS-$(CONFIG_RTE_LIBRTE_IVSHMEM) += l2fwd-ivshmem DIRS-$(CONFIG_RTE_LIBRTE_JOBSTATS) += l2fwd-jobstats DIRS-y += l2fwd-keepalive -DIRS-y += l3fwd +DIRS-$(CONFIG_RTE_LIBRTE_LPM) += l3fwd DIRS-$(CONFIG_RTE_LIBRTE_ACL) += l3fwd-acl +ifeq ($(CONFIG_RTE_LIBRTE_LPM),y) DIRS-$(CONFIG_RTE_LIBRTE_POWER) += l3fwd-power DIRS-y += l3fwd-vf +endif DIRS-y += link_status_interrupt -DIRS-y += load_balancer +DIRS-$(CONFIG_RTE_LIBRTE_LPM) += load_balancer DIRS-y += multi_process DIRS-y += netmap_compat/bridge DIRS-$(CONFIG_RTE_LIBRTE_REORDER) += packet_ordering -- 2.6.6 ++++++ 0037-examples-ethtool-fix-build.patch ++++++ >From 71e6e8c51906102ba1f7da0a75f29f9c26b651f0 Mon Sep 17 00:00:00 2001 From: Thomas Monjalon <[email protected]> Date: Fri, 5 Feb 2016 15:38:02 +0100 Subject: [PATCH] examples/ethtool: fix build When building for ARM, the spinlock structure was not found. It appears to be a mismatch with rwlock which is not used in this file. Fixes: bda68ab9d1e7 ("examples/ethtool: add user-space ethtool sample application") Signed-off-by: Thomas Monjalon <[email protected]> Acked-by: Remy Horton <[email protected]> --- examples/ethtool/ethtool-app/main.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/ethtool/ethtool-app/main.c b/examples/ethtool/ethtool-app/main.c index e21abcd..2c655d8 100644 --- a/examples/ethtool/ethtool-app/main.c +++ b/examples/ethtool/ethtool-app/main.c @@ -36,7 +36,7 @@ #include <stdlib.h> #include <rte_common.h> -#include <rte_rwlock.h> +#include <rte_spinlock.h> #include <rte_eal.h> #include <rte_ethdev.h> #include <rte_ether.h> -- 2.6.6
