From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pl0-x243.google.com (mail-pl0-x243.google.com [IPv6:2607:f8b0:400e:c01::243]) (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 A49B83B2A4 for ; Tue, 21 Nov 2017 19:09:52 -0500 (EST) Received: by mail-pl0-x243.google.com with SMTP id b12so15741plm.3 for ; Tue, 21 Nov 2017 16:09:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=VUEvrRg+glRBLty4C6nSnqhMZXR3nOsHxWbzCzfmYWw=; b=KZ1fsWdUsIBx1MIzHOyke/jerD/V+GaaxpcxYsJWz6qnfFM6GI6BLoYok8Kxryv58D 9zOjbpNBtcySmBemKJtkZhG6qfq9oPHLCr9LNnIj3NQHRhNxxy61BFmK2dSkEoDKlNPz YLWlxSl++G4U5Ggze3qbUnY5GZGqooFuPOaJ/jnPsuBDdVUbqi1D6ltwD4L+I6ZGIKFT 1RTLdhwc0ofbriRt1ilgDc5+euC9pPd7IYwyVCWbaeB7HHv7/c0ewFxSKAvN1vmQPRlE FeOLwUAWlzozRxB0tJuRk+BkdCjzBvZq2jHN6BTlkovZh188KZL+7vyv0atb4TxMfXjJ LQWw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:mime-version :content-transfer-encoding; bh=VUEvrRg+glRBLty4C6nSnqhMZXR3nOsHxWbzCzfmYWw=; b=C/DtMUXBVjjOwMUuSaFMgt9Hw21vh33fH5NnHkytYtmKNO5/au9+VBCgR2ctYEd9Dh jYYEeVeTSqLKWvL0yZkHdmcdGxXVjUu1i1RJjkQSsiXZZbHTgqLGxmMagB1KFyrpP+mn ZY/3XShF1XzuNx8R5M93OdbQWwymxQSodMtm7jUMnchLrbmNF6qM7+a8YcAMvJHgpHey TOd3rEpZDvIT3pq4ng4g7V0woWKdrgcAaeQFMURPbJdOhzt8lzzMsiR91RsSxrQEUusd K7bMvSGsTDW+I6raZYxd7BgNFOR1303KJBaSd3dlZ9e60S0BxowBGGXg2dxHO1yZuIuu ZiAQ== X-Gm-Message-State: AJaThX7FpmhhZDR5CWORmv/i2VQvlCqSwHBmTuSFtGW1P4mQInZuuBwJ AbCdiz2dECZt+NZUrX9zoUfx4w== X-Google-Smtp-Source: AGs4zMaKrrntCTnPOkhYSS3EMcHqqIbaNPLtwzqFYfddGtNB9uoRO83U+MWMoegDWjZMwCyscFVTNQ== X-Received: by 10.159.242.196 with SMTP id x4mr19461990plw.342.1511309391516; Tue, 21 Nov 2017 16:09:51 -0800 (PST) Received: from nemesis.lab.teklibre.com ([2603:3024:1536:86f0:2e0:4cff:fec1:1206]) by smtp.gmail.com with ESMTPSA id n22sm14556236pgc.4.2017.11.21.16.09.49 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 21 Nov 2017 16:09:49 -0800 (PST) From: Dave Taht To: cake@lists.bufferbloat.net Date: Tue, 21 Nov 2017 16:09:39 -0800 Message-Id: <1511309382-24060-1-git-send-email-dave.taht@gmail.com> X-Mailer: git-send-email 2.7.4 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Subject: [Cake] [PATCH 0/3] Add Common Applications Kept Enhanced (sch_cake) qdisc 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: Wed, 22 Nov 2017 00:09:52 -0000 sch_cake is intended to squeeze the most bandwidth and lowest 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 an ISP uplink: tc qdisc add dev eth0 cake bandwidth 20Mbit nat docsis ack-filter Cake can also be used in unlimited mode to drive packets at the speed of the underlying link. 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 unique "triple-isolate" mode (the default) which balances per-flow and per-host flow FQ even through NAT. * An integral deficit based shaper with extensive dsl and docsis support that can also be used in unlimited mode. * 8 way set associative queuing to reduce flow collisions to a minimum. * A reasonable interpretation of various diffserv latency/loss tradeoffs. * Support for washing diffserv for entering and exiting traffic. * Perfect support for interacting with Docsis 3.0 shapers. * Extensive support for DSL framing types. * (New) Support for ack filtering. - 20 % better throughput at a 16x1 down/up ratio on the rrul test. * Extensive statistics for measuring loss, ecn markings, latency variation. There are some features still considered experimental, notably the ingress_autorate bandwidth estimator and cobalt itself. Various versions shipping have been available as an out of tree build for kernel versions going back to 3.10, as the embedded router world has been running a few years behind mainline Linux. A stable version has been generally available on lede-17.01 and later. sch_cake replaces a combination of iptables, tc filter, htb and fq_codel in the sqm-scripts, with sane defaults and vastly easier configuration. Cake's principal author is Jonathan Morton, with contributions from Kevin Darbyshire-Bryant, Toke Høiland-Jørgensen, Sebastian Moeller, Ryan Mounce, Dean Scarff, Guido Sarducci, Nils Andreas Svee, Dave Täht, and Loganaden Velvindron. Dave Taht (3): pkt_sched.h: add support for sch_cake API Add Common Applications Kept Enhanced (sch_cake) qdisc Add support for building the new cake qdisc include/net/cobalt.h | 152 +++ include/uapi/linux/pkt_sched.h | 58 + net/sched/Kconfig | 11 + net/sched/Makefile | 1 + net/sched/sch_cake.c | 2551 ++++++++++++++++++++++++++++++++++++++++ 5 files changed, 2773 insertions(+) create mode 100644 include/net/cobalt.h create mode 100644 net/sched/sch_cake.c -- 2.7.4