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-l...@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(-) -- 2.27.0