Cake - FQ_codel the next generation
 help / color / mirror / Atom feed
From: "Toke Høiland-Jørgensen" <toke@toke.dk>
To: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
Cc: Jonathan Morton <chromatix99@gmail.com>,
	"cake\@lists.bufferbloat.net" <cake@lists.bufferbloat.net>
Subject: Re: [Cake] [PATCH] q_cake: Update xstats format to use per-tin structure
Date: Wed, 07 Mar 2018 13:59:57 +0100	[thread overview]
Message-ID: <87h8psyraq.fsf@toke.dk> (raw)
In-Reply-To: <11DDD9A0-BBD7-4DAA-ACE1-EB88CDC26E7C@darbyshire-bryant.me.uk>

Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk> writes:

> I don’t the column alignment can be correct because the print lines don’t include a leading space, so columns can run into each other.
>
> fprintf(f, "%12u", tst->unresponse_flows);
> v
> fprintf(f, " %12u", tst->unresponse_flows);
>
> The header lines are probably wrong.  Should be as per
> https://github.com/ldir-EDB0/iproute2-cake-next/commit/172c116722e2902bdc69824271303dac7249f379

Ah, right; ported that change over to the tc-adv repo as well. Which
brings us down to the following diff:

diff --git a/tc/q_cake.c b/tc/q_cake.c
index e21552e8..95301b41 100644
--- a/tc/q_cake.c
+++ b/tc/q_cake.c
@@ -243,12 +243,22 @@ static int cake_parse_opt(struct qdisc_util *qu, int argc, char **argv,
                /* Typical VDSL2 framing schemes, both over PTM */
                /* PTM has 64b/65b coding which absorbs some bandwidth */
                } else if (strcmp(*argv, "pppoe-ptm") == 0) {
+                       /* 2B PPP + 6B PPPoE + 6B dest MAC + 6B src MAC
+                        * + 2B ethertype + 4B Frame Check Sequence
+                        * + 1B Start of Frame (S) + 1B End of Frame (Ck)
+                        * + 2B TC-CRC (PTM-FCS) = 30B
+                        */
                        atm = 2;
-                       overhead += 27;
+                       overhead += 30;
                        overhead_set = true;
                } else if (strcmp(*argv, "bridged-ptm") == 0) {
+                       /* 6B dest MAC + 6B src MAC + 2B ethertype
+                        * + 4B Frame Check Sequence
+                        * + 1B Start of Frame (S) + 1B End of Frame (Ck)
+                        * + 2B TC-CRC (PTM-FCS) = 22B
+                        */
                        atm = 2;
-                       overhead += 19;
+                       overhead += 22;
                        overhead_set = true;
 



I assume 30 and 22 are the correct values? Could someone confirm this? :)

> qdisc cake 8004: root refcnt 4486780 bandwidth 19900Kbit diffserv3 dual-srchost nat rtt 100.0ms ptm overhead 4502152
>  Sent 42615751 bytes 4491092 pkt (dropped 4491108, overlimits 4491124 requeues 4491152)
>  backlog 0b 4491256p requeues 4491272
>  memory used: 78592b of 4Mb
>  capacity estimate: 19900Kbit
>  min/max transport layer size:    4537916 / 4537972
>  min/max overhead-adjusted size:  4538000 / 4537972
>  average transport hdr offset:    4538072
>
> I’m pondering if it’s an endian issue?

Are you using the latest kernel code? Those values were added in an
incompatible manner, so if you don't have userspace and kernel code in
sync they'll be garbage, basically...

-Toke

  reply	other threads:[~2018-03-07 12:59 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-12-26 15:08 [Cake] [PATCH] Split tin stats to its own structure to decrease size of tc_cake_xstats Toke Høiland-Jørgensen
2017-12-26 16:28 ` Dave Taht
2017-12-26 16:32   ` Toke Høiland-Jørgensen
2018-01-27 13:05 ` [Cake] [PATCH v2] " Toke Høiland-Jørgensen
2018-02-09 12:58   ` Jonathan Morton
2018-02-09 13:08     ` Toke Høiland-Jørgensen
2018-02-11 17:26   ` [Cake] [PATCH v3] " Toke Høiland-Jørgensen
2018-02-11 17:26     ` [Cake] [PATCH] q_cake: Update xstats format to use per-tin structure Toke Høiland-Jørgensen
2018-03-01 11:02       ` Jonathan Morton
2018-03-01 11:06         ` Sebastian Moeller
2018-03-01 13:59           ` Toke Høiland-Jørgensen
2018-03-05 23:08           ` Jonathan Morton
2018-03-06 11:17             ` Toke Høiland-Jørgensen
2018-03-06 11:46               ` Jonathan Morton
2018-03-06 12:10                 ` Sebastian Moeller
2018-03-06 13:08                   ` Jonathan Morton
2018-03-06 13:18                     ` Sebastian Moeller
2018-03-01 13:59         ` Toke Høiland-Jørgensen
2018-03-04 11:14           ` Toke Høiland-Jørgensen
2018-03-06 15:56       ` Stephen Hemminger
2018-03-06 18:33         ` Toke Høiland-Jørgensen
2018-03-06 21:06           ` Toke Høiland-Jørgensen
2018-03-06 22:31             ` Jonathan Morton
2018-03-07  8:50               ` Toke Høiland-Jørgensen
2018-03-07 10:08                 ` Kevin Darbyshire-Bryant
2018-03-07 10:31                   ` Toke Høiland-Jørgensen
2018-03-07 10:36                     ` Toke Høiland-Jørgensen
2018-03-07 11:08                       ` Kevin Darbyshire-Bryant
2018-03-07 11:28                         ` Toke Høiland-Jørgensen
2018-03-07 11:59                           ` Kevin Darbyshire-Bryant
2018-03-07 12:59                             ` Toke Høiland-Jørgensen [this message]
2018-03-07 14:21                               ` Sebastian Moeller
2018-03-07 14:30                                 ` Toke Høiland-Jørgensen
2018-03-07 15:25                                   ` Dave Taht
2018-03-07 15:52                                     ` Toke Høiland-Jørgensen
2018-03-07 17:26                                       ` Dave Taht
2018-03-08 22:29                                         ` Pete Heist
2018-03-07 18:27                               ` Kevin Darbyshire-Bryant
2018-03-07 18:35                                 ` Kevin Darbyshire-Bryant
2018-03-07 18:37                                 ` Jonathan Morton
2018-03-07 21:34                                 ` Toke Høiland-Jørgensen
2018-03-08  0:49                                   ` Jonathan Morton
2018-03-08  7:59                                     ` Kevin Darbyshire-Bryant
2018-03-08  9:21                                       ` Kevin Darbyshire-Bryant
2018-03-08 10:32                                         ` Toke Høiland-Jørgensen
     [not found]                                           ` <D8A90884-6DAE-42A6-A680-CD11599DDD97@darbyshire-bryant.me.uk>
2018-03-08 10:57                                             ` Toke Høiland-Jørgensen
2018-03-08 11:09                                               ` Kevin Darbyshire-Bryant
2018-03-08 11:14                                                 ` Kevin Darbyshire-Bryant
2018-03-08 11:21                                                   ` Toke Høiland-Jørgensen
2018-03-08 18:32                                                     ` Georgios Amanakis
2018-03-10 15:56                                                     ` Kevin Darbyshire-Bryant
2018-03-10 16:30                                                       ` Luis E. Garcia
2018-03-07 11:07                     ` Kevin Darbyshire-Bryant
2018-03-07 11:19                       ` Sebastian Moeller
2018-03-07 11:31                       ` Toke Høiland-Jørgensen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://lists.bufferbloat.net/postorius/lists/cake.lists.bufferbloat.net/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87h8psyraq.fsf@toke.dk \
    --to=toke@toke.dk \
    --cc=cake@lists.bufferbloat.net \
    --cc=chromatix99@gmail.com \
    --cc=kevin@darbyshire-bryant.me.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox