[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20190715134820.119e0cb8@hermes.lan>
Date: Mon, 15 Jul 2019 13:48:20 -0700
From: Stephen Hemminger <stephen@...workplumber.org>
To: Andrea Claudi <aclaudi@...hat.com>
Cc: netdev@...r.kernel.org, dsahern@...nel.org
Subject: Re: [PATCH iproute2] tc: util: constrain percentage in 0-100
interval
On Sat, 13 Jul 2019 11:44:07 +0200
Andrea Claudi <aclaudi@...hat.com> wrote:
> parse_percent() currently allows to specify negative percentages
> or value above 100%. However this does not seems to make sense,
> as the function is used for probabilities or bandiwidth rates.
>
> Moreover, using negative values leads to erroneous results
> (using Bernoulli loss model as example):
>
> $ ip link add test type dummy
> $ ip link set test up
> $ tc qdisc add dev test root netem loss gemodel -10% limit 10
> $ tc qdisc show dev test
> qdisc netem 800c: root refcnt 2 limit 10 loss gemodel p 90% r 10% 1-h 100% 1-k 0%
>
> Using values above 100% we have instead:
>
> $ ip link add test type dummy
> $ ip link set test up
> $ tc qdisc add dev test root netem loss gemodel 140% limit 10
> $ tc qdisc show dev test
> qdisc netem 800f: root refcnt 2 limit 10 loss gemodel p 40% r 60% 1-h 100% 1-k 0%
>
> This commit changes parse_percent() with a check to ensure
> percentage values stay between 1.0 and 0.0.
> parse_percent_rate() function, which already employs a similar
> check, is adjusted accordingly.
>
> With this check in place, we have:
>
> $ ip link add test type dummy
> $ ip link set test up
> $ tc qdisc add dev test root netem loss gemodel -10% limit 10
> Illegal "loss gemodel p"
>
> Fixes: 927e3cfb52b58 ("tc: B.W limits can now be specified in %.")
> Signed-off-by: Andrea Claudi <aclaudi@...hat.com>
Looks good. Applied
Powered by blists - more mailing lists