Go to file
Thomas Monjalon e9d159c3d5 eal: allow probing a device again
In the devargs syntax for device representors, it is possible to add
several devices at once: -w dbdf,representor=[0-3]
It will become a more frequent case when introducing wildcards
and ranges in the new devargs syntax.

If a devargs string is provided for probing, and updated with a bigger
range for a new probing, then we do not want it to fail because
part of this range was already probed previously.
There can be new ports to create from an existing rte_device.

That's why the check for an already probed device
is moved as bus responsibility.
In the case of vdev, a global check is kept in insert_vdev(),
assuming that a vdev will always have only one port.
In the case of ifpga and vmbus, already probed devices are checked.
In the case of NXP buses, the probing is done only once (no hotplug),
though a check is added at bus level for consistency.
In the case of PCI, a driver flag is added to allow PMD probing again.
Only the PMD knows the ports attached to one rte_device.

As another consequence of being able to probe in several steps,
the field rte_device.devargs must not be considered as a full
representation of the rte_device, but only the latest probing args.
Anyway, the field rte_device.devargs is used only for probing.

Signed-off-by: Thomas Monjalon <thomas@monjalon.net>
Reviewed-by: Andrew Rybchenko <arybchenko@solarflare.com>
Tested-by: Andrew Rybchenko <arybchenko@solarflare.com>
Acked-by: Shreyansh Jain <shreyansh.jain@nxp.com>
2018-10-18 01:49:52 +02:00
app ethdev: rename memzones allocated for DMA 2018-10-17 10:26:59 +02:00
buildtools buildtools: prevent experimental symbol match on substring 2018-10-11 13:57:29 +02:00
config common/dpaax: add library for PA/VA translation table 2018-10-16 14:54:25 +02:00
devtools net/mvneta: add PMD skeleton 2018-10-11 18:53:48 +02:00
doc eal: enable hotplug on multi-process 2018-10-17 10:16:18 +02:00
drivers eal: allow probing a device again 2018-10-18 01:49:52 +02:00
examples examples/multi_process: add hotplug sample 2018-10-17 10:16:18 +02:00
kernel igb_uio: fix refcount if open returns error 2018-10-11 13:47:19 +02:00
lib eal: allow probing a device again 2018-10-18 01:49:52 +02:00
license license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00
mk fslmc: enable dpaax library 2018-10-16 14:54:25 +02:00
pkg version: 18.08.0 2018-08-09 23:11:26 +02:00
test test: support external memory 2018-10-11 11:56:55 +02:00
usertools usertools: add octeontx zip device for binding 2018-07-25 13:36:26 +02:00
.gitattributes improve git diff 2016-11-13 15:25:12 +01:00
.gitignore doc: add compression driver and ISA-L PMD guides 2018-05-10 17:46:20 +01:00
GNUmakefile move kernel modules directories 2018-03-21 23:04:21 +01:00
MAINTAINERS common/dpaax: add library for PA/VA translation table 2018-10-16 14:54:25 +02:00
Makefile license: use SPDX tag in root makefile 2018-01-04 22:41:38 +01:00
meson_options.txt net/mlx5: support meson build 2018-09-28 01:41:01 +02:00
meson.build build: generate API documentation with meson 2018-09-18 15:50:54 +02:00
README license: introduce SPDX identifiers 2018-01-04 22:41:38 +01:00

DPDK is a set of libraries and drivers for fast packet processing.
It supports many processor architectures and both FreeBSD and Linux.

The DPDK uses the Open Source BSD-3-Clause license for the core libraries
and drivers. The kernel components are GPL-2.0 licensed.

Please check the doc directory for release notes,
API documentation, and sample application information.

For questions and usage discussions, subscribe to: users@dpdk.org
Report bugs and issues to the development mailing list: dev@dpdk.org