On Mon, Apr 30, 2018 at 2:21 PM, Cong Wang <xiyou.wangc...@gmail.com> wrote: > On Sun, Apr 29, 2018 at 2:34 PM, Toke Høiland-Jørgensen <t...@toke.dk> wrote: >> sch_cake targets the home router use case and is intended to squeeze the >> most bandwidth and latency out of even the slowest ISP links and routers, >> while presenting an API simple enough that even an ISP can configure it. >> >> Example of use on a cable ISP uplink: >> >> tc qdisc add dev eth0 cake bandwidth 20Mbit nat docsis ack-filter >> >> To shape a cable download link (ifb and tc-mirred setup elided) >> >> tc qdisc add dev ifb0 cake bandwidth 200mbit nat docsis ingress wash >> >> CAKE is filled with: >> >> * A hybrid Codel/Blue AQM algorithm, "Cobalt", tied to an FQ_Codel >> derived Flow Queuing system, which autoconfigures based on the bandwidth. >> * A novel "triple-isolate" mode (the default) which balances per-host >> and per-flow FQ even through NAT. >> * An deficit based shaper, that can also be used in an unlimited mode. >> * 8 way set associative hashing to reduce flow collisions to a minimum. >> * A reasonable interpretation of various diffserv latency/loss tradeoffs. >> * Support for zeroing diffserv markings for entering and exiting traffic. >> * Support for interacting well with Docsis 3.0 shaper framing. >> * Extensive support for DSL framing types. >> * Support for ack filtering. > > Why this TCP ACK filtering has to be built into CAKE qdisc rather than > an independent TC filter? Why other qdisc's can't use it?
I actually have a tc - bpf based ack filter, during the development of cake's ack-thinner, that I should submit one of these days. It proved to be of limited use. Probably the biggest mistake we made is by calling this cake feature a filter. It isn't. Maybe we should have called it a "thinner" or something like that? In order to properly "thin" or "reduce" an ack stream you have to have a queue to look at and some related state. TC filters do not operate on queues, qdiscs do. Thus the "ack-filter" here is deeply embedded into cake's flow isolation and queue structures. > > >> * Extensive statistics for measuring, loss, ecn markings, latency >> variation. >> >> A paper describing the design of CAKE is available at >> https://arxiv.org/abs/1804.07617 >> > > Thanks. -- Dave Täht CEO, TekLibre, LLC http://www.teklibre.com Tel: 1-669-226-2619