On 2/11/2022 10:33 AM, Sean Zhang (Networking SW) wrote:


-----Original Message-----
From: Ferruh Yigit <ferruh.yi...@intel.com>
Sent: Friday, February 11, 2022 5:37 PM
To: Sean Zhang (Networking SW) <xiazh...@nvidia.com>; NBU-Contact-
Thomas Monjalon (EXTERNAL) <tho...@monjalon.net>
Cc: dev@dpdk.org; Andrew Rybchenko <andrew.rybche...@oktetlabs.ru>;
Ori Kam <or...@nvidia.com>; Qi Zhang <qi.z.zh...@intel.com>
Subject: Re: [v2 0/4] Add support for GRE optional fields matching

External email: Use caution opening links or attachments


On 2/11/2022 1:45 AM, Sean Zhang wrote:
This patch set adds support for matching optional fields of GRE header.
The optional fields are checksum, key and sequence number. Currently,
key field is supported with pattern gre_key item '.. / gre / gre_key
value is xx / ..' with field gre_key in misc, but misc does not
support matching of checksum and sequence number of GRE.
To support matching of checksum and sequence number fields in GRE,
rdma-core needs the capbility of misc5 and support tunnel_header 0-3.
Since
tunnel_header1 is used to match checksum, tunnel_header2 for key and

Hi Sean,

The GRE optional fields support in flow API should be generic for any vendor,
above description concerns me flow API implementation is done with to
match a specific vendor implementation.

Will it work to get ethdev part as previous version of this patch (v1), and get
the mlx driver patch when rdma-core is ready?

Hi Ferruh,

Sorry about the confuse of the cover letter, and both flow API patches of v1 
and v2 are common, not for specific vendor.


OK, thanks for clarification, we don't want any PMD specific implementation.

Thanks,
Sean

tunnel_header3 for sequence by hardware. If checksum and sequence
number not present in the pattern, use misc as before for the matching.
Application can still use gre_key item 'gre_key value is xx' for key
matching, the effect is the same if use 'gre_option key is xx'.
If using gre_option item, the flags in gre item should be
correspondingly set. For example, if using gre_option to match
checksum, the c_bit should be set '1' (.. / gre c_bit is 1 / gre_option
checksum is xx / ..).

change in v2:
-changed the struct defined in rte_flow for gre_option item.
-fixed raw encap issue.

Sean Zhang (4):
    lib: add optional fields in GRE header
    ethdev: support GRE optional fields
    app/testpmd: add gre_option item command
    net/mlx5: support matching optional fields of GRE

   app/test-pmd/cmdline_flow.c                 |  72 +++++++++++++++
   doc/guides/nics/mlx5.rst                    |   8 ++
   doc/guides/prog_guide/rte_flow.rst          |  17 ++++
   doc/guides/rel_notes/release_22_03.rst      |   5 ++
   doc/guides/testpmd_app_ug/testpmd_funcs.rst |   6 ++
   drivers/common/mlx5/mlx5_devx_cmds.c        |   3 +
   drivers/net/mlx5/linux/mlx5_os.c            |   2 +
   drivers/net/mlx5/mlx5.h                     |   1 +
   drivers/net/mlx5/mlx5_flow.c                | 108 +++++++++++++++++++++++
   drivers/net/mlx5/mlx5_flow.h                |   6 ++
   drivers/net/mlx5/mlx5_flow_dv.c             | 130
++++++++++++++++++++++++++++
   lib/ethdev/rte_flow.c                       |   1 +
   lib/ethdev/rte_flow.h                       |  19 ++++
   lib/net/rte_gre.h                           |  22 +++++
   14 files changed, 400 insertions(+)



Reply via email to