Matan Azrad [Mon, 22 Jan 2018 16:38:18 +0000 (16:38 +0000)]
ethdev: fix port id allocation
rte_eth_dev_find_free_port() found a free port by state checking.
The state field are in local process memory, so other DPDK processes
may get the same port ID because their local states may be different.
Replace the state checking by the ethdev port name checking,
so, if the name is an empty string the port ID will be detected as
unused.
Fixes: d948f596fee2 ("ethdev: fix port data mismatched in multiple process model") Cc: stable@dpdk.org Suggested-by: Konstantin Ananyev <konstantin.ananyev@intel.com> Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Matan Azrad [Mon, 22 Jan 2018 16:38:17 +0000 (16:38 +0000)]
ethdev: fix port data reset timing
rte_eth_dev_data structure is allocated per ethdev port and can be
used to get a data of the port internally.
rte_eth_dev_attach_secondary tries to find the port identifier using
rte_eth_dev_data name field comparison and may get an identifier of
invalid port in case of this port was released by the primary process
because the port release API doesn't reset the port data.
So, it will be better to reset the port data in release time instead of
allocation time.
Move the port data reset to the port release API.
Fixes: d948f596fee2 ("ethdev: fix port data mismatched in multiple process model") Cc: stable@dpdk.org Signed-off-by: Matan Azrad <matan@mellanox.com> Acked-by: Thomas Monjalon <thomas@monjalon.net> Acked-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Ophir Munk [Wed, 31 Jan 2018 16:03:58 +0000 (16:03 +0000)]
net/tap: fix build on ARM32
This commit adds eBPF system call definitions for ARM architecture.
Old Linux header files may not define eBPF system call numbers.
In order to successful compile eBPF on all Linux platforms - the
missing ARM system call definition is explicitly added.
Amr Mokhtar [Wed, 31 Jan 2018 14:30:29 +0000 (14:30 +0000)]
examples/bbdev: fix memory leak in stats print
xstats and xstats_names buffers were allocated for
the purpose of printing eth_xstats, but were not
freed before exit.
A fix is added to free before exit points.
Shreyansh Jain [Wed, 31 Jan 2018 09:13:15 +0000 (14:43 +0530)]
raw/skeleton: introduce skeleton rawdev driver
Skeleton rawdevice driver, on the lines of eventdev skeleton, is for
showcasing the rawdev library. This driver implements some of the
operations of the library based on which a test module can be
developed.
Design of skeleton involves a virtual device which is plugged into
VDEV bus on initialization.
Also, enable compilation of rawdev skeleton driver.
Shreyansh Jain [Wed, 31 Jan 2018 09:13:11 +0000 (14:43 +0530)]
rawdev: add buffer stream IO
Introduce handlers for raw buffer enqueue and dequeue. A raw buffer
is essentially a void object which is transparently passed via the
library onto the driver.
Using a context field as argument, any arbitrary meta information
can be passed by application to the driver/implementation. This can
be any data on which driver needs to define the operation semantics.
For example, passing along a queue identifier can suggest the driver
the queue context to perform I/O on.
Shreyansh Jain [Wed, 31 Jan 2018 09:13:10 +0000 (14:43 +0530)]
rawdev: add attribute get and set
A rawdevice can have various attributes. This patch introduce support
for transparently setting attribute value or getting current attribute
state. This is done by allowing an opaque set of key and value to be
passed through rawdev library.
Shreyansh Jain [Wed, 31 Jan 2018 09:13:09 +0000 (14:43 +0530)]
rawdev: introduce raw device library
Each device in DPDK has a type associated with it - ethernet, crypto,
event etc. This patch introduces 'rawdevice' which is a generic
type of device, not currently handled out-of-the-box by DPDK.
A device which can be scanned on an installed bus (pci, fslmc, ...)
or instantiated through devargs, can be interfaced using
standardized APIs just like other standardized devices.
This library introduces an API set which can be plugged on the
northbound side to the application layer, and on the southbound side
to the driver layer.
The APIs of rawdev library exposes some generic operations which can
enable configuration and I/O with the raw devices. Using opaque
data (pointer) as API arguments, library allows a high flexibility
for application and driver implementation.
This patch introduces basic device operations like start, stop, reset,
queue and info support.
Subsequent patches would introduce other operations like buffer
enqueue/dequeue and firmware support.
Nipun Gupta [Tue, 23 Jan 2018 12:27:06 +0000 (17:57 +0530)]
bus/dpaa: check portal presence in the caller function
In the I/O path we were calling rte_dpaa_portal_init which
internally checks if a portal is affined to the core.
But this lead to calling of that non-static API in every call.
Instead check the portal affinity in the caller itself for
performance reasons
Shreyansh Jain [Tue, 23 Jan 2018 12:27:04 +0000 (17:57 +0530)]
bus/dpaa: fix port order shuffling
While scanning for devices, the order in which devices appear is
different as compared to MAC sequence.
This can cause confusion for users and automated scripts.
This patch create a sorted list of devices.
Zhihong Wang [Wed, 31 Jan 2018 14:20:57 +0000 (09:20 -0500)]
vhost: fix build with old kernels
This patch fixes compile failure with old kernels which have no
VIRTIO_F_ANY_LAYOUT defined.
Fixes: 5a8bb6e9020f ("vhost: claim to support any layout feature") Signed-off-by: Zhihong Wang <zhihong.wang@intel.com> Reviewed-by: Maxime Coquelin <maxime.coquelin@redhat.com> Tested-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Nipun Gupta [Tue, 23 Jan 2018 14:17:53 +0000 (19:47 +0530)]
net/dpaa2: prefetch the annotation in event processing
This patch adds software prefetching of the annotation which is
accessed by the driver to fetch the parsing results. The changes
also include as many instructions in between prefetching memory
and using it.
Harry van Haaren [Thu, 25 Jan 2018 09:46:22 +0000 (09:46 +0000)]
event/sw: support dynamic logging
This commit enables dynamic logging with the SW pmd.
The string "pmd.event.sw" is used to change the verbosity
of the logging output, as per the newly defined log naming.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:01:09 +0000 (09:01 +0000)]
net/virtio: align dynamic log names with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Maxime Coquelin <maxime.coquelin@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:01:08 +0000 (09:01 +0000)]
net/thunderx: align dynamic log names with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Note that the "nicvf" term has been replaced with "thunderx",
as the naming scheme defines that a PMD name should be the
same as the directory that it lives in: drivers/net/thunderx
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:01:06 +0000 (09:01 +0000)]
net/nfp: align dynamic log names with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Alejandro Lucero <alejandro.lucero@netronome.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:01:05 +0000 (09:01 +0000)]
net/liquidio: align dynamic log names with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Note that the "lio" term has been replaced with "liquidio",
as the naming scheme defines that a PMD name should be the
same as the directory that it lives in: drivers/net/liquidio
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Shijith Thotton <shijith.thotton@caviumnetworks.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:01:01 +0000 (09:01 +0000)]
net/enic: align dynamic log names with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Hyong Youb Kim <hyonkim@cisco.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:00:58 +0000 (09:00 +0000)]
net/avp: align dynamic log names with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Allain Legacy <allain.legacy@windriver.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:00:54 +0000 (09:00 +0000)]
event/opdl: align dynamic log name with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Liang Ma <liang.j.ma@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:00:55 +0000 (09:00 +0000)]
drivers/octeontx: align dynamic log names with standard
This commit aligns the names for dynamic logging with
the newly defined logging format.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com> Acked-by: Santosh Shukla <santosh.shukla@caviumnetworks.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Harry van Haaren [Thu, 25 Jan 2018 09:00:53 +0000 (09:00 +0000)]
doc: describe dynamic logging format
This commit adds a section to the DPDK style guide to set
the dynamic logging formatting naming scheme.
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Hemant Agrawal [Tue, 30 Jan 2018 15:06:20 +0000 (20:36 +0530)]
net/dpaa2: fix BPID offset
Fixes: 774e9ea91992 ("net/dpaa2: add support for multi seg buffers") Fixes: d2ef05d5c13e ("net/dpaa2: optimize Rx/Tx path") Signed-off-by: Hemant Agrawal <hemant.agrawal@nxp.com>
Harry van Haaren [Tue, 30 Jan 2018 18:26:09 +0000 (18:26 +0000)]
test/debug: fix EAL cleanup when forking
Before this patch, the debug_autotest would call fork(),
call rte_panic() or rte_exit() in the child process, and
examine the return code to verify that rte_panic() and
rte_exit() were correctly reporting failures.
With the inclusion of the rte_eal_cleanup() patch, rte_exit()
was modified to cleanly tear-down EAL allocations. Currently
only one library (service cores) is allocated by EAL at startup
and should be cleaned up. This library has a check on a normal
(non-hugepage) variable to protect against double cleanup. The
service cores finalize() function itself frees back hugepage mem.
Given the fork() approach from the unit test, and the fact that
the double-free check is on an ordinary variable, causes multiple
child processed (fork()-ed from the unit-test runner) to attempt
to free the huge-page memory multiple times. The variable to
protect against double-cleanup was not effective, as the fork()
would restore it to show initialized in the next child.
The solution is to call rte_service_finalize() *before* calling
fork(), which results in the service cores double-cleanup variable
to be zero before the fork(), and hence the child processes never
free the hugepage service-cores memory (correct behavior, as the
unit-test suite is still running, and owns the hugepages).
Fixes: aec9c13c5257 ("eal: add function to release internal resources") Reported-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com>
Marko Kovacevic [Mon, 22 Jan 2018 10:59:05 +0000 (10:59 +0000)]
mk: support renamed Makefile in external project
The build system made a recursive call to "make" after
creating the build directory. This recursive call used
the hard-coded filename "Makefile", which prevented
builds from working if the file was renamed and make
called using "make -f". Taking the filename from
MAKEFILES_LIST make variable fixes this.
Fixes: af75078fece3 ("first public release") Cc: stable@dpdk.org Signed-off-by: Marko Kovacevic <marko.kovacevic@intel.com> Acked-by: Vipin Varghese <vipin.varghese@intel.com>
Bruce Richardson [Thu, 25 Jan 2018 11:14:43 +0000 (11:14 +0000)]
drivers: improve pmdinfo generation with meson
Since meson 0.44, changing any file inside a PMD directory (quite
correctly) triggers a full re-run of meson on build, rather than an
incremental build as with earlier versions. This rerun is needed because
we use "grep" in meson to search for files on which to run pmdinfogen, and
changing any of those files means that grep and, therefore meson, needs to
be rerun. [Previous versions of meson did not track this dependency on the
grep command, and so did incremental builds only.]
If, however, we take advantage of pmdinfogen's ability to use stdin and
stdout instead of files, we can instead use a shell script to process an
entire static archive and generate a single .c file from it. This
eliminates the need for grep, and means that changes to a PMD file only
need an incremental build - a significant time saving.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Mon, 22 Jan 2018 15:42:54 +0000 (15:42 +0000)]
build: set compat lib as universal dependency
By making "compat" lib (which consists of a header only) a dependency of
the EAL, we make the header file available to all other libs, drivers and
apps, and thereby make it less work to do ABI versioning.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Pavan Nikhilesh [Mon, 22 Jan 2018 15:26:30 +0000 (20:56 +0530)]
build: detect micro-arch on ARM
Added support for detecting march and mcpu by reading midr_el1 register.
The implementer, primary part number values read can be used to figure
out the underlying arm cpu.
Signed-off-by: Pavan Nikhilesh <pbhagavatula@caviumnetworks.com> Acked-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>
Bruce Richardson [Mon, 22 Jan 2018 15:26:29 +0000 (20:56 +0530)]
build: support ARM with meson
Add files to enable compiling for ARM native/cross builds.
This can be tested by doing a cross-compile for armv8-a type using
the linaro gcc toolchain.
Bruce Richardson [Wed, 10 Jan 2018 15:24:57 +0000 (15:24 +0000)]
doc: add instructions on build using meson
Add a document describing how to configure, build and install DPDK using
meson and ninja. Document includes references to official installation docs
using make, and points out the experimental nature of the build.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Marko Kovacevic <marko.kovacevic@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Harry van Haaren [Wed, 20 Dec 2017 11:16:32 +0000 (11:16 +0000)]
test: build app with meson as dpdk-test
This patch enables the test/test app to be built. It also adds
the test binary to be a meson-test, which allows the meson test
infrastructure to be used to run tests.
Tests are listed using the same test binary, however each test
sets a different DPDK_TEST environment variable. The string contents
of this DPDK_TEST env var is entered in the command line interface.
As such, the familiar test names such as "ring_perf_autotest" etc
are valid tests to run using this meson test infrastructure.
Note that the tests are run serially, given that we cannot run
multiple primary processes at a time. As each test must initialize
EAL this takes some time depending on the number of hugepages.
In future, we could improve this to run multiple tests from one
EAL init, but it is out of scope for this patchset.
Finally, an option to build the tests is added to the meson build
options. When disabled, the unit test code in test/test is not
compiled. The default is set to 'true'. To disable, run:
$ meson configure -Dtests=false
Signed-off-by: Harry van Haaren <harry.van.haaren@intel.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Fri, 15 Dec 2017 17:19:26 +0000 (17:19 +0000)]
net/pcap: fix cross compilation with meson
The detection of pcap as a dependency involves invoking pcap-config to get
parameters - something not possible in a cross-compilation environment.
Therefore we need to just look for the presence of the library in a
cross-compilation environment and assume if the library is present we can
compile and link against it.
Fixes: efd5d1a8d8dd ("drivers/net: build some vdev PMDs with meson") Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Fri, 15 Dec 2017 17:12:43 +0000 (17:12 +0000)]
build: remove architecture flag as default C flag
Any flags added to the project args are automatically added to all builds,
both native and cross-compiled. This is not what we want for the -march
flag as a valid -march for the cross-compile is not valid for pmdinfogen
which is a native-build tool.
Instead we store the march flag as a variable, and add it to the default
cflags for all libs, drivers, examples, etc. This will allow pmdinfogen to
compile successfully in a cross-compilation environment.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Since the DPDK build now includes both static and shared libraries, we need
a new way to enable building the examples using either method from the one
installation. To do this, we add in a default "shared" target, and a
separate "static" target which links in the DPDK static libraries. In both
cases, the final application name is symlinked to the last-built static or
shared target, with both binaries able to co-exist in the build directory.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
With the introduction of bus drivers, we now have a situation where
driver libraries will start to depend upon each other. Because of this,
the driver libs need to be discoverable by the dynamic loader.
There are three options to fix this:
1. Force the user to put the $libdir/dpdk/drivers folder into their
library path.
2. Move all libraries from drivers sub-directory to $libdir.
3. Symlink all libraries from the subfolder to the main library dir.
Option 1 is not great for usability or distro packaging, and option 2
means that we can't have EAL load all drivers from a known path
automatically (as it would error out on non-PMD libs), so option 3 was
chosen as the best fix. The only downside is that on a "ninja uninstall"
the symlinks are not removed, as they are unknown to meson/ninja.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Now that we always build both static and shared libraries, the default
library type only applies to apps and examples. To avoid issues with
paths when doing actual development with DPDK, change the default app
build to static. This makes sure that testpmd, and any examples built as
part of a development build, are runnable without being installed.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
This patch changes the build process to group all .o files for a driver or
library into a static archive first, and then link the .o files together
into a shared library. This eliminates the need for separate static or
shared object builds when packaging, for instance.
The "default_library" configuration option now only affects the apps and
examples, which are either linked against the static or shared library
versions depending on the value of the option.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
The EAL and compat libraries were special-cases in the library build
process, the former because of it's complexity, and the latter because
it only consists of a single header file.
By reworking the EAL meson.build files, we can eliminate the need for it to
be a special case, by having it build up and return the list of sources,
headers, and objects and return those to the higher level build file. This
should also simplify the building of EAL, as we can eliminate a number of
meson.build files that would no longer be needed, and have fewer, but
larger meson.build files (9 now vs 14 previous) - thereby making the logic
easier to follow and items easier to find.
Once done, we can pull eal into the main library loop, with some
modifications to support it. Compat can also be pulled it once we add in a
check to handle the case of an empty sources list.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Change the example app Makefiles to query if DPDK is installed and
registered using pkg-config. If so, build directly using pkg-config info,
otherwise fall back to using the original build system with RTE_SDK and
RTE_TARGET
This commit changes the makefiles for the basic examples, i.e. those which
do not have multiple subdirectories underneath the main examples dir.
Examples not covered are:
Bruce Richardson [Mon, 25 Sep 2017 16:28:49 +0000 (17:28 +0100)]
examples: put app name and sources at top of makefiles
Reorder the text in the makefiles, so that the app name and the source
files are listed first. This then will allow them to be shared later in a
combined makefile building with pkg-config and RTE_SDK-based build system.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Tue, 12 Sep 2017 15:42:02 +0000 (16:42 +0100)]
examples: build some samples with meson
Add support for having selected example apps built as part of a meson,
ninja build. By default none are built, and those to be built should be
named directly in the -Dexamples='' meson configuration argument.
This is useful for developers working on a feature who want to use a
suitable example, or examples, to test that feature, as they can compile
everything up in one go, and run the example without having to do a ninja
install first.
This commit adds examples which don't consist of multiple apps in
subdirectories to the meson build, so they can be built by default by
passing -Dexamples parameter to meson.
Not included are the following examples:
* ethtool
* multi-process
* netmap_compat
* performance-thread
* quota_watermark
* server_node_efd
* vm_power_manager
To test the apps added here, use the following command, merged to one line,
to add them to your meson build (command to be run inside the build
directory):
Bruce Richardson [Thu, 12 Oct 2017 10:50:28 +0000 (11:50 +0100)]
lpm: install vector header files with meson
The main rte_lpm.h header file also includes architecture specific headers,
depending on the architecture on which it is used. These also need to be
installed into the include directory as part of the "ninja install"
process. Thankfully, since the vector headers all have different names we
can just install all 3 of them in all cases, which avoids conflicts or
issues with multi-architecture installs, or the need to use
architecture-specific subdirectories.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Thu, 12 Oct 2017 14:02:27 +0000 (15:02 +0100)]
build: detect and use libnuma
DPDK has an optional dependency on libnuma, so manage that through the
build system, by dynamically detecting the presence of the needed library
and header files. Since this library is used by both EAL and vhost, check
for the presence at the top level in the config directory.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Reviewed-by: Luca Boccassi <bluca@debian.org>
This commit fixes the setting of relative rpath on dpdk-testpmd for
drivers ($libdir/dpdk/drivers) to the correct absolute rpath
($prefix$libdir/dpdk/drivers)
Fixes: a25a650be5f0 ("build: add infrastructure for meson and ninja builds") Signed-off-by: Timothy Redaelli <tredaelli@redhat.com> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
Bruce Richardson [Thu, 14 Sep 2017 11:11:20 +0000 (12:11 +0100)]
build/x86: add SSE flags
Previous code only added in AVX, and a few other non-SSE flags to the
compile-time cpuflags because all SSE instruction set levels are now
required for an x86 build. However, some apps may still be checking for the
existing SSE ones in the legacy build system, so add them here for
completeness and compatibility.
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
Bruce Richardson [Wed, 20 Sep 2017 10:40:15 +0000 (11:40 +0100)]
build: fix driver install path
To comply with the "hier" standard [Ref: man 7 hier], the driver .so files
should not be placed in $datadir. Therefore we install them in a
sub-directory of $libdir instead.
Fixes: a25a650be5f0 ("build: add infrastructure for meson and ninja builds") Reported-by: Timothy Redaelli <tredaelli@redhat.com> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com> Acked-by: Luca Boccassi <bluca@debian.org>
A subset of the dpdk headers are arch-dependent, but have common names
and thus cause a clash in a multiarch installation.
For example, rte_config.h is different for each target.
Add a "include_subdir_arch" option to allow a user to specify a
subdirectory for arch independent headers to fix multiarch support.
Signed-off-by: Luca Boccassi <bluca@debian.org> Acked-by: Bruce Richardson <bruce.richardson@intel.com>
In Debian and Ubuntu we have been shipping a pkgconfig file for DPDK
for more than a year now, and the filename is libdpdk.pc.
A few downstream projects, like OVS and Collectd, have adopted the
use of libdpdk.pc in their build systems as well.
In order to maintain backward compatibility, rename the file from
DPDK.pc to libdpdk.pc.
Signed-off-by: Luca Boccassi <bluca@debian.org> Acked-by: Bruce Richardson <bruce.richardson@intel.com>