Skip to content

rte_bus parse API

Gaetan Rivet dpdk-dev 8 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v8 Latest6 patches 4 repliesIn review
  2. v76 patches 18 repliesSuperseded
  3. v66 patches 1 replySuperseded
Earlier versions · 5
VersionPostedPatchesRepliesStatus
v57 patches16 repliesSuperseded
v49 patches0 repliesSuperseded
v39 patches0 repliesSuperseded
v29 patches0 repliesSuperseded
v19 patches12 repliesSuperseded

Changes in v8 from the cover letter

* Fix a few incorrect bus name references.
* Add a few acks.
* Clarify the standing of the bus parse API in its introductory commit log.

Patches in v8 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/6bus: fix driver registrationdrivers/bus/fslmc/fslmc_bus.c drivers/bus/fslmc/rte_fslmc.h lib/librte_eal/common/eal_common_bus.c +7 more+10 -140 replies
2/6bus: introduce parsing functionalitylib/librte_eal/common/include/rte_bus.h+21 -00 replies
3/6vdev: implement parse bus operationlib/librte_eal/common/eal_common_vdev.c+29 -290 replies
4/6pci: implement parse bus operationlib/librte_eal/common/eal_common_pci.c+15 -00 replies
5/6bus: add helper to find a bus from a device namelib/librte_eal/common/eal_common_bus.c lib/librte_eal/common/eal_private.h+33 -00 replies
6/6devargs: parse bus infolib/librte_eal/common/eal_common_devargs.c lib/librte_eal/common/eal_common_vdev.c lib/librte_eal/common/include/rte_devargs.h+42 -93 replies

Reviews trailers per patch

All 6 patches have a Reviewed-by or Acked-by.

PatchSantosh ShuklaShreyansh JainBruce Richardson
1/6R-b A-b
2/6A-b A-b
3/6A-b
4/6A-b
5/6A-b
6/6A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 3 reviewers.

Read the v8 thread

Cover letter [PATCH v8 0/6] rte_bus parse API

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.

v7:

* Use Thomas' bus registration fix.
* Improve rte_bus_find_by_device_name, by making more resistant to shaky bus parse implementation.

v8:

* Fix a few incorrect bus name references.
* Add a few acks.
* Clarify the standing of the bus parse API in its introductory commit log.

Gaetan Rivet (5):
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

Thomas Monjalon (1):
bus: fix driver registration

 drivers/bus/fslmc/fslmc_bus.c               |  2 +-
 drivers/bus/fslmc/rte_fslmc.h               |  3 --
 lib/librte_eal/common/eal_common_bus.c      | 23 +++++++++-
 lib/librte_eal/common/eal_common_dev.c      |  2 +-
 lib/librte_eal/common/eal_common_devargs.c  | 42 +++++++++++++++---
 lib/librte_eal/common/eal_common_pci.c      | 17 +++++++-
 lib/librte_eal/common/eal_common_vdev.c     | 66 +++++++++++++++--------------
 lib/librte_eal/common/eal_private.h         | 12 ++++++
 lib/librte_eal/common/include/rte_bus.h     | 24 ++++++++++-
 lib/librte_eal/common/include/rte_devargs.h |  3 ++
 lib/librte_eal/common/include/rte_eal.h     |  3 ++
 lib/librte_eal/common/include/rte_pci.h     |  3 --
 lib/librte_eal/common/include/rte_vdev.h    |  2 -
 13 files changed, 150 insertions(+), 52 deletions(-)
Signature · 1 line
2.1.4