--- /dev/null
+--- iproute2/tc/tc_util.c.orig 2000-04-16 19:42:55.000000000 +0200
++++ iproute2/tc/tc_util.c 2004-05-13 10:20:19.438544176 +0200
+@@ -108,13 +108,13 @@
+
+ if (*p) {
+ if (strcasecmp(p, "kbps") == 0)
+- bps *= 1024;
++ bps *= 1000;
+ else if (strcasecmp(p, "mbps") == 0)
+- bps *= 1024*1024;
++ bps *= 1000*1000;
+ else if (strcasecmp(p, "mbit") == 0)
+- bps *= 1024*1024/8;
++ bps *= 1000*1000/8;
+ else if (strcasecmp(p, "kbit") == 0)
+- bps *= 1024/8;
++ bps *= 1000/8;
+ else if (strcasecmp(p, "bps") != 0)
+ return -1;
+ } else
+@@ -158,10 +158,10 @@
+ {
+ double tmp = (double)rate*8;
+
+- if (tmp >= 1024*1023 && fabs(1024*1024*rint(tmp/(1024*1024)) - tmp) < 1024)
+- snprintf(buf, len, "%gMbit", rint(tmp/(1024*1024)));
+- else if (tmp >= 1024-16 && fabs(1024*rint(tmp/1024) - tmp) < 16)
+- snprintf(buf, len, "%gKbit", rint(tmp/1024));
++ if (tmp >= 1000*999 && fabs(1000*1000*rint(tmp/(1000*1000)) - tmp) < 1000)
++ snprintf(buf, len, "%gMbit", rint(tmp/(1000*1000)));
++ else if (tmp >= 1000-10 && fabs(1000*rint(tmp/1000) - tmp) < 10)
++ snprintf(buf, len, "%gKbit", rint(tmp/1000));
+ else
+ snprintf(buf, len, "%ubps", rate);
+ return 0;