From: Stephen Hemminger <stephen@networkplumber.org>
To: Jie Hai <haijie1@huawei.com>
Cc: <dev@dpdk.org>, <thomas@monjalon.net>, <ferruh.yigit@amd.com>,
Wathsala Vithanage <wathsala.vithanage@arm.com>,
"Min Hu (Connor)" <humin29@huawei.com>,
"Wei Hu (Xavier)" <xavier.huwei@huawei.com>,
<lihuisong@huawei.com>, <fengchengwen@huawei.com>,
<huangdengdui@huawei.com>
Subject: Re: [PATCH v4] net/hns3: fix Rx packet without CRC data
Date: Fri, 29 Nov 2024 09:12:06 -0800 [thread overview]
Message-ID: <20241129091206.02a39633@hermes.local> (raw)
In-Reply-To: <4a5fa848-e4f4-33ab-5806-ad90ddad9d3f@huawei.com>
On Fri, 29 Nov 2024 09:36:43 +0800
Jie Hai <haijie1@huawei.com> wrote:
> > +
> > +static inline void
> > +hns3_recalculate_crc(struct rte_mbuf *m)
> > +{
> > + char *append_data;
> > + uint32_t crc;
> > +
> > + crc = rte_net_crc_calc(rte_pktmbuf_mtod(m, void *),
> > + m->data_len, RTE_NET_CRC32_ETH);
> > +
> > + /*
> > + * After CRC is stripped by hardware, pkt_len and data_len do not
> > + * contain the CRC length. Therefore, after CRC data is appended
> > + * by PMD again.
> > + */
> > + append_data = rte_pktmbuf_append(m, RTE_ETHER_CRC_LEN);
> > +
> > + /* CRC data is binary data and does not care about the byte order. */
> > + memcpy(append_data, &crc, RTE_ETHER_CRC_LEN);
> > +}
As mentioned previously.
Including CRC in the packet length (pkt_len and data_len) is not the
current behavior of most drivers. Therefore hns3 should follow the precedent
of other drivers and put it past the data.
In the future the KEEP_CRC flag needs more work to be useable. It needs
documentation and flag in mbuf (similar to hash and checksum) so that application
can no that it is present and valid.
Please resend the patch as a bugfix that puts crc after the data.
prev parent reply other threads:[~2024-11-29 17:12 UTC|newest]
Thread overview: 51+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-02-06 1:10 [PATCH] net/hns3: fix Rx packet truncation when KEEP CRC enabled Jie Hai
2024-02-07 14:15 ` Ferruh Yigit
2024-02-20 3:58 ` Jie Hai
2024-02-23 13:53 ` Ferruh Yigit
2024-02-26 3:16 ` Jie Hai
2024-02-26 16:43 ` Ferruh Yigit
2024-02-28 2:27 ` huangdengdui
2024-02-28 13:07 ` Ferruh Yigit
2024-02-29 3:58 ` huangdengdui
2024-02-29 9:25 ` Ferruh Yigit
2024-03-01 6:55 ` huangdengdui
2024-03-01 11:10 ` Ferruh Yigit
2024-03-08 11:36 ` Jie Hai
2024-03-22 6:28 ` Jie Hai
2024-06-03 1:38 ` Jie Hai
2024-06-03 2:33 ` Stephen Hemminger
2024-06-03 5:24 ` Morten Brørup
2024-06-03 7:07 ` Andrew Rybchenko
2024-07-18 11:48 ` [PATCH v2 0/3] bugfix about KEEP CRC offload Jie Hai
2024-07-18 11:48 ` [PATCH v2 1/3] ethdev: add description for " Jie Hai
2024-07-18 11:57 ` Morten Brørup
2024-07-18 11:48 ` [PATCH v2 2/3] net/hns3: fix packet length do not contain CRC data length Jie Hai
2024-07-18 11:48 ` [PATCH v2 3/3] net/hns3: fix Rx packet without CRC data Jie Hai
2024-11-26 23:17 ` [RFC] net/hns3: clarify handling of crc reinsert Stephen Hemminger
2024-07-18 12:35 ` [PATCH v2 0/3] bugfix about KEEP CRC offload lihuisong (C)
2024-11-26 23:12 ` Stephen Hemminger
2024-07-19 9:04 ` [PATCH v3 " Jie Hai
2024-07-19 9:04 ` [PATCH v3 1/3] ethdev: add description for " Jie Hai
2024-09-05 6:33 ` Andrew Rybchenko
2024-11-22 17:10 ` Stephen Hemminger
2024-11-26 7:47 ` Jie Hai
2024-11-26 23:51 ` Stephen Hemminger
2024-11-22 17:35 ` Stephen Hemminger
2024-07-19 9:04 ` [PATCH v3 2/3] net/hns3: fix packet length do not contain CRC data length Jie Hai
2024-07-19 9:04 ` [PATCH v3 3/3] net/hns3: fix Rx packet without CRC data Jie Hai
2024-11-24 19:42 ` Stephen Hemminger
2024-11-25 17:45 ` Stephen Hemminger
2024-11-26 2:40 ` huangdengdui
2024-11-26 3:16 ` Stephen Hemminger
2024-11-27 0:16 ` Stephen Hemminger
2024-11-27 2:32 ` Jie Hai
2024-11-27 3:21 ` Stephen Hemminger
2024-07-19 9:49 ` [PATCH v3 0/3] bugfix about KEEP CRC offload fengchengwen
2024-08-09 9:21 ` Jie Hai
2024-09-05 2:53 ` Jie Hai
2024-10-18 1:39 ` Jie Hai
2024-11-06 2:19 ` Jie Hai
2024-11-13 3:14 ` Jie Hai
2024-11-27 10:08 ` [PATCH v4] net/hns3: fix Rx packet without CRC data Jie Hai
2024-11-29 1:36 ` Jie Hai
2024-11-29 17:12 ` Stephen Hemminger [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=20241129091206.02a39633@hermes.local \
--to=stephen@networkplumber.org \
--cc=dev@dpdk.org \
--cc=fengchengwen@huawei.com \
--cc=ferruh.yigit@amd.com \
--cc=haijie1@huawei.com \
--cc=huangdengdui@huawei.com \
--cc=humin29@huawei.com \
--cc=lihuisong@huawei.com \
--cc=thomas@monjalon.net \
--cc=wathsala.vithanage@arm.com \
--cc=xavier.huwei@huawei.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).