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
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
Except from driver patch (4/4),
Series applied to dpdk-next-net/main, thanks.
Set merged partially to be able to get library patches in -rc1,
driver patch can be merged after -rc1 when reviewed.