From: Matan Azrad <matan@mellanox.com>
To: Suanming Mou <suanmingm@mellanox.com>,
Slava Ovsiienko <viacheslavo@mellanox.com>
Cc: Ori Kam <orika@mellanox.com>,
Raslan Darawsheh <rasland@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 06:20:03 +0000 [thread overview]
Message-ID: <AM0PR0502MB401951582CA2307CCED6B183D27B0@AM0PR0502MB4019.eurprd05.prod.outlook.com> (raw)
In-Reply-To: <1573184965-49691-1-git-send-email-suanmingm@mellanox.com>
From: Suanming Mou
> 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&data=02%7C01%7Cmatan%40mellanox
> .com%7C95ee54ab6dcb43f951bb08d763feab78%7Ca652971c7d2e4d9ba6a4d1
> 49256f461b%7C0%7C0%7C637087817814455376&sdata=BTjZsNhFxfWvF
> Aw%2F4UHVpBi2GIWGf0LCmRhzFibAUXU%3D&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
>
For all the series:
Acked-by: Matan Azrad <matan@mellanox.com>
> 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
next prev parent reply other threads:[~2019-11-08 6:20 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 ` Matan Azrad [this message]
2019-11-08 14:22 ` [dpdk-dev] [PATCH v2 00/19] net/mlx5: support meter Raslan Darawsheh
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=AM0PR0502MB401951582CA2307CCED6B183D27B0@AM0PR0502MB4019.eurprd05.prod.outlook.com \
--to=matan@mellanox.com \
--cc=dev@dpdk.org \
--cc=orika@mellanox.com \
--cc=rasland@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).