On Sun, Jan 24, 2021 at 5:02 PM 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. > I thought rfc2697 specified metering using BPS only. The CIR was measured in bytes per second for IP packets. Is there a draft or link to the new srTCM mode? > The below structure will be extended: > rte_mtr_algorithm > rte_mtr_meter_profile > Signed-off-by: Li Zhang > --- > 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..6413892aec 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 > -- > 2.21.0 > >