+++ to secure your transactions use the Bitcoin Mixer Service +++

 

|
|
Subscribe / Log in / New account

Let them run CAKE

This article brought to you by LWN subscribers

Subscribers to LWN.net made this article — and everything that surrounds it — possible. If you appreciate our content, please buy a subscription and make the next set of articles possible.

By Jonathan Corbet
June 27, 2018
While there has been quite a bit of work on various aspects of networking performance, including bufferbloat reduction, queue management, and more, much of that work has been oriented toward the needs of high-end users. But there is more to the Internet than data centers and high-speed links. A large number of Internet-connected devices can be found behind consumer-level routers on relatively slow broadband links. For some time, a group of developers has been working on the "Common Applications Kept Enhanced" (CAKE) queuing discipline, which is aimed directly at the needs of those users.

Home networks face a number of challenges not found in many commercial settings. Bufferbloat can cause significant latencies, but can often be difficult to address by end users. The links themselves are relatively slow, and they are often highly asymmetric — download speeds can be an order of magnitude higher than upload speeds. The result of all this can be significant domestic tension when, for example, one household member is pushing a large Git tree while the other is engaged in a high-stakes raid. Given the special features of home networks, it would seem to make sense to tune the behavior of the network stack to match. That is where CAKE is meant to come in.

CAKE ingredients

The CAKE patches, posted by Toke Høiland-Jørgensen (though the principal author is said to be Jonathan Morton), are an attempt to better meet the needs of home-network users; the 18th revision of this patch set was posted at the end of May. CAKE takes the form of a queuing discipline, meaning that it sits between the higher-level protocol code and the network interface and decides which packets to dispatch at any given time. It has four different components designed to make things work on home links.

The first of those is a rate-based bandwidth shaper. LWN readers are relatively likely to have a home router running a recent kernel and entirely free drivers; on such systems, the problems with bufferbloat have mostly been solved. Others, though, are not so lucky. There is often buffering to be found within proprietary drivers or the hardware itself that cannot be fixed just by installing a current OpenWrt release. And, in any case, there may be buffering problems in external components — a cable modem, for example — that are not under the user's control at all.

In such cases, sending too much data through the link at any given time will almost certainly lead to excessive buffering and the resulting latency problems. There is still, though, one way to avoid such problems: don't send data faster than the upstream link can carry it. That is where the bandwidth shaper comes in. It regulates outgoing traffic to cap it at just below the bandwidth that the link can handle, preventing buffering at that link. In essence, it takes control of buffering away from the downstream components, solving bufferbloat problems in settings where the code itself cannot be changed.

One potential problem with this kind of shaping is that it can, if configured conservatively, waste a portion of the available bandwidth. The shaper goes to great lengths to try to account for all of the overhead that will be applied to packets over the link (including things like DOCSIS framing), with the result that, it is claimed, the speed limit can be configured to over 99% of the actual link speed. What seems to be missing, though, is an automatic way to determine what the link speed actually is.

For the parts of the system that are under the control of the networking code, some sort of queue-management algorithm is needed to prevent the overfilling of buffers. CAKE includes a variant of the FQ-CoDel algorithm (called "Cobalt") for that purpose. Among other things, FQ-CoDel performs packet scheduling to ensure fairness between the various flows (connections) that are transmitting at any given time. Cobalt adds to that, though, in that it can also ensure fairness between the various hosts that are sending packets through the router. If host H1 has a single connection running, while H2 has four, FQ-CoDel will allocate 20% of the available bandwidth to each, with the result that H2 is able to use 80% of the total. Cobalt, instead, will give 50% to the flow from H1, then allocate 12.5% to each of the flows from H2. This feature can help to ensure that all devices on the network get reasonable access to the available bandwidth.

The differentiated services (or "DiffServ") specification uses a field in the IP packet header to classify the data contained within that packet. Some packets can be marked as being high priority or latency sensitive, while others might be low-priority bulk traffic. CAKE implements DiffServ in the bandwidth shaper with a small number of priority-ordered queues. The highest-priority queues are serviced first, but only to a point; the latency-sensitive queue is given a maximum of 25% of the available bandwidth, for example. If a given queue does not use all of its allocation, that bandwidth is naturally made available to the other classes of service.

This approach to DiffServ is meant to enable priority handling for traffic like video conferencing without letting an abusive host use DiffServ to crowd out all other users. There are several different mappings of DiffServ classes to priorities available in CAKE.

The last major component of CAKE is ACK filtering. A stream of data flowing in one direction over a TCP connection will generate a corresponding stream of acknowledgment (ACK) packets heading the other way. The ACK traffic is much smaller than the actual data, but it can still reach problematic levels on asymmetric links like those found in many home links. Much of that data will be redundant: if an ACK packet for the first 10,000 bytes is immediately followed by an ACK for the first 20,000 bytes, the first can often be dropped with no ill effect.

Since CAKE maintains per-flow queues of packets, it is relatively easy for it to tell when a newly queued ACK packet makes an earlier one redundant. Some care must be taken, though, to only drop ACK packets that contain no other data, or bad things will happen. The ACK filtering also will not touch packets that contain unknown headers; that is an attempt to avoid protocol ossification that could break future extensions.

The baking process

CAKE first appeared on the netdev list in April; since then it has been, to put it politely, subjected to a great deal of discussion ranging from serious technical criticism to the inevitable requirement to put variable declarations in "reverse Christmas tree" ordering. It is probably fair to say that many developers would have given up on getting this code merged by now. Høiland-Jørgensen appears to be a persistent and good-humored developer, though, with the result that this patch set is now up to version 18 and is, with luck, close to being merged.

Early on, networking developer Eric Dumazet's reaction was: "Oh my god. Cake became a monster". He questioned a number of things, with special attention for the ACK filter which, he said, should be in the TCP stack itself if it exists at all. He has since then let it be known that he will indeed be adding ACK filtering to TCP as a whole. Many other issues raised by Dumazet have been fixed in subsequent versions of the patch set.

One other significant objection has to do with how the host-based shaping works. When network address translation (NAT) is in use — as it often is on home networks — a queuing discipline loses the information about where packets originally came from. To get around that, the CAKE patches reach into the netfilter subsystem to obtain that information and keep it with packets as they pass through the system. This is seen as a layering violation, and it makes CAKE dependent on the netfilter connection-tracking mechanism. Better solutions have not been offered, though, so that feature remains in the current patch set.

One slice of CAKE that remains lacking is good documentation on how to actually use it. The intent is to create something that is "simple enough that even an ISP can configure it", but it is still not entirely straightforward. The CAKE page on bufferbloat.net has some information on how to get started, including instructions on how to get it running on an OpenWrt system. Detailed information on CAKE, including performance numbers, can be found in this paper [PDF]. With luck, the baking process will be finished soon and we will all be able to have CAKE.

Index entries for this article
KernelNetworking


(Log in to post comments)

Let them run CAKE

Posted Jun 27, 2018 22:56 UTC (Wed) by sml (guest, #75391) [Link]

As someone who has spent many hours tweaking traffic shaping configurations to fix bufferbloat problems, I can't wait for CAKE to be merged. And then hopefully spread to the BSDs too. Maybe in 10 years bufferbloat will really be a thing of the past.

Thanks to eveyone who has been involved in the development and testing of this patch series!

Let them run CAKE

Posted Jun 28, 2018 8:02 UTC (Thu) by sagi (subscriber, #64671) [Link]

I too would be very happy to see this merged. It really makes a large difference.

Yay for all the people involved with bufferbloat, make-wifi-faster and openwrt (formerly LEDE).

Let them run CAKE

Posted Jun 28, 2018 14:05 UTC (Thu) by flussence (subscriber, #85566) [Link]

+1, I've spent many hours tweaking my own home network with CoDel, FQ, BBR/CDG etc. The wifi is stable now, but the ISP-supplied DSL NAT router undoes all that hard work. Maybe by adding CAKE I'll finally see a passing bufferbloat grade on the dslreports speed test…

Let them run CAKE

Posted Feb 13, 2019 7:37 UTC (Wed) by flussence (subscriber, #85566) [Link]

This thread's been unearthed in the past week so I may as well add a follow-up here:

CAKE works. It is, dare I say, functionally indistinguishable from magic. I turned off my DSL box's crappy QoS, applied tc-cake on my internal router's ports, and added a bit of source-port DSCP tweaking in nftables.

On the DSLReports speed test I get straight A's and no lag spikes whatsoever. See for yourself: http://www.dslreports.com/speedtest/45380186

(BTW if the ping times look a bit iffy… it's because my connection's saturated by seeding a dozen torrents. I barely even know they're there.)

Let them run CAKE

Posted Feb 14, 2019 16:48 UTC (Thu) by nix (subscriber, #2304) [Link]

Quite. For me, yesterday: getiplayer*3 saturating the line (the line in question being a ten-year-old Soekris box and two even older ADSL routers with very much non-upgradeable firmware and God knows how much bufferbloat built in) but ssh to a remote site over the same link had so little added latency it was not even discernible in ping timings let alone the ssh. That's magic, that is.

Let them run CAKE

Posted Jun 28, 2018 4:19 UTC (Thu) by mtaht (guest, #11087) [Link]

A couple notes:

fq_codel is now officially IETF RFC8290 (https://tools.ietf.org/html/rfc8290).
(the ietf draft you refer to in the article is obsolete)

We like to think cake has applicability anywhere you might want to shape traffic below line rate, with good, debloated, defaults, unlike the pain of creating an tbf or htb + fq_codel equivalent. The current primary use case IS network gateways.

I suppose we need a "cake cookbook", but... cake replaces dozens of finicky tc and iptables rules in the sqm-scripts with a one-liner. As for how to configure:

docsis:

tc qdisc replace dev eth0 root cake docsis ack-filter nat bandwidth 10mbit

1gbit ethernet, no nat:

tc qdisc replace dev eth0 root cake ethernet bandwidth 1gbit

(dsl framing is mildly more complicated)

Cake can also be used with bql at line rate by omitting the bandwidth and framing parameters. The above example is interesting in that it completely eliminates the buffering from gso/gro in bql and underlying ring buffers and gets within 1% of line rate even at a gbit on good hardware, while still doing per host/per flow fq and diffserv. It achieves half the latency sch_fq does on this test: http://www.taht.net/~d/cake/rrul_be_-_fq-quad-long.png

diffserv can be disabled by specifying the "besteffort" parameter, per host fq disabled by the flows parameter.

tc qdisc replace dev eth0 root cake besteffort flows

is functionally equivalent to fq_codel (with less hash collisions).

I'm very happy with cake in a variety of unfriendly production environments, and I look forward to more people taking a slice of it also.

Let them run CAKE

Posted Jun 28, 2018 4:38 UTC (Thu) by mtaht (guest, #11087) [Link]

"What seems to be missing, though, is an automatic way to determine what the link speed actually is."

This is a hard problem. 1) If you have bql backpressure, run it without a bandwidth parameter if you like, even as a default qdisc. 2) Determine the right rate via experimentation as we do today using tools like dslreports' web site or flent.org. 3) expect the isp's configuration tool to expose the rate parameter.

Sometimes the underlying rate sags (dsl) or is congested (cable), in which case a monitoring tool of interface statistics can quickly reconfigure cake via "tc change" in real time with no interruption of service. This is what evenroute's cake based dsl router does: https://www.amazon.com/gp/customer-reviews/R3GIXDP5V3Z7UO...

Let them run CAKE

Posted Jun 29, 2018 1:25 UTC (Fri) by pabs (subscriber, #43278) [Link]

> > What seems to be missing, though, is an automatic way to determine what the link speed actually is."
>
> This is a hard problem.

If Linux is running on the same device where the DSL hardware is, presumably the exact DSL sync speed would be available to Linux via the DSL drivers?

Let them run CAKE

Posted Jun 29, 2018 6:13 UTC (Fri) by mtaht (guest, #11087) [Link]

it is often buried inaccessibly on dsl.

Let them run CAKE

Posted Oct 22, 2018 9:05 UTC (Mon) by laptop006 (guest, #60779) [Link]

Even where it isn't there's plenty of cases where sync speed != policied speed.

For example in Australia on VDSL-based NBN your sync speed is entirely unrelated to what your policied to.

Let them run CAKE

Posted Jun 28, 2018 11:31 UTC (Thu) by sml (guest, #75391) [Link]

> I suppose we need a "cake cookbook"

Yes, please! :-)

Let them run CAKE

Posted Jun 28, 2018 13:38 UTC (Thu) by imMute (guest, #96323) [Link]

>the inevitable requirement to put variable declarations in "reverse Christmas tree" ordering. From the linked mail:
> +static void cake_heapify(struct cake_sched_data *q, u16 i)
> +{
> +	static const u32 a = CAKE_MAX_TINS * CAKE_QUEUES;
> +	u32 m = i;
> +	u32 mb = cake_heap_get_backlog(q, m);

Please order local variables from longest to shortest line.
I.... what?! Is that an actual code style guideline? In the code above, you can't simply reorder the lines: the initialization of mb uses m, so reordering them blindly will fail to compile. Of course, in this case, it can simply be fixed by changing which variable is passed into the function, but other cases like this might not be able to. Imagine if the initialization of m was more complicated, but not quite as long as the initialization of mb. Seems like a semi-pointless rule (I say "semi-pointless", because if there's no problem with a specific case, then do it anyway for readability.)

Let them run CAKE

Posted Jun 28, 2018 13:47 UTC (Thu) by mtaht (guest, #11087) [Link]

I would like it if checkpatch complained about reverse christmas trees. We did not know that requirement for the years cake has been in development.

Reverse Christmas trees

Posted Jun 28, 2018 14:48 UTC (Thu) by corbet (editor, #1) [Link]

One of the many obstacles we put in the path of incoming kernel developers is the fact that different subsystems have different rules, and many of them are not written down. The cosmetic ordering of local variable declarations is one of those; only a few maintainers insist on that, while most really do not care or think that it's actively silly. There would probably be a fair amount of opposition to enshrining this requirement in checkpatch.pl.

There's been a low rumble of conversation for a bit about trying to document the subsystem-specific rules — both to make them easier to follow and to simply shine some sunlight on some of them. But we've not managed to make any progress on that yet.

Reverse Christmas trees

Posted Jun 28, 2018 22:53 UTC (Thu) by gerdesj (subscriber, #5446) [Link]

"It is probably fair to say that many developers would have given up on getting this code merged by now"

"One of the many obstacles we put in the path of incoming kernel developers is the fact that different subsystems have different rules, and many of them are not written down."

Perhaps those subsystems might like to update checkpatch.pl if they require additional "rules" not already covered by Mr T for the whole project. Surely a maintainer could save loads of time by investing a few hours with perl n git *once* and not have to keep NACKing stuff with style snags, *forever* P)

Reverse Christmas trees

Posted Jun 29, 2018 2:39 UTC (Fri) by marcH (subscriber, #57642) [Link]

> The cosmetic ordering of local variable declarations is one of those; only a few maintainers insist on that, while most really do not care or think that it's actively silly.

As often with code style questions, either extreme position (strict enforcement or not caring at all) is too simplistic and wrong. This rule does make the code easier to read but other considerations like dependencies or logical grouping should be able to outweigh it easily. I believe checkpatch documentation has a good warning against robotic enforcement.

PS: one-letter variables, really? This function is barely readable unless you're an expert (and even then I'm not sure)

Let them run CAKE

Posted Jun 28, 2018 16:25 UTC (Thu) by ecree (guest, #95790) [Link]

It's not part of checkpatch, but a while back I wrote a tool that can check a source file or diff for reverse christmas tree violations.

Let them run CAKE

Posted Jun 28, 2018 17:06 UTC (Thu) by zdzichu (subscriber, #17118) [Link]

I would prefer comment “please name you variables in a descriptive way”. Single letter variables? Ugh.

Let them run CAKE

Posted Jun 29, 2018 14:04 UTC (Fri) by mtaht (guest, #11087) [Link]

I have to agree those variables are named poorly. In some cases we have made compromises to fit stuff into 80 lines, and as best as I remember the heap management code is more or less borrowed from knuth, with the single letter names. Still....

reverse christmas tree

Posted Jul 3, 2018 14:08 UTC (Tue) by robbe (guest, #16131) [Link]

If readability is really the only reason¹, you could always replace the three lines with
    static const u32 a = CAKE_MAX_TINS * CAKE_QUEUES;
    u32 m = i; /* this comment pleases the eye */
    u32 mb = cake_heap_get_backlog(q, m);
¹ all rules should have an attached rationale

Let them run CAKE

Posted Aug 11, 2018 3:31 UTC (Sat) by fest3er (guest, #60379) [Link]

It sounds like CAKE does what I did using HTB and SFQ. But I suspect CAKE does it more elegantly. Even with uplink and downlink saturated, I've not seen any unevenness transmitting or receiving with my config. UL and DL BW are set to the maxima I observed. All flows are set to share 1 bps. Isochronous flows (priority 0) can use up to 64000 bps (configurable for the amount of traffic). DNS and NTP (priority 1) are allowed to use 10% or so. P2P and other bulk flows (priority 3) are allowed to use 100%, but can be starved. Everything else is priority 2 and can use 100%. Once I finally understood what is and is not said, and what is and is not true, in HTB's, mmm, imperfect documentation, I was able to produce a very stable setup.

As to actual bandwidth, that will probably always be an empirical measurement because even ISPs cannot precisely configure customers' bandwidth; 30D/5U was usually 28D/6U, and 100D/10U is usually 112D/12U. So find a fast site, start a large download, and observe the average maximum. Find/beg/borrow a site to upload to, start a large UL and,again, observe the average maximum. This works quite well for me. (OK, a DS1 or DS3 will be quite close to their natural bit rates.)

I do hope the devs use only decimal (powers of 10) multipliers (k, M,G, etc.) and *not* binary (powers of 2). Transmission speeds have always been stated and configured as powers of 10 going back 50 years and more; using powers of 2 only serves to make computations rather incomprehensible. TC and HTB interpreted and used multipliers so poorly that I stopped using them in configurations completely in favor of the plain, natural number; it's the only way I could make number come out right.

If it's done right, CAKE may be pretty close to something I suggested some years back. I look forward to giving it a go.

Let them run CAKE

Posted Aug 17, 2018 5:34 UTC (Fri) by mtaht (guest, #11087) [Link]

Basically cake is wondershaper on steroids, based on 5+ years of successive refinement in the "sqm-scripts" which used htb+fq_codel. (see https://www.bufferbloat.net/projects/bloat/wiki/Wondersha... )

Ease of use - shaped or unshaped - was the goal.

I wish it lacked a few features though, it's not as fast (currently) on low end hardware as it needs to be.

Let them run CAKE

Posted Feb 8, 2019 4:19 UTC (Fri) by arlan (guest, #130310) [Link]

It's been a while since I've seen anything posted about CAKE. Addressing buffer bloat for my Home network (Charter Cable) and my business network (Charter Business) was pretty well resolved with IQ Routers. Stupidly simple.

I run Software Defined Radios across the Internet where buffer bloat causes severe latency issues for both Voice (drop out) and our Panadapter displays (jitter).

Next with a Cellular Router where bandwidth is always changing as well as the number of bonded links available may be limited (metro areas) this was a much more severe issue. Working with Jonathan Morton's CAKE on the cellular router (it came pre-installed - Mofi Networks Cellular Router (Canada) - with OpenWRT), I also searched for a good guide to configuring it.

With no real luck finding a guide, I thought I'll try the "Just A Piece of Cake" configuration included and much to my surprise it works just great. Utterly simple, but it's done the job quite well.

In rural areas where a number of bonded links are available I saw (fixed position) as much as 60 Mb download speeds and low latency. In the middle of Utah (sic no where) at 85 MPH I saw 30 Mbs/6 Mbs speeds with acceptable latency. Yes, the legal speed limit is 85 and the F-250 has a 90 MPH governor. LOL This is on AT&T's rural Internet Access plan (unlimited, never throttled), widely used by cross country truckers and retire's in their motor homes. See Ubifi Networks. With the WiFi interface to our iPhones and iPads our Verizon Cellular rarely get used... It's certainly better than DSL and we streamed HBO movies without a glitch in remote places that had AT&T cellular service. CAKE works... for me.

This was April 2018, so I haven't tried the latest release of patches (May 2018) noted in your post. Looking forward to seeing how that works.

A few updates on cake and make-wifi-fast

Posted Apr 21, 2020 19:37 UTC (Tue) by mtaht (guest, #11087) [Link]

The evenroute v3 (which has fq_codel for wifi and the latest version of cake) is benchmarking out beautifully. This is a recent test (with 100 users online, at least one of whom competing with that test):

http://www.dslreports.com/speedtest/62398495

Which is comparable, of course, all the other openwrt/dd-wrt and linux based routers that can run cake, (thousands!!), but the evenroute has the first autotuner I've yet seen work without manual tweaking. Very happy with the (mt76) wifi on the evenroute v3, also. I may well shift future development efforts in the make-wifi-fast project over to the 802.11ax mediatek chips.

The cake backport to the edgerouters is working out well also. SQM (also cake based) on the eeros is bugging me because they don't do dsl framing compensation, but if you have an eero, turn it on....

ALSO (on the wifi front)

We FINALLY got the AQL patches into openwrt head last month for the QCA ath10k related chips (and a few thousand routers that use that), and I hope we get more testers of that in the coming weeks.

( https://forum.openwrt.org/t/aql-and-the-ath10k-is-lovely/ )

I hope these algorithms contribute to familial harmony in these times of troubles, and that... perhaps a few of y'all out there will reflash some routers for friends and family suffering from jitter and delay when more than one of you is online.

The evenroute v4 is coming out soon

Posted Sep 13, 2021 16:06 UTC (Mon) by mtaht (guest, #11087) [Link]

As much as I try to encourage folk to install their own software on their own routers, it really does pay to have an off-the-shelf solution you can recommend to your parents, or a business.

There are dozens upon dozens of these, now, but very few that scale up to a gbit or higher.

The evenroute v4 is due out soon, runs cake and most of the latest openwrt stuff at a gbit+ without breaking a sweat, and they are taking pre-orders now:

https://evenroute.com/iqrouter-pro

A few updates on cake and make-wifi-fast

Posted Oct 24, 2021 18:59 UTC (Sun) by hub (guest, #154941) [Link]

Hi Dave,

I've only been following your work for the last several months, but I am thoroughly impressed with CAKE and fq_codel. I'm so appreciative that people like you and Jim Gettys are sharing your knowledge across the internet, and I've subscribed to your Starlink list to learn more from you and other contributors.

I tried CAKE with Fresh Tomato on the old Asus RT-AC68u. Then I tried Eero's implementation on the older AC pro models. It's unfortunate they still haven't added SQM for the new eero 6 models even in their recent 6.5 release.

More recently, I discovered the Belkin RT3200/Linksys E8450, and I think you're going to be pleasantly surprised when you get your hands on one of thees. This router contains a new 64 bit Mediatek chipset and an unlocked bootloader that has allowed fast OpenWrt development and incredible SQM performance. This currently seems like the fastest CAKE solution available short of x86. The Belkin version is on the shelves at just about every Wal-mart store, and Wal-mart seems to drop the price to around $80 during Belkin sales. At worst the 5GHz Wifi antennas seem to underperform compared to everything else that is so great with this router, including 160 Hz AX support and DFS in OpenWrt LuCI.

https://forum.openwrt.org/t/belkin-rt3200-linksys-e8450-w...

Like you, I'm quite disappointed at the state of Wifi 6 in the market. Not only is CAKE missing across the board, it seems like none of the stability that 802.11ac wave 2 eventually achieved has carried over into current firmwares for these new devices. I even tried the Netgear RAX120 with v2 of its Qualcomm 64 bit 14nm chip, and it's still a rebooting, unstable nightmare. I couldn't possibly hold out for OpenWrt support on that device.

If a novice like me is allowed to offer any criticism at all of the current CAKE implementation in OpenWrt, it merely to agree with you in regards to the challenge of applying CAKE to such a variable bandwidth connection as Starlink. As you suggested on /r/Starlink, the ideal solution would involve the Starlink team coordinating info about available bandwidth from the SOC in Dishy with a local CAKE solution on their provided OpenWrt Qualcomm IPQ4018 router. But I do hope some determined devs can tap into the unrealized power of this new Mediatek processor in the Belkin RT3200 to automatically adjust to Starlink and LTE connections' changing speeds more readily.

Thanks again, Dave. It's great when I stumble upon more of your advice in the comments section anywhere people might listen.

A few updates on cake and make-wifi-fast

Posted Oct 25, 2021 12:23 UTC (Mon) by mtaht (guest, #11087) [Link]

thx for the kind note! A couple notes:

Jim essentially has retired, after firing his last shot here:
https://gettys.wordpress.com/2018/02/11/the-blind-men-and...

There are 100s of people active in the bufferbloat project(s), I'm just one of the most visible. My goal of late has been to get the technologies developed by our project to cross the chasm into mainstream gear - while openwrt remains the bleeding edge here for new chipsets, trying to get mikrotik, eero, apple, starlink, etc to do the right thing is mostly what I do these days, although I do wish dearly I could get in there again to push things ahead further forward.

The cake team (led by jonathan morton) has largely been distracted by the SCE vs L4S debate in the ietf, the former make-wifi-fast team leader (toke) is off doing ebpf stuff mostly.

Doing some sort of dynamic adjustment to cake based on statistics several folks are working on.

The hope really was that vendors would lay our algorithms close to the hardware where they belonged - and in the starlink encounter, in particular, it seemed like the dishy was one kernel compile away from doing most of the right things, and that fixing their router's wifi, also... but so far, no news from them. Nor usable stats.

(I retell that story as humorously as possible here: https://www.youtube.com/watch?v=c9gLo6Xrwgw )

The mt76 in openwrt seems solidifying! thx for the steer to the link. And eero and apple at least seem to be moving finally in the right direction.

As for ISPs, see also: https://github.com/rchac/LibreQoS/

cake on lte

Posted Nov 8, 2021 18:15 UTC (Mon) by mtaht (guest, #11087) [Link]

There's been some good work on getting cake to work better over LTE. More testers needed here: https://forum.openwrt.org/t/cake-w-adaptive-bandwidth/108...

samknows and ookla join in on measuring latency under load

Posted Aug 26, 2022 8:27 UTC (Fri) by mtaht (guest, #11087) [Link]

This piece on bufferbloat, including some of the history with vint cerf and jim gettys, by samknows, was really good. apparently US DSL has an average latency under load of 853ms. Also ookla is now measuring working latency with their latest app and web tests. Cake looks really good on these tests, but hilariously, so far the general public hasn't noticed the new numbers it produces.

There was a starlink test in some article or another that had 3 seconds of LUL on it....


Copyright © 2018, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds