DPDK patches and discussions
 help / color / mirror / Atom feed
From: Lance Richardson <lance.richardson@broadcom.com>
To: Stephen Hemminger <stephen@networkplumber.org>
Cc: "Min Hu (Connor)" <humin29@huawei.com>,
	"dev@dpdk.org" <dev@dpdk.org>,
	 Ferruh Yigit <ferruh.yigit@intel.com>,
	Thomas Monjalon <thomas@monjalon.net>
Subject: Re: [dpdk-dev] Questions about keeping CRC
Date: Fri, 19 Mar 2021 13:02:47 -0400	[thread overview]
Message-ID: <CADyeNEDhnk=Ntg_0Dni+nC9MFGm-CgCCQzT5y9vjJ0-g1CxTew@mail.gmail.com> (raw)
In-Reply-To: <20210319090653.22b430ea@hermes.local>

[-- Attachment #1: Type: text/plain, Size: 1852 bytes --]

On Fri, Mar 19, 2021 at 12:07 PM Stephen Hemminger
<stephen@networkplumber.org> wrote:
>
> On Fri, 19 Mar 2021 20:13:20 +0800
> "Min Hu (Connor)" <humin29@huawei.com> wrote:
>
> > Hi, all,
> >       DPDK has introduced one offload: DEV_RX_OFFLOAD_KEEP_CRC. It means that
> > the device has the ablility of keeping CRC(four bytes at the end of
> > packet)of packet in RX.
> >       In common scenarios, When one packet enter into NIC device, NIC
> > will check the CRC and then strip the CRC,at last send the packet into
> > the buffer.
> >       So my question is:
> >        why the DEV_RX_OFFLOAD_KEEP_CRC is introduced into DPDK?  I think that
> > when the packet enter into the NIC, the CRC will has no significance to
> > APP. Or is there any scenarios that CRC is useful for APP?
> >       Thanks for your reply.
>
> Your right it doesn't make sense for almost all applications. Maybe an application
> testing for bad NIC hardware might use it.
>
> It is one of those features introduced in DPDK because "our hardware can do it,
> therefore it ought to be exposed in DPDK API"...

The only use case I have seen was in L2 forwarding applications which would
receive packets with CRC preserved and then transmit them with an indication
to the NIC that the CRC should not be regenerated. The idea was that if the
packet was corrupted anywhere in the system (e.g. by a memory error), it
could be detected at the receiver. Of course DPDK doesn't have the notion
of transmitting a packet without regenerating the CRC, so that use case
doesn't seem to apply here.

I think that DEV_RX_OFFLOAD_KEEP_CRC is not likely to be useful, but
I would be interested in hearing otherwise. I happen to know of at least one
PMD that advertises this ability but doesn't actually behave any differently
when it is enabled.

  reply	other threads:[~2021-03-19 17:03 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-19 12:13 Min Hu (Connor)
2021-03-19 16:06 ` Stephen Hemminger
2021-03-19 17:02   ` Lance Richardson [this message]
2021-03-22 10:53     ` Ferruh Yigit
2021-03-22 11:38       ` Min Hu (Connor)

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='CADyeNEDhnk=Ntg_0Dni+nC9MFGm-CgCCQzT5y9vjJ0-g1CxTew@mail.gmail.com' \
    --to=lance.richardson@broadcom.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=humin29@huawei.com \
    --cc=stephen@networkplumber.org \
    --cc=thomas@monjalon.net \
    /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).