Re: [tsvwg] Follow-up to your DSCP and ECN codepoint comments at tsvwg interim

"" <> Thu, 12 March 2020 13:19 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id B9B5C3A0876 for <>; Thu, 12 Mar 2020 06:19:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.119
X-Spam-Status: No, score=-1.119 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, SPF_HELO_NONE=0.001, SPF_NEUTRAL=0.779, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 8_CpCX0fPaso for <>; Thu, 12 Mar 2020 06:19:57 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 008B83A0838 for <>; Thu, 12 Mar 2020 06:19:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=s2048; t=1584019195; bh=ziauyTvvLNBHgw2ND4q1nZYySd32Fzi4RrJcbG+HFUg=; h=Date:From:Reply-To:To:Cc:In-Reply-To:References:Subject:From:Subject; =?utf-8?q?b=3DII6gEWJqddVciwbW+6ZWaH+By+mqtDZDMx971TKGKejEEaYCczoEcUFFuB0na?= =?utf-8?q?ANN/E3VGwsQhGR/30qcxQeFYzhLsLMJ4BS7O2y3L/xgS5UlgmQ0W3qV9dStsU6PI3?= =?utf-8?q?J1OBJITuEi8XPOIqNFgfCwbz0977/8FbC9vivDRozIZEqwWmGoWXoTWc3YM1VkPli?= =?utf-8?q?fMudoNLeRQJYIjpbdsu7aiolRGpjwQHl74xUheqaaDmBFuN8821lFtCRRUDPJzxAI?= =?utf-8?q?6ak86UNf75g4edt71ddsZ8JZn7BC14ujPHkQRoVpYtr21PvWKaVYMQCemh2btVcjN?= =?utf-8?q?NvZ+47XkhHV47wHfhRClg=3D=3D?=
X-YMail-OSG: byHdIOYVM1k377wKciTyoULRYHdLr_vWDv1kzPBGEdSW7Hll3Jjk8gwRW2sewTG MMiMhQbFqhbx6uP5KuookzW4iMgsWMAMFWUKjSWS_u1yZze0E9mp.BLyzZ4UblACiBasOz1m0AN9 LJPuBwrnd9NFKsH9Id9hQ.qiDUBCqsurMPRLzZd8ocQuLTTksw6A01KFhfnjxgGgLBSQeDDENInM WmvJh.byw2hwmR2bTku0p9kdRSc7VAFWMd7ATiJ8zoNo3wdtKAI0C_xB5uuA6B8aP8B8yeXwHqeq 4V8vklBYHI9iLo.P9lyxzqUbRLVfFx1jMPy0bxJrU1VnP9GwbONCo0Cv8dpxSoADTnJ9iwonOrhX jOKqujxgA.sKZyciQEg83C8FeZAaEJGZMPawehahmbz493vp7P5FmeV5CXwSpQFutsVD2arIneAJ 9SzTQ9sSsu3gEkgsQyh0BLWVE5uz91EfhtiV4FWDpSTrxCOI3rWdgvUZVdygvfZ8vSrMuieRWWj2 J_hSbXujtPY8XtiXaXApMOzEsz5hSm3MRKfimvEb5m7uuR4MeJlEFA8.Xw2XwYL7ZcJaK34j264g UTu9zhqOls2RwRAuLO2Nj8dK7q.RUxQKRl9Qs7Ux.ck0Wb5TheoMNVt5mcbGVJUyHP41.UzmfczH jisrIlmEhV8enRDEA1V5BiTKI0g5A3LCeyC3c_qeyLjARt435s.gWollV4.gJdCNzyUsPJdQlmyB k7EiJoIC4eGcQiHH5LHEEyM38RiQyuz0XYNuLWBWB5TmfbTSN3ixJgUy7rsH7irTLGE0DzAccwvZ jG1LiBhJIOk7QAgkItkEaxxtNkddLGHpZ_S4SCJ5LcXdrf6WFUGXNBar8rKFzv1gTRzPS0OpfkcP PnCCQ1pe2zx7YVtqxfn.VntKp89P7eOwpV17Lqc4M4wAHBLgztqSJa.d0eDH0MKJIK2NkgVfta32 JqZtjKrt7cUy159sv5OKOCgSXoMP9YD6osSVNeGo7UXVeiIZP.gnhoenaKZ7o3rQIB5BjPTid5z2 y36vjWS.yiDxTMnUNINnxPeJEJ_LRu3KouwEB7MVnZDxdCCOj5wiifwXtdKxr1HYYSIz.PsI26on fU5ZUEktXk.D5eoeN5Dj9GiHy0PWU3.MqdTK_9bql.IpuPptT.DbnPqSr.Ao5U51zcnIKKR4ybK. TKTyEhvgSvgxQcsjaYagGbLEhiRoo1vyUvcz5crvz7ymo2BY0X148PbVQXE0tbi4x.w.jqG5TWrx ORKhRUm4.Hi0.qxcVQitm.ABTmdxexwr9datAJJbddl8_KTYHlKUC.pucUq7IfdQt78r6oNKBVNu KIX4M0I0gfd4a3Go68tdfuunNtwnoo4lW_5fms08-
Received: from by with HTTP; Thu, 12 Mar 2020 13:19:55 +0000
Date: Thu, 12 Mar 2020 13:19:43 +0000 (UTC)
From: "" <>
Reply-To: "" <>
To: Jonathan Morton <>, Lars Eggert <>, Gorry Fairhurst <>
Message-ID: <>
In-Reply-To: <>
References: <> <> <> <> <> <> <> <>
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: quoted-printable
X-Mailer: WebService/1.1.15342 YMailNorrin Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:73.0) Gecko/20100101 Firefox/73.0
Archived-At: <>
Subject: Re: [tsvwg] Follow-up to your DSCP and ECN codepoint comments at tsvwg interim
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Transport Area Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 12 Mar 2020 13:20:06 -0000

Not to invite more growing of this thread, since Gorry has asked that this not happen, but I notice that L4S and SCE have taken
quite different approaches to defining their value proposition. Neither of these approaches are wrong, but his makes them hard to compare. Therefore when drafting materials for whatever meeting occurs, it would be good if the parties could try to close this gap, perhaps with hints from the chairs on how to do so. In particular:
- L4S has been very clear about what the end goal is (it's in the name). Other considerations, like the present state and limitations thereof, require a lot more work to understand.
- SCE has focused on the benefits shown in tested examples with the existing codebase. They have been cautious about commenting on how universal such benefits could become at different deployment stages.



On Thursday, March 12, 2020, 12:48:03 PM GMT, Gorry Fairhurst <> wrote: 

This was to be an important topic of the face-to-face meeting in 
Vancouver, where we have been planning to allow time for different 
viewpoints to be aired and the consensus of the group to be sought. We 
still plan to do that, and are considering how best to proceed.

Comments in-line to show the expected direction of travel, but please do 
avoid growing this discussion thread for a week or so, until we have a 
plan to conclude it (see end of email).

On 12/03/2020 11:45, Jonathan Morton wrote:
>> On 12 Mar, 2020, at 10:18 am, Lars Eggert <> wrote:
>> I'd much rather see some short answers on some basic questions, such as:
> I think the question posed by David Black's slides (as presented and briefly discussed at the interim meeting) is intended to elicit relevant answers to these sorts of questions.  But since you asked, I'll have a go at answering them standalone, for the SCE proposal.
>> Is the solution incrementally deployable?
> Yes.  Each component of SCE is inherently safe to deploy into an existing network, and will have no detrimental effect on conventional traffic.  SCE flows traversing an existing network will behave conventionally and in an RFC-compliant manner.  This is not merely aspirational, but baked fundamentally into the design.
This is exactly one of the topics we need to seek thought upon.
>> Is it simple?
> Yes.  I could summarise the technicalities on two slides - or one, if I really had to.  Implementing SCE also does not require very intrusive or extensive changes to existing network stacks; a year ago, we got a basic proof of concept running in about a man-week.
Yes, we should capture those two slides for SCE! We will also ask the 
same for L4S.
>> Does it offer better performance, to participating and ideally non-participating flows?
> Yes - adding SCE to an existing ECN network usually improves throughput, peak latency and jitter for SCE flows, and improves total link goodput when at least one SCE flow is present.  Adding SCE to a dumb-FIFO network also brings significant benefits to conventional traffic, as any good AQM deployment would.
One slide on how SCE offers benefit will also be useful. Again we should 
obtain the same for L4S.
>> Is it at worst a no-op, or can it degrade performance for non-participating flows?
> Non-SCE flows see only an RFC-3168 compliant AQM on the path, and ignore the SCE signals.  SCE flows at worst have a tendency to defer to existing traffic - the opposite to what you fear - but with a well-designed bottleneck qdisc, this effect is limited or eliminated.  The SCE proposal presents several such qdiscs as examples.
.... Or rewrite ECT(1),  as I understand for some existing 
tunnels/encaps. I recall from the early L4S discussion that this 
consideration was also be important, and hence we charted work to try 
and improve ECN-marking in the IP layers.

>> Can a partially deployed solution be rolled back?
>> Can it stay deployed but become a no-op if a different mechanism wins out in the end?
> This is probably the most complex question to answer.  Un-deploying an experiment is always more difficult than deploying it in the first place, since it's harder to prove a negative.
> SCE consumes the spare ECN codepoint and one spare TCP header bit, without explicitly negotiating for them (beyond what is normal for RFC-3168 ECN), and adds a permitted ECN codepoint transition in middleboxes: ECT(0) -> ECT(1).  As far as conventional ECT flows are concerned, ECT(1) is semantically identical to ECT(0), and the spare header bits are ignored if received, so conventional traffic would not be affected.  The question is really about how to free up these consumed header resources, should that be necessary.
Yes. I would love such a brief understanding of how the experiment can 
be managed if the IETF may wish in the future to terminate an 
experiment, as was done for ECN-NONCE.
> Reversing an SCE deployment thus means removing all sources of this new usage, which means both middleboxes and endpoints.  The reference implementation leaves SCE functionality switched off by default, but it is easy to automate switching it on and potentially then forget about it.
> The following probes can be used to seek out latent deployments, and ask their operators to disable them.  This does not require a new kernel to be compiled or installed, nor any downtime, only that the SCE functionality is configured off at runtime, eg. through a sysctl or the iproute2 tc utility.
> SCE enabled middleboxes are easy to detect, by passing ECT(0) traffic through it and seeing if ECT(1) marks appear alongside (or before) CE marks.  If CE marks or an AQM-like (or tail-drop-like) pattern of drops appears but ECT(1) does not, it's not an SCE enabled middlebox.  This is probably sufficient to reclaim the spare ECN codepoint.
Probably worth writing down. I've found it hard to test for ECN-marking 
on operational paths, but insight in this is always going to be welcome.

> SCE enabled TCP receivers are also easy to detect, by probing them with ECT(1) traffic and seeing if the corresponding TCP header bit is used to echo them.  Some other transports may have ECT(1) feedback designed into them, which is not affected by SCE per se, and these can be ignored.  This is probably sufficient to reclaim the TCP header bit.
> SCE enabled senders are a little more difficult to detect unambiguously.  An indication can be obtained by probing them with the TCP header bit artificially set in all acks, and seeing if the resulting throughput is markedly less than if that is not done.  SCE senders behave essentially identically to normal ECN senders when the corresponding TCP header bit remains cleared in acks, so their continued presence is mostly benign, unless the header bit starts being used in some other experiment in a way that confuses the SCE sender.
> If considered necessary by the WG, it would be possible to associate SCE with an experimental-series DSCP, and require that DSCP be present for SCE functionality to be enabled.  This would however limit experiments to networks that do not bleach or otherwise disrupt that DSCP, which may inhibit exploration of behaviour on longer Internet paths (which we think SCE is much better suited for than L4S).  The upside would be easier reclamation of the header resources upon termination of the experiment.
> Our proposed use of DSCP is instead an optional addition, using SCE as part of providing a low-latency Diffserv PHB, but not requiring any particular DSCP to support SCE.
>  - Jonathan Morton

The TSVWG Chairs are now aware that we need to plan to make progress and 
will be in touch in the next week or so, with a plan move forward in the 
absence of an IETF face-to-face meeting.

Best wishes,


TSVWG Chairs