> -----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(+) > >