[v2 0/4] Add support for GRE optional fields matching
Sean Zhang (Networking SW)
xiazhang at nvidia.com
Fri Feb 11 11:33:52 CET 2022
> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit at intel.com>
> Sent: Friday, February 11, 2022 5:37 PM
> To: Sean Zhang (Networking SW) <xiazhang at nvidia.com>; NBU-Contact-
> Thomas Monjalon (EXTERNAL) <thomas at monjalon.net>
> Cc: dev at dpdk.org; Andrew Rybchenko <andrew.rybchenko at oktetlabs.ru>;
> Ori Kam <orika at nvidia.com>; Qi Zhang <qi.z.zhang at 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(+)
> >
More information about the dev
mailing list