[dpdk-dev] [PATCH] [RFC, v2]: adds support PPS(packet per second) on meter
Ferruh Yigit
ferruh.yigit at intel.com
Thu Jan 28 19:27:54 CET 2021
On 1/25/2021 1:20 AM, Li Zhang wrote:
> 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 <lizh at nvidia.com>
cc'ed Cristian for review/comment.
> ---
> 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
> 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 */
> + 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). */
> + uint64_t cir;
> +
> + /** Committed Burst Size (CBS) (bytes). */
> + uint64_t cbs;
> +
> + /** Excess Burst Size (EBS) (bytes). */
> + uint64_t ebs;
> + } srtcm_pps;
> };
> };
>
> @@ -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
> + * 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
> * srTCM RFC 2697, this is the maximum CIR rate. For trTCM RFC 2698,
> * this is the maximum PIR rate. For trTCM RFC 4115, this is the maximum
> @@ -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
> + * the srTCM packet per second metering algorithm.
> + */
> + int color_aware_srtcm_pps_supported;
> +
> /** When non-zero, it indicates that the policer packet recolor actions
> * are supported.
> * @see enum rte_mtr_policer_action
>
More information about the dev
mailing list