mbox

[RFC,0/3] Add support for GRE optional fields matching

Message ID 20211230030817.15264-1-xiazhang@nvidia.com (mailing list archive)
Headers

Message

Sean Zhang Dec. 30, 2021, 3:08 a.m. UTC
  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(+)