DPDK patches and discussions
 help / color / mirror / Atom feed
From: Stephen Hemminger <stephen@networkplumber.org>
To: Thomas Monjalon <thomas@monjalon.net>
Cc: "Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
	David Marchand <david.marchand@redhat.com>,
	"Richardson, Bruce" <bruce.richardson@intel.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	"Lu, Wenzhuo" <wenzhuo.lu@intel.com>,
	"Wu, Jingjing" <jingjing.wu@intel.com>,
	"Iremonger, Bernard" <bernard.iremonger@intel.com>,
	Maxime Coquelin <mcoqueli@redhat.com>,
	"Yigit, Ferruh" <ferruh.yigit@intel.com>,
	Andrew Rybchenko <arybchenko@solarflare.com>,
	"Wiles, Keith" <keith.wiles@intel.com>
Subject: Re: [dpdk-dev] [PATCH 3/5] app/testpmd: add missing transmit errors stats
Date: Fri, 15 Feb 2019 16:37:00 -0800	[thread overview]
Message-ID: <20190215163700.1b04ba6f@shemminger-XPS-13-9360> (raw)
In-Reply-To: <6177115.1iB7W0vHcD@xps>

On Fri, 15 Feb 2019 20:38:59 +0100
Thomas Monjalon <thomas@monjalon.net> wrote:

> 15/02/2019 19:42, Ananyev, Konstantin:
> > >>> From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of David Marchand
> > >>> I am also for option 2 especially because of this.
> > >>> A driver that refuses a packet for reason X (which is a limitation, or an
> > >>> incorrect config or whatever that is not a transient condition) but gives
> > >>> it back to the application is a bad driver.  
> >   
> > >>Why? What.s wrong to leave it to the upper layer to decide what to
> > >>do with the packets that can't be sent (by one reason or another)?  
> >   
> > >How does the upper layer know if this is a transient state or something that can't be resolved?  
> > 
> > Via rte_errno, for example.  
> 
> rte_errno is not a result per packet.
> I think it is better to "eat" the packet
> as it is done for those transmitted to the HW.
> 
> 

First off rte_errno doesn't work for a burst API.

IMHO (which matches /2) all drivers should only increment oerrors for something for
a packet which it could not transmit because of hardware condition (link down etc)
or mbuf which has parameters which can not be handled. In either case, the packet
must be dropped by driver and oerrors incremented.  The driver should also maintain
internal stats (available by xstats) for any conditions like this.

When no tx descriptors are available, the driver must not increment any counter
and return partial success to the application. If application then wants to do
back pressure or drop it should keep its own statistics.

This is close to the original model in the Intel drivers, and matches what BSD and
Linux do on the OS level for drivers. Like many driver assumptions the corner
cases were not explicitly documented and new drivers probably don't follow
the same pattern.

  reply	other threads:[~2019-02-16  0:37 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-02-14 15:42 [dpdk-dev] [PATCH 0/5] display testpmd forwarding engine stats on the fly David Marchand
2019-02-14 15:42 ` [dpdk-dev] [PATCH 1/5] app/testpmd: remove unused fwd_ctx field David Marchand
2019-02-18 19:55   ` Rami Rosen
2019-02-14 15:42 ` [dpdk-dev] [PATCH 2/5] app/testpmd: add missing newline when showing statistics David Marchand
2019-02-19  5:48   ` Rami Rosen
2019-02-14 15:42 ` [dpdk-dev] [PATCH 3/5] app/testpmd: add missing transmit errors stats David Marchand
2019-02-14 16:30   ` Bruce Richardson
2019-02-14 17:39     ` David Marchand
2019-02-14 18:51       ` David Marchand
2019-02-15  8:57         ` Thomas Monjalon
2019-02-15  9:33           ` David Marchand
2019-02-15 14:05             ` Bruce Richardson
2019-02-15 14:13               ` Wiles, Keith
2019-02-15 15:04               ` David Marchand
2019-02-15 16:19                 ` Thomas Monjalon
2019-02-15 17:32                   ` David Marchand
2019-02-15 18:15                     ` Ananyev, Konstantin
2019-02-15 18:31                       ` David Marchand
2019-02-15 18:42                         ` Ananyev, Konstantin
2019-02-15 19:38                           ` Thomas Monjalon
2019-02-16  0:37                             ` Stephen Hemminger [this message]
2019-02-16 13:23                               ` Ananyev, Konstantin
2019-02-16 12:50                             ` Ananyev, Konstantin
2019-02-20  8:33                               ` David Marchand
2019-02-24 11:55                                 ` Ananyev, Konstantin
2019-02-14 15:42 ` [dpdk-dev] [PATCH 4/5] app/testpmd: remove useless casts on statistics David Marchand
2019-02-14 15:42 ` [dpdk-dev] [PATCH 5/5] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-11 15:35 ` [dpdk-dev] [PATCH v2 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 1/4] app/testpmd: remove unused fwd_ctx field David Marchand
2019-03-19 18:29     ` [dpdk-dev] [dpdk-stable] " Ferruh Yigit
2019-03-19 18:29       ` Ferruh Yigit
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 2/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-11 15:53     ` Andrew Rybchenko
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-11 15:57     ` Andrew Rybchenko
2019-03-11 16:03       ` David Marchand
2019-03-11 15:35   ` [dpdk-dev] [PATCH v2 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-20 10:02   ` [dpdk-dev] [PATCH v3 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-20 10:02     ` David Marchand
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 1/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 13:49       ` Andrew Rybchenko
2019-03-20 13:49         ` Andrew Rybchenko
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 2/4] app/testpmd: extend fwd statistics to 64bits David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 13:55       ` Andrew Rybchenko
2019-03-20 13:55         ` Andrew Rybchenko
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 13:58       ` Andrew Rybchenko
2019-03-20 13:58         ` Andrew Rybchenko
2019-03-20 10:02     ` [dpdk-dev] [PATCH v3 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-20 10:02       ` David Marchand
2019-03-20 12:25       ` Ferruh Yigit
2019-03-20 12:25         ` Ferruh Yigit
2019-03-20 12:44         ` David Marchand
2019-03-20 12:44           ` David Marchand
2019-03-20 13:29           ` Ferruh Yigit
2019-03-20 13:29             ` Ferruh Yigit
2019-03-21 18:50       ` Ferruh Yigit
2019-03-21 18:50         ` Ferruh Yigit
2019-03-21 20:34         ` David Marchand
2019-03-21 20:34           ` David Marchand
2019-03-22 13:37     ` [dpdk-dev] [PATCH v4 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-22 13:37       ` David Marchand
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 1/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:03         ` Maxime Coquelin
2019-03-22 17:03           ` Maxime Coquelin
2019-03-22 17:17         ` Maxime Coquelin
2019-03-22 17:17           ` Maxime Coquelin
2019-03-22 17:23           ` David Marchand
2019-03-22 17:23             ` David Marchand
2019-03-22 17:31             ` Andrew Rybchenko
2019-03-22 17:31               ` Andrew Rybchenko
2019-03-22 17:35         ` Andrew Rybchenko
2019-03-22 17:35           ` Andrew Rybchenko
2019-03-22 17:43           ` David Marchand
2019-03-22 17:43             ` David Marchand
2019-03-23 19:12             ` David Marchand
2019-03-23 19:12               ` David Marchand
2019-03-25  6:34               ` Andrew Rybchenko
2019-03-25  6:34                 ` Andrew Rybchenko
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 2/4] app/testpmd: extend fwd statistics to 64bits David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:06         ` Maxime Coquelin
2019-03-22 17:06           ` Maxime Coquelin
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:11         ` Maxime Coquelin
2019-03-22 17:11           ` Maxime Coquelin
2019-03-22 13:37       ` [dpdk-dev] [PATCH v4 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-22 13:37         ` David Marchand
2019-03-22 17:22         ` Maxime Coquelin
2019-03-22 17:22           ` Maxime Coquelin
2019-03-25  8:51       ` [dpdk-dev] [PATCH v5 0/4] display testpmd forwarding engine stats on the fly David Marchand
2019-03-25  8:51         ` David Marchand
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 1/4] app/testpmd: add missing newline when showing statistics David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25  8:55           ` Andrew Rybchenko
2019-03-25  8:55             ` Andrew Rybchenko
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 2/4] app/testpmd: extend fwd statistics to 64bits David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 3/4] app/testpmd: remove useless casts on statistics David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25  8:51         ` [dpdk-dev] [PATCH v5 4/4] app/testpmd: display/clear forwarding stats on demand David Marchand
2019-03-25  8:51           ` David Marchand
2019-03-25 14:05         ` [dpdk-dev] [PATCH v5 0/4] display testpmd forwarding engine stats on the fly Ferruh Yigit
2019-03-25 14:05           ` 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=20190215163700.1b04ba6f@shemminger-XPS-13-9360 \
    --to=stephen@networkplumber.org \
    --cc=arybchenko@solarflare.com \
    --cc=bernard.iremonger@intel.com \
    --cc=bruce.richardson@intel.com \
    --cc=david.marchand@redhat.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=jingjing.wu@intel.com \
    --cc=keith.wiles@intel.com \
    --cc=konstantin.ananyev@intel.com \
    --cc=mcoqueli@redhat.com \
    --cc=thomas@monjalon.net \
    --cc=wenzhuo.lu@intel.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).