From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-lj1-x229.google.com (mail-lj1-x229.google.com [IPv6:2a00:1450:4864:20::229]) (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 90E283BA8E for ; Sun, 12 Aug 2018 20:21:19 -0400 (EDT) Received: by mail-lj1-x229.google.com with SMTP id u7-v6so11222141lji.3 for ; Sun, 12 Aug 2018 17:21:19 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/+PhWF9N94Dnc+C2U9IoqoAkyV1YeGyqWHKkT0xPZss=; b=TkDhRZB5vAABxRtB1no6kHfrskMxWwRIMTD22hXJB3UlBXm3mP0ecl1ZpgDRtaznfn V0yTfvUXw7zCC2eLRJPEexu0TOufUShs0X3zgJWEGtXcJy58qOcdlaYc7RWwJZY0OSJA De0m47sTGczNObtBobwH5TghOavHzynAaNVzneYcvrbqVWQ0JJISwCeDpOsyWS5kmn1j idWixp0zhX7wlRn7+LgTedBHxXG6EBQC0udJKnG3BR+kzDg7+Go9Dg486hESTYXcAXQ3 RZffmweotfRjqXUzFd+pDxKXxHi+4IxInE8lEcazwVzQI1eDiADK2mQVxKuZrIckqwUu X1Mw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=/+PhWF9N94Dnc+C2U9IoqoAkyV1YeGyqWHKkT0xPZss=; b=Jyvdz5vQK7PemEVFsGivvsVyOTqLQM7x8kav9Z+JLjqIEWC7jW7zblIzcwCYPevGwl 6P/yYMDN3AqPWupJHvOB02YLJSffHobbL0WuPIivvcOxYpmR0GZKTiz6wX8+35IzQB+n //bIDHKpZwZrNlOHuZThB8wPfvBoq51qVo7yMvSYsJ3h1OwreKVpaTUW37HnAEny5U1Y 0BMAwiLp+US9br6Ke8eO7oe6zkRDjVNf0+7ZRx3jfMIOq4KM6tgZDYXeSGtFyUreNrT5 fBO2ghplklcXb5tNxgfaImBULH1wdopzhci7iIEHJFfaj45cS0NOqXIZ5JhcWni0H2X9 IN2A== X-Gm-Message-State: AOUpUlGEWYkicepgv7vaFVhxjh5WdCzJxt4zLtrYyAp0lHi1CR5huM0f b2h/cTfzlpDIWhJxUTBsllw= X-Google-Smtp-Source: AA+uWPz38P8+YolKPAiZ0ynmhtBKnCK9bBuER2eUsFsc91Mw6cPKsejoIo6yusvEFYlAbScDle4HPw== X-Received: by 2002:a2e:10ca:: with SMTP id 71-v6mr10857794ljq.59.1534119678326; Sun, 12 Aug 2018 17:21:18 -0700 (PDT) Received: from jonathartonsmbp.lan (83-245-238-47-nat-p.elisa-mobile.fi. [83.245.238.47]) by smtp.gmail.com with ESMTPSA id g63-v6sm2814110lji.79.2018.08.12.17.21.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Sun, 12 Aug 2018 17:21:17 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\)) From: Jonathan Morton In-Reply-To: <85C60B2F-78D0-4AEE-871C-BB637785BF62@gmail.com> Date: Mon, 13 Aug 2018 03:21:06 +0300 Cc: Pete Heist , Cake List Content-Transfer-Encoding: quoted-printable Message-Id: <4D28C453-5378-4A5B-9E05-874F36C4DB30@gmail.com> References: <87h8jze5hk.fsf@toke.dk> <85C60B2F-78D0-4AEE-871C-BB637785BF62@gmail.com> To: =?utf-8?Q?Toke_H=C3=B8iland-J=C3=B8rgensen?= X-Mailer: Apple Mail (2.3445.9.1) Subject: Re: [Cake] issue with Cake and bpf filter 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, 13 Aug 2018 00:21:19 -0000 > On 13 Aug, 2018, at 12:34 am, Jonathan Morton = wrote: >=20 >> On 12 Aug, 2018, at 10:42 pm, Toke H=C3=B8iland-J=C3=B8rgensen = wrote: >>=20 >> Yes it does; setting tc_classid is one way to set the flow class that = is >> read by the call to tcf_classify(). I guess the problem is that >> cake_hash() is bypassed, so the *host_refcnt variables are not >> incremented. >>=20 >> There's been another report of the same issue on github; haven't had >> time to look into it yet, but I guess this is the reason... >=20 > I'll see what I can do tonight, now that I understand the problem. Oh, this is a mess. Ultimately the problem stems from having previously = factored out choosing tin and flow to two distinct functions, but now = there's an external mechanism for overriding both at once, which can = only hook into one or the other. The easiest fix is to just remove the broken support for setting the = flow ID via a filter, but leave in the support for setting the tin. I = think that's the most useful "simple" fix. It's perhaps worth noting = that this was the first thing I *removed* when reworking fq_codel into = the first version of Cake, because I couldn't see a valid use for it. The next simplest fix is to ignore the flow ID override unless we're in = "flows" mode. We can then make valid assumptions about what should go = into the host tables. The *right* fix, if we want to maximise functionality, would be to pass = the result struct by reference into cake_hash(), where it can override = the *host* IDs (not the flow ID). Users can then choose between using = the override as a flow ID (by setting "hosts" mode instead of "flows"), = or retaining the default host-isolation semantics with a revised = definition of "host". I feel compelled to point out that baggage like this is probably at = least some of why Cake is no longer faster than HTB+fq_codel, as it used = to be. - Jonathan Morton