mbox series

[0/2] Support meter policy API

Message ID 20210401065448.1480127-1-lizh@nvidia.com (mailing list archive)
Headers show
Series Support meter policy API | expand

Message

Li Zhang April 1, 2021, 6:54 a.m. UTC
Currently, the flow meter policy does not support multiple actions
per color; also the allowed action types per color are very limited.
In addition, the policy cannot be pre-defined.

Due to the growing in flow actions offload abilities there is a potential
for the user to use variety of actions per color differently.
This new meter policy API comes to allow this potential in the most ethdev
common way using rte_flow action definition.
A list of rte_flow actions will be provided by the user per color
in order to create a meter policy.
In addition, the API forces to pre-define the policy before
the meters creation in order to allow sharing of single policy
with multiple meters efficiently.

meter_policy_id is added into struct rte_mtr_params.
So that it can get the policy during the meters creation.

RFC ("ethdev: add pre-defined meter policy API")
https://patchwork.dpdk.org/project/dpdk/patch/20210318085815.804896-1-lizh@nvidia.com/

Haifei Luo (1):
  app/testpmd: support policy actions per color

Li Zhang (1):
  ethdev: add pre-defined meter policy API

 app/test-flow-perf/main.c                     |   7 -
 app/test-pmd/cmdline.c                        |   7 +-
 app/test-pmd/cmdline_flow.c                   | 118 ++++-
 app/test-pmd/cmdline_mtr.c                    | 257 +++-------
 app/test-pmd/cmdline_mtr.h                    |   4 +-
 app/test-pmd/config.c                         |  34 ++
 app/test-pmd/testpmd.h                        |   2 +
 doc/guides/rel_notes/release_20_11.rst        |   3 +
 drivers/net/mlx5/mlx5.h                       |  24 +-
 drivers/net/mlx5/mlx5_flow.c                  |  46 --
 drivers/net/mlx5/mlx5_flow.h                  |  18 +-
 drivers/net/mlx5/mlx5_flow_aso.c              |   8 +-
 drivers/net/mlx5/mlx5_flow_dv.c               | 461 +-----------------
 drivers/net/mlx5/mlx5_flow_meter.c            | 369 +-------------
 drivers/net/softnic/rte_eth_softnic_flow.c    |  19 +-
 .../net/softnic/rte_eth_softnic_internals.h   |  18 +-
 drivers/net/softnic/rte_eth_softnic_meter.c   | 303 +++++++++---
 lib/librte_ethdev/rte_flow.h                  |  18 +
 lib/librte_ethdev/rte_mtr.c                   |  55 ++-
 lib/librte_ethdev/rte_mtr.h                   | 166 +++++--
 lib/librte_ethdev/rte_mtr_driver.h            |  44 +-
 lib/librte_ethdev/version.map                 |   4 +
 22 files changed, 747 insertions(+), 1238 deletions(-)