[Cerowrt-devel] [Bloat] Questions about the use of HTB & fq_codel in simple.qos, simplest.qos

Jonathan Morton chromatix99 at gmail.com
Thu Apr 9 18:02:00 EDT 2015

> On 10 Apr, 2015, at 00:35, Rich Brown <richb.hanover at gmail.com> wrote:
> - Why do we provide an HTB-based shaper in simple.qos and simplest.qos?
> - Do the shapers in these sqm-scripts actually limit bandwidth for various kinds of traffic? Might that not leave unused bandwidth?
> - Or do they just shunt certain packets to higher or lower priority fq_codel tiers/bands/levels (terminology used in Dave's note below)?
> - And if the latter, how does the "link" (I'm not sure of the proper term) know which of the tiers/bands/levels to dequeue next?

The short answer is: because cake isn’t out in the real world yet.  We’re working on it.

HTB and IFB as used in those scripts is a stopgap solution, to take control of the bottleneck queue so that fq_codel can work on it.  Cake includes a shaper which does the job more effectively and more efficiently.

Ultimately, what we’d like is for fq_codel (or even something as sophisticated as cake) to be implemented in the *actual* bottleneck queues, so that artificially taking control of the bottleneck isn’t necessary.

> I'll state up front that I'm not entirely clear on the distinction between shapers, qdisc's, IFBs, etc. But I'm groping around for a simple, clear recommendation for what we should tell people to do so they can:
> 	a) Make their router work very well, with minimal latency
> 	b) Spend their time more usefully than tweaking QoS/priority settings (for example, by actually playing the game that whose lag you're trying to minimize :-)

If they’ve got a router with the sqm-scripts installed, use those and follow the directions.  The implementation is a little messy, but it works and it keeps things simple for the user.

When cake arrives, the implementation will get simpler and more efficient.

 - Jonathan Morton

More information about the Cerowrt-devel mailing list