mbox series

[v2,0/5] eal: enable global device syntax

Message ID 1610983002-7630-1-git-send-email-xuemingl@nvidia.com (mailing list archive)
Headers
Series eal: enable global device syntax |

Message

Xueming Li Jan. 18, 2021, 3:16 p.m. UTC
  The new Global Device Syntax [1] is used to identify a device with full
bus, class and driver description, example:
 -a bus=pci,addr=82:00.0/class=eth/driver=mlx5,...

This patchset enables global device syntax with backward compatibility
by:
- unify devargs memory cleanup
- parse name from bus parameters 
- try new global syntax parsing firstly and fallback to legacy parsing.


History:

V1:
 - Inital version

V2:
 - add devargs.src as complete source dev string
 - change devargs.data to scratch buffer
 - add rte_drvargs_free() to release scratch memory
 - change name policy to align with rte_eth_iterator_init()
 - remove PCI bus fix as name already resolved in rte_devargs_parse().


[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

[3] V1:
http://patchwork.dpdk.org/project/dpdk/list/?series=14610



Xueming Li (5):
  devargs: fix memory leak on parsing error
  devargs: refactor scratch buffer storage
  kvargs: add get by key function
  devargs: parse name from global device syntax
  devargs: enable global device syntax devargs

 app/test-pmd/config.c                        |  7 +--
 app/test-pmd/testpmd.c                       |  5 +-
 drivers/bus/vdev/vdev.c                      |  9 +--
 drivers/net/failsafe/failsafe_args.c         |  3 +-
 drivers/net/failsafe/failsafe_eal.c          |  2 +-
 examples/multi_process/hotplug_mp/commands.c |  6 +-
 lib/librte_eal/common/eal_common_dev.c       |  9 ++-
 lib/librte_eal/common/eal_common_devargs.c   | 60 ++++++++++++++------
 lib/librte_eal/common/hotplug_mp.c           |  6 +-
 lib/librte_eal/include/rte_devargs.h         | 18 ++++--
 lib/librte_eal/rte_eal_exports.def           |  1 +
 lib/librte_eal/version.map                   |  1 +
 lib/librte_ethdev/rte_ethdev.c               |  7 +--
 lib/librte_kvargs/rte_kvargs.c               | 20 +++++++
 lib/librte_kvargs/rte_kvargs.h               | 14 +++++
 lib/librte_kvargs/version.map                |  1 +
 16 files changed, 120 insertions(+), 49 deletions(-)