[Cake] [PATCH] q_cake: Update xstats format to use per-tin structure
Sebastian Moeller
moeller0 at gmx.de
Wed Mar 7 09:21:11 EST 2018
Hi Toke,
> On Mar 7, 2018, at 13:59, Toke Høiland-Jørgensen <toke at toke.dk> wrote:
>
> Kevin Darbyshire-Bryant <kevin at 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? :)
As I made that change all I can confirm that at the current time I am convinced that 30 and 22 are the correct values. I did look into the ITU standard documents for VDSL and to the best of my knowledge these agree.
Best Regards
Sebastian
>
>> 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
> _______________________________________________
> Cake mailing list
> Cake at lists.bufferbloat.net
> https://lists.bufferbloat.net/listinfo/cake
More information about the Cake
mailing list