diff --git a/0005-kni-fix-build-with-gcc-7.1.patch b/0005-kni-fix-build-with-gcc-7.1.patch new file mode 100644 index 0000000..510f01f --- /dev/null +++ b/0005-kni-fix-build-with-gcc-7.1.patch @@ -0,0 +1,13 @@ +diff --git a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h +index d077b49e9..8667f29ca 100644 +--- a/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h ++++ b/lib/librte_eal/linuxapp/kni/ethtool/igb/igb.h +@@ -607,7 +607,7 @@ struct igb_adapter { + int int_mode; + u32 rss_queues; + u32 vmdq_pools; +- char fw_version[32]; ++ char fw_version[43]; + u32 wvbr; + struct igb_mac_addr *mac_table; + #ifdef CONFIG_IGB_VMDQ_NETDEV diff --git a/0005-kni-fix-build-with-kernel-4.11.patch b/0005-kni-fix-build-with-kernel-4.11.patch deleted file mode 100644 index 4b9f40e..0000000 --- a/0005-kni-fix-build-with-kernel-4.11.patch +++ /dev/null @@ -1,76 +0,0 @@ -From d4d2380cbb02980bf0334601d9ce6ec5400413f9 Mon Sep 17 00:00:00 2001 -From: Ferruh Yigit -Date: Tue, 21 Mar 2017 09:54:48 +0000 -Subject: [PATCH] kni: fix build with kernel 4.11 -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -compile error: -.../build/build/lib/librte_eal/linuxapp/kni/kni_net.c:124:6: -error: implicit declaration of function ‘signal_pending’ -[-Werror=implicit-function-declaration] - if (signal_pending(current) || ret_val <= 0) { - ^~~~~~~~~~~~~~ - -Linux 4.11 moves signal function declarations to its own header file: -Linux: 174cd4b1e5fb ("sched/headers: Prepare to move signal wakeup & -sigpending methods from into ") - -Use new header file "linux/sched/signal.h" to fix the build error. - -Cc: stable@dpdk.org - -Reported-by: Jerin Jacob -Signed-off-by: Ferruh Yigit -Tested-by: Jerin Jacob -Tested-by: Pankaj Gupta ---- - lib/librte_eal/linuxapp/kni/compat.h | 6 ++++++ - lib/librte_eal/linuxapp/kni/kni_dev.h | 6 ++++++ - 2 files changed, 12 insertions(+) - -diff --git a/lib/librte_eal/linuxapp/kni/compat.h b/lib/librte_eal/linuxapp/kni/compat.h -index 78da08e5e..d96275af9 100644 ---- a/lib/librte_eal/linuxapp/kni/compat.h -+++ b/lib/librte_eal/linuxapp/kni/compat.h -@@ -2,6 +2,8 @@ - * Minimal wrappers to allow compiling kni on older kernels. - */ - -+#include -+ - #ifndef RHEL_RELEASE_VERSION - #define RHEL_RELEASE_VERSION(a, b) (((a) << 8) + (b)) - #endif -@@ -67,3 +69,7 @@ - (LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 34))) - #undef NET_NAME_UNKNOWN - #endif -+ -+#if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 11, 0) -+#define HAVE_SIGNAL_FUNCTIONS_OWN_HEADER -+#endif -diff --git a/lib/librte_eal/linuxapp/kni/kni_dev.h b/lib/librte_eal/linuxapp/kni/kni_dev.h -index 002e5fa6c..72385ab4c 100644 ---- a/lib/librte_eal/linuxapp/kni/kni_dev.h -+++ b/lib/librte_eal/linuxapp/kni/kni_dev.h -@@ -30,9 +30,15 @@ - #endif - #define pr_fmt(fmt) KBUILD_MODNAME ": " fmt - -+#include "compat.h" -+ - #include - #include -+#ifdef HAVE_SIGNAL_FUNCTIONS_OWN_HEADER -+#include -+#else - #include -+#endif - #include - #include - #include --- -2.12.2 - diff --git a/dpdk-16.11.1.tar.xz b/dpdk-16.11.1.tar.xz deleted file mode 100644 index 4a1fc99..0000000 --- a/dpdk-16.11.1.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:028ce0d405fd91a4955f142014a771a2deaebdf4d46bd45500ffa8e5ee1c287d -size 9052212 diff --git a/dpdk-16.11.2.tar.xz b/dpdk-16.11.2.tar.xz new file mode 100644 index 0000000..a7b4a92 --- /dev/null +++ b/dpdk-16.11.2.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c8d99a1a074072a6087c3fc2fafa6baf2e64bed08b83935e75e5cf003cefd861 +size 9056664 diff --git a/dpdk-thunderx.changes b/dpdk-thunderx.changes index 1e36d46..4e992ff 100644 --- a/dpdk-thunderx.changes +++ b/dpdk-thunderx.changes @@ -1,3 +1,57 @@ +------------------------------------------------------------------- +Wed Jun 14 12:55:10 CEST 2017 - ndas@suse.de + +- Updated to 16.11.2 which provide bug fixes as below(fate#321541): + * mbuf: fix missing includes in exported header + * eal: fix debug macro redefinition + * net/nfp: fix packet/data length conversion + * net/i40e: fix setup when bulk is disabled + * pci: fix device registration on FreeBSD + * net/i40e: ensure vector mode is not used with QinQ + * nic_uio: fix device binding at boot + * net/bnx2x: fix transmit queue free threshold + * net/vmxnet3: fix queue size changes + * kni: fix build with kernel 4.11 + * kni: fix possible memory leak + * kni: fix crash caused by freeing mempool + * net/i40e: fix allocation check + * net/virtio: fix crash when closing twice + * net/ixgbevf: set xstats id values + * net/i40e: fix hash input set on X722 + * eal/linux: fix build with glibc 2.25 + * net/i40e: fix incorrect packet index reference + * net/thunderx: fix 32-bit build + * net/thunderx: fix build on FreeBSD + * net/thunderx: fix deadlock in Rx path + * net/ixgbe: fix setting MTU on stopped device + * vfio: fix secondary process start + * net/virtio-user: fix address on 32-bit system + * net/virtio: fix MSI-X for modern devices + * net/virtio: fix link status always down + * net/ixgbe: fix multi-queue mode check in SRIOV mode + * net/i40e/base: fix potential out of bound array access + * vhost: fix false sharing + * net/thunderx: fix stats access out of bounds + * net/virtio: disable LSC interrupt if MSIX not enabled + * net/i40e: fix mbuf alloc failed counter + * net: fix stripped VLAN flag for offload emulation + * vfio: fix disabling INTx + * net/igb: fix VF MAC address setting + * net/igb: fix VF MAC address setting + * net/ixgbe: fix VF Rx mode for allmulticast disabled + * net/bonding: fix updating slave link status + * net/virtio-user: fix overflow + * net/i40e: fix TC bitmap of VEB + * net/ixgbe/base: fix build error + * net/ixgbe: fix Rx queue blocking issue + * net/ixgbe: fix all queues drop setting of DCB + * net/ixgbe: fix TC bandwidth setting + more details can be found in + http://dpdk.org/ml/archives/stable/2017-May/001809.html + [- 0005-kni-fix-build-with-kernel-4.11.patch] +- use default gcc which is now gcc7 (bsc#1042372) + [+0005-kni-fix-build-with-gcc-7.1.patch] + ------------------------------------------------------------------- Tue May 23 22:25:38 UTC 2017 - mchandras@suse.de diff --git a/dpdk-thunderx.spec b/dpdk-thunderx.spec index 3f3c0e8..6406b16 100644 --- a/dpdk-thunderx.spec +++ b/dpdk-thunderx.spec @@ -43,7 +43,7 @@ # Do NOT edit this auto generated file! Edit dpdk.spec instead # and run 'pre_checkin.sh' before committing Name: dpdk-thunderx -Version: 16.11.1 +Version: 16.11.2 Release: 0 Summary: Set of libraries and drivers for fast packet processing (thunderx) License: BSD-3-Clause and GPL-2.0 and LGPL-2.1 @@ -61,12 +61,10 @@ Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch Patch2: 0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch Patch3: 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch Patch4: 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch -# PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-kernel-4.11.patch -# This patch fixes the kni build against linux kernel 4.11 -Patch5: 0005-kni-fix-build-with-kernel-4.11.patch +#PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-gcc-7.1.patch bsc#1042372 +Patch5: 0005-kni-fix-build-with-gcc-7.1.patch BuildRequires: doxygen BuildRequires: fdupes -BuildRequires: gcc6 BuildRequires: libnuma-devel BuildRequires: libpcap-devel BuildRequires: pesign-obs-integration @@ -147,7 +145,8 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the %define pmddir %{_libdir}/dpdk-pmds %prep -%setup -q -n dpdk-stable-16.11.1 +# can't use %{name} because of dpdk-thunderx +%setup -q -n dpdk-stable-%{version} %patch1 -p1 -z .enic %patch2 -p1 -z .kni1 %patch3 -p1 -z .kni2 @@ -207,30 +206,30 @@ export EXTRA_CFLAGS="%{optflags} -Wformat -fPIC -Wno-error=array-bounds" # the compiler flags used still won't work for all Fedora-supported # machines, but runtime checks in DPDK will catch those situations. -make CC=gcc-6 V=1 O=%{target} T=%{target} %{?_smp_mflags} config +make V=1 O=%{target} T=%{target} %{?_smp_mflags} config setdefaultconf %{target} %ifnarch %{ix86} export EXTRA_CFLAGS='-DVERSION=\"%{version}\"' for flavor in %{flavors_to_build}; do export RTE_KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor - make CC=gcc-6 V=1 O=%{target}-$flavor T=%{target} %{?_smp_mflags} config + make V=1 O=%{target}-$flavor T=%{target} %{?_smp_mflags} config setdefaultconf %{target}-$flavor %ifnarch %{ix86} setconf CONFIG_RTE_EAL_IGB_UIO y %{target}-$flavor setconf CONFIG_RTE_KNI_KMOD y %{target}-$flavor %endif cd %{target}-$flavor - make CC=gcc-6 V=1 %{?_smp_mflags} + make V=1 %{?_smp_mflags} cd - done %endif -make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} -make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} doc-api-html +make V=1 O=%{target} %{?_smp_mflags} +make V=1 O=%{target} %{?_smp_mflags} doc-api-html %if %{with examples} -make CC=gcc-6 V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples +make V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples %endif %install @@ -279,7 +278,6 @@ for f in %{buildroot}/%{_libdir}/*_pmd_*.so.*; do bn=$(basename ${f}) ln -s ../${bn} %{buildroot}%{pmddir}/${bn} done - # Setup RTE_SDK environment as expected by apps etc mkdir -p %{buildroot}/%{_sysconfdir}/profile.d cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh diff --git a/dpdk.changes b/dpdk.changes index 1e36d46..4e992ff 100644 --- a/dpdk.changes +++ b/dpdk.changes @@ -1,3 +1,57 @@ +------------------------------------------------------------------- +Wed Jun 14 12:55:10 CEST 2017 - ndas@suse.de + +- Updated to 16.11.2 which provide bug fixes as below(fate#321541): + * mbuf: fix missing includes in exported header + * eal: fix debug macro redefinition + * net/nfp: fix packet/data length conversion + * net/i40e: fix setup when bulk is disabled + * pci: fix device registration on FreeBSD + * net/i40e: ensure vector mode is not used with QinQ + * nic_uio: fix device binding at boot + * net/bnx2x: fix transmit queue free threshold + * net/vmxnet3: fix queue size changes + * kni: fix build with kernel 4.11 + * kni: fix possible memory leak + * kni: fix crash caused by freeing mempool + * net/i40e: fix allocation check + * net/virtio: fix crash when closing twice + * net/ixgbevf: set xstats id values + * net/i40e: fix hash input set on X722 + * eal/linux: fix build with glibc 2.25 + * net/i40e: fix incorrect packet index reference + * net/thunderx: fix 32-bit build + * net/thunderx: fix build on FreeBSD + * net/thunderx: fix deadlock in Rx path + * net/ixgbe: fix setting MTU on stopped device + * vfio: fix secondary process start + * net/virtio-user: fix address on 32-bit system + * net/virtio: fix MSI-X for modern devices + * net/virtio: fix link status always down + * net/ixgbe: fix multi-queue mode check in SRIOV mode + * net/i40e/base: fix potential out of bound array access + * vhost: fix false sharing + * net/thunderx: fix stats access out of bounds + * net/virtio: disable LSC interrupt if MSIX not enabled + * net/i40e: fix mbuf alloc failed counter + * net: fix stripped VLAN flag for offload emulation + * vfio: fix disabling INTx + * net/igb: fix VF MAC address setting + * net/igb: fix VF MAC address setting + * net/ixgbe: fix VF Rx mode for allmulticast disabled + * net/bonding: fix updating slave link status + * net/virtio-user: fix overflow + * net/i40e: fix TC bitmap of VEB + * net/ixgbe/base: fix build error + * net/ixgbe: fix Rx queue blocking issue + * net/ixgbe: fix all queues drop setting of DCB + * net/ixgbe: fix TC bandwidth setting + more details can be found in + http://dpdk.org/ml/archives/stable/2017-May/001809.html + [- 0005-kni-fix-build-with-kernel-4.11.patch] +- use default gcc which is now gcc7 (bsc#1042372) + [+0005-kni-fix-build-with-gcc-7.1.patch] + ------------------------------------------------------------------- Tue May 23 22:25:38 UTC 2017 - mchandras@suse.de diff --git a/dpdk.spec b/dpdk.spec index dd98f34..16b21e7 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -41,7 +41,7 @@ # Add option to build without tools %bcond_without tools Name: dpdk -Version: 16.11.1 +Version: 16.11.2 Release: 0 Summary: Set of libraries and drivers for fast packet processing License: BSD-3-Clause and GPL-2.0 and LGPL-2.1 @@ -59,12 +59,10 @@ Patch1: 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch Patch2: 0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch Patch3: 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch Patch4: 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch -# PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-kernel-4.11.patch -# This patch fixes the kni build against linux kernel 4.11 -Patch5: 0005-kni-fix-build-with-kernel-4.11.patch +#PATCH-FIX-UPSTREAM 0005-kni-fix-build-with-gcc-7.1.patch bsc#1042372 +Patch5: 0005-kni-fix-build-with-gcc-7.1.patch BuildRequires: doxygen BuildRequires: fdupes -BuildRequires: gcc6 BuildRequires: libnuma-devel BuildRequires: libpcap-devel BuildRequires: pesign-obs-integration @@ -145,7 +143,8 @@ The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the %define pmddir %{_libdir}/dpdk-pmds %prep -%setup -q -n dpdk-stable-16.11.1 +# can't use %{name} because of dpdk-thunderx +%setup -q -n dpdk-stable-%{version} %patch1 -p1 -z .enic %patch2 -p1 -z .kni1 %patch3 -p1 -z .kni2 @@ -205,30 +204,30 @@ export EXTRA_CFLAGS="%{optflags} -Wformat -fPIC -Wno-error=array-bounds" # the compiler flags used still won't work for all Fedora-supported # machines, but runtime checks in DPDK will catch those situations. -make CC=gcc-6 V=1 O=%{target} T=%{target} %{?_smp_mflags} config +make V=1 O=%{target} T=%{target} %{?_smp_mflags} config setdefaultconf %{target} %ifnarch %{ix86} export EXTRA_CFLAGS='-DVERSION=\"%{version}\"' for flavor in %{flavors_to_build}; do export RTE_KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor - make CC=gcc-6 V=1 O=%{target}-$flavor T=%{target} %{?_smp_mflags} config + make V=1 O=%{target}-$flavor T=%{target} %{?_smp_mflags} config setdefaultconf %{target}-$flavor %ifnarch %{ix86} setconf CONFIG_RTE_EAL_IGB_UIO y %{target}-$flavor setconf CONFIG_RTE_KNI_KMOD y %{target}-$flavor %endif cd %{target}-$flavor - make CC=gcc-6 V=1 %{?_smp_mflags} + make V=1 %{?_smp_mflags} cd - done %endif -make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} -make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} doc-api-html +make V=1 O=%{target} %{?_smp_mflags} +make V=1 O=%{target} %{?_smp_mflags} doc-api-html %if %{with examples} -make CC=gcc-6 V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples +make V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples %endif %install @@ -277,7 +276,6 @@ for f in %{buildroot}/%{_libdir}/*_pmd_*.so.*; do bn=$(basename ${f}) ln -s ../${bn} %{buildroot}%{pmddir}/${bn} done - # Setup RTE_SDK environment as expected by apps etc mkdir -p %{buildroot}/%{_sysconfdir}/profile.d cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.sh