From: Ferruh Yigit <ferruh.yigit@amd.com>
To: David Marchand <david.marchand@redhat.com>,
Thomas Monjalon <thomas@monjalon.net>
Cc: dev@dpdk.org, andrew.rybchenko@oktetlabs.ru,
Wisam Jaddo <wisamm@nvidia.com>, Ori Kam <orika@nvidia.com>,
Aman Singh <aman.deep.singh@intel.com>,
Yuying Zhang <yuying.zhang@intel.com>,
Ajit Khaparde <ajit.khaparde@broadcom.com>,
Somnath Kotur <somnath.kotur@broadcom.com>,
Hemant Agrawal <hemant.agrawal@nxp.com>,
Sachin Saxena <sachin.saxena@oss.nxp.com>,
Matan Azrad <matan@nvidia.com>,
Viacheslav Ovsiienko <viacheslavo@nvidia.com>
Subject: Re: [PATCH 4/8] ethdev: use GRE protocol struct for flow matching
Date: Fri, 20 Jan 2023 17:21:11 +0000 [thread overview]
Message-ID: <88dee301-fdb9-c49c-a27b-1ec7d94a1129@amd.com> (raw)
In-Reply-To: <CAJFAV8z_f3uztcba6Ym2vgONovK4QZe610=0HjWPyG_bE0tBVg@mail.gmail.com>
On 10/26/2022 9:45 AM, David Marchand wrote:
> On Tue, Oct 25, 2022 at 11:45 PM Thomas Monjalon <thomas@monjalon.net> wrote:
>> diff --git a/lib/ethdev/rte_flow.h b/lib/ethdev/rte_flow.h
>> index 6045a352ae..fd9be56e31 100644
>> --- a/lib/ethdev/rte_flow.h
>> +++ b/lib/ethdev/rte_flow.h
>> @@ -1069,19 +1069,29 @@ static const struct rte_flow_item_mpls rte_flow_item_mpls_mask = {
>> *
>> * Matches a GRE header.
>> */
>> +RTE_STD_C11
>> struct rte_flow_item_gre {
>> - /**
>> - * Checksum (1b), reserved 0 (12b), version (3b).
>> - * Refer to RFC 2784.
>> - */
>> - rte_be16_t c_rsvd0_ver;
>> - rte_be16_t protocol; /**< Protocol type. */
>> + union {
>> + struct {
>> + /*
>> + * These are old fields kept for compatibility.
>> + * Please prefer hdr field below.
>> + */
>> + /**
>> + * Checksum (1b), reserved 0 (12b), version (3b).
>> + * Refer to RFC 2784.
>> + */
>> + rte_be16_t c_rsvd0_ver;
>> + rte_be16_t protocol; /**< Protocol type. */
>> + };
>> + struct rte_gre_hdr hdr; /**< GRE header definition. */
>> + };
>> };
>>
>> /** Default mask for RTE_FLOW_ITEM_TYPE_GRE. */
>> #ifndef __cplusplus
>> static const struct rte_flow_item_gre rte_flow_item_gre_mask = {
>> - .protocol = RTE_BE16(0xffff),
>> + .hdr.proto = RTE_BE16(UINT16_MAX),
>
>
> The proto field in struct rte_gre_hdr from lib/net lacks endianness annotation.
> This triggers a sparse warning (from OVS dpdk-latest build):
>
> /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:1095:22:
> error: incorrect type in initializer (different base types)
> /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:1095:22:
> expected unsigned short [usertype] proto
> /home/runner/work/ovs/ovs/dpdk-dir/build/include/rte_flow.h:1095:22:
> got restricted ovs_be16 [usertype]
>
>
added endianness annotation for GRE 'proto' field in v2, can you please
check if it fixes the warning?
next prev parent reply other threads:[~2023-01-20 17:21 UTC|newest]
Thread overview: 90+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-25 21:44 [PATCH 0/8] start cleanup of rte_flow_item_* Thomas Monjalon
2022-10-25 21:44 ` [PATCH 1/8] ethdev: use Ethernet protocol struct for flow matching Thomas Monjalon
2022-10-25 21:44 ` [PATCH 2/8] net: add smaller fields for VXLAN Thomas Monjalon
2022-10-25 21:44 ` [PATCH 3/8] ethdev: use VXLAN protocol struct for flow matching Thomas Monjalon
2022-10-25 21:44 ` [PATCH 4/8] ethdev: use GRE " Thomas Monjalon
2022-10-26 8:45 ` David Marchand
2023-01-20 17:21 ` Ferruh Yigit [this message]
2022-10-25 21:44 ` [PATCH 5/8] ethdev: use GTP " Thomas Monjalon
2022-10-25 21:44 ` [PATCH 6/8] ethdev: use ARP " Thomas Monjalon
2022-10-25 21:44 ` [PATCH 7/8] doc: fix description of L2TPV2 flow item Thomas Monjalon
2022-10-25 21:44 ` [PATCH 8/8] net: mark all big endian types Thomas Monjalon
2022-10-26 8:41 ` David Marchand
2023-01-20 17:18 ` [PATCH v2 0/8] start cleanup of rte_flow_item_* Ferruh Yigit
2023-01-20 17:18 ` [PATCH v2 1/8] ethdev: use Ethernet protocol struct for flow matching Ferruh Yigit
2023-01-20 17:18 ` [PATCH v2 2/8] net: add smaller fields for VXLAN Ferruh Yigit
2023-01-20 17:18 ` [PATCH v2 3/8] ethdev: use VXLAN protocol struct for flow matching Ferruh Yigit
2023-01-20 17:18 ` [PATCH v2 4/8] ethdev: use GRE " Ferruh Yigit
2023-01-20 17:18 ` [PATCH v2 5/8] ethdev: use GTP " Ferruh Yigit
2023-01-20 17:19 ` [PATCH v2 6/8] ethdev: use ARP " Ferruh Yigit
2023-01-20 17:19 ` [PATCH v2 7/8] doc: fix description of L2TPV2 flow item Ferruh Yigit
2023-01-20 17:19 ` [PATCH v2 8/8] net: mark all big endian types Ferruh Yigit
2023-01-22 10:52 ` [PATCH v2 0/8] start cleanup of rte_flow_item_* David Marchand
2023-01-24 9:07 ` Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 " Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 1/8] ethdev: use Ethernet protocol struct for flow matching Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 2/8] net: add smaller fields for VXLAN Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 3/8] ethdev: use VXLAN protocol struct for flow matching Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 4/8] ethdev: use GRE " Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 5/8] ethdev: use GTP " Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 6/8] ethdev: use ARP " Ferruh Yigit
2023-01-24 9:02 ` [PATCH v3 7/8] doc: fix description of L2TPV2 flow item Ferruh Yigit
2023-01-24 9:03 ` [PATCH v3 8/8] net: mark all big endian types Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 0/8] start cleanup of rte_flow_item_* Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 1/8] ethdev: use Ethernet protocol struct for flow matching Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 2/8] net: add smaller fields for VXLAN Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 3/8] ethdev: use VXLAN protocol struct for flow matching Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 4/8] ethdev: use GRE " Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 5/8] ethdev: use GTP " Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 6/8] ethdev: use ARP " Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 7/8] doc: fix description of L2TPV2 flow item Ferruh Yigit
2023-01-26 13:17 ` [PATCH v4 8/8] net: mark all big endian types Ferruh Yigit
2023-01-26 16:18 ` [PATCH v5 0/8] start cleanup of rte_flow_item_* Ferruh Yigit
2023-01-26 16:18 ` [PATCH v5 1/8] ethdev: use Ethernet protocol struct for flow matching Ferruh Yigit
2023-01-27 14:33 ` Niklas Söderlund
2023-02-01 17:34 ` Ori Kam
2023-02-02 9:51 ` Andrew Rybchenko
2023-01-26 16:18 ` [PATCH v5 2/8] net: add smaller fields for VXLAN Ferruh Yigit
2023-01-26 16:18 ` [PATCH v5 3/8] ethdev: use VXLAN protocol struct for flow matching Ferruh Yigit
2023-02-01 17:41 ` Ori Kam
2023-02-02 9:52 ` Andrew Rybchenko
2023-01-26 16:19 ` [PATCH v5 4/8] ethdev: use GRE " Ferruh Yigit
2023-01-27 14:34 ` Niklas Söderlund
2023-02-01 17:44 ` Ori Kam
2023-02-02 9:53 ` Andrew Rybchenko
2023-01-26 16:19 ` [PATCH v5 5/8] ethdev: use GTP " Ferruh Yigit
2023-02-02 9:54 ` Andrew Rybchenko
2023-01-26 16:19 ` [PATCH v5 6/8] ethdev: use ARP " Ferruh Yigit
2023-02-01 17:46 ` Ori Kam
2023-02-02 9:55 ` Andrew Rybchenko
2023-01-26 16:19 ` [PATCH v5 7/8] doc: fix description of L2TPV2 flow item Ferruh Yigit
2023-02-02 9:56 ` Andrew Rybchenko
2023-01-26 16:19 ` [PATCH v5 8/8] net: mark all big endian types Ferruh Yigit
2023-02-02 10:01 ` Andrew Rybchenko
2023-02-02 11:11 ` Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 0/8] start cleanup of rte_flow_item_* Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 1/8] ethdev: use Ethernet protocol struct for flow matching Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 2/8] net: add smaller fields for VXLAN Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 3/8] ethdev: use VXLAN protocol struct for flow matching Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 4/8] ethdev: use GRE " Ferruh Yigit
2023-02-02 17:16 ` Thomas Monjalon
2023-02-03 15:02 ` Ferruh Yigit
2023-02-03 15:12 ` Thomas Monjalon
2023-02-03 15:16 ` Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 5/8] ethdev: use GTP " Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 6/8] ethdev: use ARP " Ferruh Yigit
2023-02-02 12:44 ` [PATCH v6 7/8] doc: fix description of L2TPV2 flow item Ferruh Yigit
2023-02-02 12:45 ` [PATCH v6 8/8] net: mark all big endian types Ferruh Yigit
2023-02-02 17:20 ` Thomas Monjalon
2023-02-03 15:03 ` Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 0/7] start cleanup of rte_flow_item_* Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 1/7] ethdev: use Ethernet protocol struct for flow matching Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 2/7] net: add smaller fields for VXLAN Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 3/7] ethdev: use VXLAN protocol struct for flow matching Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 4/7] ethdev: use GTP " Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 5/7] ethdev: use ARP " Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 6/7] doc: fix description of L2TPV2 flow item Ferruh Yigit
2023-02-03 16:48 ` [PATCH v7 7/7] net: mark all big endian types Ferruh Yigit
2023-02-06 2:35 ` [PATCH v7 0/7] start cleanup of rte_flow_item_* fengchengwen
2023-02-07 14:58 ` Thomas Monjalon
2023-02-07 16:33 ` Ferruh Yigit
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=88dee301-fdb9-c49c-a27b-1ec7d94a1129@amd.com \
--to=ferruh.yigit@amd.com \
--cc=ajit.khaparde@broadcom.com \
--cc=aman.deep.singh@intel.com \
--cc=andrew.rybchenko@oktetlabs.ru \
--cc=david.marchand@redhat.com \
--cc=dev@dpdk.org \
--cc=hemant.agrawal@nxp.com \
--cc=matan@nvidia.com \
--cc=orika@nvidia.com \
--cc=sachin.saxena@oss.nxp.com \
--cc=somnath.kotur@broadcom.com \
--cc=thomas@monjalon.net \
--cc=viacheslavo@nvidia.com \
--cc=wisamm@nvidia.com \
--cc=yuying.zhang@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).