From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f49.google.com (mail-wm0-f49.google.com [74.125.82.49]) by dpdk.org (Postfix) with ESMTP id A11BE5A98 for ; Thu, 1 Jun 2017 12:10:40 +0200 (CEST) Received: by mail-wm0-f49.google.com with SMTP id n195so25248995wmg.1 for ; Thu, 01 Jun 2017 03:10:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=Pth1DuN6iggQNG4LKeTOKHBv+vtUS66xMFlOESH7/sE=; b=XyaF0f7Yp07cLejHmjSYi5Xdl5kC0a0A5+BGlgOxi8yI6DRnAHSBUyhy7AaI8GmYas 32QOjBwq6NLPLkUIrYkheJjcUYeg6WI1ukC27bqjTTMRlUuEOfOApLPukVSBeWTsoMEt /JLai9zduSJsbVMnsUKUNSIRVIseRZtsselSw/OIQ+WkUK8PmX219Mw4z64xq8rfx27P ou9ThBkhnZ/nrWx01SuB33sa4jwHAFvMrpt5usXUKf3H/RTigeImNTqKc0lwiYLU2jLy 8AiP0lZigmieVz/M2GcspMCkrvC4wAYgRrIl6dv+CDb1DMmxa5bCPRDC32Y3qbvhxz5P UKLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=Pth1DuN6iggQNG4LKeTOKHBv+vtUS66xMFlOESH7/sE=; b=lPxVuVaPwiP48vWIOoyhOOeAYl1btD3/kAcbAm5O7SUrC6gQzt1Lvs1HebU+vpAF1l WmCBahK3IxIMOa4ynwKy4fqT1sFEpcMldh9UZloIrdxcTpGOC3i1FDG1ADB2aqYefF22 ipBNuwP3F2YnFazdaatAq063MfEKHGl29SryNeEdit62YFOZd5WbYICNP1UAlMlwBWLF U/xwcp9ETIjkZRyI9IRPLbkTKAEl2VYAOHOpNPuqMCwD9PiYu0aUHWfTG421YAMxsnH/ RGqHA/JN/+yjdZryhYIikIUFH7CqVtPIdBYoInaWPEllUQ6DfiY+ldJJjkTewVmBpjk9 4gRw== X-Gm-Message-State: AODbwcBc2y/tc3SoSGc8yTeTn0zCtefk7o97/7GJcTbR8eif6nM+0aW8 aTFXMz0ZDNQS3YKoBB4= X-Received: by 10.28.167.197 with SMTP id q188mr7982115wme.79.1496311839611; Thu, 01 Jun 2017 03:10:39 -0700 (PDT) Received: from bidouze.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id y19sm1022569wmh.21.2017.06.01.03.10.38 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 01 Jun 2017 03:10:38 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet , Jan Blunck , Stephen Hemminger , Maxime Coquelin , Jerin Jacob , David Marchand Date: Thu, 1 Jun 2017 12:10:15 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 In-Reply-To: References: Subject: [dpdk-dev] [PATCH v3 00/14] Generic devargs parsing 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: , X-List-Received-Date: Thu, 01 Jun 2017 10:10:40 -0000 The second part of the work outlined in [1] and [2]. The first part is at [3]. In this patchset, the representation of devices in rte_devargs is made generic to remove some dependencies of the EAL on specific buses implementations. Following the device types being characterized by their bus, the DEVTYPE flags are updated not to reference virtual / PCI devices anymore. The device type was one of two elements expressed by these flags and the bus handle only covers one. The second is the bus scan behavior, namely "whitelist mode" or "blacklist mode". These two modes are consequently introduced as bus scan policies, expressed within a bus configuration structure. Finally, once all specialized parts have been removed from rte_devargs, a cleaner rte_devargs parser is proposed. This parser should allow following further changes without having to update its API, and is already available for third parties to build rte_devargs structures from device declarations. With this patchset, it is now possible to use any device type on the EAL command line, with either the -w or -b parameters. The bus name can be used to explicitly ask for one bus to handle a device if there is any ambiguity. Buses needs only to implement the "parse" method for their devices to be declared in this way. [1]: http://dpdk.org/ml/archives/dev/2017-May/065634.html [2]: http://dpdk.org/ml/archives/dev/2017-May/065670.html [3]: http://dpdk.org/ml/archives/dev/2017-May/066341.html This patchset depends on: [PATCH 0/9] rte_bus parse API http://dpdk.org/ml/archives/dev/2017-May/066341.html http://dpdk.org/dev/patchwork/patch/24499/ v1 -> v2: * fix PCI whitelist mode v2 -> v3: * Rebase the series on the new plug / unplug API Gaetan Rivet (14): net/bonding: properly reference PCI header net/bnxt: properly reference PCI header net/mlx5: properly reference PCI header net/e1000: properly reference PCI header net/ixgbe: properly reference PCI header net/sfc: properly reference PCI header app/testpmd: properly reference PCI header dev: device kernel module is a device attribute bus: introduce bus scan policies devargs: parse bus policies devargs: generic device representation net/virtio: do not reference device type devargs: generic device types devargs: introduce cleaner parsing helper app/test-pmd/testpmd.c | 9 +- app/test-pmd/testpmd.h | 2 + doc/guides/rel_notes/deprecation.rst | 5 + drivers/net/bnxt/bnxt.h | 1 + drivers/net/bonding/rte_eth_bond_args.c | 1 + drivers/net/e1000/e1000_ethdev.h | 1 + drivers/net/ixgbe/ixgbe_ethdev.h | 1 + drivers/net/mlx5/mlx5.h | 1 + drivers/net/sfc/sfc.h | 1 + drivers/net/virtio/virtio_pci.c | 5 +- lib/librte_eal/common/eal_common_devargs.c | 137 ++++++++++++++++------------ lib/librte_eal/common/eal_common_options.c | 13 +-- lib/librte_eal/common/eal_common_pci.c | 15 +-- lib/librte_eal/common/eal_common_vdev.c | 16 ++-- lib/librte_eal/common/include/rte_bus.h | 17 ++++ lib/librte_eal/common/include/rte_dev.h | 12 +++ lib/librte_eal/common/include/rte_devargs.h | 42 +++++---- lib/librte_eal/common/include/rte_pci.h | 9 -- lib/librte_eal/common/include/rte_vdev.h | 2 +- 19 files changed, 169 insertions(+), 121 deletions(-) -- 2.1.4