[dpdk-dev] [PATCH v2 00/13] Implement new devargs framework
Gaetan Rivet
gaetan.rivet at 6wind.com
Wed Sep 19 18:03:30 CEST 2018
Last release saw the introduction of the new devargs system.
To this end, the "class" abstraction was described as well
as a common API for querying and declaring devices.
This patchset implements the "eth" device class and the
query/declaration part of the framework for PCI and vdev buses,
enabling a minimal support for the new system.
A new testpmd command is added to test device querying.
Devargs parsing is extended in the relevant buses to test
device declaration. This part uses the new "rte_eth_dev_create" API,
introduced last release and used by only two PMDs, for now.
The new devargs format is also made available through the new --dev parameter.
Next work is to generalize use of new API for eth_dev creation,
compatibility layer for -w, -b and --vdev with --dev, and devargs unit test.
--
v2: fixed Andrew's and Stephen's remarks,
added acks.
Gaetan Rivet (13):
bus/pci: implement device iteration and comparison
bus/pci: add device matching field id
bus/vdev: implement device iteration
bus/vdev: add device matching field driver
ethdev: add private generic device iterator
ethdev: register ether layer as a class
ethdev: add device matching field name
app/testpmd: add show device command
bus/pci: pre-process declarative PCI devargs
bus/vdev: pre-process declarative vdev devargs
bus/pci: process declarative PCI devargs
ethdev: process declarative eth devargs
eal: add generic dev parameter
app/test-pmd/cmdline.c | 54 +++++++
doc/guides/testpmd_app_ug/testpmd_funcs.rst | 24 +++
drivers/bus/pci/Makefile | 3 +-
drivers/bus/pci/bsd/pci.c | 5 +
drivers/bus/pci/linux/pci.c | 5 +
drivers/bus/pci/meson.build | 6 +-
drivers/bus/pci/pci_common.c | 6 +-
drivers/bus/pci/pci_params.c | 136 +++++++++++++++++
drivers/bus/pci/private.h | 54 +++++++
drivers/bus/vdev/Makefile | 3 +-
drivers/bus/vdev/meson.build | 5 +-
drivers/bus/vdev/vdev.c | 20 ++-
drivers/bus/vdev/vdev_params.c | 112 ++++++++++++++
drivers/bus/vdev/vdev_private.h | 32 ++++
lib/librte_eal/common/eal_common_devargs.c | 4 +
lib/librte_eal/common/eal_common_options.c | 36 ++++-
lib/librte_eal/common/eal_options.h | 2 +
lib/librte_ethdev/Makefile | 4 +-
lib/librte_ethdev/ethdev_private.c | 31 ++++
lib/librte_ethdev/ethdev_private.h | 31 ++++
lib/librte_ethdev/meson.build | 4 +-
lib/librte_ethdev/rte_class_eth.c | 158 ++++++++++++++++++++
lib/librte_ethdev/rte_ethdev.c | 7 +
23 files changed, 721 insertions(+), 21 deletions(-)
create mode 100644 drivers/bus/pci/pci_params.c
create mode 100644 drivers/bus/vdev/vdev_params.c
create mode 100644 drivers/bus/vdev/vdev_private.h
create mode 100644 lib/librte_ethdev/ethdev_private.c
create mode 100644 lib/librte_ethdev/ethdev_private.h
create mode 100644 lib/librte_ethdev/rte_class_eth.c
--
2.18.0
More information about the dev
mailing list