From patchwork Tue Oct 9 22:33:33 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Thomas Monjalon X-Patchwork-Id: 46445 X-Patchwork-Delegate: ferruh.yigit@amd.com Return-Path: X-Original-To: patchwork@dpdk.org Delivered-To: patchwork@dpdk.org Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 755841B4E9; Wed, 10 Oct 2018 00:33:47 +0200 (CEST) Received: from out3-smtp.messagingengine.com (out3-smtp.messagingengine.com [66.111.4.27]) by dpdk.org (Postfix) with ESMTP id 363F01B209 for ; Wed, 10 Oct 2018 00:33:43 +0200 (CEST) Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id C63E122028; Tue, 9 Oct 2018 18:33:42 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute1.internal (MEProxy); Tue, 09 Oct 2018 18:33:42 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=monjalon.net; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-type:content-transfer-encoding; s=mesmtp; bh=ET7Tz4LmbD1BVE9CWVNC8uTfisBGLDmprnxDCoWCzQw=; b=VL60wAymLp1q 7EBgFOqVCM22ZAhgy55CaB+y/+yBX5y+Ta9/jc38gHfFelBLBNuIvHZh+uZZbx9y hfVj4Uu1sBDXlmkW9kcLDHO0BCm7sCd/RmeYmmTcyWWc2Ca4EsyvkWqu/ABqiQ9H H3FmjD3sHa2ffSUlu6bHBshl6NEYQTU= DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:content-type :date:from:in-reply-to:message-id:mime-version:references :subject:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender :x-sasl-enc; s=fm1; bh=ET7Tz4LmbD1BVE9CWVNC8uTfisBGLDmprnxDCoWCz Qw=; b=OZeAceuCutW/S65VPvBwq9+kfOZiB6B3ozvGL1S/EDCHnhP+Yt3c8OpNH LdpMTNqXYDt4WA1g3Gqz8ncQPGYoViYNME9vTMOWwEcdaZJaLAhgWA1+4Xp2AI8g VbItPreyZlAoDQMK1OJpmcUz220CurrvQXunO4M6DBfJr/0ZtTeUU9q5tOsZIlI4 PzLzJtPnMwY5cyDRSOGlQlYJ3zW5/2tSgX9w+W+RSP0jtua5VmSJGEievu1e2nUr ye+KN2wS+JHdRLQFV6YU87WdyibIpbx8ttUhdHpjk/eXh6hI83eTE5Fwj5hbJkQj +KEo1KGOTFWzD5txmlGASwkTEcgxw== X-ME-Sender: X-ME-Proxy: Received: from xps.monjalon.net (184.203.134.77.rev.sfr.net [77.134.203.184]) by mail.messagingengine.com (Postfix) with ESMTPA id AFB26102EA; Tue, 9 Oct 2018 18:33:41 -0400 (EDT) From: Thomas Monjalon To: dev@dpdk.org Cc: gaetan.rivet@6wind.com, ophirmu@mellanox.com, ferruh.yigit@intel.com, arybchenko@solarflare.com Date: Wed, 10 Oct 2018 00:33:33 +0200 Message-Id: <20181009223338.18307-2-thomas@monjalon.net> X-Mailer: git-send-email 2.19.0 In-Reply-To: <20181009223338.18307-1-thomas@monjalon.net> References: <20181007222554.4886-1-thomas@monjalon.net> <20181009223338.18307-1-thomas@monjalon.net> MIME-Version: 1.0 Subject: [dpdk-dev] [PATCH v4 1/6] bus/vdev: add iteration filter on name X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" A virtual device can be matched with following syntax: bus=vdev,name=X Signed-off-by: Thomas Monjalon Reviewed-by: Andrew Rybchenko --- drivers/bus/vdev/vdev_params.c | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/drivers/bus/vdev/vdev_params.c b/drivers/bus/vdev/vdev_params.c index da270f2ec..6f74704d1 100644 --- a/drivers/bus/vdev/vdev_params.c +++ b/drivers/bus/vdev/vdev_params.c @@ -2,6 +2,8 @@ * Copyright 2018 Gaƫtan Rivet */ +#include + #include #include #include @@ -11,10 +13,12 @@ #include "vdev_private.h" enum vdev_params { + RTE_VDEV_PARAM_NAME, RTE_VDEV_PARAM_MAX, }; static const char * const vdev_params_keys[] = { + [RTE_VDEV_PARAM_NAME] = "name", [RTE_VDEV_PARAM_MAX] = NULL, }; @@ -22,10 +26,21 @@ static int vdev_dev_match(const struct rte_device *dev, const void *_kvlist) { + int ret; const struct rte_kvargs *kvlist = _kvlist; + char *name; + + /* cannot pass const dev->name to rte_kvargs_process() */ + name = strdup(dev->name); + if (name == NULL) + return -1; + ret = rte_kvargs_process(kvlist, + vdev_params_keys[RTE_VDEV_PARAM_NAME], + rte_kvargs_strcmp, name); + free(name); + if (ret != 0) + return -1; - (void) kvlist; - (void) dev; return 0; }