Note that CONFIG_RTE_LIBRTE_VHOST is enabled by default in DPDK
since 2.1 so we can "reuse" the redundant line for enabling
CONFIG_RTE_LIBRTE_VHOST_NUMA instead, but that makes the commit
seem slightly strange.
Now that upstream has a sane "make install" target, lets use it.
The layout (inevitably) differs a fair bit from what we had but
better switch now than live with our own invention forevermore.
Previously commented-out and/or similar entries could mistakenly
match the grep (but fail the sed-part). Doesn't affect current
config so its just future-proofing.
Configure %{_libdir}/dpdk-pmds as the default driver directory,
from which all pmds will be automatically loaded, no more manually
messing with -d, yay. Add symlinks for all the pmds, and move the
unversioned pmd symlinks to -devel where they belong.
Include examples to be built with the SDK, and ratchet the version
forward. IMPORTANT: this commit disables the vm_power_manager example
since that particular example requires in-tree builds, which is not
possible. Also disabled is the ip_pipeline build, since it depends on
sse4 intrinsics.
Signed-off-by: Aaron Conole <aconole@redhat.com>
The dpdk-tools and dpdk packages copy the same files into %{_bindir}, which
should be avoided. To fix this, setup an exclude.
Additionally, there's an odd requirement imposed by using dpdk because of
libraries not being linked in properly against the shared objects generated.
To fix this, introduce the dt-needed patch. A version of this has been
accepted upstream for some PMDs, but we will do this for all.
Signed-off-by: Aaron Conole <aconole@redhat.com>
There is currently a bug where -tools and the main package include the
same dpdk tools, which were meant to be separate packages. Remove the
overlap.
Signed-off-by: Aaron Conole <aconole@redhat.com>
The last commit in the series.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
This brings the combined library linker script inline with the upstream
definition of the combined library name in DPDK 2.1.0 release.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Signed-off-by: Panu Matilainen <pmatilai@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
post `make config'
The config file patch is a bit cumbersome to maintain. Any time the
config files change, it will be required to regenerate this patch
against the new sets of files. Additionally, it is difficult to build
modular enable/disables for these configs down the line.
With this set, create a block for PMD enable/disable. RHEL wants this
enabled, for sure.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
Ensure that the DPDK libraries, including the combined library, are
found at the system library path.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
The PDF guides drag a large amount of build requirements with them, and
because of the reliance on the DejaVu texlive package, will not build on
RHEL7. To keep the option of the PDF guide for Fedora, while allowing
RH to build, make this a tunable which Fedora can default 'on'.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
The desired end effect of build is to have a combined library, and it will
not be going away. The upstream combined library is considered bloatware
which creates issues when library versions start moving, so force the
issue by using linker script instead.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
Some makefiles refer to the scripts in the directory, and eg
pktgen make fails without the script foo. To allow these builds
to succeed, include the scripts directory
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
As part of the dpdk solution, we include an extensible profile option
which automatically configures the dpdk 'RTE' environment
variables. However, these will create build issues if we attempt to
build packages on a machine which has these packages installed. To
combat this, we undefine these variables in the build environment.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
Currently, dpdk ships with cpu_layout.py and dpdk_bind_tools.py to
assist with common workflow. Create a tools package which can encompass
these items.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
By changing the array size to work around a spurious warning from gcc,
we run the risk of breaking future code which may rely on the array's
size (using, ex: sizeof). Since this array-bounds failure is the product
of gcc-5.x, and not actually an error here, it can safely be ignored.
We need to keep the -Wformat warning, however, because that will trigger
build errors in some of the PMD builds.
Signed-off-by: Aaron Conole <aconole@redhat.com>
Acked-by: Neil Horman <nhorman@redhat.com>
Acked-by: Panu Matilainen <pmatilai@redhat.com>
Upstream makefiles only enable -fPIC for shared libs, but on x86_64
its needed for static libs as well when combined with dynamic linking
(otherwise building eg OVS fails with relocation R_X86_64_32 errors)
Ciuld arch-conditionalize it but then this only builds for x86_64 atm...
- Move static libraries to -devel, there's no point in having them
in a "runtime" package anyway
- Add dpdk-static = %{version}-%{release} provide to -devel
- Have the main package always own the private library directory though
Upstream has an option to build a combined library but it'll clash
with symbol/library versioning once it lands. Use a linker script
instead of an actual ELF DSO to side-step the issue.
GROUP() is used instead of INPUT() to avoid the need for manual
ordering of the umphteen libraries.
(yes, Fedora recommendation is misguided wrt this: %global has unwanted
side-effects when used blindly for "everything", greetings from your
friendly former rpm maintainer)
- Drop unused destdir macro from the spec while at it
- 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