From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (xvm-189-124.dc0.ghst.net [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id AA54AA0524;
	Fri,  8 Jan 2021 15:55:08 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 20593140FA2;
	Fri,  8 Jan 2021 15:55:08 +0100 (CET)
Received: from mellanox.co.il (mail-il-dmz.mellanox.com [193.47.165.129])
 by mails.dpdk.org (Postfix) with ESMTP id B8D98140F96
 for <dev@dpdk.org>; Fri,  8 Jan 2021 15:55:06 +0100 (CET)
Received: from Internal Mail-Server by MTLPINE1 (envelope-from
 xuemingl@nvidia.com) with SMTP; 8 Jan 2021 16:55:03 +0200
Received: from nvidia.com ([172.27.8.145])
 by labmailer.mlnx (8.13.8/8.13.8) with ESMTP id 108Et0Wu013726;
 Fri, 8 Jan 2021 16:55:01 +0200
From: Xueming Li <xuemingl@nvidia.com>
To: Thomas Monjalon <thomas@monjalon.net>,
 Ferruh Yigit <ferruh.yigit@intel.com>,
 Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>,
 Olivier Matz <olivier.matz@6wind.com>
Cc: dev@dpdk.org, Viacheslav Ovsiienko <viacheslavo@nvidia.com>,
 xuemingl@nvidia.com, Asaf Penso <asafp@nvidia.com>
Date: Fri,  8 Jan 2021 22:54:34 +0800
Message-Id: <20210108145441.23320-1-xuemingl@nvidia.com>
X-Mailer: git-send-email 2.25.1
In-Reply-To: <1608304614-13908-2-git-send-email-xuemingl@nvidia.com>
References: <1608304614-13908-2-git-send-email-xuemingl@nvidia.com>
MIME-Version: 1.0
Content-Transfer-Encoding: 8bit
Subject: [dpdk-dev] [PATCH v1 0/7] eal: support global syntax
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

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