]> git.ipfire.org Git - thirdparty/iproute2.git/commitdiff
handle new tcstats
authorosdl.net!shemminger <osdl.net!shemminger>
Tue, 31 Aug 2004 17:45:21 +0000 (17:45 +0000)
committerosdl.net!shemminger <osdl.net!shemminger>
Tue, 31 Aug 2004 17:45:21 +0000 (17:45 +0000)
(Logical change 1.77)

tc/tc_filter.c

index 8f2a0b86956f99a768dd36cc4b0f1df234588da6..74e996955ed655a8e2bd8572a3a4c701519b9f49 100644 (file)
@@ -185,7 +185,9 @@ static int filter_ifindex;
 static __u32 filter_prio;
 static __u32 filter_protocol;
 
-int print_filter(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
+static int print_filter(const struct sockaddr_nl *who,
+                       const struct nlmsghdr *n, 
+                       void *arg)
 {
        FILE *fp = (FILE*)arg;
        struct tcmsg *t = NLMSG_DATA(n);
@@ -252,18 +254,11 @@ int print_filter(struct sockaddr_nl *who, struct nlmsghdr *n, void *arg)
        }
        fprintf(fp, "\n");
 
-       if (show_stats) {
-               if (tb[TCA_STATS]) {
-                       if (RTA_PAYLOAD(tb[TCA_STATS]) < sizeof(struct tc_stats))
-                               fprintf(fp, "statistics truncated");
-                       else {
-                               struct tc_stats st;
-                               memcpy(&st, RTA_DATA(tb[TCA_STATS]), sizeof(st));
-                               print_tcstats(fp, &st);
-                               fprintf(fp, "\n");
-                       }
-               }
+       if (show_stats && tb[TCA_STATS]) {
+               print_tcstats_attr(fp, tb[TCA_STATS]);
+               fprintf(fp, "\n");
        }
+
        fflush(fp);
        return 0;
 }