DPDK patches and discussions
 help / color / mirror / Atom feed
From: Ferruh Yigit <ferruh.yigit@intel.com>
To: Yuanhan Liu <yliu@fridaylinux.org>, dev@dpdk.org
Cc: Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] [PATCH] doc: document the new devargs syntax
Date: Wed, 17 Jan 2018 12:34:08 +0000	[thread overview]
Message-ID: <68453aa8-de09-c41b-0b84-82eb6bbe19ac@intel.com> (raw)
In-Reply-To: <1516114218-21501-1-git-send-email-yliu@fridaylinux.org>

On 1/16/2018 2:50 PM, Yuanhan Liu wrote:
> This patch documents the new devargs syntax, which is going to be
> implemented in DPDK v18.05.
> 
> The new devargs proposal is introduced for having a consistent
> interface for:
> 
> - whitelisting/blacklisting devices
> - identifying ports
> - attaching/detaching devices

Hi Yuanhan,

devargs = device arguments, the PMD specific arguments, similar to module_param
in Linux.

Currently only "--vdev" and -w/-b eal parameters parse proceeding strings as
devargs.

Like: "--vdev "net_pcap,iface=lo" .
For this case "iface=lo" device specific argument and available to use from pcap
PMD.

I agree it to have a consistent way to describe device, that makes better
whitelist/blacklist support. But that part is not device args, more like device
identifier.

When you use this string with whitelist/blacklist I think you won't need
"iface=lo" part, only need first part. And when using with --vdev, (or perhaps
with attach) you don't need to use first part
"bus=pci,id=0000:01:00.0/class=eth,mac=00:11:22:33:44:55", PMD already knows it
is in virtual bus and its class etc.

So does it make sense to separate them logically? Perhaps as "device identifier"
and "device args".

string can become:
"device=bus=pci,id=0000:01:00.0/class=eth,mac=00:11:22:33:44:55;driver=PMD_NAME,driverspecificproperty=VALUE"

specific usages can become:
-w "device=bus=pci,id=0000:01:00.0/class=eth,mac=00:11:22:33:44:55"
--vdev "driver=PMD_NAME,driverspecificproperty=VALUE"

And store them in two separate storage, and eal or PMD can ask for "device
identifier" or "device args" separately?

What do you think?

> 
> Please check the patch content for the details. Also, here is link
> for the background:
>     http://dpdk.org/ml/archives/dev/2017-November/082600.html
> 
> This syntax is suggestd by Thomas:
>     http://dpdk.org/ml/archives/dev/2017-December/084234.html
> 
> Signed-off-by: Yuanhan Liu <yliu@fridaylinux.org>
> ---
>  doc/guides/prog_guide/env_abstraction_layer.rst | 34 +++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/doc/guides/prog_guide/env_abstraction_layer.rst b/doc/guides/prog_guide/env_abstraction_layer.rst
> index 34d871c..12f37f2 100644
> --- a/doc/guides/prog_guide/env_abstraction_layer.rst
> +++ b/doc/guides/prog_guide/env_abstraction_layer.rst
> @@ -213,6 +213,40 @@ device having emitted a Device Removal Event. In such case, calling
>  callback. Care must be taken not to close the device from the interrupt handler
>  context. It is necessary to reschedule such closing operation.
>  
> +Devargs
> +~~~~~~~
> +
> +The ``devargs`` can be used for whitelisting/blacklisting devices, identifying
> +DPDK ports and attaching/deatching devices. They all share the same syntax.
> +
> +It is split in 3 categories, where almost everything is optional key/value pairs:
> +
> +* bus (pci, vdev, vmbus, fslmc, etc)
> +* class (eth, crypto, etc)
> +* driver (i40e, mlx5, virtio, etc)
> +
> +The key/value pair describing the category scope is mandatory and must be the
> +first pair in the category properties. Example: bus=pci, must be placed before
> +id=0000:01:00.0.
> +
> +The syntax has below rules:
> +
> +* Between categories, the separator is a slash.
> +* Inside a category, the separator is a comma.
> +* Inside a key/value pair, the separator is an equal sign.
> +* Each category can be used alone.
> +
> +Here is an example with all categories::
> +
> +    bus=pci,id=0000:01:00.0/class=eth,mac=00:11:22:33:44:55/driver=PMD_NAME,driverspecificproperty=VALUE
> +
> +It can also be simple like below::
> +
> +    class=eth,mac=00:11:22:33:44:55
> +
> +A device is identified when every properties are matched. Before device is
> +probed, only the bus category is relevant.
> +
>  Blacklisting
>  ~~~~~~~~~~~~
>  
> 

  parent reply	other threads:[~2018-01-17 12:34 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-16 14:50 Yuanhan Liu
2018-01-16 16:33 ` Mcnamara, John
2018-01-16 23:19 ` Gaëtan Rivet
2018-01-16 23:22   ` Thomas Monjalon
2018-01-16 23:46     ` Gaëtan Rivet
2018-01-17  0:03       ` Thomas Monjalon
2018-01-17  9:37         ` Gaëtan Rivet
2018-01-17  9:43           ` Thomas Monjalon
2018-01-17 10:11 ` Gaëtan Rivet
2018-01-17 10:54   ` Thomas Monjalon
2018-01-17 12:34 ` Ferruh Yigit [this message]
2018-01-18  7:35   ` Yuanhan Liu
2018-01-18  8:46     ` Thomas Monjalon
2018-01-18  9:46       ` Gaëtan Rivet
2018-01-23 12:46         ` Yuanhan Liu
2018-01-23 14:29           ` Thomas Monjalon
2018-01-23 16:08             ` Gaëtan Rivet
2018-01-23 17:22               ` Thomas Monjalon
2018-01-23 17:37                 ` Gaëtan Rivet
2018-01-23 18:12                   ` Thomas Monjalon
2018-01-24 15:24               ` Yuanhan Liu
2018-01-24 16:51                 ` Thomas Monjalon
2018-01-24  6:43             ` Yuanhan Liu
2018-01-24  8:19               ` Thomas Monjalon
2018-01-24  9:28                 ` Yuanhan Liu
2018-01-24 10:21                   ` Thomas Monjalon
2018-01-24 10:36                     ` Yuanhan Liu
2018-01-24 10:37                       ` Thomas Monjalon
2018-01-24 15:04                         ` Yuanhan Liu
2018-01-24 16:57                           ` Thomas Monjalon
2018-01-25 14:41                             ` Yuanhan Liu
2018-01-25 14:58                               ` Thomas Monjalon
2023-06-08 22:51 ` Stephen Hemminger

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=68453aa8-de09-c41b-0b84-82eb6bbe19ac@intel.com \
    --to=ferruh.yigit@intel.com \
    --cc=dev@dpdk.org \
    --cc=thomas@monjalon.net \
    --cc=yliu@fridaylinux.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).