Re: [tsvwg] draft-ietf-tsvwg-nqb-15.txt vs the cake AQM

Sebastian Moeller <moeller0@gmx.de> Tue, 14 March 2023 16:38 UTC

Return-Path: <moeller0@gmx.de>
X-Original-To: tsvwg@ietfa.amsl.com
Delivered-To: tsvwg@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id AC912C14CE38 for <tsvwg@ietfa.amsl.com>; Tue, 14 Mar 2023 09:38:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.546
X-Spam-Level:
X-Spam-Status: No, score=-2.546 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H2=-0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmx.de
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 4qO7UgYRJxQd for <tsvwg@ietfa.amsl.com>; Tue, 14 Mar 2023 09:38:54 -0700 (PDT)
Received: from mout.gmx.net (mout.gmx.net [212.227.15.19]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 04D35C14CF1E for <tsvwg@ietf.org>; Tue, 14 Mar 2023 09:38:53 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.de; s=s31663417; t=1678811928; i=moeller0@gmx.de; bh=XfF6gTtFs64Pa4I2sr48HaIuPNB8r/ZyYSM3m9yFBGc=; h=X-UI-Sender-Class:Subject:From:In-Reply-To:Date:Cc:References:To; b=h2LPXpDU8oezZcVC2CCaU2YpCKy7ntfCWdBmMuY/O8Ojhos1irkAizyldlf+Q6BzL 7pt620taZYJw5J1hFRS4DKJ6CYig/qURA38TQOOdgnoC5w70N0y2Lvo/ltOcP9vd8V TWSjPxRWoyeHCsPBiF755TQGzknOczdUd8/AD0ymqP7nCV2lJUOsb9bsI6n49r5bAg wxTwxXpj+si30fSIbRVHNec5SbpiIsg4evXZFR6062mpvH1OBx8n3Y8+mkz+EK2nBu kpWdjNBp/cTyBlAn2g1JvUm/5XUqUWFH90+HEOj5ivzqIgxSpzeKMk2VZOrczDe+0N R74gFpppv6FgQ==
X-UI-Sender-Class: 724b4f7f-cbec-4199-ad4e-598c01a50d3a
Received: from smtpclient.apple ([134.76.241.253]) by mail.gmx.net (mrgmx004 [212.227.17.190]) with ESMTPSA (Nemesis) id 1Mplc7-1qJ9Wv1wBp-00qAV0; Tue, 14 Mar 2023 17:38:48 +0100
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3696.120.41.1.2\))
From: Sebastian Moeller <moeller0@gmx.de>
In-Reply-To: <CAA93jw4_MAX1DULpvU_Uo7BuyvvRpqZ-_gZP+HbhC251osCT3g@mail.gmail.com>
Date: Tue, 14 Mar 2023 17:38:47 +0100
Cc: Ruediger.Geib@telekom.de, Cake List <cake@lists.bufferbloat.net>, tsvwg IETF list <tsvwg@ietf.org>
Content-Transfer-Encoding: quoted-printable
Message-Id: <6FEAB4C1-0849-4166-9725-46CC91D79A7B@gmx.de>
References: <167348364734.15098.9183646444272144529@ietfa.amsl.com> <FR2P281MB1527B1114EA0718F8BB19DBF9CD79@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <659CE6DE-2B9D-4210-BAF8-BCC99E2ED875@cablelabs.com> <FR2P281MB1527003371292BDB9F08764A9CDE9@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <DEB97936-375A-41C8-8ECB-E33F94D30056@cablelabs.com> <FR2P281MB15273966161929E8BAB937869CA29@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <7434C6A7-4CED-4D39-A852-2714AB9DA1DC@cablelabs.com> <FR2P281MB1527C89A1654A77FAD6A24AF9CBE9@FR2P281MB1527.DEUP281.PROD.OUTLOOK.COM> <CAA93jw4_MAX1DULpvU_Uo7BuyvvRpqZ-_gZP+HbhC251osCT3g@mail.gmail.com>
To: Dave Täht <dave.taht@gmail.com>
X-Mailer: Apple Mail (2.3696.120.41.1.2)
X-Provags-ID: V03:K1:e1okrW49Y1f8nbQsC27pAZs7yiBzOvfQyOfrJWhVfttvJWm4UdR asFYKj+KLPdX3S3HpeyTNPxA74GVEvhJPt3mYTA0eQaNWdRMzcoxc/v0ybWsfomD33Z4D1q Nim7+iQTeZmjXvZrSbTNPqNXGBl2bjUwxMm1hTeX/2mFUKZWvkhyMjQYw/VggqBwBxGyXBl o1Ro9Ayfgs/1w5NrT5fxQ==
UI-OutboundReport: notjunk:1;M01:P0:/GwwGi0HDFc=;SS4fdB1+Dc71b9l60NJdPQtTEkD 6EjkWKNPDXSBLECxa9GTctXv2s8tP/mnn+d/UqZ4E0Qhfv6Je+Ju7HwMpOfZRPvHH/hVONfz2 J5GTuNiNG6aLD3Hzw2VzEygTxKJpBgUThUFbj7iLS5X773pev85nPC8W1uXLHYcaJXXuLpPYK sVyG19oSR2oLi2l8AR5fOZpBdPPQ/l+oqN9yidk27R6H5yZoA0NM+A5LgVa+6K5261NOTZks7 /gHAgy8zNO+8KZvQQKhfijaxBOPvFKbHMo8Th7CjgShu23SQYXwnQB3l0EBkTYNQ0TI64O645 5D50iqz3m+AgNM8TcnTHVgSjO8SH7JyHpaCoIYlaBp1UzgPiJfUDu6d5T9F+LAJq1Pe9J+Bby 9G+Ckkg8WTJI0sq5CoNTJ8jiUGXbBsxVBg6JOHZ6/lPzMd6uOaKPGf8CE0Nawx2Lg+bykWLwJ H578DE9b+XSEQYnNdbJ+I/YGi73WA8VQZzgJedfDPSnB1LkrW9Eh27hwH+fEtZlm/R/SjVYYM 5UqCeyEpfJchhskFutbg9tjR/+2/uyDqcCWi7gSES5mqfghoxxq3Yz7wtdg3xgYUtqS5FtKrZ LfBz9JGLXya1J64RK4pU6z8RfOu4MvmOyxRyLrkusOIe1prxB82uqf9RrOoxaF82jWImrMgu5 l0O63jlLp2vt7hPNZ5coHh1u4mKmk0hgGfsb6Dqs5qiRjU63b/kliIO7uOjA3wueHoJ7j1dhi jWZ97erCKGKHzBrwjLjxw6gAj+kWT8EPgbYumF6YGiBEhO5JdTd6amFOyuLQZkOlqtf9wntju wXBJcMAXp7sHTyuH+Hnexu4XcsGtzhEUDI4l4uIxRMf0capymAl5PO53Vf0T8TkVWg0mzhWKD b48o4L58UaCYy/QbSAZxG5Xdzdf8T2TxozzkXEukgXzi2pM5yobpRbVCAPpQZ6ZZfT7u1BrCz 7btJI1o6C+6rM2V9VCl0ytGSKgE=
Archived-At: <https://mailarchive.ietf.org/arch/msg/tsvwg/QulMQRSvzHaMG32WZzrhS8R0WhU>
Subject: Re: [tsvwg] draft-ietf-tsvwg-nqb-15.txt vs the cake AQM
X-BeenThere: tsvwg@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: Transport Area Working Group <tsvwg.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tsvwg/>
List-Post: <mailto:tsvwg@ietf.org>
List-Help: <mailto:tsvwg-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tsvwg>, <mailto:tsvwg-request@ietf.org?subject=subscribe>
X-List-Received-Date: Tue, 14 Mar 2023 16:38:58 -0000

Hi Dave,


> On Mar 14, 2023, at 15:01, Dave Taht <dave.taht@gmail.com> wrote:
> 
> I have been sitting on the cake related patches for this for years
> now, and it is my hope to get support for NQB into the next linux
> release, regardless of whether it gets through last call at this time,
> unless the selected codepoint number changes. (?)
> 
> Cake (please see the man page here:
> https://man7.org/linux/man-pages/man8/tc-cake.8.html ) supports
> multiple diffserv models.
> 
> besteffort is exactly that, besteffort, and will not gain NQB support.
> 
> The diffserv3 interpretation is the default, and given that flow
> queuing handles most of the NQB-like problems naturally, and  Voice
> (CS7, CS6, EF, VA, TOS4) is all that is handled there today, I am
> thinking of *not* elevating NQB into that class is the right thing.
> 
> NQB fits nicely into the diffserv4 model in the video class, so I will
> put it there. since covid we tend to use the diffserv4 model a lot to
> manage videoconferencing better.

	Are you sure? Video gets up to 50% of shaper capacity at elevated priority.. this is not doing the required enforcement to keep NQB rate low...



> As for the CS0-CS7 precedence model inc cake, we have declared that
> obsolete in the code, and wherever NQB falls into it, great. And the
> diffserv8, I don´t know.
> 
> Anyway, does that work for everyone?

	Not for me, as you know I prefer to treat NQB like CS0 for all classes.

> 
> Part II of this would be a discussion of the various wash modes, but
> merely getting the right byte into the right lookup tables after all
> this discussion, would be nice.

	Wash is only a single mode and should stay so, remapping all DSCPs cake used to steer packets to priority tins to CS0 to not leak/reveal any of the internal details upstream. Users wanting to expose NQB to the world, simply do not configure wash or use nowash...
	I am not sure whether you are thinking in that direction at al or whether I am just "paranoid" but washing most DSCPs but retain NQB would IMHO a disservice to cake's users. If you believe such a functionality is needed, it should be configurable which DSCPs to retain and most importantly it should not be called wash to avoid confusion with the current behavior, please.

Regards
	Sebastian

P.S.: The bigger issue is that NQB's design goal is a shallow buffered queue where the side effects of that shallow buffers is hoped to discipline the NQB users not to try to game the system. While I generally believe this not to work, this is not what cake is going to offer, NQB flows will really only be bound by the capacity share. And e.g. a single NQB flow n diffserv4 (with no other non-BestEffort traffic, will be able to hog >= 50% of the total link capacity. That seems problematic... (this is also true for other DSCPs mapping into these priority tiers, but these are rarely exercised by applications without active user intervention in the first place).