mbox series

[v3,00/14] Add ASO meter support in MLX5 PMD

Message ID 20210413001033.1999355-1-lizh@nvidia.com (mailing list archive)
Headers
Series Add ASO meter support in MLX5 PMD |

Message

Li Zhang April 13, 2021, 12:10 a.m. UTC
To support more meters and better performance,
MLX HW provide ASO flow meter.
It can expose millions of ASO flow meter context's in HW.
This ASO object can allocate the large bulk meter objects.
This patch set implement the ASO flow meter for mlx5 driver.
MLX5 PMD driver will be responsible for ASO flow meter manage to HW.

V2: Fix compile error issue (mlx5_glue->destroy_flow_action)
V3: Fix comments.

Li Zhang (10):
  net/mlx5: optimize meter statistics
  common/mlx5: add definitions for ASO flow meter
  common/mlx5: add read ASO flow meter HCA capability
  common/mlx5: add DevX API to create ASO flow meter object
  net/mlx5: flow meter pool to manage meter object
  net/mlx5: initialize the flow meter ASO SQ
  net/mlx5: aso flow meter send WQE and CQE handle
  net/mlx5: add support of ASO meter action
  net/mlx5: make ASO meter queue thread-safe
  net/mlx5: allow multiple flow tables on the same level

Shun Hao (3):
  common/mlx5: add color register idle bits definition
  net/mlx5: fix meter statistics
  net/mlx5: use mask for meter register setting

Suanming Mou (1):
  net/mlx5: support three level table walk

 doc/guides/nics/mlx5.rst                      |   6 +
 drivers/common/mlx5/mlx5_devx_cmds.c          |  68 ++
 drivers/common/mlx5/mlx5_devx_cmds.h          |  26 +-
 drivers/common/mlx5/mlx5_prm.h                |  81 +-
 drivers/common/mlx5/version.map               |   1 +
 drivers/net/mlx5/linux/mlx5_os.c              |  20 +-
 drivers/net/mlx5/meson.build                  |   2 +-
 drivers/net/mlx5/mlx5.c                       | 108 ++-
 drivers/net/mlx5/mlx5.h                       | 258 +++++-
 drivers/net/mlx5/mlx5_flow.c                  | 334 +++++--
 drivers/net/mlx5/mlx5_flow.h                  | 212 ++---
 .../mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} | 289 +++++-
 drivers/net/mlx5/mlx5_flow_dv.c               | 792 +++++++++++-----
 drivers/net/mlx5/mlx5_flow_meter.c            | 873 ++++++++++++------
 drivers/net/mlx5/mlx5_utils.h                 |  90 ++
 15 files changed, 2330 insertions(+), 830 deletions(-)
 rename drivers/net/mlx5/{mlx5_flow_age.c => mlx5_flow_aso.c} (65%)