From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-pf0-x22c.google.com (mail-pf0-x22c.google.com [IPv6:2607:f8b0:400e:c00::22c]) (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 DAD373B29E for ; Mon, 30 Apr 2018 19:04:59 -0400 (EDT) Received: by mail-pf0-x22c.google.com with SMTP id w129so2464492pfd.3 for ; Mon, 30 Apr 2018 16:04:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=PIYVrd0F7wLYq6WEKGSUFeX4GZFKr+9A7FtxdL2DEo8=; b=o77yJdB5njz9uSAxPHnCPrufLAeIt/5GLDDWBwtcV0MjVwEY9Ue0eSEE+HYA1il14T Mto1X0k11oI1jw5rc5r3fkZ0PaGEbep6v1rwuVnldSBu5LVDS7c0UZDlouNZkgYaoixW joGqtDDED1Ss9v/aLiA2gBPbR5VfTwtahPDS422HnRo3cYZTN4QuBQy0T4pbWuW2xqcz Rr5yVcFHrqvaX+PrmDCSEjw1D8g7KrcK0JIzss9DLMneCh6tu1QOhMdYdB2TtIQo4fPh 6J2c6lhQ63G1vJVdld+HgFVKrckqJyP81oK3Ux8NonOaOXhg4sqxC2mIQjrYgd9Of4IM RpiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=PIYVrd0F7wLYq6WEKGSUFeX4GZFKr+9A7FtxdL2DEo8=; b=U1nM+pIYrIGDxjHuOxvBepbL/9jm2xkcs1Uz0V0ClUSJTRCIRRghTYXNBvfCW/kHf1 EABS79KNSd7AQQegb1piU5cIhiyjrVm0xKuhtlRgHKfqvpz1CGuUCV7t6KACg+sN7vSV EUc/+ijh5HaRj0YtOekf4qqk139grYuFeVUAQnvxYVzW/iwMGwRd/c8ejW6zyYArNymj Y6V3fXNzF5/31pForndWMjVwXulfZ+MEQ+DVl8t6Wi/VLXggrINQxFujYtrfmcqxLdV7 0d60L7CL/RxSgbksSjooDpFKP5hE14G7GCKBVUG9KXJ5BvFlNaZIQQL6PTnWUROY5PL2 BpLg== X-Gm-Message-State: ALQs6tDAtWmx+0LIOIuj7uqQ3bU4XMqPaUJKImyI9d1D4Tqqf27rz6/V q6Xd1BX+Huj/CPHl8Mn5mDAdtPJ1vUF4VnLqbgI= X-Google-Smtp-Source: AB8JxZrOOSVhgPCMvzzLG0Q+16crm5SpGQ4OVOvEx2gZINW710Mog9GVO/I7SMF9TW+9zACcXmZsun0VxU5L/p54mNw= X-Received: by 2002:a17:902:44c:: with SMTP id 70-v6mr13896153ple.354.1525129498974; Mon, 30 Apr 2018 16:04:58 -0700 (PDT) MIME-Version: 1.0 Received: by 10.236.179.152 with HTTP; Mon, 30 Apr 2018 16:04:38 -0700 (PDT) In-Reply-To: References: <20180429213439.7389-1-toke@toke.dk> From: Cong Wang Date: Mon, 30 Apr 2018 16:04:38 -0700 Message-ID: To: Dave Taht Cc: =?UTF-8?B?VG9rZSBIw7hpbGFuZC1Kw7hyZ2Vuc2Vu?= , Linux Kernel Network Developers , Cake List Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Mailman-Approved-At: Tue, 01 May 2018 06:39:11 -0400 Subject: Re: [Cake] [PATCH net-next v6] Add Common Applications Kept Enhanced (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: Mon, 30 Apr 2018 23:05:00 -0000 On Mon, Apr 30, 2018 at 2:27 PM, Dave Taht wrote: > On Mon, Apr 30, 2018 at 2:21 PM, Cong Wang wro= te: >> On Sun, Apr 29, 2018 at 2:34 PM, Toke H=C3=B8iland-J=C3=B8rgensen wrote: >>> sch_cake targets the home router use case and is intended to squeeze th= e >>> most bandwidth and latency out of even the slowest ISP links and router= s, >>> 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 bandwi= dth. >>> * 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 tradeoff= s. >>> * Support for zeroing diffserv markings for entering and exiting traffi= c. >>> * 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. Yeah. > > Probably the biggest mistake we made is by calling this cake feature a > filter. It isn't. It inspects the payload of each packet and drops packets, therefore it is a filter by definition, no matter how you name it. > > 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. TC filters are installed on qdiscs and in the beginning qdiscs were queues,for example, pfifo. We already have flow-based filters too (cls_flower),so we can make them work together, although probably it is not straight forward.