[PATCH v2 00/23] net/mlx5: support Geneve and options for HWS

Raslan Darawsheh rasland at nvidia.com
Mon Jan 29 13:21:24 CET 2024


Hi,


> -----Original Message-----
> From: Michael Baum <michaelba at nvidia.com>
> Sent: Thursday, January 25, 2024 3:30 PM
> To: dev at dpdk.org
> Cc: Matan Azrad <matan at nvidia.com>; Raslan Darawsheh
> <rasland at nvidia.com>; Dariusz Sosnowski <dsosnowski at nvidia.com>; Slava
> Ovsiienko <viacheslavo at nvidia.com>; Ori Kam <orika at nvidia.com>;
> Suanming Mou <suanmingm at nvidia.com>
> Subject: [PATCH v2 00/23] net/mlx5: support Geneve and options for HWS
> 
> Add HWS support for both GENEVE and GENEVE TLV option headers.
> This patchset supports:
> 
>  - Add HW support for "RTE_FLOW_ITEM_TYPE_GENEVE" flow item.
>  - Add HW support for "RTE_FLOW_ITEM_TYPE_GENEVE_OPT" flow item.
>  - Add HW support for "RTE_FLOW_FIELD_GENEVE_VNI" for modify field flow
>    action.
>  - Add HW support for "RTE_FLOW_FIELD_GENEVE_OPT_TYPE" for modify
> field
>    flow action.
>  - Add HW support for "RTE_FLOW_FIELD_GENEVE_OPT_CLASS" for modify
> field
>    flow action.
>  - Add HW support for "RTE_FLOW_FIELD_GENEVE_OPT_DATA" for modify
> field
>    flow action.
> 
> The GENEVE TLV options support using flex parser.
> The profile should be specified to either 8 for multiple option or 0 for single
> option.
> A new API is added to create the GENEVE option parser before using it in
> templates API.
> 
> v2:
>  - Rebase.
>  - Add "Acked-by" from v1.
> 
> Alex Vesker (4):
>   net/mlx5/hws: fix tunnel protocol checks
>   net/mlx5/hws: increase hl size for future compatibility
>   net/mlx5/hws: support GENEVE matching
>   net/mlx5/hws: support GENEVE options header
> 
> Michael Baum (19):
>   common/mlx5: fix duplicate read of general capabilities
>   common/mlx5: fix query sample info capability
>   net/mlx5: remove GENEVE options length limitation
>   net/mlx5: fix GENEVE option item translation
>   common/mlx5: add system image GUID attribute
>   common/mlx5: add GENEVE TLV option attribute structure
>   common/mlx5: add PRM attribute for TLV sample
>   common/mlx5: add sample info query syndrome into error log
>   common/mlx5: query GENEVE option sample ID from HCA attr
>   common/mlx5: add function to query GENEVE TLV option
>   net/mlx5: add physical device handle
>   net/mlx5: add GENEVE TLV options parser API
>   net/mlx5: add API to expose GENEVE option FW information
>   net/mlx5: add testpmd support for GENEVE TLV parser
>   net/mlx5: add support for GENEVE and option item in HWS
>   net/mlx5: add GENEVE option support for profile 0
>   net/mlx5: add GENEVE option support for group 0
>   net/mlx5: add support for GENEVE VNI modify field
>   net/mlx5: add support for modify GENEVE option header
> 
>  doc/guides/nics/mlx5.rst               |  251 +++++-
>  doc/guides/platform/mlx5.rst           |    2 +
>  doc/guides/rel_notes/release_24_03.rst |    9 +
>  drivers/common/mlx5/mlx5_devx_cmds.c   |  139 +++-
>  drivers/common/mlx5/mlx5_devx_cmds.h   |   29 +-
>  drivers/common/mlx5/mlx5_prm.h         |   20 +-
>  drivers/common/mlx5/version.map        |    1 +
>  drivers/net/mlx5/hws/mlx5dr_definer.c  |  281 ++++++-
>  drivers/net/mlx5/hws/mlx5dr_definer.h  |   49 +-
>  drivers/net/mlx5/meson.build           |    1 +
>  drivers/net/mlx5/mlx5.c                |  115 ++-
>  drivers/net/mlx5/mlx5.h                |   21 +
>  drivers/net/mlx5/mlx5_flow.c           |   30 +
>  drivers/net/mlx5/mlx5_flow.h           |   92 ++-
>  drivers/net/mlx5/mlx5_flow_dv.c        |  158 ++--
>  drivers/net/mlx5/mlx5_flow_geneve.c    | 1011
> ++++++++++++++++++++++++
>  drivers/net/mlx5/mlx5_flow_hw.c        |  127 ++-
>  drivers/net/mlx5/mlx5_testpmd.c        |  556 ++++++++++++-
>  drivers/net/mlx5/rte_pmd_mlx5.h        |  102 +++
>  drivers/net/mlx5/version.map           |    3 +
>  20 files changed, 2811 insertions(+), 186 deletions(-)  create mode 100644
> drivers/net/mlx5/mlx5_flow_geneve.c
> 
> --
> 2.25.1
Series applied to next-net-mlx,
Kindest regards
Raslan Darawsheh



More information about the dev mailing list