summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbuild/build.sh2
-rwxr-xr-xbuild/build_dpdk_rpm.sh21
-rw-r--r--build/dpdk-snap/dpdk.1611.spec774
-rw-r--r--build/patches/16.11/0001-virtio-tx-with-can_push-when-VERSION_1-is-set.patch38
4 files changed, 830 insertions, 5 deletions
diff --git a/build/build.sh b/build/build.sh
index e7e2df4..d903f90 100755
--- a/build/build.sh
+++ b/build/build.sh
@@ -21,7 +21,7 @@ echo "Build DPDK RPM for 16.07 release"
echo "Build DPDK RPM for 16.11 release"
-./build_dpdk_rpm.sh -g 16.11
+./build_dpdk_rpm.sh -g 16.11 -p yes
echo "Build from snapshot of master skipped for now because upstream commits"
echo "change tool directory locations."
diff --git a/build/build_dpdk_rpm.sh b/build/build_dpdk_rpm.sh
index fa90248..73afc17 100755
--- a/build/build_dpdk_rpm.sh
+++ b/build/build_dpdk_rpm.sh
@@ -110,8 +110,6 @@ else
git checkout v$DPDK_VERSION
fi
-cp $HOME/dpdk-snap/dpdk.spec $TMPDIR/dpdk
-cp $HOME/dpdk-snap/dpdk.spec $RPMDIR/SPECS
cp $HOME/dpdk-snap/* $RPMDIR/SOURCES
snapser=`git log --pretty=oneline | wc -l`
@@ -119,13 +117,28 @@ makever=`make showversion`
basever=`echo ${makever} | cut -d- -f1`
snapver=${snapser}.git${snapgit}
+
if [[ "$DPDK_VERSION" =~ "master" ]]; then
prefix=dpdk-${basever}.${snapser}.git${snapgit}
- archive=${prefix}.tar.gz
+ cp $HOME/dpdk-snap/dpdk.spec $TMPDIR/dpdk
+ cp $HOME/dpdk-snap/dpdk.spec $RPMDIR/SOURCES
+ cp $HOME/dpdk-snap/dpdk.spec $RPMDIR/SPECS
else
prefix=dpdk-${basever:0:5}
- archive=${prefix}.tar.gz
+ if [[ "$DPDK_PATCH" =~ "yes" && "$DPDK_VERSION" =~ "16.11" ]]; then
+ echo "----------------------------------------------"
+ echo "Copy applicable patches."
+ cp $TOPDIR/patches/$DPDK_VERSION/* $RPMDIR/SOURCES
+ cp $HOME/dpdk-snap/dpdk.1611.spec $TMPDIR/dpdk/dpdk.spec
+ cp $HOME/dpdk-snap/dpdk.1611.spec $RPMDIR/SPECS/dpdk.spec
+ cp $HOME/dpdk-snap/dpdk.1611.spec $RPMDIR/SOURCES/dpdk.spec
+ else
+ cp $HOME/dpdk-snap/dpdk.spec $TMPDIR/dpdk
+ cp $HOME/dpdk-snap/dpdk.spec $RPMDIR/SOURCES
+ cp $HOME/dpdk-snap/dpdk.spec $RPMDIR/SPECS
+ fi
fi
+archive=${prefix}.tar.gz
echo "-------------------------------"
echo "Creating archive: ${archive}"
diff --git a/build/dpdk-snap/dpdk.1611.spec b/build/dpdk-snap/dpdk.1611.spec
new file mode 100644
index 0000000..e5c5215
--- /dev/null
+++ b/build/dpdk-snap/dpdk.1611.spec
@@ -0,0 +1,774 @@
+# Add option to build as static libraries (--without shared)
+%bcond_without shared
+# Add option to build without examples
+%bcond_without examples
+# Add option to build without tools
+%bcond_without tools
+
+# Dont edit Version: and Release: directly, only these:
+%define ver %{?_ver}
+%define rel 5
+# Define when building git snapshots
+
+%define srcver %{ver}%{?_snapver:.%{_snapver}}
+
+Name: dpdk
+Version: %{ver}
+Release: %{?_snapver:0.%{_snapver}.}%{rel}%{?dist}
+URL: http://dpdk.org
+Source: http://dpdk.org/browse/dpdk/snapshot/dpdk-%{srcver}.tar.gz
+
+# Only needed for creating snapshot tarballs, not used in build itself
+Source100: dpdk-snapshot.sh
+
+Patch2:0001-virtio-tx-with-can_push-when-VERSION_1-is-set.patch
+
+Summary: Set of libraries and drivers for fast packet processing
+
+#
+# Note that, while this is dual licensed, all code that is included with this
+# Pakcage are BSD licensed. The only files that aren't licensed via BSD is the
+# kni kernel module which is dual LGPLv2/BSD, and thats not built for fedora.
+#
+License: BSD and LGPLv2 and GPLv2
+
+#
+# The DPDK is designed to optimize througput of network traffic using, among
+# other techniques, carefully crafted x86 assembly instructions. As such it
+# currently (and likely never will) run on non-x86 platforms.
+ExclusiveArch: x86_64 i686
+
+# machine_arch maps between rpm and dpdk arch name, often same as _target_cpu
+%define machine_arch %{_target_cpu}
+# machine_tmpl is the config template machine name, often "native"
+%define machine_tmpl native
+# machine is the actual machine name used in the dpdk make system
+%ifarch x86_64
+%define machine default
+%endif
+%ifarch i686
+%define machine atm
+%endif
+
+%define target %{machine_arch}-%{machine_tmpl}-linuxapp-gcc
+
+%define sdkdir %{_datadir}/%{name}
+%define docdir %{_docdir}/%{name}
+%define incdir %{_includedir}/%{name}
+%define pmddir %{_libdir}/%{name}-pmds
+
+BuildRequires: kernel-headers, libpcap-devel, zlib-devel, numactl-devel
+BuildRequires: doxygen, python-sphinx, git
+
+%description
+The Data Plane Development Kit is a set of libraries and drivers for
+fast packet processing in the user space.
+
+%package devel
+Summary: Data Plane Development Kit development files
+Requires: %{name}%{?_isa} = %{version}-%{release}
+%if ! %{with shared}
+Provides: %{name}-static = %{version}-%{release}
+%endif
+
+%description devel
+This package contains the headers and other files needed for developing
+applications with the Data Plane Development Kit.
+
+%package doc
+Summary: Data Plane Development Kit API documentation
+BuildArch: noarch
+
+%description doc
+API programming documentation for the Data Plane Development Kit.
+
+%if %{with tools}
+%package tools
+Summary: Tools for setting up Data Plane Development Kit environment
+Requires: kmod pciutils findutils iproute
+
+%description tools
+%{summary}
+%endif
+
+%if %{with examples}
+%package examples
+Summary: Data Plane Development Kit example applications
+BuildRequires: libvirt-devel
+
+%description examples
+Example applications utilizing the Data Plane Development Kit, such
+as L2 and L3 forwarding.
+%endif
+
+%prep
+%setup -n %{name}-%{srcver}
+%patch2 -p1 -z .virtio
+
+%build
+function setconf()
+{
+ cf=%{target}/.config
+ if grep -q ^$1= $cf; then
+ sed -i "s:^$1=.*$:$1=$2:g" $cf
+ else
+ echo $1=$2 >> $cf
+ fi
+}
+# In case dpdk-devel is installed
+unset RTE_SDK RTE_INCLUDE RTE_TARGET
+
+# Avoid appending second -Wall to everything, it breaks hand-picked
+# disablers like per-file -Wno-strict-aliasing. Strip expclit -march=
+# from rpm optflags because they will just make builds fail, DPDK is
+# really picky about these things.
+export EXTRA_CFLAGS="`echo %{optflags} | sed -e 's:-Wall::g' -e 's:-march=[[:alnum:]]* ::g'` -Wformat -fPIC"
+
+make V=1 O=%{target} T=%{target} %{?_smp_mflags} config
+
+# DPDK defaults to optimizing for the builder host we need generic binaries
+setconf CONFIG_RTE_MACHINE '"%{machine}"'
+setconf CONFIG_RTE_SCHED_VECTOR n
+
+# Enable automatic driver loading from this path
+setconf CONFIG_RTE_EAL_PMD_PATH '"%{pmddir}"'
+
+# Enable bnx2x, qede, pcap and vhost-numa, the added deps are ok for us
+setconf CONFIG_RTE_LIBRTE_BNX2X_PMD y
+setconf CONFIG_RTE_LIBRTE_QEDE_PMD y
+setconf CONFIG_RTE_LIBRTE_PMD_PCAP y
+setconf CONFIG_RTE_LIBRTE_VHOST_NUMA y
+
+%if %{with shared}
+setconf CONFIG_RTE_BUILD_SHARED_LIB y
+%endif
+
+# Disable kernel modules
+setconf CONFIG_RTE_EAL_IGB_UIO n
+setconf CONFIG_RTE_LIBRTE_KNI n
+setconf CONFIG_RTE_KNI_KMOD n
+
+# Disable experimental and ABI-breaking code
+setconf CONFIG_RTE_NEXT_ABI n
+setconf CONFIG_RTE_LIBRTE_POWER n
+
+make V=1 O=%{target} %{?_smp_mflags}
+
+# Creating PDF's has excessive build-requirements, html docs suffice fine
+make V=1 O=%{target} %{?_smp_mflags} doc-api-html doc-guides-html
+
+%if %{with examples}
+make V=1 O=%{target}/examples T=%{target} %{?_smp_mflags} examples
+%endif
+
+%install
+# In case dpdk-devel is installed
+unset RTE_SDK RTE_INCLUDE RTE_TARGET
+
+%make_install O=%{target} prefix=%{_usr} libdir=%{_libdir}
+
+# Create a driver directory with symlinks to all pmds
+mkdir -p %{buildroot}/%{pmddir}
+%if %{with shared}
+for f in %{buildroot}/%{_libdir}/*_pmd_*.so.*; do
+ bn=$(basename ${f})
+ ln -s ../${bn} %{buildroot}%{pmddir}/${bn}
+done
+%endif
+
+%if ! %{with tools}
+rm -rf %{buildroot}%{sdkdir}/tools
+rm -rf %{buildroot}%{_sbindir}/dpdk-devbind
+%endif
+rm -f %{buildroot}%{sdkdir}/tools/setup.sh
+
+%if %{with examples}
+find %{target}/examples/ -name "*.map" | xargs rm -f
+for f in %{target}/examples/*/%{target}/app/*; do
+ bn=`basename ${f}`
+ cp -p ${f} %{buildroot}%{_bindir}/${bn}
+done
+%else
+rm -rf %{buildroot}%{sdkdir}/examples
+%endif
+
+# 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
+if [ -z "\${RTE_SDK}" ]; then
+ export RTE_SDK="%{sdkdir}"
+ export RTE_TARGET="%{target}"
+ export RTE_INCLUDE="%{incdir}"
+fi
+EOF
+
+cat << EOF > %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk-%{_arch}.csh
+if ( ! \$RTE_SDK ) then
+ setenv RTE_SDK "%{sdkdir}"
+ setenv RTE_TARGET "%{target}"
+ setenv RTE_INCLUDE "%{incdir}"
+endif
+EOF
+
+# Fixup target machine mismatch
+sed -i -e 's:-%{machine_tmpl}-:-%{machine}-:g' %{buildroot}/%{_sysconfdir}/profile.d/dpdk-sdk*
+
+%files
+# BSD
+%doc README MAINTAINERS
+%{_bindir}/testpmd
+%{_bindir}/dpdk-procinfo
+%dir %{pmddir}
+%if %{with shared}
+%{_libdir}/*.so.*
+%{pmddir}/*.so.*
+%endif
+
+%files doc
+#BSD
+%{docdir}
+
+%files devel
+#BSD
+%{incdir}/
+%{sdkdir}/
+%if %{with tools}
+%exclude %{sdkdir}/tools/
+%endif
+%if %{with examples}
+%exclude %{sdkdir}/examples/
+%endif
+%{_sysconfdir}/profile.d/dpdk-sdk-*.*
+%if %{with shared}
+%{_libdir}/*.so
+%else
+%{_libdir}/*.a
+%endif
+
+%if %{with examples}
+%files examples
+%exclude %{_bindir}/dpdk-procinfo
+%{_bindir}/*
+%doc %{sdkdir}/examples/
+%endif
+
+%if %{with tools}
+%files tools
+%{sdkdir}/tools/
+%{_sbindir}/dpdk-devbind
+%endif
+
+%changelog
+* Fri Jan 13 2017 Thomas F Herbert <therbert@tedhat.com> 16.11.0-6
+- Applies virtio driver patch to 16.11
+
+* Fri Dec 30 2016 Thomas F Herbert <therbert@tedhat.com> 16.11.0-5
+- Builds 16.07 and 16.11
+
+* Tue May 24 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4560.git587d684d.4
+- Create DT_NEEDED entries for internal library dependencies
+- Fix missing zlib dependency on qede driver
+
+* Tue May 24 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4560.git587d684d.3
+- Enable crypto library + null driver, it is no longer experimental in 16.04
+
+* Fri May 20 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4560.git587d684d.2
+- Workaround #1337864
+
+* Fri May 20 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4560.git587d684d.1
+- New snapshot
+
+* Tue May 17 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4518.git213af31e.1
+- New snapshot
+
+* Wed May 11 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4499.gita5e20775.1
+- New snapshot
+
+* Tue May 10 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4481.gitdb340cf2.2
+- Fix build with gcc >= 6.0
+
+* Tue May 10 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4481.gitdb340cf2.1
+- New snapshot
+
+* Wed Apr 27 2016 Panu Matilainen <pmatilai@redhat.com> - 16.07-0.4433.gitd9ba0b2c.1
+- New 16.07-based snapshot
+- Drop the trailing zero from version for good
+- Add missing DT_NEEDED on librte_vhost to vhost pmd
+
+* Tue Apr 26 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-2
+- Get rid of the fedora-specific patch, -Wformat in CFLAGS is a nicer solution
+- Switch to %autosetup to reduce fiddling with eventual patches
+- Buildrequire git for patch application
+- Upstream patch to fix segfault on virtio tx
+
+* Wed Apr 13 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-1
+- Oops, bring back trailing zero, needed for rpm version compare...
+
+* Tue Apr 12 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04-1
+- Update to 16.04 final
+- Drop extra zero from version
+
+* Fri Apr 08 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.4398.gitc0f81e90.1
+- New snapshot (16.04.0-rc4)
+
+* Thu Apr 07 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.4370.gitb7d65109.1
+- New snapshot
+- Re-enable vhost numa support (fixed in rc1 already)
+
+* Mon Apr 04 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.4339.gitf887a6f8.1
+- New snapshot (16.04.0-rc3)
+
+* Fri Apr 01 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.4316.git4410efd3.1
+- New snapshot
+
+* Thu Mar 31 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.4281.git5bcd7b5d.1
+- New snapshot
+
+* Tue Mar 29 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.4273.git6ac91f93.1
+- New snapshot (16.04.0-rc2)
+
+* Wed Mar 23 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.4194.git281948b4.1
+- New snapshot
+
+* Thu Mar 17 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3984.git6b5a857f.1
+- New snapshot (16.04.0-rc1)
+
+* Wed Mar 16 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3984.git6b5a857f.2
+- Switch to ifarch-based solution for target/machine etc afterall
+
+* Mon Mar 14 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3984.git6b5a857f.1
+- New snapshot
+- Drop upstreamed dtneeded patch
+
+* Fri Mar 11 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3934.git94b0ad8e.2
+- vhost numa code causes crashes, disable until upstream fixes
+
+* Fri Mar 11 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3934.git94b0ad8e.1
+- New snapshot
+- Generalize target/machine/etc macros to enable i686 builds too
+
+* Thu Mar 10 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3914.git4c387fcd.2
+- Drop no longer needed -fno-strict-aliasing
+
+* Thu Mar 10 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3914.git4c387fcd.1
+- New snapshot
+
+* Mon Mar 07 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3875.git8f6f2434.1
+- New snapshot
+
+* Thu Mar 03 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3860.gitf4730aa6.1
+- New snapshot
+- Drop ip_pipeline buildopts patch, should be fixed upstream for some time now
+- Drop no longer needed -Wno-error
+
+* Wed Mar 02 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3853.git948fd64b.1
+- New snapshot
+- Adapt to upstream accepting the linker script approach, yay
+
+* Tue Mar 01 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3850.git9ec201f5.1
+- New snapshot
+
+* Mon Feb 29 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3843.gita3af38a1.1
+- New snapshot
+
+* Thu Feb 18 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3809.git9fd72e3c.1
+- New snapshot
+- Temporarily disable strict aliasing to appease gcc 6
+- Enable parallel build again
+
+* Mon Feb 15 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3790.git5fa83b53.2
+- Disable unmaintained librte_power as per upstream recommendation
+
+* Fri Feb 12 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3790.git5fa83b53.1
+- New snapshot
+
+* Thu Feb 11 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3783.git50810f09.2
+- Temporarily disable -Werror due to many new warnings from gcc 6
+
+* Thu Feb 11 2016 Panu Matilainen <pmatilai@redhat.com> - 16.04.0-0.3783.git50810f09.1
+- New snapshot, with new upstream versioning scheme
+
+* Fri Jan 29 2016 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3759.gitdd34ff1f.1
+- New snapshot
+
+* Thu Jan 28 2016 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3757.git2593612d.1
+- New snapshot
+
+* Wed Jan 27 2016 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3746.gitc7985de0.1
+- New snapshot
+- Use a different quoting method to avoid messing up vim syntax highlighting
+- A string is expected as CONFIG_RTE_MACHINE value, quote it too
+
+* Tue Jan 19 2016 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3742.gitff82e08a.2
+- Enable librte_vhost NUMA-awareness
+
+* Mon Jan 18 2016 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3742.gitff82e08a.1
+- New snapshot
+
+* Wed Jan 13 2016 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3725.git3b60ce8c.3
+- Fix extra junk being generated in profile.d
+- Never include setup.sh
+
+* Thu Jan 07 2016 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3725.git3b60ce8c.2
+- Make option matching stricter in spec setconf
+
+* Fri Dec 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.3.0-0.3725.git3b60ce8c.1
+- New 2.3-pre snapshot
+
+* Wed Dec 16 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-1
+- Update to DPDK 2.2.0 final
+
+* Tue Dec 15 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3711.git728c9e54-1
+- New snapshot
+
+* Mon Dec 14 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3688.gitbc31261c-2
+- Fixup target machine mismatch in profile.d environment
+- Fixup installed dpdk-devel affecting "make install" result
+- Add README and MAINTAINERS docs
+
+* Mon Dec 14 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3688.gitbc31261c-1
+- New snapshot (2.2.0-rc4)
+
+* Fri Dec 11 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3637.gitb700090c-4
+- Fix relpath.sh bug causing broken symlinks
+
+* Fri Dec 11 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3637.gitb700090c-3
+- Adopt new upstream standard installation layout
+
+* Fri Dec 11 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3637.gitb700090c-2
+- Define + use a local macro for include dir location
+- Group our directory macros together
+- Fix static (ie --without shared) build
+
+* Fri Dec 11 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3637.gitb700090c-1
+- New snapshot
+
+* Thu Dec 10 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3624.git1befe9ca-1
+- New snapshot
+- More complete dtneeded patch which should fixes build on rawhide
+
+* Tue Dec 08 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3614.git2616f497-1
+- New snapshot (2.2.0-rc3)
+
+* Mon Dec 07 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3593.git3f3d6010-1
+- New snapshot with fixed ip_pipeline
+
+* Mon Dec 07 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3592.git13318bbb-1
+- New snapshot
+- ip_pipeline example is broken, disable temporarily
+- upstream introduced new complications wrt our warning flags, adjust patches...
+
+* Mon Nov 30 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3504.git538020aa
+- New snapshot
+
+* Thu Nov 26 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3496.git84fb2e67.1
+- New snapshot (2.2.0-rc2)
+- Disable experimental cryptodev library
+
+* Wed Nov 25 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3463.git61383240.1
+- New snapshot
+- Disable CONFIG_RTE_SCHED_VECTOR, it conflicts with CONFIG_RTE_MACHINE default
+
+* Tue Nov 24 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3424.git4522eca1.1
+- New snapshot
+
+* Fri Nov 20 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3399.gite64833f2.1
+- New snapshot
+
+* Thu Nov 19 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3394.git4c02e453.1
+- New snapshot
+
+* Wed Nov 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3371.git2d123257.3
+- Make driver links to the actual pmd dso's, not their -devel symlinks
+
+* Wed Nov 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3371.git2d123257.2
+- Make plugin loading filesystem agnostic, sigh
+- Fix missing symbol export
+
+* Mon Nov 16 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3371.git2d123257.1
+- New snapshot
+
+* Fri Nov 13 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3329.git695ae278.1
+- New snapshot
+- Move the unversioned pmd symlinks from libdir -devel
+- Establish a driver directory for automatic driver loading
+
+* Wed Nov 04 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3321.gitc4d404d7.1
+- New snapshot (2.2.0-rc1)
+
+* Wed Nov 04 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3306.git4b90a3ff.1
+- New snapshot
+- Drop librte_kni afterall, makes no sense without the kernel module
+- Drop main package dependency from -tools, its not strictly needed
+
+* Mon Nov 02 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3216.gitab3257e1.1
+- New snapshot
+
+* Fri Oct 30 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3141.git92e689ce.1
+- New snapshot
+- Fix vhost-user segfault with multiqueue
+
+* Wed Oct 28 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3111.git4c8db5f0.1
+- New snapshot
+
+* Tue Oct 27 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3076.git19d4d7ef.1
+- New snapshot
+
+* Mon Oct 26 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3064.gitfaefe229.1
+- New snapshot
+
+* Wed Oct 21 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.3049.gitce8e1218.1
+- New snapshot
+- Enable bnx2x pmd, which buildrequires zlib-devel
+
+* Tue Sep 29 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.2955.git9702b2b5.3
+- Oops, rename our linker script to match current upstream
+
+* Mon Sep 28 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.2955.git9702b2b5
+- New snapshot
+- Make lib and include available both ways in the SDK paths
+
+* Mon Sep 21 2015 Panu Matilainen <pmatilai@redhat.com> - 2.2.0-0.2947.gitc36a82f0
+- New snapshot
+
+* Tue Aug 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.1.0-1
+- Update to dpdk 2.1.0 final
+
+* Wed Aug 12 2015 Panu Matilainen <pmatilai@redhat.com> - 2.1.0-0.2898.gitf1e779ec
+- New snapshot
+- Disable ABI_NEXT
+- Rebase patches as necessary
+- Fix build of ip_pipeline example
+- Drop no longer needed -Wno-error=array-bounds
+- Enable librte_kni build but disable the kernel module
+
+* Tue Jun 23 2015 Panu Matilainen <pmatilai@redhat.com> - 2.1.0-0.2429.gitc6a0fb5f
+- New snapshot
+
+* Mon Jun 22 2015 Panu Matilainen <pmatilai@redhat.com> - 2.1.0-0.2395.git1c2bbcdf
+- New snapshot
+
+* Wed Jun 17 2015 Panu Matilainen <pmatilai@redhat.com> - 2.1.0-0.2367.git790aa264
+- New snapshot
+
+* Mon Jun 15 2015 Panu Matilainen <pmatilai@redhat.com> - 2.1.0-0.2320.gitc76ee0d0
+- Update to pre-2.1.0 snapshot
+
+* Wed Jun 03 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-9
+- Really enable example apps on the copr repos
+
+* Wed Jun 03 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-8
+- Re-enable example apps on the copr repos
+
+* Tue May 19 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-7
+- Drop pointless build conditional, the linker script is here to stay
+- Drop vhost-cuse build conditional, vhost-user is here to stay
+- Cleanup comments a bit
+- Enable parallel build again
+- Dont build examples by default
+
+* Thu Apr 30 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-6
+- Fix potential hang and thread issues with VFIO eventfd
+
+* Fri Apr 24 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-5
+- Fix a potential hang due to missed interrupt in vhost library
+
+* Tue Apr 21 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-4
+- Drop unused pre-2.0 era patches
+- Handle vhost-user/cuse selection automatically based on the copr repo name
+
+* Fri Apr 17 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-3
+- Dont depend on fuse when built for vhost-user support
+- Drop version from testpmd binary, we wont be parallel-installing that
+
+* Thu Apr 09 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-2
+- Remove the broken kmod stuff
+- Add a new dkms-based eventfd_link subpackage if vhost-cuse is enabled
+
+* Tue Apr 07 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-1
+- Update to 2.0 final (http://dpdk.org/doc/guides-2.0/rel_notes/index.html)
+
+* Thu Apr 02 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.2086.git263333bb.2
+- Switch (back) to vhost-user, thus disabling vhost-cuse support
+- Build requires fuse-devel for now even when fuse is unused
+
+* Mon Mar 30 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.2049.git2f95a470.1
+- New snapshot
+- Add spec option for enabling vhost-user instead of vhost-cuse
+- Build requires fuse-devel only with vhost-cuse
+- Add virtual provide for vhost user/cuse tracking
+
+* Fri Mar 27 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.2038.git91a8743e.3
+- Disable vhost-user for now to get vhost-cuse support, argh.
+
+* Fri Mar 27 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.2038.git91a8743e.2
+- Add a bunch of missing dependencies to -tools
+
+* Thu Mar 26 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.2038.git91a8743e.1
+- Another day, another snapshot
+- Disable IVSHMEM support for now
+
+* Fri Mar 20 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.2022.gitfe4810a0.2
+- Dont fail build for array bounds warnings for now, gcc 5 is emitting a bunch
+
+* Fri Mar 20 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.2022.gitfe4810a0.1
+- Another day, another snapshot
+- Avoid building pdf docs
+
+* Tue Mar 03 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1916.gita001589e.2
+- Add missing dependency to tools -subpackage
+
+* Tue Mar 03 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1916.gita001589e.1
+- New snapshot
+- Work around #1198009
+
+* Mon Mar 02 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1911.gitffc468ff.2
+- Optionally package tools too, some binding script is needed for many setups
+
+* Mon Mar 02 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1911.gitffc468ff.1
+- New snapshot
+- Disable kernel module build by default
+- Add patch to fix missing defines/includes for external applications
+
+* Fri Feb 27 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1906.git00c68563.1
+- New snapshot
+- Remove bogus devname module alias from eventfd-link module
+- Whack evenfd-link to honor RTE_KERNELDIR too
+
+* Thu Feb 26 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1903.gitb67578cc.3
+- Add spec option to build kernel modules too
+- Build eventfd-link module too if kernel modules enabled
+
+* Thu Feb 26 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1903.gitb67578cc.2
+- Move config changes from spec after "make config" to simplify things
+- Move config changes from dpdk-config patch to the spec
+
+* Thu Feb 19 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1717.gitd3aa5274.2
+- Fix warnings tripping up build with gcc 5, remove -Wno-error
+
+* Wed Feb 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1698.gitc07691ae.1
+- Move the unversioned .so links for plugins into main package
+- New snapshot
+
+* Wed Feb 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1695.gitc2ce3924.3
+- Fix missing symbol export for rte_eal_iopl_init()
+- Only mention libs once in the linker script
+
+* Wed Feb 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1695.gitc2ce3924.2
+- Fix gcc version logic to work with 5.0 too
+
+* Wed Feb 18 2015 Panu Matilainen <pmatilai@redhat.com> - 2.0.0-0.1695.gitc2ce3924.1
+- Add spec magic to easily switch between stable and snapshot versions
+- Add tarball snapshot script for reference
+- Update to pre-2.0 git snapshot
+
+* Thu Feb 12 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-15
+- Disable -Werror, this is not useful behavior for released versions
+
+* Wed Feb 11 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-14
+- Fix typo causing librte_vhost missing DT_NEEDED on fuse
+
+* Wed Feb 11 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-13
+- Fix vhost library linkage
+- Add spec option to build example applications, enable by default
+
+* Fri Feb 06 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-12
+- Enable librte_acl build
+- Enable librte_ivshmem build
+
+* Thu Feb 05 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-11
+- Drop the private libdir, not needed with versioned libs
+
+* Thu Feb 05 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-10
+- Drop symbol versioning patches, always do library version for shared
+- Add comment on the combined library thing
+
+* Wed Feb 04 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-9
+- Add missing symbol version to librte_cmdline
+
+* Tue Feb 03 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-8
+- Set soname of the shared libraries
+- Fixup typo in ld path config file name
+
+* Tue Feb 03 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-7
+- Add library versioning patches as another build option, enable by default
+
+* Tue Feb 03 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-6
+- Add our libraries to ld path & run ldconfig when using shared libs
+
+* Fri Jan 30 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-5
+- Add DT_NEEDED for external dependencies (pcap, fuse, dl, pthread)
+- Enable combined library creation, needed for OVS
+- Enable shared library creation, needed for sanity
+
+* Thu Jan 29 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-4
+- Include scripts directory in the "sdk" too
+
+* Thu Jan 29 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-3
+- Fix -Wformat clash preventing i40e driver build, enable it
+- Fix -Wall clash preventing enic driver build, enable it
+
+* Thu Jan 29 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-2
+- Enable librte_vhost, which buildrequires fuse-devel
+- Enable physical NIC drivers that build (e1000, ixgbe) for VFIO use
+
+* Thu Jan 29 2015 Panu Matilainen <pmatilai@redhat.com> - 1.8.0-1
+- Update to 1.8.0
+
+* Wed Jan 28 2015 Panu Matilainen <pmatilai@redhat.com> - 1.7.0-8
+- Always build with -fPIC
+
+* Wed Jan 28 2015 Panu Matilainen <pmatilai@redhat.com> - 1.7.0-7
+- Policy compliance: move static libraries to -devel, provide dpdk-static
+- Add a spec option to build as shared libraries
+
+* Wed Jan 28 2015 Panu Matilainen <pmatilai@redhat.com> - 1.7.0-6
+- Avoid variable expansion in the spec here-documents during build
+- Drop now unnecessary debug flags patch
+- Add a spec option to build a combined library
+
+* Tue Jan 27 2015 Panu Matilainen <pmatilai@redhat.com> - 1.7.0-5
+- Avoid unnecessary use of %%global, lazy expansion is normally better
+- Drop unused destdir macro while at it
+- Arrange for RTE_SDK environment + directory layout expected by DPDK apps
+- Drop config from main package, it shouldn't be needed at runtime
+
+* Tue Jan 27 2015 Panu Matilainen <pmatilai@redhat.com> - 1.7.0-4
+- Copy the headers instead of broken symlinks into -devel package
+- Force sane mode on the headers
+- Avoid unnecessary %%exclude by not copying unpackaged content to buildroot
+- Clean up summaries and descriptions
+- Drop unnecessary kernel-devel BR, we are not building kernel modules
+
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1.7.0-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
+
+* Thu Jul 17 2014 - John W. Linville <linville@redhat.com> - 1.7.0-2
+- Use EXTRA_CFLAGS to include standard Fedora compiler flags in build
+- Set CONFIG_RTE_MACHINE=default to build for least-common-denominator machines
+- Turn-off build of librte_acl, since it does not build on default machines
+- Turn-off build of physical device PMDs that require kernel support
+- Clean-up the install rules to match current packaging
+- Correct changelog versions 1.0.7 -> 1.7.0
+- Remove ix86 from ExclusiveArch -- it does not build with above changes
+
+* Thu Jul 10 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-1.0
+- Update source to official 1.7.0 release
+
+* Thu Jul 03 2014 - Neil Horman <nhorman@tuxdriver.com>
+- Fixing up release numbering
+
+* Tue Jul 01 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.9.1.20140603git5ebbb1728
+- Fixed some build errors (empty debuginfo, bad 32 bit build)
+
+* Wed Jun 11 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.9.20140603git5ebbb1728
+- Fix another build dependency
+
+* Mon Jun 09 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.8.20140603git5ebbb1728
+- Fixed doc arch versioning issue
+
+* Mon Jun 09 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.7.20140603git5ebbb1728
+- Added verbose output to build
+
+* Tue May 13 2014 - Neil Horman <nhorman@tuxdriver.com> - 1.7.0-0.6.20140603git5ebbb1728
+- Initial Build
diff --git a/build/patches/16.11/0001-virtio-tx-with-can_push-when-VERSION_1-is-set.patch b/build/patches/16.11/0001-virtio-tx-with-can_push-when-VERSION_1-is-set.patch
new file mode 100644
index 0000000..c269356
--- /dev/null
+++ b/build/patches/16.11/0001-virtio-tx-with-can_push-when-VERSION_1-is-set.patch
@@ -0,0 +1,38 @@
+From b002b56c0c8a1790549c23d93f3d57ffc212c6da Mon Sep 17 00:00:00 2001
+From: Pierre Pfister <ppfister@cisco.com>
+Date: Tue, 8 Nov 2016 10:24:48 +0100
+Subject: [PATCH] virtio: tx with can_push when VERSION_1 is set
+
+Current virtio driver advertises VERSION_1 support,
+but does not handle device's VERSION_1 support when
+sending packets (it looks for ANY_LAYOUT feature,
+which is absent).
+
+This patch enables 'can_push' in tx path when VERSION_1
+is advertised by the device.
+
+This significantly improves small packets forwarding rate
+towards devices advertising VERSION_1 feature.
+
+Signed-off-by: Pierre Pfister <ppfister@cisco.com>
+---
+ drivers/net/virtio/virtio_rxtx.c | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/drivers/net/virtio/virtio_rxtx.c b/drivers/net/virtio/virtio_rxtx.c
+index 22d97a4..1e5a6b9 100644
+--- a/drivers/net/virtio/virtio_rxtx.c
++++ b/drivers/net/virtio/virtio_rxtx.c
+@@ -1015,7 +1015,8 @@ virtio_xmit_pkts(void *tx_queue, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)
+ }
+
+ /* optimize ring usage */
+- if (vtpci_with_feature(hw, VIRTIO_F_ANY_LAYOUT) &&
++ if ((vtpci_with_feature(hw, VIRTIO_F_ANY_LAYOUT) ||
++ vtpci_with_feature(hw, VIRTIO_F_VERSION_1)) &&
+ rte_mbuf_refcnt_read(txm) == 1 &&
+ RTE_MBUF_DIRECT(txm) &&
+ txm->nb_segs == 1 &&
+--
+2.7.4 (Apple Git-66)
+