From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-oi0-x230.google.com (mail-oi0-x230.google.com [IPv6:2607:f8b0:4003:c06::230]) (using TLSv1 with cipher RC4-SHA (128/128 bits)) (Client CN "smtp.gmail.com", Issuer "Google Internet Authority G2" (verified OK)) by huchra.bufferbloat.net (Postfix) with ESMTPS id 6B31A21F1C0 for ; Sun, 22 Nov 2015 12:01:12 -0800 (PST) Received: by oige206 with SMTP id e206so101905757oig.2 for ; Sun, 22 Nov 2015 12:01:10 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=TbC+SUnSDb6R9Wpj5Wa1E7fyKihOYzU3SGbGn/GK+mA=; b=iyKXK7/sbbU/Ccgx7s5qq9EUmAdMzSRYEVSzq7N7/79u4lvQBu9Co5uq0oaxWYJjs3 yUwOC133wONiRUmGmUT609yLcIChtCMZtJfm6GlZLmu6Z+9jpp44N9CcS13OKgSV/WRq TKnQB7OxLBdDW1SSHyCHKixmQpAMIJsNSWIQWa+FIGxFHOAmQVcojpHNoT+Qlp9vEgVc nkP6YyYGjeoEfFHkQVS6vahqpCDs5hyU0Tj1Gd0cLzwl9barUZnk0xx2rGw5/lyaisRW 2Xc0+ju7czZBauHWXaKlk2Ukboz/7Q3fb7zOHNE7HhKU1SE2lMD5akgxWSLOEZn/tdnq FTKw== MIME-Version: 1.0 X-Received: by 10.202.205.137 with SMTP id d131mr14845398oig.56.1448222470782; Sun, 22 Nov 2015 12:01:10 -0800 (PST) Received: by 10.202.50.130 with HTTP; Sun, 22 Nov 2015 12:01:10 -0800 (PST) Date: Sun, 22 Nov 2015 21:01:10 +0100 Message-ID: From: Dave Taht To: cake@lists.bufferbloat.net Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Cake] cake xstats structure borken X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.13 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 22 Nov 2015 20:01:34 -0000 A) We should switch to a TCA_CAKE_XSTATS (losing things like ldelay and breaking the ABI) B) I don' think this stuff ever worked, (?) which means breaking the ABI doesn't matter. static int cake_print_xstats(struct qdisc_util *qu, FILE *f, struct rtattr *xstats) { /* fq_codel stats format borrowed */ struct tc_fq_codel_xstats *st; struct tc_cake_xstats *stnc; SPRINT_BUF(b1); SPRINT_BUF(b2); ... if (st->type =3D=3D TCA_FQ_CODEL_XSTATS_QDISC && RTA_PAYLOAD(xstats) >=3D sizeof(*st)) { fprintf(f, " maxpacket %u drop_overlimit %u new_flow_count %u ecn_mark %u", st->qdisc_stats.maxpacket, st->qdisc_stats.drop_overlimit, st->qdisc_stats.new_flow_count, st->qdisc_stats.ecn_mark); // DT> ?? fprintf(f, "\n new_flows_len %u old_flows_len %u", st->qdisc_stats.new_flows_len, st->qdisc_stats.old_flows_len); } else if (st->type =3D=3D TCA_FQ_CODEL_XSTATS_CLASS && RTA_PAYLOAD(xstats) >=3D sizeof(*st)) { fprintf(f, " deficit %d count %u lastcount %u ldelay %s", st->class_stats.deficit, st->class_stats.count, st->class_stats.lastcount, // DT> ?? sprint_time(st->class_stats.ldelay, b1)); if (st->class_stats.dropping) { fprintf(f, " dropping"); qdisc fq_codel 8033: root refcnt 2 limit 10240p flows 1024 quantum 1514 target 5.0ms interval 100.0ms ecn Sent 1538 bytes 21 pkt (dropped 0, overlimits 0 requeues 0) backlog 0b 0p requeues 0 DT> What is missing is the equivalent to fq_codel's maxpacket 0 drop_overlimit 0 new_flow_count 0 ecn_mark 0 new_flows_len 0 old_flows_len 0 DT> Which you can also see MIA in: tc -s class show dev enp3s0 class fq_codel 8035:3f9 parent 8035: (dropped 0, overlimits 0 requeues 0) backlog 1514b 0p requeues 0 deficit 1374 count 0 lastcount 0 ldelay 4.3ms class fq_codel 8035:3fb parent 8035: (dropped 0, overlimits 0 requeues 0) backlog 1514b 0p requeues 0 deficit 1374 count 0 lastcount 0 ldelay 4.7ms Dave T=C3=A4ht Let's go make home routers and wifi faster! With better software! https://www.gofundme.com/savewifi