From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 61313A0524; Mon, 12 Apr 2021 21:29:15 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id CE8791412DE; Mon, 12 Apr 2021 21:29:14 +0200 (CEST) Received: from mail-io1-f41.google.com (mail-io1-f41.google.com [209.85.166.41]) by mails.dpdk.org (Postfix) with ESMTP id E48BA1412DD for ; Mon, 12 Apr 2021 21:29:13 +0200 (CEST) Received: by mail-io1-f41.google.com with SMTP id k25so14645903iob.6 for ; Mon, 12 Apr 2021 12:29:13 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=+nN1y2WpqiToqsYheYyL3whItCcXVim+ICFQYUciLow=; b=LST4RupOQobwmREIcd47oU6LbA4n9VaUi/0iealbEegBn6nCiGUQy6qCFtAm5Vn5+U dZYOLvuqC4oXNOTE7mL5CL7FDApZqQ5FnyMsnwKZGRdTehns9XhdW3crtZVgu3VN6o8o 26l9nhvcvW4CO8GroXRNulTCSevLtm2kPg0l6TD5hT0O/5ekresqQrTD4QrVNGqywARy P8B6jiuGIMF7k3pRrqxZRqCg6tHrrdvPVDjcjRxstcfD2Y0yrvIpw0ihVIhXOaqLA6hD A3Xa7RR5UQaZKlg1A2r0lOs6Zf8ILCDv5hNiNHH0bt393/bH959VhrsNAzbAT+He6AXC 6D/A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=+nN1y2WpqiToqsYheYyL3whItCcXVim+ICFQYUciLow=; b=n5HBJwyPItJy+OzEACpqdXBUp95DSWPRL2n6M4Pna6CM4R7JumlfwFH/MpyhZs0sjb o/1lLl8GwSFiHYdpehX9qVWH4fRgZYBpsiAxqCBbIhma/UOh7s06XjSo+posIFsk/3t+ gS/NlewFlz6SVTxQbnz4XuPDegA+VXGjvj9bRq14/qWay/1QNNoJDRVZiOWQqhCBh4kY +73oXHN3ZjS0OFMARMGAImm+2U/4GABl8kmNhWIdxXPHi/M6tbeVR7Sny2dIAWl2Yott qnPpkMuxr202aGTtrHuZMx7mZJDph8AgOYXmQlE9UOYlUxZoBw/VD3923pdU6veQY29U myPQ== X-Gm-Message-State: AOAM5312A/phq2pf3XtvscLtHfkt3BosQMlYRyZ3nonEDT6ndM4z8hEb 7zRM6dSt9MUv7vHke7MVVohGngjisS7OwlwbbYo= X-Google-Smtp-Source: ABdhPJwMcFKgmNLa+2McW2wXcKrcv4J22exENY8277c6TIyVRt9A4LxVsK5RanvyyfO3LoryKGbYHMiWb3HYnWZl1ec= X-Received: by 2002:a05:6638:2508:: with SMTP id v8mr15492489jat.133.1618255753272; Mon, 12 Apr 2021 12:29:13 -0700 (PDT) MIME-Version: 1.0 References: <20210408035849.1755493-1-lizh@nvidia.com> <20210410072445.1872769-1-lizh@nvidia.com> <20210410072445.1872769-2-lizh@nvidia.com> In-Reply-To: From: Jerin Jacob Date: Tue, 13 Apr 2021 00:58:57 +0530 Message-ID: To: "Dumitrescu, Cristian" Cc: Li Zhang , "dekelp@nvidia.com" , "orika@nvidia.com" , "viacheslavo@nvidia.com" , "matan@nvidia.com" , "shahafs@nvidia.com" , "lironh@marvell.com" , Thomas Monjalon , "Yigit, Ferruh" , Andrew Rybchenko , "dev@dpdk.org" , "rasland@nvidia.com" , "roniba@nvidia.com" Content-Type: text/plain; charset="UTF-8" Subject: Re: [dpdk-dev] [PATCH v3 1/4] ethdev: add packet mode in meter profile structure X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" On Tue, Apr 13, 2021 at 12:54 AM Dumitrescu, Cristian wrote: > > > > > -----Original Message----- > > From: Li Zhang > > Sent: Saturday, April 10, 2021 8:25 AM > > To: dekelp@nvidia.com; orika@nvidia.com; viacheslavo@nvidia.com; > > matan@nvidia.com; shahafs@nvidia.com; Dumitrescu, Cristian > > ; lironh@marvell.com; Thomas Monjalon > > ; Yigit, Ferruh ; Andrew > > Rybchenko > > Cc: dev@dpdk.org; rasland@nvidia.com; roniba@nvidia.com > > Subject: [PATCH v3 1/4] ethdev: add packet mode in meter profile structure > > > > Currently meter algorithms only supports rate is bytes per second(BPS). > > Add packet_mode flag in meter profile parameters data structure. > > So that it can meter traffic by packet per second. > > > > When packet_mode is 0, the profile rates and bucket sizes are > > specified in bytes per second and bytes > > when packet_mode is not 0, the profile rates and bucket sizes are > > specified in packets and packets per second. > > > > The below structure will be extended: > > rte_mtr_meter_profile > > rte_mtr_capabilities > > > > Signed-off-by: Li Zhang > > Acked-by: Matan Azrad Acked-by: Jerin Jacob > > --- > > doc/guides/rel_notes/release_21_05.rst | 12 ++++ > > lib/librte_ethdev/rte_mtr.h | 90 ++++++++++++++++++++++---- > > 2 files changed, 91 insertions(+), 11 deletions(-) > > > > diff --git a/doc/guides/rel_notes/release_21_05.rst > > b/doc/guides/rel_notes/release_21_05.rst > > index f199ad286d..b4653d63a1 100644 > > --- a/doc/guides/rel_notes/release_21_05.rst > > +++ b/doc/guides/rel_notes/release_21_05.rst > > @@ -152,6 +152,18 @@ New Features > > * ethdev: Added RTE_FLOW_ACTION_TYPE_METER_COLOR in enum > > rte_flow_action_type. > > * ethdev: Added RTE_MTR_ERROR_TYPE_METER_POLICY_ID and > > RTE_MTR_ERROR_TYPE_METER_POLICY_ID into rte_mtr_error_type. > > > > +* **Added support for meter PPS profile.** > > + > > + Currently meter algorithms only supports bytes per second(BPS). > > + Add packet_mode in the meter profile parameters data structures > > + to support packet per second (PPS) mode. > > + So that it can meter traffic by packet per second. > > + Packet_mode must be 0 when it is bytes mode. > > + > > +* **Updated MLX5 driver.** > > + > > + * Added support for meter profile packet per second mode > > (packet_mode). > > + > > Removed Items > > ------------- > > > > diff --git a/lib/librte_ethdev/rte_mtr.h b/lib/librte_ethdev/rte_mtr.h > > index 4938ef065f..778fad7638 100644 > > --- a/lib/librte_ethdev/rte_mtr.h > > +++ b/lib/librte_ethdev/rte_mtr.h > > @@ -133,46 +133,71 @@ struct rte_mtr_meter_profile { > > union { > > /** Items only valid when *alg* is set to srTCM - RFC 2697. */ > > struct { > > - /** Committed Information Rate (CIR) > > (bytes/second). */ > > + /** > > + * Committed Information Rate (CIR) > > + * (bytes per second or packets per second). > > + */ > > uint64_t cir; > > > > - /** Committed Burst Size (CBS) (bytes). */ > > + /** Committed Burst Size (CBS) (bytes or packets). */ > > uint64_t cbs; > > > > - /** Excess Burst Size (EBS) (bytes). */ > > + /** Excess Burst Size (EBS) (bytes or packets). */ > > uint64_t ebs; > > } srtcm_rfc2697; > > > > /** Items only valid when *alg* is set to trTCM - RFC 2698. */ > > struct { > > - /** Committed Information Rate (CIR) > > (bytes/second). */ > > + /** > > + * Committed Information Rate (CIR) > > + * (bytes per second or packets per second). > > + */ > > uint64_t cir; > > > > - /** Peak Information Rate (PIR) (bytes/second). */ > > + /** > > + * Peak Information Rate (PIR) > > + * (bytes per second or packets per second). > > + */ > > uint64_t pir; > > > > - /** Committed Burst Size (CBS) (byes). */ > > + /** Committed Burst Size (CBS) (bytes or packets). */ > > uint64_t cbs; > > > > - /** Peak Burst Size (PBS) (bytes). */ > > + /** Peak Burst Size (PBS) (bytes or packets). */ > > uint64_t pbs; > > } trtcm_rfc2698; > > > > /** Items only valid when *alg* is set to trTCM - RFC 4115. */ > > struct { > > - /** Committed Information Rate (CIR) > > (bytes/second). */ > > + /** > > + * Committed Information Rate (CIR) > > + * (bytes per second or packets per second). > > + */ > > uint64_t cir; > > > > - /** Excess Information Rate (EIR) (bytes/second). */ > > + /** > > + * Excess Information Rate (EIR) > > + * (bytes per second or packets per second). > > + */ > > uint64_t eir; > > > > - /** Committed Burst Size (CBS) (byes). */ > > + /** Committed Burst Size (CBS) (bytes or packets). */ > > uint64_t cbs; > > > > - /** Excess Burst Size (EBS) (bytes). */ > > + /** Excess Burst Size (EBS) (bytes or packets). */ > > uint64_t ebs; > > } trtcm_rfc4115; > > }; > > + > > + /** > > + * When zero, the byte mode is enabled for the current profile, so > > the > > + * *rate* and *size* fields are specified in bytes per second > > + * and bytes, respectively. > > + * When non-zero, the packet mode is enabled for the current > > profile, > > + * so the *rate* and *size* fields are specified in packets per second > > + * and packets, respectively. > > + */ > > + int packet_mode; > > }; > > > > /** > > @@ -346,6 +371,48 @@ struct rte_mtr_capabilities { > > */ > > int color_aware_trtcm_rfc4115_supported; > > > > + /** > > + * srTCM rfc2697 byte mode supported. > > + * When non-zero, it indicates that byte mode is supported for > > + * the srTCM RFC 2697 metering algorithm. > > + */ > > + int srtcm_rfc2697_byte_mode_supported; > > + > > + /** > > + * srTCM rfc2697 packet mode supported. > > + * When non-zero, it indicates that packet mode is supported for > > + * the srTCM RFC 2697 metering algorithm. > > + */ > > + int srtcm_rfc2697_packet_mode_supported; > > + > > + /** > > + * trTCM rfc2698 byte mode supported. > > + * When non-zero, it indicates that byte mode is supported for > > + * the trTCM RFC 2698 metering algorithm. > > + */ > > + int trtcm_rfc2698_byte_mode_supported; > > + > > + /** > > + * trTCM rfc2698 packet mode supported. > > + * When non-zero, it indicates that packet mode is supported for > > + * the trTCM RFC 2698 metering algorithm. > > + */ > > + int trtcm_rfc2698_packet_mode_supported; > > + > > + /** > > + * trTCM rfc4115 byte mode supported. > > + * When non-zero, it indicates that byte mode is supported for > > + * the trTCM RFC 4115 metering algorithm. > > + */ > > + int trtcm_rfc4115_byte_mode_supported; > > + > > + /** > > + * trTCM rfc4115 packet mode supported. > > + * When non-zero, it indicates that packet mode is supported for > > + * the trTCM RFC 4115 metering algorithm. > > + */ > > + int trtcm_rfc4115_packet_mode_supported; > > + > > /** Set of supported statistics counter types. > > * @see enum rte_mtr_stats_type > > */ > > @@ -363,6 +430,7 @@ enum rte_mtr_error_type { > > RTE_MTR_ERROR_TYPE_UNSPECIFIED, /**< Cause unspecified. */ > > RTE_MTR_ERROR_TYPE_METER_PROFILE_ID, > > RTE_MTR_ERROR_TYPE_METER_PROFILE, > > + RTE_MTR_ERROR_TYPE_METER_PROFILE_PACKET_MODE, > > RTE_MTR_ERROR_TYPE_MTR_ID, > > RTE_MTR_ERROR_TYPE_MTR_PARAMS, > > RTE_MTR_ERROR_TYPE_POLICER_ACTION_GREEN, > > -- > > 2.21.0 > > Acked-by: Cristian Dumitrescu >