As /sys/class/net/<iface>/speed indicates a value in Mbits/sec, the transformation is necessary to create the correct limitations. --- tc/tc_util.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tc/tc_util.c b/tc/tc_util.c index ab717890..b82142ab 100644 --- a/tc/tc_util.c +++ b/tc/tc_util.c @@ -194,7 +194,7 @@ static int parse_percent_rate(char *rate, const char *str, const char *dev) { long dev_mbit; int ret; - double perc, rate_mbit; + double perc, rate_bit; char *str_perc; if (!dev[0]) { @@ -219,9 +219,9 @@ static int parse_percent_rate(char *rate, const char *str, const char *dev) return -1; } - rate_mbit = perc * dev_mbit; + rate_bit = perc * dev_mbit * 1000 * 1000; - ret = snprintf(rate, 20, "%lf", rate_mbit); + ret = snprintf(rate, 20, "%lf", rate_bit); if (ret <= 0 || ret >= 20) { fprintf(stderr, "Unable to parse calculated rate\n"); return -1; -- 2.17.1