diff --git a/dpdk-16.07.2.tar.xz b/dpdk-16.07.2.tar.xz deleted file mode 100644 index 1ac3255..0000000 --- a/dpdk-16.07.2.tar.xz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:e6a01417bcd1adf41f2a0d6c73ee95fbe251a0f100550523df15e1fbeb57fcd7 -size 11351988 diff --git a/dpdk-16.11.tar.xz b/dpdk-16.11.tar.xz new file mode 100644 index 0000000..f7d8422 --- /dev/null +++ b/dpdk-16.11.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e2923017f0da808c09c2722e02fecb071b95f0ff0164d11ea26f170c7048517a +size 9048728 diff --git a/dpdk-thunderx.changes b/dpdk-thunderx.changes index 2a9d12b..f8877f9 100644 --- a/dpdk-thunderx.changes +++ b/dpdk-thunderx.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Fri Feb 10 11:24:27 CET 2017 - ndas@suse.de + +- Enable rte_kni kernel module for dpdk(fate#322394). + [+preamble] +- Build dpdk-thunderx only for aarch64 + +------------------------------------------------------------------- +Thu Feb 2 15:21:14 CET 2017 - ndas@suse.de + +- Update to version 16.11(fate#321541). Some of the new features are listed below: + * Added software parser for packet type. + * Improved offloads support in mbuf. + * Added vhost-user dequeue zero copy support. + * Added vhost-user indirect descriptors support. + * Added vhost PMD xstats. + * Added virtio NEON support for ARM. + * Updated the ixgbe base driver. + * Added APIs for VF management to the ixgbe PMD. + * Updated the enic driver. + * Added openssl PMD. + * Added support for new gcc -march option. + Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html +- Resolved fixes in the updated versions are : + * enic: Fixed several flow director issues. + * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. + * enic: Fixed high driver overhead when servicing Rx queues beyond the first. + ------------------------------------------------------------------- Fri Jan 20 11:01:47 CET 2017 - ndas@suse.de diff --git a/dpdk-thunderx.spec b/dpdk-thunderx.spec index 5ae7e2f..7957c09 100644 --- a/dpdk-thunderx.spec +++ b/dpdk-thunderx.spec @@ -22,7 +22,7 @@ %define machine native %define target x86_64-%{machine}-linuxapp-gcc %endif -%ifarch %ix86 +%ifarch %{ix86} %define machine native %define target i686-%{machine}-linuxapp-gcc %endif @@ -34,7 +34,6 @@ %define machine2 power8 %define target ppc_64-%{machine2}-linuxapp-gcc %endif - %bcond_without shared # Add option to build without examples %bcond_without examples @@ -43,13 +42,14 @@ # Do NOT edit this auto generated file! Edit dpdk.spec instead # and run 'pre_checkin.sh' before committing Name: dpdk-thunderx -Version: 16.07.2 +Version: 16.11 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 Group: System/Libraries Url: http://dpdk.org Source: http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz +Source1: preamble # PATCH-FIX-OPENSUSE 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch # This patch was originally taken from the fedora package but they have # removed it since then because of @@ -62,8 +62,9 @@ BuildRequires: fdupes BuildRequires: gcc6 BuildRequires: libnuma-devel BuildRequires: libpcap-devel +BuildRequires: pesign-obs-integration BuildRequires: zlib-devel -ExclusiveArch: aarch64 x86_64 %ix86 ppc64le +ExclusiveArch: aarch64 Provides: dpdk-any = %{version} Conflicts: otherproviders(dpdk-any) @@ -121,13 +122,23 @@ Example applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding. %endif +%package kmp +Summary: DPDK KNI kernel module (thunderx) +Group: System/Kernel +BuildRequires: %{kernel_module_package_buildreqs} +Conflicts: otherproviders(dpdk-any-kmp) +%suse_kernel_module_package -p %{_sourcedir}/preamble pae 64kb + +%description kmp +The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the Linux* control plane. + %define sdkdir %{_datadir}/dpdk %define docdir %{_docdir}/dpdk %define incdir %{_includedir}/dpdk %define pmddir %{_libdir}/dpdk-pmds %prep -%setup -q -n dpdk-stable-%{version} +%setup -q -n dpdk-%{version} %patch1 -p1 -z .enic # This fixes CROSS compilation (broken) in the mk file for ThunderX sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk @@ -171,9 +182,6 @@ setconf CONFIG_RTE_LIBRTE_PMD_PCAP y setconf CONFIG_RTE_LIBRTE_VHOST_NUMA y setconf CONFIG_RTE_EAL_IGB_UIO n -setconf CONFIG_RTE_LIBRTE_KNI n -setconf CONFIG_RTE_KNI_KMOD n -setconf CONFIG_RTE_KNI_PREEMPT_DEFAULT n %if %{with shared} setconf CONFIG_RTE_BUILD_SHARED_LIB y @@ -185,6 +193,13 @@ setconf CONFIG_RTE_LIBRTE_DISTRIBUTOR n %ifarch ppc64le setconf CONFIG_RTE_LIBRTE_PMD_RING n %endif +export EXTRA_CFLAGS='-DVERSION=\"%{version}\"' +for flavor in %{flavors_to_build}; do + cp -r %{target} %{target}-$flavor + cd %{target}-$flavor + make CC=gcc-6 KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor %{?_smp_mflags} + cd - +done make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} doc-api-html @@ -194,6 +209,19 @@ make CC=gcc-6 V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples %endif %install +# export needed for kmp package +export EXTRA_CFLAGS='-DVERSION=\"%{version}\"' +export INSTALL_MOD_PATH=%{buildroot} +export INSTALL_MOD_DIR=updates +# needssslcertforbuild +export BRP_PESIGN_FILES="*.ko" + +for flavor in %{flavors_to_build}; do + cd %{target}-$flavor + %make_install KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor prefix=%{_usr} libdir=%{_libdir} + cd - +done + # In case dpdk-devel is installed unset RTE_SDK RTE_INCLUDE RTE_TARGET @@ -251,7 +279,7 @@ ln -s %{_bindir}/dpdk-procinfo %{buildroot}%{_bindir}/dpdk_proc_info ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind # Remove duplicates -%fdupes %{buildroot}/%{_prefix} +%fdupes %{buildroot}/%{_prefix} %post devel -p /sbin/ldconfig %postun devel -p /sbin/ldconfig @@ -277,7 +305,7 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind %defattr(-,root,root) #BSD %docdir -%doc LICENSE.GPL LICENSE.LGPL +%doc LICENSE.GPL LICENSE.LGPL %files devel %defattr(-,root,root) diff --git a/dpdk.changes b/dpdk.changes index 2a9d12b..f8877f9 100644 --- a/dpdk.changes +++ b/dpdk.changes @@ -1,3 +1,31 @@ +------------------------------------------------------------------- +Fri Feb 10 11:24:27 CET 2017 - ndas@suse.de + +- Enable rte_kni kernel module for dpdk(fate#322394). + [+preamble] +- Build dpdk-thunderx only for aarch64 + +------------------------------------------------------------------- +Thu Feb 2 15:21:14 CET 2017 - ndas@suse.de + +- Update to version 16.11(fate#321541). Some of the new features are listed below: + * Added software parser for packet type. + * Improved offloads support in mbuf. + * Added vhost-user dequeue zero copy support. + * Added vhost-user indirect descriptors support. + * Added vhost PMD xstats. + * Added virtio NEON support for ARM. + * Updated the ixgbe base driver. + * Added APIs for VF management to the ixgbe PMD. + * Updated the enic driver. + * Added openssl PMD. + * Added support for new gcc -march option. + Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html +- Resolved fixes in the updated versions are : + * enic: Fixed several flow director issues. + * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. + * enic: Fixed high driver overhead when servicing Rx queues beyond the first. + ------------------------------------------------------------------- Fri Jan 20 11:01:47 CET 2017 - ndas@suse.de diff --git a/dpdk.spec b/dpdk.spec index 727931b..e46a436 100644 --- a/dpdk.spec +++ b/dpdk.spec @@ -22,7 +22,7 @@ %define machine native %define target x86_64-%{machine}-linuxapp-gcc %endif -%ifarch %ix86 +%ifarch %{ix86} %define machine native %define target i686-%{machine}-linuxapp-gcc %endif @@ -34,20 +34,20 @@ %define machine2 power8 %define target ppc_64-%{machine2}-linuxapp-gcc %endif - %bcond_without shared # Add option to build without examples %bcond_without examples # Add option to build without tools %bcond_without tools Name: dpdk -Version: 16.07.2 +Version: 16.11 Release: 0 Summary: Set of libraries and drivers for fast packet processing License: BSD-3-Clause and GPL-2.0 and LGPL-2.1 Group: System/Libraries Url: http://dpdk.org Source: http://fast.dpdk.org/rel/dpdk-%{version}.tar.xz +Source1: preamble # PATCH-FIX-OPENSUSE 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch # This patch was originally taken from the fedora package but they have # removed it since then because of @@ -60,6 +60,7 @@ BuildRequires: fdupes BuildRequires: gcc6 BuildRequires: libnuma-devel BuildRequires: libpcap-devel +BuildRequires: pesign-obs-integration BuildRequires: zlib-devel ExclusiveArch: aarch64 x86_64 %ix86 ppc64le Provides: dpdk-any = %{version} @@ -119,13 +120,23 @@ Example applications utilizing the Data Plane Development Kit, such as L2 and L3 forwarding. %endif +%package kmp +Summary: DPDK KNI kernel module +Group: System/Kernel +BuildRequires: %{kernel_module_package_buildreqs} +Conflicts: otherproviders(dpdk-any-kmp) +%suse_kernel_module_package -p %{_sourcedir}/preamble pae 64kb + +%description kmp +The DPDK Kernel NIC Interface (KNI) allows userspace applications access to the Linux* control plane. + %define sdkdir %{_datadir}/dpdk %define docdir %{_docdir}/dpdk %define incdir %{_includedir}/dpdk %define pmddir %{_libdir}/dpdk-pmds %prep -%setup -q -n dpdk-stable-%{version} +%setup -q -n dpdk-%{version} %patch1 -p1 -z .enic # This fixes CROSS compilation (broken) in the mk file for ThunderX sed -i '/^CROSS /s/^/#/' mk/machine/thunderx/rte.vars.mk @@ -169,9 +180,6 @@ setconf CONFIG_RTE_LIBRTE_PMD_PCAP y setconf CONFIG_RTE_LIBRTE_VHOST_NUMA y setconf CONFIG_RTE_EAL_IGB_UIO n -setconf CONFIG_RTE_LIBRTE_KNI n -setconf CONFIG_RTE_KNI_KMOD n -setconf CONFIG_RTE_KNI_PREEMPT_DEFAULT n %if %{with shared} setconf CONFIG_RTE_BUILD_SHARED_LIB y @@ -183,6 +191,13 @@ setconf CONFIG_RTE_LIBRTE_DISTRIBUTOR n %ifarch ppc64le setconf CONFIG_RTE_LIBRTE_PMD_RING n %endif +export EXTRA_CFLAGS='-DVERSION=\"%{version}\"' +for flavor in %{flavors_to_build}; do + cp -r %{target} %{target}-$flavor + cd %{target}-$flavor + make CC=gcc-6 KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor %{?_smp_mflags} + cd - +done make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} make CC=gcc-6 V=1 O=%{target} %{?_smp_mflags} doc-api-html @@ -192,6 +207,19 @@ make CC=gcc-6 V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples %endif %install +# export needed for kmp package +export EXTRA_CFLAGS='-DVERSION=\"%{version}\"' +export INSTALL_MOD_PATH=%{buildroot} +export INSTALL_MOD_DIR=updates +# needssslcertforbuild +export BRP_PESIGN_FILES="*.ko" + +for flavor in %{flavors_to_build}; do + cd %{target}-$flavor + %make_install KERNELDIR=%{_prefix}/src/linux-obj/%{_target_cpu}/$flavor prefix=%{_usr} libdir=%{_libdir} + cd - +done + # In case dpdk-devel is installed unset RTE_SDK RTE_INCLUDE RTE_TARGET @@ -249,7 +277,7 @@ ln -s %{_bindir}/dpdk-procinfo %{buildroot}%{_bindir}/dpdk_proc_info ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind # Remove duplicates -%fdupes %{buildroot}/%{_prefix} +%fdupes %{buildroot}/%{_prefix} %post devel -p /sbin/ldconfig %postun devel -p /sbin/ldconfig @@ -275,7 +303,7 @@ ln -s %{_sbindir}/dpdk-devbind %{buildroot}%{_sbindir}/dpdk_nic_bind %defattr(-,root,root) #BSD %docdir -%doc LICENSE.GPL LICENSE.LGPL +%doc LICENSE.GPL LICENSE.LGPL %files devel %defattr(-,root,root) diff --git a/pre_checkin.sh b/pre_checkin.sh index 4061ca4..8694d28 100644 --- a/pre_checkin.sh +++ b/pre_checkin.sh @@ -16,4 +16,5 @@ sed -i -e "/^Name:.*dpdk$/i \ -e "/^Name:/s/dpdk/&-thunderx/g" \ -e "/^Summary:/s/^.*$/&\ \(thunderx\)/g" \ -e "/^%define machine2 armv8a/s/armv8a/thunderx/g" \ +-e "/ExclusiveArch/c\ExclusiveArch: aarch64" \ dpdk-thunderx.spec || exit 1 diff --git a/preamble b/preamble new file mode 100644 index 0000000..e568a07 --- /dev/null +++ b/preamble @@ -0,0 +1,3 @@ +Requires: kernel-%1 +Enhances: kernel-%1 +Supplements: packageand(kernel-%1:%{-n*})