From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pg0-x244.google.com (mail-pg0-x244.google.com [IPv6:2607:f8b0:400e:c05::244]) (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 42DEB3B29E for ; Fri, 27 Apr 2018 21:04:01 -0400 (EDT) Received: by mail-pg0-x244.google.com with SMTP id b9-v6so2690280pgf.6 for ; Fri, 27 Apr 2018 18:04:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=networkplumber-org.20150623.gappssmtp.com; s=20150623; h=date:from:to:cc:subject:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=anjwy1qjgTFMwwnntC30YyJ3AU3ndqiAmk6hmHdUPhg=; b=Wb8usrt7OuWtf+pEl7TBdZlq6dAnOcwBjD5da0tAEUWdgYSKK46KFqTat+Rx/5Us84 /6mlaRaRUfrhkin7KOvb4d4y2ce2mJv1xeYf0xU0jYBBRWsTOl7aVNUN+S+WmBUoeBxX bsjxX3Kg/RIQEM3QbCfzFGwfrYyaxxiPbqJuA5G9axNzknasTrMPsq5LJukPAfw8LCsT U4D8IUh7DJHgADkjizXiIrRg6CQAPo3Ol2vDtTHR5tMP1MkvqfvAueTr4Szacho3zS7k G67wBZkR4vo4nLMVuTJhVUSMv2LIE6OftL27rXOLVVN0DqxDuGN/tFN6xdrHkj2wMwh7 MKpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=anjwy1qjgTFMwwnntC30YyJ3AU3ndqiAmk6hmHdUPhg=; b=eCpYu3kwmwg5AnvMkP08/sTKLytpCw9GDRH6fbL7pSJBX0h/GlWVh3y95eJf6kh+9q TvMlx94c88CybACPheR5QQ15Vb7Q/RTJo4lopK0xZp6lbXdflgyTroutLDGlOjcqgajc qAiqu+aRLnt1HFUQFS7X0KpYHnmI+hbnvPk/+H0g1FiWrLnbQ+spvTodlwVaF6igMbIU XMJXTis+0Z/5OALUOFkx7/iJBs+OqEGRfDPaAO29uU/SB4p+m6y+SJDMK0meyaVNlKN7 hFiP/0fS9+M1VdPKD/vEK8OOrlOnG+btuIB9+teoPhtdrFk4qhdwJPRJ6XApwNZB4kzi i6VA== X-Gm-Message-State: ALQs6tAjPuKywHXcL7YSLZWkOOXcEzHHrX9ICNANAO6heLJp9dRnEULH 3xrl0fj8xi09JktMwtO+n572YA== X-Google-Smtp-Source: AB8JxZqp2GnyR8WES+JXi/wn1CWZN0SAyVxOLrdLkufIUZ47XSCvlBCZQlQ9vCkUBTNSdnNjVPHj3A== X-Received: by 2002:a17:902:33a5:: with SMTP id b34-v6mr4234538plc.232.1524877440287; Fri, 27 Apr 2018 18:04:00 -0700 (PDT) Received: from xeon-e3 (204-195-71-95.wavecable.com. [204.195.71.95]) by smtp.gmail.com with ESMTPSA id c11sm4642581pfh.15.2018.04.27.18.03.59 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 27 Apr 2018 18:04:00 -0700 (PDT) Date: Fri, 27 Apr 2018 18:03:56 -0700 From: Stephen Hemminger To: Toke =?UTF-8?B?SMO4aWxhbmQtSsO4cmdlbnNlbg==?= Cc: netdev@vger.kernel.org, cake@lists.bufferbloat.net Message-ID: <20180427180356.56455652@xeon-e3> In-Reply-To: <20180427195720.9380-1-toke@toke.dk> References: <20180427193901.8057-2-toke@toke.dk> <20180427195720.9380-1-toke@toke.dk> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: Re: [Cake] [PATCH iproute2-next v7] Add support for 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: Sat, 28 Apr 2018 01:04:01 -0000 On Fri, 27 Apr 2018 21:57:20 +0200 Toke H=C3=B8iland-J=C3=B8rgensen wrote: > sch_cake 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. >=20 > Example of use on a cable ISP uplink: >=20 > tc qdisc add dev eth0 cake bandwidth 20Mbit nat docsis ack-filter >=20 > To shape a cable download link (ifb and tc-mirred setup elided) >=20 > tc qdisc add dev ifb0 cake bandwidth 200mbit nat docsis ingress wash best= effort >=20 > Cake is filled with: >=20 > * A hybrid Codel/Blue AQM algorithm, "Cobalt", tied to an FQ_Codel > derived Flow Queuing system, which autoconfigures based on the bandwidt= h. > * 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. > * Support for DSL framing types and shapers. > * Support for ack filtering. > * Extensive statistics for measuring, loss, ecn markings, latency variati= on. >=20 > Various versions baking 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. >=20 > sch_cake replaces a combination of iptables, tc filter, htb and fq_codel > in the sqm-scripts, with sane defaults and vastly simpler configuration. >=20 > Cake's principal author is Jonathan Morton, with contributions from > Kevin Darbyshire-Bryant, Toke H=C3=B8iland-J=C3=B8rgensen, Sebastian Moel= ler, > Ryan Mounce, Guido Sarducci, Dean Scarff, Nils Andreas Svee, Dave T=C3=A4= ht, > and Loganaden Velvindron. >=20 > Testing from Pete Heist, Georgios Amanakis, and the many other members of > the cake@lists.bufferbloat.net mailing list. >=20 > Signed-off-by: Dave Taht > Signed-off-by: Toke H=C3=B8iland-J=C3=B8rgensen > --- > Changelog: > v7: > - Move the target/interval presets to a table and check that only > one is passed. >=20 > v6: > - Identical to v5 because apparently I don't git so well... :/ >=20 > v5: > - Print the SPLIT_GSO flag > - Switch to print_u64() for JSON output > - Fix a format string for mpu option output >=20 > v4: > - Switch stats parsing to use nested netlink attributes > - Tweaks to JSON stats output keys >=20 > v3: > - Remove accidentally included test flag >=20 > v2: > - Updated netlink config ABI > - Remove diffserv-llt mode > - Various tweaks and clean-ups of stats output > man/man8/tc-cake.8 | 632 ++++++++++++++++++++++++++++++++++++++ > man/man8/tc.8 | 1 + > tc/Makefile | 1 + > tc/q_cake.c | 748 +++++++++++++++++++++++++++++++++++++++++++++ > 4 files changed, 1382 insertions(+) > create mode 100644 man/man8/tc-cake.8 > create mode 100644 tc/q_cake.c Looks good to me, when cake makes it into net-next.