[RFC 0/3] Add support for GRE optional fields matching
    Sean Zhang 
    xiazhang at nvidia.com
       
    Thu Dec 30 04:08:14 CET 2021
    
    
  
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
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 / ..).
Sean Zhang (3):
  ethdev: support GRE optional fields
  app/testpmd: add gre_option item command
  net/mlx5: support matching on optional fields of GRE
 app/test-pmd/cmdline_flow.c                 |  57 ++++++++++++
 doc/guides/prog_guide/rte_flow.rst          |  16 ++++
 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                |  94 ++++++++++++++++++++
 drivers/net/mlx5/mlx5_flow.h                |   6 ++
 drivers/net/mlx5/mlx5_flow_dv.c             | 133 ++++++++++++++++++++++++++++
 lib/ethdev/rte_flow.c                       |   1 +
 lib/ethdev/rte_flow.h                       |  18 ++++
 11 files changed, 337 insertions(+)
-- 
1.8.3.1
    
    
More information about the dev
mailing list