mbox

[v6,00/18] net/mlx5: HW steering PMD update

Message ID 20221020154152.28228-1-suanmingm@nvidia.com (mailing list archive)
Headers

Message

Suanming Mou Oct. 20, 2022, 3:41 p.m. UTC
The skeleton of mlx5 HW steering(HWS) has been updated into
upstream for pretty a long time, but not updated anymore due
to missing of the low-level steering layer code. Luckily,
better late than never, the steering layer finnaly comes[1].

This series will add more features to the existing PMD code:
 - FDB and metadata copy.
 - Modify field.
 - Meter color.
 - Counter.
 - Aging.
 - Action template pre-parser optimization.
 - Connection tracking.
 - Control flow.

Some features such as meter/aging/ct touches the public API,
and public API changes have been sent to ML much earily in
other threads in order not to be swallowed by this big series.

The dpends patches as below:
 [1]https://inbox.dpdk.org/dev/20220922190345.394-1-valex@nvidia.com/

---

 v6:
  - Rebase to the latest version.

 v5:
  - Rebase to the latest version.

 v4:
  - Disable aging due to the flow age API change still in progress.
    https://patches.dpdk.org/project/dpdk/cover/20221019144904.2543586-1-michaelba@nvidia.com/
  - Add control flow for HWS.

 v3:
  - Fixed flow can't be aged out.
  - Fix error not be filled properly while table creat failed.
  - Remove transfer_mode in flow attributes before ethdev layer applied.
    https://patches.dpdk.org/project/dpdk/patch/20220928092425.68214-1-rongweil@nvidia.com/

 v2:
  - Remove the rte_flow patches as they will be integrated in other thread.
  - Fix compilation issues.
  - Make the patches be better organized.

Alexander Kozyrev (2):
  net/mlx5: add HW steering meter action
  net/mlx5: implement METER MARK indirect action for HWS

Bing Zhao (1):
  net/mlx5: add extended metadata mode for hardware steering

Dariusz Sosnowski (5):
  net/mlx5: add HW steering port action
  net/mlx5: support DR action template API
  net/mlx5: support device control for E-Switch default rule
  net/mlx5: support device control of representor matching
  net/mlx5: create control flow rules with HWS

Gregory Etelson (2):
  net/mlx5: add HW steering VLAN push, pop and VID modify flow actions
  net/mlx5: support flow integrity in HWS group 0

Michael Baum (1):
  net/mlx5: add HWS AGE action support

Suanming Mou (6):
  net/mlx5: fix invalid flow attributes
  net/mlx5: fix IPv6 and TCP RSS hash fields
  net/mlx5: add shared header reformat support
  net/mlx5: add modify field hws support
  net/mlx5: add HW steering connection tracking support
  net/mlx5: add async action push and pull support

Xiaoyu Min (1):
  net/mlx5: add HW steering counter action

 doc/guides/nics/features/default.ini   |    1 +
 doc/guides/nics/features/mlx5.ini      |    2 +
 doc/guides/nics/mlx5.rst               |   43 +-
 doc/guides/rel_notes/release_22_11.rst |    8 +-
 drivers/common/mlx5/mlx5_devx_cmds.c   |   50 +
 drivers/common/mlx5/mlx5_devx_cmds.h   |   27 +
 drivers/common/mlx5/mlx5_prm.h         |   22 +-
 drivers/common/mlx5/version.map        |    1 +
 drivers/net/mlx5/linux/mlx5_os.c       |   78 +-
 drivers/net/mlx5/meson.build           |    1 +
 drivers/net/mlx5/mlx5.c                |  126 +-
 drivers/net/mlx5/mlx5.h                |  322 +-
 drivers/net/mlx5/mlx5_defs.h           |    5 +
 drivers/net/mlx5/mlx5_flow.c           |  409 +-
 drivers/net/mlx5/mlx5_flow.h           |  335 +-
 drivers/net/mlx5/mlx5_flow_aso.c       |  797 ++-
 drivers/net/mlx5/mlx5_flow_dv.c        | 1128 +--
 drivers/net/mlx5/mlx5_flow_hw.c        | 8789 +++++++++++++++++++++---
 drivers/net/mlx5/mlx5_flow_meter.c     |  776 ++-
 drivers/net/mlx5/mlx5_flow_verbs.c     |    8 +-
 drivers/net/mlx5/mlx5_hws_cnt.c        | 1247 ++++
 drivers/net/mlx5/mlx5_hws_cnt.h        |  703 ++
 drivers/net/mlx5/mlx5_rxq.c            |    3 +-
 drivers/net/mlx5/mlx5_trigger.c        |  272 +-
 drivers/net/mlx5/mlx5_tx.h             |    1 +
 drivers/net/mlx5/mlx5_txq.c            |   47 +
 drivers/net/mlx5/mlx5_utils.h          |   10 +-
 drivers/net/mlx5/rte_pmd_mlx5.h        |   17 +
 drivers/net/mlx5/version.map           |    1 +
 29 files changed, 13589 insertions(+), 1640 deletions(-)
 create mode 100644 drivers/net/mlx5/mlx5_hws_cnt.c
 create mode 100644 drivers/net/mlx5/mlx5_hws_cnt.h