From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wr0-f173.google.com (mail-wr0-f173.google.com [209.85.128.173]) by dpdk.org (Postfix) with ESMTP id 882147CF8 for ; Wed, 24 May 2017 17:15:09 +0200 (CEST) Received: by mail-wr0-f173.google.com with SMTP id z52so57027332wrc.2 for ; Wed, 24 May 2017 08:15:09 -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; bh=nI58l3wCa80/ZpuJLsOOJIikTkYI7yKWfg7i8ZX4nGM=; b=ufaItw/v4ak4KFRk2K0mnrTrchWiiBfwyl24EvEeN2yFdbRhq9R0+Eo1TBNivTqx1b kjzUe7yyZxQDVHAYQUDC5dnql7OY0n+4zBDWlvbohUTqfq2Wb8LghokDlAHGBMoW3msT 4zj9jx/pDVFjWOeT7aXC92ppxRqAuDqSEPk/fhGdqzpgoYhIMUx0r1Lve+8AfNOR3dYN UK2cReNRLnWXkr37hYCTUkIq3+G+o+MziWCZGwPF/Kli3PsE9q5gDTGV9rq9sPMAU6sV fsss6Pa3j4b6q85YRHE0/QwLdBUZ0NVtaFkrZyVz/ybXDos352X4KV+RILieckJ35ZYh TnTg== 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; bh=nI58l3wCa80/ZpuJLsOOJIikTkYI7yKWfg7i8ZX4nGM=; b=SccJruVG8WozP2wmfkXA4f/1zGpFIZmxjrNfPMh/+ebfkpZFQ4j9sf+pipPjsjhpWW 6p4RXlfF5LCB4etojG5t6ARawG4ePMmK0Z1In9Q2YMlqokrJM26WehrXfCb2cDUB0Ziq CDP+rzobrpstp0TZD6JdlgVALMQdj+f/uOJUH2U44c79GAr09xE1Lu+HSMQZE2OYwPU2 IqrHDbdSdKYN/3KjHrEZhi7i1V95K2f5zN8ixi+3NBtZDNQc0gPwtoodvGOa+Z9OpOc6 uX5gQabbcJHUv+UBrL2cE7UYZAPAy3VmHHch9nadQ3OMGE1dpovYjAo1+xmMZJ8PuS8F WOvA== X-Gm-Message-State: AODbwcCoYZMiYYGmA3oNmMrMMVUNdSGgqDKFL2CD62ofzgrWYLtf9A0L KDNlSTx7ONkZZlKx X-Received: by 10.223.178.85 with SMTP id y21mr11721891wra.58.1495638909157; Wed, 24 May 2017 08:15:09 -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 a136sm4466145wme.26.2017.05.24.08.15.08 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 24 May 2017 08:15:08 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet , Jan Blunck , Stephen Hemminger , Maxime Coquelin , Jerin Jacob , David Marchand Date: Wed, 24 May 2017 17:14:44 +0200 Message-Id: X-Mailer: git-send-email 2.1.4 Subject: [dpdk-dev] [PATCH 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: Wed, 24 May 2017 15:15:09 -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/ 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 | 12 +-- 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, 167 insertions(+), 119 deletions(-) -- 2.1.4