DPDK patches and discussions
 help / color / mirror / Atom feed
From: Raslan Darawsheh <rasland@mellanox.com>
To: Suanming Mou <suanmingm@mellanox.com>,
	Slava Ovsiienko <viacheslavo@mellanox.com>,
	Matan Azrad <matan@mellanox.com>
Cc: Ori Kam <orika@mellanox.com>, "dev@dpdk.org" <dev@dpdk.org>
Subject: Re: [dpdk-dev] [PATCH v2 00/19] net/mlx5: support meter
Date: Fri, 8 Nov 2019 14:22:27 +0000	[thread overview]
Message-ID: <DB3PR0502MB396413FECFF2D0B665A834E6C27B0@DB3PR0502MB3964.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <1573184965-49691-1-git-send-email-suanmingm@mellanox.com>

Hi,

> -----Original Message-----
> From: Suanming Mou <suanmingm@mellanox.com>
> Sent: Friday, November 8, 2019 5:49 AM
> To: Slava Ovsiienko <viacheslavo@mellanox.com>; Matan Azrad
> <matan@mellanox.com>
> Cc: Ori Kam <orika@mellanox.com>; Raslan Darawsheh
> <rasland@mellanox.com>; dev@dpdk.org
> Subject: [PATCH v2 00/19] net/mlx5: support meter
> 
> The patches introduce the meter action support for mlx5.
> The design of the implementation was introduced in RFC as below:
> https://eur03.safelinks.protection.outlook.com/?url=http%3A%2F%2Finbox.
> dpdk.org%2Fdev%2Fb994cd03-02f6-cd50-120f-
> dcf0941e4485%40mellanox.com&amp;data=02%7C01%7Crasland%40mellano
> x.com%7C95ee54ab6dcb43f951bb08d763feab78%7Ca652971c7d2e4d9ba6a4d
> 149256f461b%7C0%7C0%7C637087817814515342&amp;sdata=XUrJiS50aeFhg
> y8Wsm1JtGJcA1hQpINLVzTgUJxDDfk%3D&amp;reserved=0
> 
> The implementation is followed RFC to split flow with meter to three sub
> flows.
> Prefix flow -> Meter flow -> Suffix flow
> 
> The srTCM color blind mode is supported only, color aware mode and
> multiple meter chaining are not supported.
> 
> The patch set add the operations to get the capabilities of the meter action,
> create/destroy the action, validate the action, attach/detach the action,
> update the action, query the action statistics and flush the actions resources.
> 
> Besides these, as the flow with meter action is split to three sub flows for
> coloring(in prefix flow), color checking(in meter flow), left actions applying (in
> suffix flow), two registers are used for the color match and prefix-suffix flow
> match. That's what the "allocate flow meter registers" patch does.
> 
> As with the three sub flows, two more flow tables are created for the meter
> flow and suffix flow in patch "prepare meter flow tables". As wrote in the
> RFC, meter flow and suffix flow are separated since meter maybe shared
> with multiple flows.
> 
> For the meter action statistics's query, the DevX flow counter is exposed to
> meter action in patch "expose flow counters management".
> 
> In the "split meter flow" patch, flow with meter is split to three sub flow. The
> *_DECAP and meter action will be in the prefix flow.
> And an extra tag action with unique flow id to match with the suffix flow is
> also added to the prefix flow. The suffix flow will apply all the left actions
> while the flow id in tag item matches.
> 
> Since the metadata copy mark action is in the meter suffix flow, the REG_C
> for cpoy mark and prefix-suffix flow match is shared.
> Once the meter suffix flow add the tag, metadata suffix sub flow won't add
> the tag anymore but share the tag is enough. It's done in the "share tag
> between meter and metadata" patch.
> 
> ---
> v2: rebased on top of the latest code with metadata feature
> 
> Suanming Mou (19):
>   net/mlx5: add meter operation callback
>   net/mlx5: fill meter capabilities using DevX
>   net/mlx5: allocate flow meter registers
>   net/mlx5: support meter profile operations
>   net/mlx5: validate meter profile
>   net/mlx5: prepare meter flow tables
>   net/mlx5: add policer rules operations
>   net/mlx5: support basic meter operations
>   net/mlx5: add meter action creation to the glue
>   net/mlx5: support meter modification operations
>   net/mlx5: support meter profile update
>   net/mlx5: expose flow counters management
>   net/mlx5: add count action to meter
>   net/mlx5: add meter statistics read and update
>   net/mlx5: add meter attach and detach
>   net/mlx5: support meter flow action
>   net/mlx5: split meter flow
>   net/mlx5: share tag between meter and metadata
>   net/mlx5: clean meter resources
> 
>  drivers/net/mlx5/Makefile          |    7 +
>  drivers/net/mlx5/meson.build       |    3 +
>  drivers/net/mlx5/mlx5.c            |   29 +
>  drivers/net/mlx5/mlx5.h            |   46 ++
>  drivers/net/mlx5/mlx5_devx_cmds.c  |   23 +
>  drivers/net/mlx5/mlx5_flow.c       |  632 ++++++++++++++++--
>  drivers/net/mlx5/mlx5_flow.h       |  153 ++++-
>  drivers/net/mlx5/mlx5_flow_dv.c    |  612 +++++++++++++++++
>  drivers/net/mlx5/mlx5_flow_meter.c | 1285
> ++++++++++++++++++++++++++++++++++++
>  drivers/net/mlx5/mlx5_glue.c       |   30 +
>  drivers/net/mlx5/mlx5_glue.h       |    9 +
>  drivers/net/mlx5/mlx5_prm.h        |   45 ++
>  12 files changed, 2812 insertions(+), 62 deletions(-)  create mode 100644
> drivers/net/mlx5/mlx5_flow_meter.c
> 
> --
> 1.8.3.1


Series applied to next-net-mlx,

Kindest regards,
Raslan Darawsheh

      parent reply	other threads:[~2019-11-08 14:22 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-06 15:11 [dpdk-dev] [PATCH " Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 01/19] net/mlx5: add meter operation callback Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 02/19] net/mlx5: fill meter capabilities using DevX Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 03/19] net/mlx5: allocate flow meter registers Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 04/19] net/mlx5: support meter profile operations Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 05/19] net/mlx5: validate meter profile Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 06/19] net/mlx5: prepare meter flow tables Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 07/19] net/mlx5: add policer rules operations Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 08/19] net/mlx5: support basic meter operations Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 09/19] net/mlx5: add meter action creation to the glue Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 10/19] net/mlx5: support meter modification operations Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 11/19] net/mlx5: support meter profile update Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 12/19] net/mlx5: expose flow counters management Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 13/19] net/mlx5: add count action to meter Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 14/19] net/mlx5: add meter statistics read and update Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 15/19] net/mlx5: add meter attach and detach Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 16/19] net/mlx5: support meter flow action Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 17/19] net/mlx5: split meter flow Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 18/19] net/mlx5: share tag between meter and metadata Suanming Mou
2019-11-06 15:11 ` [dpdk-dev] [PATCH 19/19] net/mlx5: clean meter resources Suanming Mou
2019-11-08  3:49 ` [dpdk-dev] [PATCH v2 00/19] net/mlx5: support meter Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 01/19] net/mlx5: add meter operation callback Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 02/19] net/mlx5: fill meter capabilities using DevX Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 03/19] net/mlx5: allocate flow meter registers Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 04/19] net/mlx5: support meter profile operations Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 05/19] net/mlx5: validate meter profile Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 06/19] net/mlx5: prepare meter flow tables Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 07/19] net/mlx5: add policer rules operations Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 08/19] net/mlx5: support basic meter operations Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 09/19] net/mlx5: add meter action creation to the glue Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 10/19] net/mlx5: support meter modification operations Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 11/19] net/mlx5: support meter profile update Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 12/19] net/mlx5: expose flow counters management Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 13/19] net/mlx5: add count action to meter Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 14/19] net/mlx5: add meter statistics read and update Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 15/19] net/mlx5: add meter attach and detach Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 16/19] net/mlx5: support meter flow action Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 17/19] net/mlx5: split meter flow Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 18/19] net/mlx5: share tag between meter and metadata Suanming Mou
2019-11-08  3:49   ` [dpdk-dev] [PATCH v2 19/19] net/mlx5: clean meter resources Suanming Mou
2019-11-08  6:20   ` [dpdk-dev] [PATCH v2 00/19] net/mlx5: support meter Matan Azrad
2019-11-08 14:22   ` Raslan Darawsheh [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DB3PR0502MB396413FECFF2D0B665A834E6C27B0@DB3PR0502MB3964.eurprd05.prod.outlook.com \
    --to=rasland@mellanox.com \
    --cc=dev@dpdk.org \
    --cc=matan@mellanox.com \
    --cc=orika@mellanox.com \
    --cc=suanmingm@mellanox.com \
    --cc=viacheslavo@mellanox.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).