> -----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.

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