[dpdk-dev] [PATCH v2 00/18] devargs cleanup

Gaetan Rivet gaetan.rivet at 6wind.com
Thu Oct 12 10:21:07 CEST 2017


The use of rte_devargs is inconsistent in the light of new functionalities
such as device hotplug.

Most of its API is still experimental and needs stabilization.
Older functions were deprecated and need to be rewritten or removed.
The rte_devtype is meant to disappear.

v2:

  Big rework.

  * Enact requiring bus name prepended in rte_devargs parsing functions.
  * Remove rte_devtype. Use new probe mode setter along with generic
    bus reference within rte_devargs.
  * Rework devargs parsing API.
    The function is now variadic, does not enforce bus rules on the devargs
    being inserted as the bus has been configured previously.
    Old parsing function is removed.
  * Expose bus guessing from device name.
    This uses the "parse" bus operator, which may be meant to disappear.
    This is optional, but nice to have in a transition period.
  * Introduce new --dev generic device declaration parameter.

This patchset depends on:

Move PCI away from the EAL
http://dpdk.org/ml/archives/dev/2017-August/073512.html

Bus control framework
http://dpdk.org/ml/archives/dev/2017-October/078752.html

Gaetan Rivet (18):
  eal: prepend busname on legacy device declaration
  eal: remove generic devtype
  devargs: introduce iterator
  devargs: introduce foreach macro
  vdev: do not reference devargs list
  bus/pci: do not reference devargs list
  test: remove devargs unit tests
  devargs: make devargs list private
  devargs: make parsing variadic
  devargs: require bus name prefix
  devargs: simplify implementation
  eal: add generic device declaration parameter
  bus: make device recognition function public
  net/failsafe: keep legacy sub-device declaration
  ether: use new devargs parsing function
  devargs: remove old devargs parsing function
  devargs: use proper prefix
  doc: remove devargs deprecation notices

 MAINTAINERS                                     |   1 -
 app/test-pmd/cmdline.c                          |   2 +-
 doc/guides/rel_notes/deprecation.rst            |  13 ---
 drivers/bus/pci/pci_common.c                    |  22 +---
 drivers/net/failsafe/failsafe_args.c            |  11 +-
 examples/bond/main.c                            |   2 +-
 lib/librte_eal/bsdapp/eal/rte_eal_version.map   |  15 ++-
 lib/librte_eal/common/eal_common_dev.c          |  39 ++-----
 lib/librte_eal/common/eal_common_devargs.c      | 129 +++++++++--------------
 lib/librte_eal/common/eal_common_options.c      |  47 ++++++---
 lib/librte_eal/common/eal_common_vdev.c         |  11 +-
 lib/librte_eal/common/eal_options.h             |   2 +
 lib/librte_eal/common/include/rte_bus.h         |  12 +++
 lib/librte_eal/common/include/rte_dev.h         |   8 --
 lib/librte_eal/common/include/rte_devargs.h     | 120 ++++++++--------------
 lib/librte_eal/linuxapp/eal/rte_eal_version.map |  15 ++-
 lib/librte_ether/rte_ethdev.c                   |  11 +-
 test/test/Makefile                              |   1 -
 test/test/commands.c                            |   2 +-
 test/test/test_devargs.c                        | 131 ------------------------
 20 files changed, 186 insertions(+), 408 deletions(-)
 delete mode 100644 test/test/test_devargs.c

-- 
2.1.4



More information about the dev mailing list