mbox series

[v9,0/2] Support meter policy API

Message ID 1618848506-37569-1-git-send-email-jiaweiw@nvidia.com (mailing list archive)
Headers
Series Support meter policy API |

Message

Jiawei Wang April 19, 2021, 4:08 p.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.

Add two common policy template as macros in the header file,

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

Depends-on: series=16351  ("Add ASO meter support in MLX5 PMD ")
https://patchwork.dpdk.org/project/dpdk/list/?series=16351

V2: Delete default policy and change relation doc files.
V3: Fix coding style issues.
V4: Fix comments about Depends-on
V5: Fix comments about rte_mtr_meter_policy_add.
V6: Delete policy example.
V7: Fix comments and place two common policy template as macros.
V8: Fix rebase conflict issues and CI warning
V9: Rebase and Fix the comments for softnic driver.

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                             |  14 +-
 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                              |  32 ++
 app/test-pmd/testpmd.h                             |   2 +
 doc/guides/prog_guide/rte_flow.rst                 |  21 +
 .../prog_guide/traffic_metering_and_policing.rst   |  16 +-
 doc/guides/rel_notes/release_21_05.rst             |  21 +
 doc/guides/testpmd_app_ug/testpmd_funcs.rst        |  48 ++-
 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 +-
 drivers/net/softnic/rte_eth_softnic_internals.h    |  18 +-
 drivers/net/softnic/rte_eth_softnic_meter.c        | 297 ++++++++++---
 lib/librte_ethdev/rte_flow.h                       |  22 +
 lib/librte_ethdev/rte_mtr.c                        |  55 ++-
 lib/librte_ethdev/rte_mtr.h                        | 223 +++++++---
 lib/librte_ethdev/rte_mtr_driver.h                 |  44 +-
 lib/librte_ethdev/version.map                      |   5 +-
 25 files changed, 879 insertions(+), 1270 deletions(-)
  

Comments

Ferruh Yigit April 20, 2021, 11:36 a.m. UTC | #1
On 4/19/2021 5:08 PM, Jiawei Wang wrote:
> 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.
> 
> Add two common policy template as macros in the header file,
> 
> RFC ("ethdev: add pre-defined meter policy API")
> https://patchwork.dpdk.org/project/dpdk/patch/20210318085815.804896-1-lizh@nvidia.com/
> 
> Depends-on: series=16351  ("Add ASO meter support in MLX5 PMD ")
> https://patchwork.dpdk.org/project/dpdk/list/?series=16351
> 
> V2: Delete default policy and change relation doc files.
> V3: Fix coding style issues.
> V4: Fix comments about Depends-on
> V5: Fix comments about rte_mtr_meter_policy_add.
> V6: Delete policy example.
> V7: Fix comments and place two common policy template as macros.
> V8: Fix rebase conflict issues and CI warning
> V9: Rebase and Fix the comments for softnic driver.
> 
> Haifei Luo (1):
>    app/testpmd: support policy actions per color
> 
> Li Zhang (1):
>    ethdev: add pre-defined meter policy API
> 

Hi Li, Haifei,

This patch conflicts with merged integrity check/conntrack features, also the 
dependent mlx5 ASO set send a new version.

Can you please send a new version rebasing on latest versions?
  
Jiawei Wang April 20, 2021, 2:08 p.m. UTC | #2
Hi,

> -----Original Message-----
> From: Ferruh Yigit <ferruh.yigit@intel.com>
> Sent: Tuesday, April 20, 2021 7:37 PM
> To: Jiawei(Jonny) Wang <jiaweiw@nvidia.com>; Matan Azrad
> <matan@nvidia.com>; Ori Kam <orika@nvidia.com>; Slava Ovsiienko
> <viacheslavo@nvidia.com>; Shahaf Shuler <shahafs@nvidia.com>
> Cc: dev@dpdk.org; NBU-Contact-Thomas Monjalon
> <thomas@monjalon.net>; Raslan Darawsheh <rasland@nvidia.com>; Roni
> Bar Yanai <roniba@nvidia.com>
> Subject: Re: [dpdk-dev] [PATCH v9 0/2] Support meter policy API
> 
> On 4/19/2021 5:08 PM, Jiawei Wang wrote:
> > 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.
> >
> > Add two common policy template as macros in the header file,
> >
> > RFC ("ethdev: add pre-defined meter policy API")
> > https://patchwork.dpdk.org/project/dpdk/patch/20210318085815.804896-
> 1-
> > lizh@nvidia.com/
> >
> > Depends-on: series=16351  ("Add ASO meter support in MLX5 PMD ")
> > https://patchwork.dpdk.org/project/dpdk/list/?series=16351
> >
> > V2: Delete default policy and change relation doc files.
> > V3: Fix coding style issues.
> > V4: Fix comments about Depends-on
> > V5: Fix comments about rte_mtr_meter_policy_add.
> > V6: Delete policy example.
> > V7: Fix comments and place two common policy template as macros.
> > V8: Fix rebase conflict issues and CI warning
> > V9: Rebase and Fix the comments for softnic driver.
> >
> > Haifei Luo (1):
> >    app/testpmd: support policy actions per color
> >
> > Li Zhang (1):
> >    ethdev: add pre-defined meter policy API
> >
> 
> Hi Li, Haifei,
> 
> This patch conflicts with merged integrity check/conntrack features, also the
> dependent mlx5 ASO set send a new version.
> 
> Can you please send a new version rebasing on latest versions?
> 
> 

Thanks Ferruh point it, I had rebased and also update the new mlx5 ASO series link.
The latest v10 already been sent.

Thanks.