From: Olivier MATZ <olivier.matz@6wind.com>
To: "Zhang, Helin" <helin.zhang@intel.com>,
"Ananyev, Konstantin" <konstantin.ananyev@intel.com>,
"dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH] i40e: Use one bit flag for all hardware detected RX packet errors
Date: Fri, 28 Nov 2014 09:47:37 +0100 [thread overview]
Message-ID: <547836A9.1010008@6wind.com> (raw)
In-Reply-To: <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7CC692@SHSMSX104.ccr.corp.intel.com>
Hi Helin,
On 11/28/2014 09:07 AM, Zhang, Helin wrote:
> After I have completed another task, I read the datasheet carefully again. For those 5
> error bits I introduced for a long time, I'd like to explain one by one as below.
>
> #define PKT_RX_EIP_CKSUM_BAD (0ULL << 0) /**< External IP header checksum error. */
> [Helin] Nobody complains it, so we will keep it there, and just assign a new value to it.
ok.
But it would be nice to have a better definition of this flag: does
external mean outer header? For instance, when you receive a
Ether/IP1/UDP/vxlan/Ether/IP2/xxx, does the flag concerns IP1 or IP2?
If it's IP1, it's really strange compared to the current behavior (the
flag PKT_RX_IP_CKSUM_BAD refers to IP1).
> #define PKT_RX_OVERSIZE (0ULL << 0) /**< Num of desc of an RX pkt oversize. */
> [Helin] I don't think it can be merge with other hardware errors. It indicates the packet
> received needs more descriptors than hardware allowed, and the part of packets can
> still be stored in the mbufs provided. It is a good hint for users that larger size of mbuf
> might be needed. If just put it as hardware error, users will lose this information. So I
> prefer to keep it there, and just assign a new value to it.
Again, a statistic counter would do the job which if it's just to
provide a hint to the application.
I wonder in which case this flag can happen. If you fill the ring with
mbufs that are large enough compared to your ethernet network, this
should not happen in normal conditions. I really don't believe that
an application receiving an mbuf with this flag would stop the driver,
then refill the rings it with larger mbufs.
Last but not least: If it's really useful, should we have the same
behavior on other drivers like ixgbe? I think we really need to care
about not having different ways to use the different drivers.
To me, the only argument in favor of keeping this flag is when the mbuf
contains a part of the data that could be dumped by a user for debug
purposes.
> #define PKT_RX_HBUF_OVERFLOW (0ULL << 0) /**< Header buffer overflow. */
> [Helin] It indicates the header buff size is not enough, but not means hardware cannot
> process the packet received. It is a good hint for the users to provide larger size of header
> buffers. I also prefer to keep it there, and just assign new value to it.
Same for this one.
> #define PKT_RX_RECIP_ERR (0ULL << 0) /**< Hardware processing error. */
> [Helin] In the latest data sheet, it is not opened to external users. So we can just remove
> it from here.
ok
> #define PKT_RX_MAC_ERR (0ULL << 0) /**< MAC error. */
> [Helin] This indicates a real hardware error happens.
And what is the content of the mbuf data in this case? Does the
application really need an mbuf?
Regards,
Olivier
next prev parent reply other threads:[~2014-11-28 8:47 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-11-26 6:07 Helin Zhang
2014-11-26 10:49 ` Ananyev, Konstantin
2014-11-26 11:22 ` Olivier MATZ
2014-11-26 13:38 ` Ananyev, Konstantin
2014-11-26 14:12 ` Olivier MATZ
2014-11-28 8:07 ` Zhang, Helin
2014-11-28 8:47 ` Olivier MATZ [this message]
2014-12-01 1:57 ` Zhang, Helin
2014-12-01 9:58 ` Olivier MATZ
2014-12-02 7:25 ` Zhang, Helin
2014-12-05 1:46 ` [dpdk-dev] [PATCH v2 0/2] fix of enabling all newly added error flags Helin Zhang
2014-12-05 1:46 ` [dpdk-dev] [PATCH v2 1/2] i40e: remove checking rxd flag which is not public Helin Zhang
2014-12-05 1:46 ` [dpdk-dev] [PATCH v2 2/2] mbuf: assign valid bit values for some RX and TX flags Helin Zhang
2014-12-05 10:49 ` Ananyev, Konstantin
2014-12-06 0:42 ` Zhang, Helin
2014-12-06 1:07 ` Zhang, Helin
2014-12-08 10:55 ` Ananyev, Konstantin
2014-12-09 2:29 ` Zhang, Helin
2014-12-06 1:33 ` [dpdk-dev] [PATCH v3] mbuf: fix of enabling all newly added RX error flags Helin Zhang
2014-12-08 10:44 ` Ananyev, Konstantin
2014-12-09 2:23 ` Zhang, Helin
2014-12-08 10:50 ` Thomas Monjalon
2014-12-09 2:14 ` Zhang, Helin
2014-12-09 6:22 ` Thomas Monjalon
2014-12-10 8:55 ` [dpdk-dev] [PATCH v4] " Helin Zhang
2014-12-10 9:35 ` Thomas Monjalon
2014-12-10 13:50 ` Zhang, Helin
2014-12-10 15:26 ` Thomas Monjalon
2014-12-10 22:29 ` Zhang, Helin
2014-12-11 11:16 ` Olivier MATZ
2014-12-12 1:27 ` Zhang, Helin
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=547836A9.1010008@6wind.com \
--to=olivier.matz@6wind.com \
--cc=dev@dpdk.org \
--cc=helin.zhang@intel.com \
--cc=konstantin.ananyev@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).