It looks like tc-adv is currently canonical?

I've briefly tested the attached against net-next.


-- 

Dave Täht
CEO, TekLibre, LLC
http://www.teklibre.com
Tel: 1-669-226-2619
From 21d25530b42d6c6e484b673182834275dba6b495 Mon Sep 17 00:00:00 2001
From: Dave Taht <[email protected]>
Date: Thu, 22 Mar 2018 14:53:59 -0700
Subject: [PATCH] retire link_ms and increase packets to 64 bits

the link_ms field was entirely unused
I have certainly managed to overrun the 32 bit packet field, so
increase that to 64 bits.
---
 pkt_sched.h | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/pkt_sched.h b/pkt_sched.h
index 71288fb..105dd75 100644
--- a/pkt_sched.h
+++ b/pkt_sched.h
@@ -881,8 +881,7 @@ enum {
 #define TCA_CAKE_MAX	(__TCA_CAKE_MAX - 1)
 
 struct tc_cake_traffic_stats {
-	__u32 packets;
-	__u32 link_ms;
+	__u64 packets;
 	__u64 bytes;
 };
 
-- 
2.7.4

diff --git a/include/uapi/linux/pkt_sched.h b/include/uapi/linux/pkt_sched.h
index c63b7a8..04260ae 100644
--- a/include/uapi/linux/pkt_sched.h
+++ b/include/uapi/linux/pkt_sched.h
@@ -957,8 +957,7 @@ enum {
 #define TCA_CAKE_MAX	(__TCA_CAKE_MAX - 1)
 
 struct tc_cake_traffic_stats {
-	__u32 packets;
-	__u32 link_ms;
+	__u64 packets;
 	__u64 bytes;
 };
 
diff --git a/tc/q_cake.c b/tc/q_cake.c
index d195093..e544f67 100644
--- a/tc/q_cake.c
+++ b/tc/q_cake.c
@@ -702,7 +702,7 @@ static int cake_print_xstats(struct qdisc_util *qu, FILE *f,
 
 	fprintf(f, "  pkts    ");
 	FOR_EACH_TIN(stnc, tst, i)
-		fprintf(f, " %12u", tst->sent.packets);
+		fprintf(f, " %12llu", tst->sent.packets);
 	fprintf(f, "\n");
 
 	fprintf(f, "  bytes   ");
@@ -727,17 +727,17 @@ static int cake_print_xstats(struct qdisc_util *qu, FILE *f,
 
 	fprintf(f, "  drops   ");
 	FOR_EACH_TIN(stnc, tst, i)
-		fprintf(f, " %12u", tst->dropped.packets);
+		fprintf(f, " %12llu", tst->dropped.packets);
 	fprintf(f, "\n");
 
 	fprintf(f, "  marks   ");
 	FOR_EACH_TIN(stnc, tst, i)
-		fprintf(f, " %12u", tst->ecn_marked.packets);
+		fprintf(f, " %12llu", tst->ecn_marked.packets);
 	fprintf(f, "\n");
 
 	fprintf(f, "  ack_drop");
 	FOR_EACH_TIN(stnc, tst, i)
-		fprintf(f, " %12u", tst->ack_drops.packets);
+		fprintf(f, " %12llu", tst->ack_drops.packets);
 	fprintf(f, "\n");
 
 	fprintf(f, "  sp_flows");
_______________________________________________
Cake mailing list
[email protected]
https://lists.bufferbloat.net/listinfo/cake

Reply via email to