From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mout.gmx.net (mout.gmx.net [212.227.17.22]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by lists.bufferbloat.net (Postfix) with ESMTPS id 564483CB35 for ; Sat, 23 Dec 2017 04:42:00 -0500 (EST) Received: from hms-beagle2.lan ([79.210.211.214]) by mail.gmx.com (mrgmx101 [212.227.17.168]) with ESMTPSA (Nemesis) id 0Lwnem-1f4HAU1Aee-016OGN; Sat, 23 Dec 2017 10:41:58 +0100 Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 (Mac OS X Mail 10.3 \(3273\)) From: Sebastian Moeller In-Reply-To: <3b255661-1b16-cc29-958f-bbbedbcbab9e@gmail.com> Date: Sat, 23 Dec 2017 10:41:57 +0100 Cc: Jonathan Morton , Cake@lists.bufferbloat.net Content-Transfer-Encoding: quoted-printable Message-Id: <8FB76CCB-1AAB-42F6-AEF8-D0D8A438EA91@gmx.de> References: <31d49a5d-02a2-3dc8-a455-52d453b83bdf@gmail.com> <3b255661-1b16-cc29-958f-bbbedbcbab9e@gmail.com> To: Andy Furniss X-Mailer: Apple Mail (2.3273) X-Provags-ID: V03:K0:/NWogl6FM8vHKnUN8FryRwsJA7JMHg0Z/nU0dWttJureXYNkg/O wCYhU5GgLguXNL3SRcBue8wMZGYscFisqTiLZN3a9MSng9V4zZ+qdPpcHhGdTOBTdSUE7+p q0ZqbJskMLgUwtvQjHsvm/Ci1e/YS6hcPIDEFSGwEY1huu1BMPEQvQTvXCpnAA1DuGKAT0x F9UFOb5Yt7XJ5x5FrRP4w== X-UI-Out-Filterresults: notjunk:1;V01:K0:ASnihzLMGh8=:lQYf3xmeyxdWxQrWKqkI0M kWwnLGGETV49GGFon69Qb5PgJ1y6VYYzNMfSjPfeFuJufmP68StnAPyDe6S1dIqw7ajwvGHnh OW6vq9mYRZqUzbV0uhwYvfyWDY/W77MXa7bfDVq6Vjj1WqzqD/J86iaB1IbZUeAN9UKmI+qr6 OpZgjRcDI2nOBol7qqm5tA14kzinAwDZmukHwm0n5br0IaS3RXv3u2F9fShp7vodFa/+4Z9sJ gbkjUf7OJ24or2PUZLj1tAuQmoqf6UuPEXYmZSe7AMu+GQ6IEkVm+MYvzk6KClPpZbLcDaFJV fK9GIJyIel+ckJui5XlKxGPVvjLkspTndJYc3bU7Jy69tmogPNkyv4VLQMov/M0IY7oG9h5cJ 0XmekocRRSrdgGNDUsWcCGcFoTxlhnQbxIDJ3gZBJFBVCuvi7oHa3Kr8qpzd6njvZSgPb/2eW XakneH6WW0DJ/dbEjrRC1aOQhJMA4SMORuEAXtH1VRY1Fhd2kC+iyIw+u267JOh4PHUCODVyV H72GPAsCzpdFjtO30HVsyn/63Jgajx6wmki/D+ZmEmaFWGQmzLBLh4n9zQncOUTaQ5kZdlWpA L3n65NjM2ITThJW4H0pIAWLGDWN1q4Nd9LSYvbluvS2Eb4Y0GjbpH1XVX2HroHpjBU5CDZlRq rZ0RNekCd49OchBHbxTeHKXGcY34HRaG959vYQULZTF9w7vYg0QLkBWYhUlzwVendEdcRF4VP HNfmjaGjHUhmAYn6jrURhvpegCjS7GhM4MUI/dIzm5+tKrnq6Jiunv31abLSLy4pbGRvDlbtT UNyrNLNw9nqew3uDz2wgkR8BQ2jwxI0hu3u7kJJ4PVwqY3r/KwrnjPQfib98YOE0+0XG+DF Subject: Re: [Cake] overheads or rate calculation changed? X-BeenThere: cake@lists.bufferbloat.net X-Mailman-Version: 2.1.20 Precedence: list List-Id: Cake - FQ_codel the next generation List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sat, 23 Dec 2017 09:42:00 -0000 Hi Andy, > On Dec 23, 2017, at 00:38, Andy Furniss wrote: >=20 > Jonathan Morton wrote: >>> On 21 Dec, 2017, at 2:54 am, Andy Furniss = wrote: >>>=20 >>> refactor cake_advance_shaper and ack_filter >>>=20 >>> cake_advance_shaper now returns a modified len argument to >>> reflect cake_overhead. >>> skb_ack_filter variable replaced with ack >> Fixed. At one point cake_advance_shaper() was still getting a packet = length with overhead correction already applied, and was then applying = it a second time. >=20 > Thanks, seems good now, well, as it was before anyway :-) >=20 > Still a bit confusing for users having to look at max_len in stats to = judge what overhead to use if they know what over ip they want. >=20 > Maybe some hint in the man page about turn off gro and look at max_len = would help when using raw. >=20 > IIRC this was discussed before, I think conclusion was it's the = kernel/ppp being different/wrong sometimes in what it reports to cake. >=20 > My specific case is pppoe where I need IP + 34. I can see 1500 as = max_len, which =3D IP length so raw overhead 34 is correct. >=20 > On a pure eth to get the same I need raw overhead 20 as max_len is = 1514. >=20 > This is the (confusing) output from pppoe >=20 > ./tc qdisc add dev ppp0 handle 1:0 root cake bandwidth 19690kbit raw = overhead 34 diffserv4 dual-srchost nat rtt 200ms >=20 > qdisc cake 1: dev ppp0 root refcnt 2 bandwidth 19690Kbit diffserv4 = dual-srchost nat rtt 200.0ms noatm overhead 56 via-ethernet = total_overhead 56 hard_header_len 22 This is still broken, the overhead the should just be 34, and = hard_header_len should be 0, even though for pppoe 22 is not completely = wrong (14 + 8). I currently see the same with PPPoE+VLAN I get 26. So = either that is a change in current cake or the kernel actually started = to report a more precise hard_header_len... > Sent 776346756 bytes 883288 pkt (dropped 284882, overlimits 1429302 = requeues 0) > backlog 0b 0p requeues 0 > memory used: 4196096b of 4Mb > capacity estimate: 19690Kbit > Bulk Best Effort Video Voice > thresh 1230Kbit 19690Kbit 9845Kbit 4922Kbit > target 14.8ms 10.0ms 10.0ms 10.0ms > interval 204.8ms 200.0ms 200.0ms 200.0ms > pk_delay 186us 1.6ms 0us 112us > av_delay 11us 94us 0us 4us > sp_delay 1us 4us 0us 4us > pkts 1160 1166876 0 134 > bytes 457795 1202631653 0 10176 > way_inds 0 3813 0 0 > way_miss 1126 10503 0 3 > way_cols 0 0 0 0 > drops 0 284882 0 0 > marks 0 0 0 0 > ack_drop 0 0 0 0 > sp_flows 0 1 0 0 > bk_flows 0 1 0 0 > un_flows 0 0 0 0 > max_len 746 1500 0 76 >=20 >=20 >=20 > On eth raw overhead 34 gives different results, only seeing max_len = gives the clue to take 14 to get IP + 34. >=20 > tc qdisc add dev enp6s0 handle 1:0 root cake bandwidth 19690kbit raw = overhead 34 >=20 > qdisc cake 1: dev enp6s0 root refcnt 2 bandwidth 19690Kbit diffserv3 = triple-isolate rtt 100.0ms noatm overhead 48 via-ethernet total_overhead = 48 hard_header_len 14 This looks like expected, the in-kernel overhead is added to the = specified overhead, just like in the past. I really really wished cake = would report the packet size before and _after_ its overhead addition = making sanity checking much easier. BTW tc's stab might be useful as an = external check... I also wonder whether the kernel's behaviour in = regards to ppp interfaces changed between kernel 4.4 and newer ones, I = see the same weirdness: root@router:~# uname -a Linux router 4.9.67 #0 Sun Dec 17 11:53:32 2017 mips GNU/Linux excerpt from tc -s: qdisc cake 800f: dev pppoe-wan root refcnt 2 bandwidth 9545Kbit = diffserv3 dual-srchost nat rtt 100.0ms noatm overhead 34 via-ethernet = total_overhead 34 hard_header_len 26 mpu 64=20 I note that hard_header_len 26 sort of matches the situation on the = ground:=20 Mine: 14 (SRCMAC, DSTMAC, ethertype) + 8 (PPP, PPPOE), + 4 (VLAN) =3D 26 Yours:=20 14 (SRCMAC, DSTMAC, ethertype) + 8 (PPP, PPPOE) =3D 22 I guess I should try with different kernels and recent sch_cake... Best Regards Sebastian > Sent 24102094 bytes 15934 pkt (dropped 1, overlimits 31841 requeues 0) > backlog 0b 0p requeues 0 > memory used: 27Kb of 4Mb > capacity estimate: 19690Kbit > Bulk Best Effort Voice > thresh 1230Kbit 19690Kbit 4922Kbit > target 14.8ms 5.0ms 5.0ms > interval 109.8ms 100.0ms 100.0ms > pk_delay 0us 1.7ms 0us > av_delay 0us 1.7ms 0us > sp_delay 0us 229us 0us > pkts 0 15935 0 > bytes 0 24103608 0 > way_inds 0 0 0 > way_miss 0 4 0 > way_cols 0 0 0 > drops 0 1 0 > marks 0 0 0 > ack_drop 0 0 0 > sp_flows 0 0 0 > bk_flows 0 1 0 > un_flows 0 0 0 > max_len 0 1514 0 > _______________________________________________ > Cake mailing list > Cake@lists.bufferbloat.net > https://lists.bufferbloat.net/listinfo/cake