All of lore.kernel.org
 help / color / mirror / Atom feed
From: Thomas Monjalon <thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
To: "Zhang, Helin" <helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: dev-VfR2kkLFssw@public.gmane.org
Subject: Re: [PATCH v4] mbuf: fix of enabling all newly added RX error flags
Date: Wed, 10 Dec 2014 16:26:15 +0100	[thread overview]
Message-ID: <17296025.Gs0n2xkUhX@xps13> (raw)
In-Reply-To: <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7D086F-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>

2014-12-10 13:50, Zhang, Helin:
> 
> > -----Original Message-----
> > From: Thomas Monjalon [mailto:thomas.monjalon-pdR9zngts4EAvxtiuMwx3w@public.gmane.org]
> > Sent: Wednesday, December 10, 2014 5:35 PM
> > To: Zhang, Helin
> > Cc: dev-VfR2kkLFssw@public.gmane.org
> > Subject: Re: [dpdk-dev] [PATCH v4] mbuf: fix of enabling all newly added RX
> > error flags
> > 
> > 2014-12-10 16:55, Helin Zhang:
> > > Before redefining mbuf structure, there was lack of free bits in 'ol_flags'
> > > (32 bits in total) for new RX or TX flags. So it tried to reuse
> > > existant bits as most as possible, or even assigning 0 to some of bit
> > > flags. After new mbuf structure defined, there are quite a lot of free
> > > bits. So those newly added bit flags should be assigned with correct
> > > and valid bit values, and getting their names should be enabled as
> > > well. Note that 'RECIP' should be removed, as nowhere uses it.
> > > 'PKT_RX_ERR' is defined to replace all other error bit flags, e.g. MAC error,
> > Oversize error, header buffer overflow error.
> > >
> > > Signed-off-by: Helin Zhang <helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
> > > ---
> > >  lib/librte_mbuf/rte_mbuf.c      |  7 ++-----
> > >  lib/librte_mbuf/rte_mbuf.h      |  9 +++------
> > >  lib/librte_pmd_i40e/i40e_rxtx.c | 37
> > > ++++++++++++++++++++-----------------
> > >  3 files changed, 25 insertions(+), 28 deletions(-)
> > >
> > > v2 changes:
> > > * Removed error flag of 'ECIPE' processing only in both i40e PMD and mbuf.
> > All
> > >   other error flags were added back.
> > > * Assigned error flags with correct and valid values, as their previous values
> > >   were invalid.
> > > * Enabled getting all error flag names.
> > >
> > > v3 changes:
> > > * 'PKT_RX_ERR' is defined to replace error bit flags of MAC error, Oversize
> > >   error, header buffer overflow error.
> > > * Removed assigning values to PKT_TX_* bit flags, as it has already been
> > done
> > >   in another packet set.
> > >
> > > v4 changes:
> > > * Renamed 'PKT_RX_EIP_CKSUM_BAD' to 'PKT_RX_OUTER_IP_CKSUM_BAD'.
> > > * Fixed the bug of checking error bits of 'Descriptor oversize' and
> > >   'Header buffer oversize'.
> > > * Added debug logs for each RX error.
> > [...]
> > > --- a/lib/librte_mbuf/rte_mbuf.h
> > > +++ b/lib/librte_mbuf/rte_mbuf.h
> > > @@ -83,12 +83,7 @@ extern "C" {
> > >  #define PKT_RX_RSS_HASH      (1ULL << 1)  /**< RX packet with RSS
> > hash result. */
> > >  #define PKT_RX_FDIR          (1ULL << 2)  /**< RX packet with FDIR
> > match indicate. */
> > >  #define PKT_RX_L4_CKSUM_BAD  (1ULL << 3)  /**< L4 cksum of RX pkt.
> > is
> > > not OK. */ -#define PKT_RX_IP_CKSUM_BAD  (1ULL << 4)  /**< IP cksum of
> > > RX pkt. is not OK. */ -#define PKT_RX_EIP_CKSUM_BAD (0ULL << 0)  /**<
> > External IP header checksum error. */
> > > -#define PKT_RX_OVERSIZE      (0ULL << 0)  /**< Num of desc of an RX
> > pkt oversize. */
> > > -#define PKT_RX_HBUF_OVERFLOW (0ULL << 0)  /**< Header buffer
> > overflow. */
> > > -#define PKT_RX_RECIP_ERR     (0ULL << 0)  /**< Hardware processing
> > error. */
> > > -#define PKT_RX_MAC_ERR       (0ULL << 0)  /**< MAC error. */
> > > +#define PKT_RX_IP_CKSUM_BAD  (1ULL << 4)  /**< IP (or inner IP)
> > > +header checksum error. */
> > 
> > It can be also an outer IP header in case the device don't support tunneling or is
> > not configured to detect it.
> 
> For non-tunneling case, no outer/inner at all, it just has the IP header. The bit flag
> indicates the IP header checksum error.
> For tunneling case, this bit flag indicates the inner IP header checksum error, another
> one for outer IP header checksum error.
> So I don't think this bit can be treated as outer.

I think you didn't understand my comment.
I talk about NICs which don't have tunneling support.
In this case, the outer IP header is seen as a simple IP header.
So, depending on which port is receiving a tunneled packet, this
flag or the dedicated one can be used for outer IP checksum.

I just suggest to remove the part "(or inner IP)" of the comment.
Do you agree?

-- 
Thomas

  parent reply	other threads:[~2014-12-10 15:26 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-11-26  6:07 [PATCH] i40e: Use one bit flag for all hardware detected RX packet errors Helin Zhang
     [not found] ` <1416982032-28519-1-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-11-26 10:49   ` Ananyev, Konstantin
     [not found]     ` <2601191342CEEE43887BDE71AB977258213BA7CA-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-26 11:22       ` Olivier MATZ
     [not found]         ` <5475B7EE.4020400-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-26 13:38           ` Ananyev, Konstantin
     [not found]             ` <2601191342CEEE43887BDE71AB977258213BA8CB-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-26 14:12               ` Olivier MATZ
     [not found]                 ` <5475DFB9.7060609-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-11-28  8:07                   ` Zhang, Helin
     [not found]                     ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7CC692-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-11-28  8:47                       ` Olivier MATZ
     [not found]                         ` <547836A9.1010008-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-12-01  1:57                           ` Zhang, Helin
     [not found]                             ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7CCD73-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-01  9:58                               ` Olivier MATZ
     [not found]                                 ` <547C3BC3.9050505-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
2014-12-02  7:25                                   ` Zhang, Helin
2014-12-05  1:46   ` [PATCH v2 0/2] fix of enabling all newly added error flags Helin Zhang
     [not found]     ` <1417743988-15604-1-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-12-05  1:46       ` [PATCH v2 1/2] i40e: remove checking rxd flag which is not public Helin Zhang
2014-12-05  1:46       ` [PATCH v2 2/2] mbuf: assign valid bit values for some RX and TX flags Helin Zhang
     [not found]         ` <1417743988-15604-3-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-12-05 10:49           ` Ananyev, Konstantin
     [not found]             ` <2601191342CEEE43887BDE71AB977258213BCE0C-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-06  0:42               ` Zhang, Helin
2014-12-06  1:07             ` Zhang, Helin
     [not found]               ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7CF066-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-08 10:55                 ` Ananyev, Konstantin
     [not found]                   ` <2601191342CEEE43887BDE71AB977258213BDAC4-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-09  2:29                     ` Zhang, Helin
2014-12-06  1:33       ` [PATCH v3] mbuf: fix of enabling all newly added RX error flags Helin Zhang
     [not found]         ` <1417829617-7185-1-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-12-08 10:44           ` Ananyev, Konstantin
     [not found]             ` <2601191342CEEE43887BDE71AB977258213BD9ED-kPTMFJFq+rEu0RiL9chJVbfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-09  2:23               ` Zhang, Helin
2014-12-08 10:50           ` Thomas Monjalon
2014-12-09  2:14             ` Zhang, Helin
     [not found]               ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7CFA5B-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-09  6:22                 ` Thomas Monjalon
2014-12-10  8:55           ` [PATCH v4] " Helin Zhang
     [not found]             ` <1418201706-32162-1-git-send-email-helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
2014-12-10  9:35               ` Thomas Monjalon
2014-12-10 13:50                 ` Zhang, Helin
     [not found]                   ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7D086F-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-10 15:26                     ` Thomas Monjalon [this message]
2014-12-10 22:29                       ` Zhang, Helin
     [not found]                         ` <F35DEAC7BCE34641BA9FAC6BCA4A12E70A7D0A78-0J0gbvR4kTg/UvCtAeCM4rfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2014-12-11 11:16                           ` Olivier MATZ
     [not found]                             ` <54897CF6.2020509-pdR9zngts4EAvxtiuMwx3w@public.gmane.org>
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=17296025.Gs0n2xkUhX@xps13 \
    --to=thomas.monjalon-pdr9zngts4eavxtiumwx3w@public.gmane.org \
    --cc=dev-VfR2kkLFssw@public.gmane.org \
    --cc=helin.zhang-ral2JQCrhuEAvxtiuMwx3w@public.gmane.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.