[dpdk-dev] meter: excess token bucket update in srtcm

Ramia, Kannan Babu kannan.babu.ramia at intel.com
Tue Sep 6 07:10:26 CEST 2016


Hi Nikhil

You could submit a patch, something like that below logic

If( ((n_periods * m->cir_bytes_per_period) > (m->cbs-m->tc))
	te = m->te + ((n_periods * m->cir_bytes_per_period) - (m->cbs-m->tc));

and this should be done before m->tc update.


Regards
Kannan Babu

-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Nikhil Jagtap
Sent: Tuesday, September 6, 2016 9:43 AM
To: Dumitrescu, Cristian <cristian.dumitrescu at intel.com>
Cc: dev at dpdk.org
Subject: Re: [dpdk-dev] meter: excess token bucket update in srtcm

Hi,
Can someone please comment on this?

Nikhil

On 31 August 2016 at 15:32, Nikhil Jagtap <nikhil.jagtap at gmail.com> wrote:

> Hi,
>
> As per srTCM RFC 2697, we should be updating the E bucket only after 
> the C bucket overflows.
> "Thereafter, the token counts Tc and Te are updated CIR times per 
> second as follows:
>      o If Tc is less than CBS, Tc is incremented by one, else
>      o if Te is less then EBS, Te is incremented by one, else
>      o neither Tc nor Te is incremented."
>
> However in the current DPDK implementation of srTCM, we are updating 
> both the buckets simultaneously at the same rate (CIR). This will 
> result in a token accumulation rate of (2*CIR). This seems like a bug 
> to me. Can you confirm this?
>
> Nikhil
>
>


More information about the dev mailing list