Thread (49 messages) 49 messages, 8 authors, 2021-03-05

Re: [dpdk-dev] [PATCH] [RFC, v2]: adds support PPS(packet per second) on meter

From: Li Zhang <hidden>
Date: 2021-02-23 02:07:22

Thanks for your comments.
We changed the struct as below:
struct rte_mtr_meter_profile {
 ......
		/** Items only valid when alg is set to sprTCM. */
		struct {
			/** Committed Information Packet Rate (CIPR). */
			uint64_t cipr;

			/** Committed Packet Burst Size (CPBS). */
			uint64_t cpbs;

			/** Excess Packet Burst Size (EPBS). */
			uint64_t epbs;
		} sprtcm;
}

Regards,
Li Zhang
-----Original Message-----
From: dev <redacted> On Behalf Of Morten Br?rup
Sent: Friday, February 12, 2021 3:41 PM
To: Ferruh Yigit <redacted>; Li Zhang <redacted>; Dekel
Peled [off-list ref]; Ori Kam [off-list ref]; Slava Ovsiienko
[off-list ref]; Matan Azrad [off-list ref]; Dumitrescu,
Cristian [off-list ref]
Cc: dev@dpdk.org; NBU-Contact-Thomas Monjalon <redacted>;
Raslan Darawsheh [off-list ref]
Subject: Re: [dpdk-dev] [PATCH] [RFC, v2]: adds support PPS(packet per second)
on meter
quoted
From: dev [mailto:dev-bounces@dpdk.org] On Behalf Of Ferruh Yigit
Sent: Thursday, January 28, 2021 7:28 PM

On 1/25/2021 1:20 AM, Li Zhang wrote:
quoted
Currently the flow Meter algorithms in rte_flow only supports bytes
per second(BPS).
Such as Single Rate Three Color Marker (srTCM rfc2697) This RFC adds
the packet per second definition in Meter algorithms structure, to
support the rte_mtr APIs with type srTCM pps mode.
The below structure will be extended:
rte_mtr_algorithm
rte_mtr_meter_profile
Signed-off-by: Li Zhang <redacted>
cc'ed Cristian for review/comment.
quoted
---
  lib/librte_ethdev/rte_mtr.h | 28 ++++++++++++++++++++++++++++
  1 file changed, 28 insertions(+)
diff --git a/lib/librte_ethdev/rte_mtr.h
b/lib/librte_ethdev/rte_mtr.h
quoted
index 916a09c5c3..3e88904faf 100644
--- a/lib/librte_ethdev/rte_mtr.h
+++ b/lib/librte_ethdev/rte_mtr.h
@@ -119,6 +119,9 @@ enum rte_mtr_algorithm {

  	/** Two Rate Three Color Marker (trTCM) - IETF RFC 4115. */
  	RTE_MTR_TRTCM_RFC4115,
+
+	/** Single Rate Three Color Marker (srTCM) in Packet per second
mode */
quoted
+	RTE_MTR_SRTCM_PPS,
  };

  /**
@@ -171,6 +174,18 @@ struct rte_mtr_meter_profile {
  			/** Excess Burst Size (EBS) (bytes). */
  			uint64_t ebs;
  		} trtcm_rfc4115;
+
+		/** Items only valid when *alg* is set to srTCM - PPS. */
+		struct {
+			/** Committed Information Rate
(CIR)(packets/second).
quoted
*/
quoted
+			uint64_t cir;
+
+			/** Committed Burst Size (CBS) (bytes). */
+			uint64_t cbs;
+
+			/** Excess Burst Size (EBS) (bytes). */
+			uint64_t ebs;
+		} srtcm_pps;
In PPS mode, the burst sizes (ebs, ebs) must be packets, not bytes.
quoted
quoted
  	};
  };
@@ -317,6 +332,13 @@ struct rte_mtr_capabilities {
  	 */
  	uint32_t meter_trtcm_rfc4115_n_max;

+	/** Maximum number of MTR objects that can have their meter
configured
quoted
+	 * to run the srTCM packet per second algorithm. The value of 0
+	 * indicates this metering algorithm is not supported.
+	 * The maximum value is *n_max*.
+	 */
+	uint32_t meter_srtcm_pps_n_max;
+
  	/** Maximum traffic rate that can be metered by a single MTR
object. For
quoted
  	 * srTCM RFC 2697, this is the maximum CIR rate. For trTCM RFC
2698,
quoted
  	 * this is the maximum PIR rate. For trTCM RFC 4115, this is the
maximum
quoted
@@ -342,6 +364,12 @@ struct rte_mtr_capabilities {
  	 */
  	int color_aware_trtcm_rfc4115_supported;

+	/**
+	 * When non-zero, it indicates that color aware mode is supported
for
quoted
+	 * the srTCM packet per second  metering algorithm.
No need for two spaces between the words second and metering.
quoted
quoted
+	 */
+	int color_aware_srtcm_pps_supported;
+
  	/** When non-zero, it indicates that the policer packet recolor
actions
quoted
  	 * are supported.
  	 * @see enum rte_mtr_policer_action
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help