[PATCH] iproute: fix tc -iec display of Mibit rates

Subsystems: the rest

STALE5294d

2 messages, 2 authors, 2012-03-10 · open the first message on its own page

[PATCH] iproute: fix tc -iec display of Mibit rates

From: Andreas Henriksson <hidden>
Date: 2012-03-09 16:06:43

As reported by Thomas Mühlgrabner [off-list ref]
in http://bugs.debian.org/662979 :

 When showing htb class configuration with "tc -iec class show",
 the output for Mibit is actually the value for bit.
 Example: configure a class with a ceil of 1000Mibit.
 Output states 1048576000 Mibit.

The cause is missing parenteses in the display code of tc....

(Please also note that a lower value of 100Mibit will be displayed
as 102400 Kibit, which I think is kind of ugly.)

Reported-by: Thomas Mühlgrabner <redacted>
Signed-off-by: Andreas Henriksson <redacted>
diff --git a/tc/tc_util.c b/tc/tc_util.c
index 5829d61..36e3c7d 100644
--- a/tc/tc_util.c
+++ b/tc/tc_util.c
@@ -203,7 +203,7 @@ void print_rate(char *buf, int len, __u32 rate)
 
 	if (use_iec) {
 		if (tmp >= 1000.0*1024.0*1024.0)
-			snprintf(buf, len, "%.0fMibit", tmp/1024.0*1024.0);
+			snprintf(buf, len, "%.0fMibit", tmp/(1024.0*1024.0));
 		else if (tmp >= 1000.0*1024)
 			snprintf(buf, len, "%.0fKibit", tmp/1024);
 		else

Re: [PATCH] iproute: fix tc -iec display of Mibit rates

From: Stephen Hemminger <hidden>
Date: 2012-03-10 17:14:28

On Fri, 9 Mar 2012 17:09:19 +0100
Andreas Henriksson [off-list ref] wrote:
quoted hunk
As reported by Thomas Mühlgrabner [off-list ref]
in http://bugs.debian.org/662979 :

 When showing htb class configuration with "tc -iec class show",
 the output for Mibit is actually the value for bit.
 Example: configure a class with a ceil of 1000Mibit.
 Output states 1048576000 Mibit.

The cause is missing parenteses in the display code of tc....

(Please also note that a lower value of 100Mibit will be displayed
as 102400 Kibit, which I think is kind of ugly.)

Reported-by: Thomas Mühlgrabner <redacted>
Signed-off-by: Andreas Henriksson <redacted>
diff --git a/tc/tc_util.c b/tc/tc_util.c
index 5829d61..36e3c7d 100644
--- a/tc/tc_util.c
+++ b/tc/tc_util.c
@@ -203,7 +203,7 @@ void print_rate(char *buf, int len, __u32 rate)
 
 	if (use_iec) {
 		if (tmp >= 1000.0*1024.0*1024.0)
-			snprintf(buf, len, "%.0fMibit", tmp/1024.0*1024.0);
+			snprintf(buf, len, "%.0fMibit", tmp/(1024.0*1024.0));
 		else if (tmp >= 1000.0*1024)
 			snprintf(buf, len, "%.0fKibit", tmp/1024);
 		else
Applied
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help