From: "Min Hu (Connor)" <humin29@huawei.com>
To: Ferruh Yigit <ferruh.yigit@intel.com>,
Lance Richardson <lance.richardson@broadcom.com>,
Stephen Hemminger <stephen@networkplumber.org>
Cc: "dev@dpdk.org" <dev@dpdk.org>,
Thomas Monjalon <thomas@monjalon.net>,
Andrew Rybchenko <andrew.rybchenko@oktetlabs.ru>
Subject: Re: [dpdk-dev] Questions about keeping CRC
Date: Mon, 22 Mar 2021 19:38:20 +0800 [thread overview]
Message-ID: <bfdcd477-e7cb-f121-8db4-0e13a6e81aa7@huawei.com> (raw)
In-Reply-To: <9d792e8a-6af5-f4bc-c311-35d58075a4ba@intel.com>
Hi, Lance ,Stephen and Ferruh,
Got it, thanks for your reply.
在 2021/3/22 18:53, Ferruh Yigit 写道:
> On 3/19/2021 5:02 PM, Lance Richardson wrote:
>> 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.
>>
>
> I think it is more like Stephen said, some HW supports it and software
> is enabling it. It shouldn't hurt the PMD/HW that doesn't support this.
> .
prev parent reply other threads:[~2021-03-22 11:38 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
2021-03-22 10:53 ` Ferruh Yigit
2021-03-22 11:38 ` Min Hu (Connor) [this message]
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=bfdcd477-e7cb-f121-8db4-0e13a6e81aa7@huawei.com \
--to=humin29@huawei.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=dev@dpdk.org \
--cc=ferruh.yigit@intel.com \
--cc=lance.richardson@broadcom.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).