[v2 0/4] Add support for GRE optional fields matching
Ferruh Yigit
ferruh.yigit at intel.com
Fri Feb 11 11:38:22 CET 2022
On 2/11/2022 10:33 AM, Sean Zhang (Networking SW) wrote:
>
>
>> -----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.
>
OK, thanks for clarification, we don't want any PMD specific implementation.
> 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