[dpdk-dev] [PATCH v6 0/6] rte_bus parse API
Gaetan Rivet
gaetan.rivet at 6wind.com
Tue Jul 4 02:58:27 CEST 2017
Following the evolutions announced in [1], here is the first part of
the rte_devargs rework planned for 17.08. The rationale has been partially
explained in [2].
This first part covers the introduction of the necessary facilities in
rte_bus to allow for generic device parsing. This API is implemented for
the virtual and PCI buses. Additionally, this rte_bus evolution is being
used within rte_devargs to characterize a device type by its bus.
This work is the first of two parts to reduce the dependency of the EAL
upon specific bus implementations.
The modified rte_devargs parsing allows declaring on the EAL command line
explicit buses to handle a device. The format is as follow:
--vdev="virtual:net_ring0" --vdev="net_tap0,iface=tap0"
-w PCI:00:02.0 -w 00:03.0
This explicit bus designation is optional; no evolution is currently
forced on users to migrate to this new format. The separating character is
arbitrary.
[1]: http://dpdk.org/ml/archives/dev/2017-May/065634.html
[2]: http://dpdk.org/ml/archives/dev/2017-May/065670.html
This patchset depends on:
bus attach/detach API and hotplug rework
http://dpdk.org/ml/archives/dev/2017-June/069643.html
http://dpdk.org/dev/patchwork/patch/26135/
v1 -> v2:
* fix PCI parse implementation
v2 --> v3:
* Rebase the series on the new plug / unplug API
v3 --> v4:
* Several bug fixes, commit log rewrite.
* Follow the changes to the plug / unplug API.
v5:
* Do not verify bus name on bus registration.
Actually, a legal bus name is not defined anymore.
The bus/device separator in a device declaration can be anything,
as long as it is a single character.
The behavior is otherwise unchanged.
v6:
* Rebase upon new hotplug patchset version.
* Rename rte_bus_from_dev as rte_bus_find_by_device_name.
This function is now private to the EAL.
* Remove rte_bus_from_name, as it has been integrated as
rte_bus_find_by_name by Jan Blunck.
* Reduce parsing ambiguity in rte_devargs.
Gaetan Rivet (6):
bus: fix bus name registration
bus: introduce parsing functionality
vdev: implement parse bus operation
pci: implement parse bus operation
bus: add helper to find a bus from a device name
devargs: parse bus info
lib/librte_eal/common/eal_common_bus.c | 15 +++++++
lib/librte_eal/common/eal_common_devargs.c | 42 +++++++++++++++----
lib/librte_eal/common/eal_common_pci.c | 15 +++++++
lib/librte_eal/common/eal_common_vdev.c | 64 +++++++++++++++--------------
lib/librte_eal/common/eal_private.h | 12 ++++++
lib/librte_eal/common/include/rte_bus.h | 23 ++++++++++-
lib/librte_eal/common/include/rte_devargs.h | 3 ++
7 files changed, 135 insertions(+), 39 deletions(-)
--
2.1.4
More information about the dev
mailing list