[dpdk-dev] [PATCH v1 0/7] eal: support global syntax

Xueming Li xuemingl at nvidia.com
Fri Jan 8 15:54:34 CET 2021


New Global device syntax [1] is used to identify a device with full bus,
class and driver description, example:
 -a bus=pci,id=82:00.0/class=eth/driver=mlx5,dv_flow_en=1

This patch enables global syntax with backward compatibility by trying
new global syntax firstly and fallback to legacy parsing.

For PCI device, BDF is retrived from the "id" attribute of bus section,
parse from device name if "id" not available.


Depends-on: patch-86058 ("ethdev: refactor representor infrastructure")


[1] Global Device Syntax:
https://www.dpdk.org/wp-content/uploads/sites/35/2018/10/am-07-DPDK-hotplug-20180905.pdf

[2] RFC:
http://patchwork.dpdk.org/project/dpdk/list/?series=14378


Xueming Li (7):
  devargs: fix data buffer storage type
  devargs: fix memory leak on parsing error
  devargs: fix memory leak in legacy parser
  devargs: fix buffer data memory leak
  kvargs: add get by key function
  devargs: support new global device syntax
  bus/pci: add new global device syntax support

 app/test-pmd/config.c                        |  4 +--
 app/test-pmd/testpmd.c                       |  4 +--
 drivers/bus/pci/pci_common.c                 | 18 ++++++++--
 drivers/bus/vdev/vdev.c                      |  5 +--
 drivers/net/failsafe/failsafe_args.c         |  3 +-
 drivers/net/failsafe/failsafe_eal.c          |  2 +-
 examples/multi_process/hotplug_mp/commands.c |  8 ++---
 examples/vdpa/main.c                         |  6 ++--
 lib/librte_eal/common/eal_common_dev.c       |  7 ++--
 lib/librte_eal/common/eal_common_devargs.c   | 36 ++++++++++++++++----
 lib/librte_eal/common/hotplug_mp.c           |  5 ++-
 lib/librte_eal/include/rte_dev.h             |  2 +-
 lib/librte_eal/include/rte_devargs.h         |  2 +-
 lib/librte_ethdev/rte_ethdev.c               |  5 +--
 lib/librte_kvargs/rte_kvargs.c               | 20 +++++++++++
 lib/librte_kvargs/rte_kvargs.h               | 14 ++++++++
 lib/librte_kvargs/version.map                |  1 +
 17 files changed, 108 insertions(+), 34 deletions(-)

-- 
2.25.1



More information about the dev mailing list