From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <gaetan.rivet@6wind.com>
Received: from mail-wm0-f45.google.com (mail-wm0-f45.google.com [74.125.82.45])
 by dpdk.org (Postfix) with ESMTP id 1915F2C8
 for <dev@dpdk.org>; Tue,  4 Jul 2017 02:58:47 +0200 (CEST)
Received: by mail-wm0-f45.google.com with SMTP id w126so181565835wme.0
 for <dev@dpdk.org>; Mon, 03 Jul 2017 17:58:47 -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=8w1VnmsGcPXrHYTe2X7CwwZNF2Hwz7EnsxBRzqzNzpA=;
 b=F8FIYzWEQ6bpo/CygNaSE6nXF3p962WSSW6H3rWbqWmcVLx7Blh/7vavWxJ162EMvi
 Rstz3Cgdzu8oIOUDxctXWyITOEbpFATrBLielwPLXq54Wfqn68qbF3cCa9iLJLI119n4
 FvS2SI06R+BGk6FyIMaKSneFH/K1jJyib2Rb5yG1i63cXUZR/oPjwHU+4leEajU+IzOm
 xOj6tBIIK6WJqmdX6NwSsYJ/BQYa80jhKql5ssavy9x+Dmsz/qFTgTMuHv/C31MJTcMx
 Yx0XH/0z7Q1+WHweY8c7uakn/R/3Hh16zjMSt/p3WCRsm+4t3XzrjQ8k2naTNFQqwoux
 sRgw==
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=8w1VnmsGcPXrHYTe2X7CwwZNF2Hwz7EnsxBRzqzNzpA=;
 b=UpAVgy8Q3Bjsg7P5Gti9uz5wXG7Cho9Mq5U90IATBXzVtD1wEaPpUKl6+d6eeK/Zxd
 UJ/PC+pAUMIUDIL+ya4qUdNrO4H0p+2FvSeYjxxqqUhacgXFf1t/Jf3HzE8gZ2k8LeBa
 kQgqpGozxYATekWwAy1FmBJj0aTG/WjqSmXtB3KiM51RtR7Kbet+NGxgx21pbIZjDaGj
 psz7tCAS3YfPQ9CsSxKYgjSkgCTx6bBmVFlRTRDbA49T6mTR64INjpgUZbsFymdS0TYk
 Sd+LsDWodV0vjZ+1BTg1VfPE+vW4w3j2LtuRyZ/blHHPHUjXfYTviVOZ8BMgUFSPTGlR
 KiFg==
X-Gm-Message-State: AKS2vOwhqna2LBF13ftXHkx87ipEm1rC1luCiwHm6pDGyZ0JH+jNA+Ua
 5yr8xm8Ll8gfmp2ibDo=
X-Received: by 10.28.113.21 with SMTP id m21mr17757746wmc.80.1499129926998;
 Mon, 03 Jul 2017 17:58:46 -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 n189sm15162731wmd.0.2017.07.03.17.58.45
 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128);
 Mon, 03 Jul 2017 17:58:45 -0700 (PDT)
From: Gaetan Rivet <gaetan.rivet@6wind.com>
To: dev@dpdk.org
Cc: Gaetan Rivet <gaetan.rivet@6wind.com>, Jan Blunck <jblunck@infradead.org>,
 Stephen Hemminger <stephen@networkplumber.org>,
 Maxime Coquelin <maxime.coquelin@redhat.com>,
 Jerin Jacob <jerin.jacob@caviumnetworks.com>,
 Bruce Richardson <bruce.richardson@intel.com>,
 David Marchand <david.marchand@6wind.com>
Date: Tue,  4 Jul 2017 02:58:27 +0200
Message-Id: <cover.1499127915.git.gaetan.rivet@6wind.com>
X-Mailer: git-send-email 2.1.4
In-Reply-To: <cover.1497999826.git.gaetan.rivet@6wind.com>
References: <cover.1497999826.git.gaetan.rivet@6wind.com>
Subject: [dpdk-dev] [PATCH v6 0/6] rte_bus parse API
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <http://dpdk.org/ml/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://dpdk.org/ml/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <http://dpdk.org/ml/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
X-List-Received-Date: Tue, 04 Jul 2017 00:58:48 -0000

Following the evolutions announced in [1], here is the first part of
the rte_devargs rework planned for 17.08. The rationale has been partially
explained in [2].

This first part covers the introduction of the necessary facilities in
rte_bus to allow for generic device parsing. This API is implemented for
the virtual and PCI buses. Additionally, this rte_bus evolution is being
used within rte_devargs to characterize a device type by its bus.
This work is the first of two parts to reduce the dependency of the EAL
upon specific bus implementations.

The modified rte_devargs parsing allows declaring on the EAL command line
explicit buses to handle a device. The format is as follow:

  --vdev="virtual:net_ring0" --vdev="net_tap0,iface=tap0"
  -w PCI:00:02.0 -w 00:03.0

This explicit bus designation is optional; no evolution is currently
forced on users to migrate to this new format. The separating character is
arbitrary.

[1]: http://dpdk.org/ml/archives/dev/2017-May/065634.html
[2]: http://dpdk.org/ml/archives/dev/2017-May/065670.html

This patchset depends on:

bus attach/detach API and hotplug rework
http://dpdk.org/ml/archives/dev/2017-June/069643.html
http://dpdk.org/dev/patchwork/patch/26135/

v1 -> v2:

  * fix PCI parse implementation

v2 --> v3:

  * Rebase the series on the new plug / unplug API

v3 --> v4:

  * Several bug fixes, commit log rewrite.
  * Follow the changes to the plug / unplug API.

v5:

  * Do not verify bus name on bus registration.
    Actually, a legal bus name is not defined anymore.
    The bus/device separator in a device declaration can be anything,
    as long as it is a single character.
    The behavior is otherwise unchanged.

v6:

  * Rebase upon new hotplug patchset version.
  * Rename rte_bus_from_dev as rte_bus_find_by_device_name.
    This function is now private to the EAL.
  * Remove rte_bus_from_name, as it has been integrated as
    rte_bus_find_by_name by Jan Blunck.
  * Reduce parsing ambiguity in rte_devargs.

Gaetan Rivet (6):
  bus: fix bus name registration
  bus: introduce parsing functionality
  vdev: implement parse bus operation
  pci: implement parse bus operation
  bus: add helper to find a bus from a device name
  devargs: parse bus info

 lib/librte_eal/common/eal_common_bus.c      | 15 +++++++
 lib/librte_eal/common/eal_common_devargs.c  | 42 +++++++++++++++----
 lib/librte_eal/common/eal_common_pci.c      | 15 +++++++
 lib/librte_eal/common/eal_common_vdev.c     | 64 +++++++++++++++--------------
 lib/librte_eal/common/eal_private.h         | 12 ++++++
 lib/librte_eal/common/include/rte_bus.h     | 23 ++++++++++-
 lib/librte_eal/common/include/rte_devargs.h |  3 ++
 7 files changed, 135 insertions(+), 39 deletions(-)

-- 
2.1.4