[dpdk-dev] [PATCH v7 0/6] rte_bus parse API

Gaetan Rivet gaetan.rivet at 6wind.com
Wed Jul 5 01:55:17 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.

v7:

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

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      | 21 +++++++++
 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 -
 12 files changed, 148 insertions(+), 50 deletions(-)

-- 
2.1.4



More information about the dev mailing list