From: Kevin Darbyshire-Bryant <kevin@darbyshire-bryant.me.uk>
To: "David P. Reed" <dpreed@deepplum.com>
Cc: Jonathan Morton <chromatix99@gmail.com>,
Cake List <cake@lists.bufferbloat.net>
Subject: Re: [Cake] Cake tin behaviour - discuss....
Date: Mon, 27 Apr 2020 11:52:38 +0000 [thread overview]
Message-ID: <D2008410-83FC-42D4-993B-612B23CC54EF@darbyshire-bryant.me.uk> (raw)
In-Reply-To: <1587909227.334329276@apps.rackspace.com>
[-- Attachment #1: Type: text/plain, Size: 2764 bytes --]
> On 26 Apr 2020, at 14:53, David P. Reed <dpreed@deepplum.com> wrote:
>
> Very interesting. However, I'm curious about what is being "ping'ed" from outside.
>
> I would bet that the ping comes in on your router interface and is reflected immediately back. Which would mean that it might not at all be going through the Cake layer. That depends on the details of your setup, which you didn't share.
The address being pinged from the external ‘ping box’ is that of the globally routable IPv6 WAN interface on my APU2 router. The ping packet is going through 2 instances of cake, one on ingress (ifb4eth0), one on egress (eth0).
DSCP is applied to the packets by tc filter action act_ctinfo JUST before cake gets to see the packets. I know DSCP is affecting cake tin selection because I see cake’s tin byte/packet counters adjust accordingly. icmp/icmpv6 traffic is marked as BE by default AND also explicitly by some ip’n’tables rules that set it so.
> As you probably know, Cake works by packet shaping in the box where it runs, in the Linux stack. If the ping responder is on the ISP side of Cake, it will not be measuring lag-under-load *inside* cake.
I think I answered that above, however just for good measure, I’ve set up another ‘ping latency’ test to a box that is definitely on my LAN side, so it’ll go: ingress (cake) eth0 (wan) -> egress eth1 (lan) -> switches -> device under test -> ingress eth1 (lan) -> egress (cake) eth0 (wan)
Note that the DSCP applied by cake on egress is ignored by the ISP. Similarly, it’s a very rare thing to see a non 0 DSCP come in from them. I’m using DSCP ‘internally’ purely to provide CAKE with some traffic identification and hence clue as to how to shape it.
>
> End-to-end lag-under-load on multiple paths sharing a bottleneck is the problem Cake was invented to solve. (Jonathan - you agree?) Yes, it will move that congestion "inside" itself, pulling it out of the bottleneck itself. There it drops and ECN's "as if" the bottleneck were working correctly, rather than being "bufferbloated".
>
> So it would be interesting to learn more about the topology of your test to interpret this ping. A more interesting ping would be along the fujl path that the other flows are taking. Your ISP can't provide that.
My question was trying to determine what cake was doing:
bandwidth / per host fairness / tin weighting or
bandwidth / tin weighting / per host fairness
I was expecting the latter and Jonathan has confirmed my expectation to be the correct one. The results I saw under some circumstance appeared more toward the former, which boggled the mind.
Cheers,
Kevin D-B
gpg: 012C ACB2 28C6 C53E 9775 9123 B3A2 389B 9DE2 334A
[-- Attachment #2: Message signed with OpenPGP --]
[-- Type: application/pgp-signature, Size: 833 bytes --]
prev parent reply other threads:[~2020-04-27 11:52 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-25 11:07 Kevin Darbyshire-Bryant
2020-04-25 15:14 ` David P. Reed
2020-04-25 15:25 ` Jonathan Morton
2020-04-25 20:34 ` Kevin Darbyshire-Bryant
2020-04-25 20:56 ` David P. Reed
2020-04-25 21:31 ` Kevin Darbyshire-Bryant
2020-04-26 13:53 ` David P. Reed
2020-04-27 11:52 ` Kevin Darbyshire-Bryant [this message]
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=D2008410-83FC-42D4-993B-612B23CC54EF@darbyshire-bryant.me.uk \
--to=kevin@darbyshire-bryant.me.uk \
--cc=cake@lists.bufferbloat.net \
--cc=chromatix99@gmail.com \
--cc=dpreed@deepplum.com \
/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