Re: [tcpPrague] [tcpm] [aqm] L4S status update

Jonathan Morton <> Thu, 01 December 2016 01:53 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 10C32129671; Wed, 30 Nov 2016 17:53:46 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.45
X-Spam-Status: No, score=-2.45 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_LOW=-0.7, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id iEtEo_kGvySs; Wed, 30 Nov 2016 17:53:42 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4010:c07::244]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id F3C62129BBC; Wed, 30 Nov 2016 17:53:39 -0800 (PST)
Received: by with SMTP id p100so17565181lfg.2; Wed, 30 Nov 2016 17:53:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=HFsnaGFHHHBFSunCWT5YINw57YiaXb236OS0SNOOA5k=; b=z9PL0wsxgjuXuEvkMz42KaCXaF5EPSsdtt1FlJQN5nzhqMOZ19r91LEhorHGKsykYJ eVZryu8g6YKRUqVL6ioErA+OR38MrSkolPyQdp3+Sk7KvtRNrEdDlGi9amNPzSiY1dqz qEyWBUGqbYYH5JxBHgPKwLBOFdZ2/MuHMBzixw4ibo9U3a0MDwyC0v/7OAe6pKsFpsXr 0S+tRqbH+IrMoaCqxg4KXnOsxjyEBn4FQQy8JNfX7XhLIpHaEwePZbDYY5cLxbxbdnuL 8MZp42Po8sbHRXAc9ZqKuuauWK5N7Q44TatfevqP4p0+2nxuhiRBDyd2NhuskIqRyDqz SqWg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20130820; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=HFsnaGFHHHBFSunCWT5YINw57YiaXb236OS0SNOOA5k=; b=c/XFWK+82ZMluk+NQ7FQagmlPgp9BY+2zcQcAzxg2zwaJfCIY/ikOV4uzEQhOD+XV3 dsN8yIcYRKqSSbH7EiDVLUqEn6y6u7k1jGQ9+znH6Td5co1JkHf8n1p2IuDMLhOk4VEi k1icXNqmWf1KQCSb/xpAO6yZKSW9b+cej/xeB/pq+Niob2w52t8m5/nMDHs6IGyuME81 kYOz8dkl642TAdIOIgHs7mk5ZI7HjKzaJnaUTXwAgLusSWJzwoEu95G/sbI0qE0PMlRS KFRDVFdWN4727ik/A648TJLTsUDrjsT/FZqVds+AINXw01IjHjvisR8TUfTI/B9z14// NYBw==
X-Gm-Message-State: AKaTC03jj6VE997tVdP9qWhYGuYo4sVXi3hWradVveRTN/MnMnz+DZjxFx6djSunYIdGmg==
X-Received: by with SMTP id m21mr11299886lfj.28.1480557218139; Wed, 30 Nov 2016 17:53:38 -0800 (PST)
Received: from [] ( []) by with ESMTPSA id s7sm14870498lja.14.2016. (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 30 Nov 2016 17:53:37 -0800 (PST)
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Jonathan Morton <>
In-Reply-To: <20161130215608.GC98127@verdi>
Date: Thu, 01 Dec 2016 03:53:34 +0200
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <20161130215608.GC98127@verdi>
To: John Leslie <>
X-Mailer: Apple Mail (2.3124)
Archived-At: <>
Cc: AQM IETF list <>, tcpm IETF list <>, Bob Briscoe <>, tsvwg IETF list <>, TCP Prague List <>
Subject: Re: [tcpPrague] [tcpm] [aqm] L4S status update
X-Mailman-Version: 2.1.17
Precedence: list
List-Id: "To coordinate implementation and standardisation of TCP Prague across platforms. TCP Prague will be an evolution of DCTCP designed to live alongside other TCP variants and derivatives." <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 01 Dec 2016 01:53:46 -0000

> On 30 Nov, 2016, at 23:56, John Leslie <> wrote:
> Better would be to identify latency-sensitive flows by a specific signal,
> and continue to deliver a "fair share" of packets "immediately" and marked
> to show the congestion.

Cake does that, too.  It looks at Diffserv markings and sorts them into categories, each having a separate set of queues.  It even takes care to avoid both obvious incentives for using inappropriate DSCPs, and hard bandwidth caps where there is spare bandwidth to use - properties that few other Diffserv implementations achieve simultaneously.

All of the presets (except for a legacy “precedence” mode) recognise at least CS1 (for background traffic, which in theory BitTorrent should be using), TOS4 (often used by SSH), CS6 (for NTP), and VA/EF (for voice traffic) as distinct from best-effort traffic, and apply appropriate parameters.

A similar system can be built using multiple fq_codel instances and a classifier, and such a construction has been available as part of OpenWRT for some time.

In practice, not very much traffic carries an appropriate Diffserv code.  We’ve found the “sparse = latency sensitive” heuristic to be a good one in practice, both in Cake and in fq_codel.

 - Jonathan Morton