[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <52c89369-0f71-1da5-b757-0f68f7f9f655@digirati.com.br>
Date: Thu, 7 Feb 2019 10:46:18 -0200
From: Marcos Antonio <marcos.antonio@...irati.com.br>
To: Stephen Hemminger <stephen@...workplumber.org>
Cc: netdev@...r.kernel.org
Subject: Re: [PATCH] Using rates in bits when limits are specified in %
Em 06/02/2019 16:51, Stephen Hemminger escreveu:
> On Wed, 6 Feb 2019 16:09:13 -0200
> Marcos Antonio Moraes <marcos.antonio@...irati.com.br> wrote:
>
>> As /sys/class/net/<iface>/speed indicates a value in Mbits/sec, the
>> transformation is necessary to create the correct limitations.
> Not sure, if this is correct or not could you give an example?
Sure.
With an interface with 1000 Mbits/sec speed, the following commands are
expected to create the same result:
`tc class add dev enp0s3 parent 1:0 classid 1:1 htb rate 500Mbit`
`tc class add dev enp0s3 parent 1:0 classid 1:1 htb rate 50%`
The first command creates the correct class:
class htb 1:1 root prio 0 rate 500Mbit ceil 500Mbit burst 1500b
cburst 1500b
The second one should do the same, instead of creating a class like this:
class htb 1:1 root prio 0 rate 496bit ceil 496bit burst 1599b
cburst 1599b
This happens because after parse_percent_rate(), get_rate() (or
get_rate64()) is called, and it expects to treat the value with the unit
suffix. And the value read from /sys/class/net/<iface>/speed is in
Mbit/sec but does not include the unit. Converting the unity from mbit
to bit would solve the problem.
>
> This patch needs a signed-off-by and a a Fixes tag.
>
> Also please put iproute2 in subject line:
>
> [PATCH iproute2] tc: use bits not mbits/sec in rate percent.
>
> Also, please rebase since I just found a memory leak in this function.
I'll provide a patch with this adjustments.
>
>
Powered by blists - more mailing lists