All of lore.kernel.org
 help / color / mirror / Atom feed
From: <skori@marvell.com>
To: Nithin Dabilpuram <ndabilpuram@marvell.com>,
	Kiran Kumar K <kirankumark@marvell.com>,
	Sunil Kumar Kori <skori@marvell.com>,
	Satha Rao <skoteshwar@marvell.com>
Cc: <dev@dpdk.org>, Rakesh Kudurumalla <rkudurumalla@marvell.com>
Subject: [dpdk-dev] [PATCH v4 15/28] net/cnxk: support meter ops get API
Date: Mon, 11 Oct 2021 21:20:43 +0530	[thread overview]
Message-ID: <20211011155057.302142-16-skori@marvell.com> (raw)
In-Reply-To: <20211011155057.302142-1-skori@marvell.com>

From: Sunil Kumar Kori <skori@marvell.com>

To enable support for ingress meter, supported operations
are exposed for CNXK platform.

Signed-off-by: Sunil Kumar Kori <skori@marvell.com>
Signed-off-by: Rakesh Kudurumalla <rkudurumalla@marvell.com>
---
v4:
 - Rebase support on dpdk-next-net-mrvl branch
 - Handled meter action during flow destroy
 - Handled meter cleanup during port shutdown
 
v3:
 - Rebase support on latest DPDK
 - Handled multilevel chaining for tree hierarchy
 - Fix naming convention
v2:
 - Rebase support on latest DPDK
 - Handled multilevel chaining for linear hierarchy
 - Review comments incorporated

 drivers/net/cnxk/cnxk_ethdev.c     |  1 +
 drivers/net/cnxk/cnxk_ethdev.h     |  3 +++
 drivers/net/cnxk/cnxk_ethdev_mtr.c | 18 ++++++++++++++++++
 drivers/net/cnxk/meson.build       |  1 +
 4 files changed, 23 insertions(+)
 create mode 100644 drivers/net/cnxk/cnxk_ethdev_mtr.c

diff --git a/drivers/net/cnxk/cnxk_ethdev.c b/drivers/net/cnxk/cnxk_ethdev.c
index ec00e620eb..f694abd71d 100644
--- a/drivers/net/cnxk/cnxk_ethdev.c
+++ b/drivers/net/cnxk/cnxk_ethdev.c
@@ -1498,6 +1498,7 @@ struct eth_dev_ops cnxk_eth_dev_ops = {
 	.set_mc_addr_list = cnxk_nix_mc_addr_list_configure,
 	.set_queue_rate_limit = cnxk_nix_tm_set_queue_rate_limit,
 	.tm_ops_get = cnxk_nix_tm_ops_get,
+	.mtr_ops_get = cnxk_nix_mtr_ops_get,
 };
 
 static int
diff --git a/drivers/net/cnxk/cnxk_ethdev.h b/drivers/net/cnxk/cnxk_ethdev.h
index ff21b977b7..7a585b9dcf 100644
--- a/drivers/net/cnxk/cnxk_ethdev.h
+++ b/drivers/net/cnxk/cnxk_ethdev.h
@@ -433,6 +433,9 @@ int cnxk_nix_tm_ops_get(struct rte_eth_dev *eth_dev, void *ops);
 int cnxk_nix_tm_set_queue_rate_limit(struct rte_eth_dev *eth_dev,
 				     uint16_t queue_idx, uint16_t tx_rate);
 
+/* MTR */
+int cnxk_nix_mtr_ops_get(struct rte_eth_dev *dev, void *ops);
+
 /* RSS */
 uint32_t cnxk_rss_ethdev_to_nix(struct cnxk_eth_dev *dev, uint64_t ethdev_rss,
 				uint8_t rss_level);
diff --git a/drivers/net/cnxk/cnxk_ethdev_mtr.c b/drivers/net/cnxk/cnxk_ethdev_mtr.c
new file mode 100644
index 0000000000..fdb493a4b9
--- /dev/null
+++ b/drivers/net/cnxk/cnxk_ethdev_mtr.c
@@ -0,0 +1,18 @@
+/* SPDX-License-Identifier: BSD-3-Clause
+ * Copyright(C) 2021 Marvell.
+ */
+
+#include "cnxk_ethdev.h"
+#include <rte_mtr_driver.h>
+
+const struct rte_mtr_ops nix_mtr_ops = {
+};
+
+int
+cnxk_nix_mtr_ops_get(struct rte_eth_dev *dev, void *ops)
+{
+	RTE_SET_USED(dev);
+
+	*(const void **)ops = &nix_mtr_ops;
+	return 0;
+}
diff --git a/drivers/net/cnxk/meson.build b/drivers/net/cnxk/meson.build
index d86188fed7..5dac078b2c 100644
--- a/drivers/net/cnxk/meson.build
+++ b/drivers/net/cnxk/meson.build
@@ -11,6 +11,7 @@ endif
 sources = files(
         'cnxk_ethdev.c',
         'cnxk_ethdev_devargs.c',
+        'cnxk_ethdev_mtr.c',
         'cnxk_ethdev_ops.c',
         'cnxk_ethdev_sec.c',
         'cnxk_link.c',
-- 
2.25.1


  parent reply	other threads:[~2021-10-11 15:52 UTC|newest]

Thread overview: 116+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-27  8:21 [dpdk-dev] [PATCH v2 01/27] common/cnxk: update policer MBOX APIs and HW definitions skori
2021-09-27  8:21 ` [dpdk-dev] [PATCH v2 02/27] common/cnxk: support RoC API to get level to index skori
2021-09-27  8:21 ` [dpdk-dev] [PATCH v2 03/27] common/cnxk: support RoC API to get profile count skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 04/27] common/cnxk: support RoC API to alloc bandwidth profiles skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 05/27] common/cnxk: support RoC API to free " skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 06/27] common/cnxk: support RoC API to configure bandwidth profile skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 07/27] common/cnxk: support RoC API to toggle profile state skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 08/27] common/cnxk: support RoC API to dump bandwidth profile skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 09/27] common/cnxk: support RoC API to setup precolor table skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 10/27] common/cnxk: support RoC API to connect bandwidth profiles skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 11/27] common/cnxk: support RoC API to get stats to index skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 12/27] common/cnxk: support RoC API to read profile statistics skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 13/27] common/cnxk: support RoC API to reset profile stats skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 14/27] common/cnxk: support meter in action list skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 15/27] net/cnxk: support meter ops get API skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 16/27] net/cnxk: support ops to get meter capabilities skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 17/27] net/cnxk: support ops to create meter profile skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 18/27] net/cnxk: support ops to delete " skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 19/27] net/cnxk: support ops to validate meter policy skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 20/27] net/cnxk: support ops to create " skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 21/27] net/cnxk: support ops to delete " skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 22/27] net/cnxk: support ops to create meter skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 23/27] net/cnxk: support ops to delete meter skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 24/27] net/cnxk: support ops to enable/disable meter skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 25/27] net/cnxk: support ops to update precolor DSCP table skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 26/27] net/cnxk: support ops to read/update meter stats skori
2021-09-27  8:22 ` [dpdk-dev] [PATCH v2 27/27] net/cnxk: support meter action to flow create skori
2021-09-30  9:08 ` [dpdk-dev] [PATCH v3 01/27] common/cnxk: update policer MBOX APIs and HW definitions skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 02/27] common/cnxk: support RoC API to get level to index skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 03/27] common/cnxk: support RoC API to get profile count skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 04/27] common/cnxk: support RoC API to alloc bandwidth profiles skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 05/27] common/cnxk: support RoC API to free " skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 06/27] common/cnxk: support RoC API to configure bandwidth profile skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 07/27] common/cnxk: support RoC API to toggle profile state skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 08/27] common/cnxk: support RoC API to dump bandwidth profile skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 09/27] common/cnxk: support RoC API to setup precolor table skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 10/27] common/cnxk: support RoC API to connect bandwidth profiles skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 11/27] common/cnxk: support RoC API to get stats to index skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 12/27] common/cnxk: support RoC API to read profile statistics skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 13/27] common/cnxk: support RoC API to reset profile stats skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 14/27] common/cnxk: support meter in action list skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 15/27] net/cnxk: support meter ops get API skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 16/27] net/cnxk: support ops to get meter capabilities skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 17/27] net/cnxk: support ops to create meter profile skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 18/27] net/cnxk: support ops to delete " skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 19/27] net/cnxk: support ops to validate meter policy skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 20/27] net/cnxk: support ops to create " skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 21/27] net/cnxk: support ops to delete " skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 22/27] net/cnxk: support ops to create meter skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 23/27] net/cnxk: support ops to delete meter skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 24/27] net/cnxk: support ops to enable/disable meter skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 25/27] net/cnxk: support ops to update precolor DSCP table skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 26/27] net/cnxk: support ops to read/update meter stats skori
2021-09-30  9:08   ` [dpdk-dev] [PATCH v3 27/27] net/cnxk: support meter action to flow create skori
2021-09-30 10:00   ` [dpdk-dev] [PATCH v3 01/27] common/cnxk: update policer MBOX APIs and HW definitions Kinsella, Ray
2021-10-02 13:56     ` Jerin Jacob
2021-10-11 15:50   ` [dpdk-dev] [PATCH v4 00/28] Support ingress policer skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 01/28] common/cnxk: update policer MBOX APIs and HW definitions skori
2021-10-12  7:05       ` [dpdk-dev] [PATCH v5 00/28] Support ingress policer skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 01/28] common/cnxk: update policer MBOX APIs and HW definitions skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 02/28] common/cnxk: support RoC API to get level to index skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 03/28] common/cnxk: support RoC API to get profile count skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 04/28] common/cnxk: support RoC API to alloc bandwidth profiles skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 05/28] common/cnxk: support RoC API to free " skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 06/28] common/cnxk: support RoC API to configure bandwidth profile skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 07/28] common/cnxk: support RoC API to toggle profile state skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 08/28] common/cnxk: support RoC API to dump bandwidth profile skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 09/28] common/cnxk: support RoC API to setup precolor table skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 10/28] common/cnxk: support RoC API to connect bandwidth profiles skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 11/28] common/cnxk: support RoC API to get stats to index skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 12/28] common/cnxk: support RoC API to read profile statistics skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 13/28] common/cnxk: support RoC API to reset profile stats skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 14/28] common/cnxk: support meter in action list skori
2021-10-12  7:05         ` [dpdk-dev] [PATCH v5 15/28] net/cnxk: support meter ops get API skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 16/28] net/cnxk: support ops to get meter capabilities skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 17/28] net/cnxk: support ops to create meter profile skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 18/28] net/cnxk: support ops to delete " skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 19/28] net/cnxk: support ops to validate meter policy skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 20/28] net/cnxk: support ops to create " skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 21/28] net/cnxk: support ops to delete " skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 22/28] net/cnxk: support ops to create meter skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 23/28] net/cnxk: support ops to delete meter skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 24/28] net/cnxk: support ops to enable/disable meter skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 25/28] net/cnxk: support ops to update precolor DSCP table skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 26/28] net/cnxk: support ops to read/update meter stats skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 27/28] net/cnxk: support meter action to flow create skori
2021-10-12  7:06         ` [dpdk-dev] [PATCH v5 28/28] net/cnxk: support meter action to flow destroy skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 02/28] common/cnxk: support RoC API to get level to index skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 03/28] common/cnxk: support RoC API to get profile count skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 04/28] common/cnxk: support RoC API to alloc bandwidth profiles skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 05/28] common/cnxk: support RoC API to free " skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 06/28] common/cnxk: support RoC API to configure bandwidth profile skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 07/28] common/cnxk: support RoC API to toggle profile state skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 08/28] common/cnxk: support RoC API to dump bandwidth profile skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 09/28] common/cnxk: support RoC API to setup precolor table skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 10/28] common/cnxk: support RoC API to connect bandwidth profiles skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 11/28] common/cnxk: support RoC API to get stats to index skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 12/28] common/cnxk: support RoC API to read profile statistics skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 13/28] common/cnxk: support RoC API to reset profile stats skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 14/28] common/cnxk: support meter in action list skori
2021-10-11 15:50     ` skori [this message]
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 16/28] net/cnxk: support ops to get meter capabilities skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 17/28] net/cnxk: support ops to create meter profile skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 18/28] net/cnxk: support ops to delete " skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 19/28] net/cnxk: support ops to validate meter policy skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 20/28] net/cnxk: support ops to create " skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 21/28] net/cnxk: support ops to delete " skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 22/28] net/cnxk: support ops to create meter skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 23/28] net/cnxk: support ops to delete meter skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 24/28] net/cnxk: support ops to enable/disable meter skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 25/28] net/cnxk: support ops to update precolor DSCP table skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 26/28] net/cnxk: support ops to read/update meter stats skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 27/28] net/cnxk: support meter action to flow create skori
2021-10-11 15:50     ` [dpdk-dev] [PATCH v4 28/28] net/cnxk: support meter action to flow destroy skori
2021-10-19 14:30     ` [dpdk-dev] [PATCH v4 00/28] Support ingress policer Jerin Jacob
2021-10-20 13:28       ` Ferruh Yigit

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=20211011155057.302142-16-skori@marvell.com \
    --to=skori@marvell.com \
    --cc=dev@dpdk.org \
    --cc=kirankumark@marvell.com \
    --cc=ndabilpuram@marvell.com \
    --cc=rkudurumalla@marvell.com \
    --cc=skoteshwar@marvell.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.