[v2 00/16] net/mlx5/hws: support range and partial hash matching
Raslan Darawsheh
rasland at nvidia.com
Mon Feb 13 09:27:40 CET 2023
Hi,
> -----Original Message-----
> From: Alex Vesker <valex at nvidia.com>
> Sent: Wednesday, February 1, 2023 9:28 AM
> To: Alex Vesker <valex at nvidia.com>; Slava Ovsiienko
> <viacheslavo at nvidia.com>; NBU-Contact-Thomas Monjalon (EXTERNAL)
> <thomas at monjalon.net>
> Cc: Matan Azrad <matan at nvidia.com>; dev at dpdk.org; Ori Kam
> <orika at nvidia.com>
> Subject: [v2 00/16] net/mlx5/hws: support range and partial hash matching
>
> ConnectX and BlueField devices which support HWS are capable of
> performing advanced match, range-match and hashing operations on packet
> headers. This patch-set introduces support for (1) range matching - allows
> combining range and exact match over provided item fields using spec, last
> and mask.
> A useful example for Range and exact match is matching exact IP and port
> range. This series also introduces (2) partial hash, which allows using the
> same matcher and performing partial hashing in case of multiple match
> templates are provided. The matcher create code finds the union and
> intersection fields to split the hash and match in a way the HW can support.
> This increases the match templates combinations possible although it may
> limit the maximum PPS. Since (1) and (2) are not fully support on current HW
> the implementation is done on top of a HW like FW API using WQEs.
>
> v2:
> -Fix missed checkpatch comments
>
> Alex Vesker (16):
> net/mlx5/hws: support synchronous drain
> net/mlx5/hws: matcher remove AT and MT limitation
> net/mlx5/hws: support GTA WQE write using FW command
> net/mlx5/hws: add capability query for gen wqe command
> net/mlx5/hws: align RTC create command with PRM format
> net/mlx5/hws: add send FW match STE using gen WQE
> net/mlx5/hws: add send FW range STE WQE
> net/mlx5/hws: move matcher size check to function
> net/mlx5/hws: support range match
> net/mlx5/hws: redesign definer create
> net/mlx5/hws: support partial hash
> net/mlx5/hws: add range definer creation support
> net/mlx5/hws: add FW WQE rule creation logic
> net/mlx5/hws: add debug dump support for range and hash
> net/mlx5/hws: rename pattern cache object
> net/mlx5/hws: cache definer for reuse
>
> drivers/common/mlx5/mlx5_prm.h | 53 +-
> drivers/net/mlx5/hws/mlx5dr.h | 6 +-
> drivers/net/mlx5/hws/mlx5dr_cmd.c | 72 ++-
> drivers/net/mlx5/hws/mlx5dr_cmd.h | 27 +-
> drivers/net/mlx5/hws/mlx5dr_context.c | 12 +-
> drivers/net/mlx5/hws/mlx5dr_context.h | 1 +
> drivers/net/mlx5/hws/mlx5dr_debug.c | 41 +-
> drivers/net/mlx5/hws/mlx5dr_debug.h | 4 +-
> drivers/net/mlx5/hws/mlx5dr_definer.c | 750 +++++++++++++++++++++--
> -- drivers/net/mlx5/hws/mlx5dr_definer.h | 44 +-
> drivers/net/mlx5/hws/mlx5dr_internal.h | 2 +-
> drivers/net/mlx5/hws/mlx5dr_matcher.c | 279 ++++++---
> drivers/net/mlx5/hws/mlx5dr_matcher.h | 43 +-
> drivers/net/mlx5/hws/mlx5dr_pat_arg.c | 49 +-
> drivers/net/mlx5/hws/mlx5dr_pat_arg.h | 6 +-
> drivers/net/mlx5/hws/mlx5dr_rule.c | 193 ++++++-
> drivers/net/mlx5/hws/mlx5dr_rule.h | 2 +
> drivers/net/mlx5/hws/mlx5dr_send.c | 169 +++++-
> drivers/net/mlx5/hws/mlx5dr_send.h | 24 +-
> drivers/net/mlx5/mlx5_flow_hw.c | 2 +-
> 20 files changed, 1475 insertions(+), 304 deletions(-)
>
> --
> 2.18.1
Series applied to next-net-mlx,
Kindest regards,
Raslan Darawsheh
More information about the dev
mailing list