]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
Add sprint_ticks() function and use in CBQ
authorPatrick McHardy <kaber@trash.net>
Sun, 4 Mar 2007 19:15:01 +0000 (20:15 +0100)
committerStephen Hemminger <shemminger@linux-foundation.org>
Tue, 13 Mar 2007 21:42:18 +0000 (14:42 -0700)
[IPROUTE]: Add sprint_ticks() function and use in CBQ

Add helper function to print ticks to avoid assumptions about clock
resolution in CBQ.

Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: Stephen Hemminger <shemminger@linux-foundation.org>
tc/q_cbq.c
tc/q_netem.c
tc/tc_util.c
tc/tc_util.h

index 913b26a05e61a12f02c1d0b87438ea9ebc00e806..f2b4ce87d76a93052623f04ccda1d0dacc3f9fcd 100644 (file)
@@ -418,6 +418,7 @@ static int cbq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        struct tc_cbq_wrropt *wrr = NULL;
        struct tc_cbq_fopt *fopt = NULL;
        struct tc_cbq_ovl *ovl = NULL;
+       SPRINT_BUF(b1);
 
        if (opt == NULL)
                return 0;
@@ -500,17 +501,17 @@ static int cbq_print_opt(struct qdisc_util *qu, FILE *f, struct rtattr *opt)
        if (lss && show_details) {
                fprintf(f, "\nlevel %u ewma %u avpkt %ub ", lss->level, lss->ewma_log, lss->avpkt);
                if (lss->maxidle) {
-                       fprintf(f, "maxidle %luus ", tc_core_tick2time(lss->maxidle>>lss->ewma_log));
+                       fprintf(f, "maxidle %s ", sprint_ticks(lss->maxidle>>lss->ewma_log, b1));
                        if (show_raw)
                                fprintf(f, "[%08x] ", lss->maxidle);
                }
                if (lss->minidle!=0x7fffffff) {
-                       fprintf(f, "minidle %luus ", tc_core_tick2time(lss->minidle>>lss->ewma_log));
+                       fprintf(f, "minidle %s ", sprint_ticks(lss->minidle>>lss->ewma_log, b1));
                        if (show_raw)
                                fprintf(f, "[%08x] ", lss->minidle);
                }
                if (lss->offtime) {
-                       fprintf(f, "offtime %luus ", tc_core_tick2time(lss->offtime));
+                       fprintf(f, "offtime %s ", sprint_ticks(lss->offtime, b1));
                        if (show_raw)
                                fprintf(f, "[%08x] ", lss->offtime);
                }
index 6035c4f00d8022a1f50eff11f80803e6d85dd3f6..67a2ff3218af566cac51dc20389d96d16d241f46 100644 (file)
@@ -120,12 +120,6 @@ static int get_ticks(__u32 *ticks, const char *str)
        return 0;
 }
 
-static char *sprint_ticks(__u32 ticks, char *buf)
-{
-       return sprint_usecs(tc_core_tick2usec(ticks), buf);
-}
-
-
 static int netem_parse_opt(struct qdisc_util *qu, int argc, char **argv,
                           struct nlmsghdr *n)
 {
index b73fae96ad209f81ede2a0bdb813ffedef1ed626..a7e42572db19d44a81ab10d9176ff85cced1d846 100644 (file)
@@ -255,6 +255,11 @@ char * sprint_time(__u32 time, char *buf)
        return buf;
 }
 
+char * sprint_ticks(__u32 ticks, char *buf)
+{
+       return sprint_time(tc_core_tick2time(ticks), buf);
+}
+
 int get_size(unsigned *size, const char *str)
 {
        double sz;
index b713cf14ad391bd7135cdcf03a9f350442df5099..eade72d21dc2e30d31f43f67608e21ae87a75981 100644 (file)
@@ -57,6 +57,7 @@ extern char * sprint_size(__u32 size, char *buf);
 extern char * sprint_qdisc_handle(__u32 h, char *buf);
 extern char * sprint_tc_classid(__u32 h, char *buf);
 extern char * sprint_time(__u32 time, char *buf);
+extern char * sprint_ticks(__u32 ticks, char *buf);
 extern char * sprint_percent(__u32 percent, char *buf);
 
 extern void print_tcstats_attr(FILE *fp, struct rtattr *tb[], char *prefix, struct rtattr **xstats);