DPDK patches and discussions
 help / color / mirror / Atom feed
From: "Gaëtan Rivet" <gaetan.rivet@6wind.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>
Cc: Matan Azrad <matan@mellanox.com>, "dev@dpdk.org" <dev@dpdk.org>,
	"john.mcnamara@intel.com" <john.mcnamara@intel.com>
Subject: Re: [dpdk-dev] [PATCH] doc: update failsafe feature list
Date: Thu, 26 Oct 2017 00:55:29 +0200	[thread overview]
Message-ID: <20171025225529.GA10890@bidouze.vm.6wind.com> (raw)
In-Reply-To: <bf108e9d-0bc4-ee77-d47c-b6c2c145e5bc@intel.com>

On Wed, Oct 25, 2017 at 11:44:39AM -0700, Ferruh Yigit wrote:
> On 9/23/2017 10:55 PM, Matan Azrad wrote:
> > Hi Ferruh
> > 
> >> -----Original Message-----
> >> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com]
> >> Sent: Friday, September 22, 2017 1:32 PM
> >> To: Matan Azrad <matan@mellanox.com>; Gaetan Rivet
> >> <gaetan.rivet@6wind.com>
> >> Cc: dev@dpdk.org; john.mcnamara@intel.com
> >> Subject: Re: [dpdk-dev] [PATCH] doc: update failsafe feature list
> >>
> >> On 9/19/2017 12:39 PM, Matan Azrad wrote:
> >>> Hi Ferruh
> >>>
> >>>> -----Original Message-----
> >>>> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com]
> >>>> Sent: Tuesday, September 19, 2017 2:00 PM
> >>>> To: Matan Azrad <matan@mellanox.com>; Gaetan Rivet
> >>>> <gaetan.rivet@6wind.com>
> >>>> Cc: dev@dpdk.org; john.mcnamara@intel.com
> >>>> Subject: Re: [dpdk-dev] [PATCH] doc: update failsafe feature list
> >>>>
> >>>> On 9/19/2017 11:04 AM, Matan Azrad wrote:
> >>>>>
> >>>>> Hi Ferruh
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Ferruh Yigit [mailto:ferruh.yigit@intel.com]
> >>>>>> Sent: Tuesday, September 19, 2017 12:27 PM
> >>>>>> To: Matan Azrad <matan@mellanox.com>; Gaetan Rivet
> >>>>>> <gaetan.rivet@6wind.com>
> >>>>>> Cc: dev@dpdk.org
> >>>>>> Subject: Re: [dpdk-dev] [PATCH] doc: update failsafe feature list
> >>>>>>
> >>>>>> On 9/14/2017 4:32 PM, Matan Azrad wrote:
> >>>>>>> Add supported failsafe features to feature list.
> >>>>>>> Remove stats per queue feature from failsafe feature list since
> >>>>>>> queue_stats_mapping_set dev op has not implemented yet.
> >>>>>>>
> >>>>>>> Signed-off-by: Matan Azrad <matan@mellanox.com>
> >>>>>>> ---
> >>>>>>>  doc/guides/nics/features/failsafe.ini | 15 ++++++++++++++-
> >>>>>>>  1 file changed, 14 insertions(+), 1 deletion(-)
> >>>>>>>
> >>>>>>> diff --git a/doc/guides/nics/features/failsafe.ini
> >>>>>>> b/doc/guides/nics/features/failsafe.ini
> >>>>>>> index a42e344..9f48455 100644
> >>>>>>> --- a/doc/guides/nics/features/failsafe.ini
> >>>>>>> +++ b/doc/guides/nics/features/failsafe.ini
> >>>>>>> @@ -4,20 +4,33 @@
> >>>>>>>  ; Refer to default.ini for the full list of available PMD features.
> >>>>>>>  ;
> >>>>>>>  [Features]
> >>>>>>> +Speed capabilities   = Y
> >>>>>>>  Link status          = Y
> >>>>>>>  Link status event    = Y
> >>>>>>>  MTU update           = Y
> >>>>>>>  Jumbo frame          = Y
> >>>>>>> +Scattered Rx         = Y
> >>>>>>> +LRO                  = Y
> >>>>>>> +TSO                  = Y
> >>>>>>>  Promiscuous mode     = Y
> >>>>>>>  Allmulticast mode    = Y
> >>>>>>>  Unicast MAC filter   = Y
> >>>>>>>  Multicast MAC filter = Y
> >>>>>>>  VLAN filter          = Y
> >>>>>>> +Ethertype filter     = Y
> >>>>>>> +N-tuple filter       = Y
> >>>>>>> +SYN filter           = Y
> >>>>>>> +Tunnel filter        = Y
> >>>>>>> +Flexible filter      = Y
> >>>>>>> +Hash filter          = Y
> >>>>>>> +Flow director        = Y
> >>>>>>>  Flow control         = Y
> >>>>>>>  Flow API             = Y
> >>>>>>> +QinQ offload         = Y
> >>>>>>> +L3 checksum offload  = Y
> >>>>>>> +L4 checksum offload  = Y
> >>>>>>>  Packet type parsing  = Y
> >>>>>>>  Basic stats          = Y
> >>>>>>> -Stats per queue      = Y
> >>>>>>>  ARMv7                = Y
> >>>>>>>  ARMv8                = Y
> >>>>>>>  Power8               = Y
> >>>>>>
> >>>>>> I am not sure if claiming support for these features is correct.
> >>>>>> Failsafe itself doesn't provide these features, but relies
> >>>>>> underlying hardware which we don't really know what they supports
> >>>>>> or not in this
> >>>> stage.
> >>>>>>
> >>>>>
> >>>>> Don't you think that almost all failsafe features rely underlying
> >>>>> hardware or
> >>>> sub PMDs?
> >>>>
> >>>> You are right, perhaps we should remove all. This is helpful to show
> >>>> what device features are supported. For failsafe, is this information
> >> useful?
> >>>>
> >>> Since there are features that failsafe cannot support without any sub
> >>> PMD dependences (for example "Stats per queue") it is useful.
> >>
> >> Sorry, I missed your point.
> >>
> >> Device feature list documentation is good for:
> >> - End user can easily see what to expect from a device/driver.
> >> - To trace what features implemented for a device.
> >> - To find out which device has a specific desired feature.
> >>
> >> For failsafe, it is a virtual overlay device on other physical devices.
> >>
> >> The supported architectures and provided documents features can be
> >> useful. But why/how NIC related features can be useful since all they are
> >> coming form underlay devices?
> >>
> > My point is that someone can understand from this list all failsafe PMD features which are not
> > supported even if the failsafe sub devices PMD may support them.
> 
> It may be possible to document them as "Feature = N" if you sure they are not
> supported,
> instead of saying the features that may or may not be supported as supported.
> 
> > Please read section 31.1 in failsafe documentation: http://dpdk.org/doc/guides/nics/fail_safe.html
> > Actually, the failsafe supported features is the logical AND between all its sub devices supported features and failsafe default features.
> > I think this table should reflect the failsafe default features. 
> 
> So if any PMD doesn't support that feature, it won't be supported, right? If so
> why we are documented it as supported.
> 
> Agree to document default features independent from what PMD supports, as I said
> before "supported architectures and provided documents" etc..
> 
> > It is very useful for failsafe user to compare failsafe features and sub devices features to infer which feature is going to be supported with failsafe combination.
> > 
> > In addition,
> > Even if the PMD part is only to set capability bit (NIC related features capability) user must know that failsafe is going to set it.
> 
> Still this depends on if PMD supports it or not.
> 
> Out of curiosity, how failsafe set the underlying PMD features, automatically or
> based on user request? I guess it checks that all PMDs support feature before
> setting it.
> 

Hi Ferruh,

I won't comment on the rest of the discussion, as I see merit to both
positions and I am still undecided about what is most interesting to the
user.

On your last question:

For ether ops, the fail-safe relies on the public ether API of the
sub-device eth_dev.

For interrupts, the fail-safe relies on user request or on specific PMD
support for RMV_EVENT: it doesn't matter if the other sub-device does
not support the RMV event, if one PMD supports it it will be enabled.

For offloads, the fail-safe will do a logical AND of offload amongst the
sub-device PMDs and restrict those to this subset.
If a plugged-in PMD has a different set of supported offloads, the
fail-safe throws an error.

Generally, sub-device PMDs are expected to closely match feature-wise.

> > 
> >>>
> >>>>>
> >>>>>> OK for dropping "Stats per queue"
> >>>>>>
> >>>>>>>
> >>>>>
> >>>
> > 
> 

-- 
Gaëtan Rivet
6WIND

  reply	other threads:[~2017-10-25 22:55 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-14 15:32 Matan Azrad
2017-09-18 13:51 ` Mcnamara, John
2017-09-19  9:27 ` Ferruh Yigit
2017-09-19 10:04   ` Matan Azrad
2017-09-19 11:00     ` Ferruh Yigit
2017-09-19 11:39       ` Matan Azrad
2017-09-22 10:32         ` Ferruh Yigit
2017-09-24  5:55           ` Matan Azrad
2017-10-25 18:44             ` Ferruh Yigit
2017-10-25 22:55               ` Gaëtan Rivet [this message]
2017-11-01 22:33               ` Ferruh Yigit
2017-11-02  5:53                 ` Matan Azrad
2017-11-02 17:48                   ` Ferruh Yigit

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=20171025225529.GA10890@bidouze.vm.6wind.com \
    --to=gaetan.rivet@6wind.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=john.mcnamara@intel.com \
    --cc=matan@mellanox.com \
    /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).