Re: [tcpPrague] [tsvwg] ecn-l4s-id: Proposed Changed to Normative Classic ECN detection Text

Sebastian Moeller <> Sun, 01 November 2020 08:22 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 06F5D3A0BFF; Sun, 1 Nov 2020 01:22:47 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.649
X-Spam-Status: No, score=-1.649 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25, FREEMAIL_FROM=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=no autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (1024-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id qG_RAp4egz_b; Sun, 1 Nov 2020 01:22:44 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 15B6C3A0F44; Sun, 1 Nov 2020 01:22:43 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;; s=badeba3b8450; t=1604218917; bh=vAQ9G9RT5tFNZ7nBLVIw7h0k39pfBJYel7VkMZjQoPw=; h=X-UI-Sender-Class:From:To:Cc:Subject:Date:In-Reply-To:References; b=CSlHSeqR2pUBtxuf1HgatJOqhi+SVKspK/s8fYEPQ59e4liCeprTypDHwPgb0DzeY ib6EOvwWlJlbADhBLivGmiGUwtdOptQQbx3FjX7Erwer5lUa4+B+1OWSAxSvyasshY WOnR5z0pqs1f+lsYTnu6BDh3XWHloWx6mZa4sqhY=
X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c
Received: from [] ([]) by (3c-app-gmx-bs25.server.lan []) (via HTTP); Sun, 1 Nov 2020 09:21:56 +0100
MIME-Version: 1.0
Message-ID: <trinity-b9ccdbf7-fce6-4696-9179-a857aa8d51a4-1604218916914@3c-app-gmx-bs25>
From: Sebastian Moeller <>
To: "De Schepper, Koen (Nokia - BE/Antwerp)" <>
Cc: Bob Briscoe <>, tsvwg IETF list <>, iccrg IRTF list <>, TCP Prague List <>
Content-Type: text/plain; charset=UTF-8
Date: Sun, 1 Nov 2020 09:21:56 +0100
Importance: normal
Sensitivity: Normal
In-Reply-To: <>
References: <> <trinity-63e79f62-2574-4f86-8988-08a4e0cac056-1604156057179@3c-app-gmx-bs36> <>
Content-Transfer-Encoding: quoted-printable
X-UI-Message-Type: mail
X-Priority: 3
X-Provags-ID: V03:K1:UnDdnhzY92GHS54M6p+LEWXEvwEgARG1+OA+qMqnfrO1kj9g2+T0C6kL8DlKgXqtB52BM IwL7FMe1QgpRBCU8q7e+tM83jQioKzIaDtmkxNsDN77bu3wwjYOIqo3u2kuooPcli15kjbZiSezt 0wJ1+B3StJvJQsLpDnGkiav4uGeTwmzsmfLTOtXY/UTfGs1RGo7WWiXwL3kBJYqFiA0pGpZACXVG 0fMZIWxQx9jl2xvd4n0HA8mK3uN+Ee/Vbwf1DxFmEQF0Ig+BUsAq4cUGG+2Mr8NEj1sU7nErVUC0 Ig=
X-UI-Out-Filterresults: notjunk:1;V03:K0:kZB4Yzj59W8=:pYtmQJlERaCOllVTBLEP8W AScrmsAF5mQBytXtRluHITEyFtP2NwKB2JevsSDS+w1vlikOibfl2bD4bXhujFm/piqbeB9oW ZkISbZb+pfJN++kqlRnOKg6GciCtCEF0n86kiOmBlzkVTXtAjWvIOL8WQRqnAi8THGLQ726B9 f81SU/8nwAv/kMH7Gg4jnTUku6zebXrd4imf4ophUml7sSJLLlMXFs5XB/7Y5eQ3pTzSBOEFQ 77hMFwsMrOfHwBHEcaHVNWSmCp2fQnLWN/r4NMhmUaHXdm5JWqI5bTSvfe1aUpFwQdvBapBiA avpLtTT6kh5j7dAzD7MFMufsyQRj3NVPq4yXvbbtPb7ZlEoXZcrfHFFIjECMAbLissfR1nPat 2RkdXs1RWkBtvFOeqTbQshACWdQwnUp/DsbKI8v0NitbIjzSPpD7/9g7MWYsV5/gF3B8w62cG +uY3LN6gKzdEwH/2WHO8KEO1du9GcSYkmkfZsuaZKrGEouIYebzAGxT/1XryekN3e4D4wzNXj aATwWnaX/vYxxG5gjX+cNvjTUuHOvq1of4jO3OC0W9K6Mwfs6MpTYrtUrUkM77ILp9B62CEvQ YONv2JKn5xfBQ=
Archived-At: <>
Subject: Re: [tcpPrague] [tsvwg] ecn-l4s-id: Proposed Changed to Normative Classic ECN detection Text
X-Mailman-Version: 2.1.29
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: Sun, 01 Nov 2020 08:22:47 -0000

Hi Koen,

more below in-line, prefixed [SM2]

Gesendet: Sonntag, 01. November 2020 um 00:42 Uhr
Von: "De Schepper, Koen (Nokia - BE/Antwerp)" <>
An: "Sebastian Moeller" <>de>, "Bob Briscoe" <>
Cc: "tsvwg IETF list" <>rg>, "iccrg IRTF list" <>rg>, "TCP Prague List" <>
Betreff: RE: [tsvwg] ecn-l4s-id: Proposed Changed to Normative Classic ECN detection Text

Hi Sebastian,
>> I appreciate that team L4S is finally admitting that it over-promised and under-delivered
I think the problem is that you interpret “requirements” as “promises”. 

        [SM2] I disagree, with promises, I typically address the claims about what L4S will achieve. The stated goal was that L4S will do no harm to non-L4S traffic (by e.g. adapting to rfc3168 bottlenecked paths by switching away from its CE interpretation) but the proposed text, basically changes that into a "the operator is free to do as she/he pleases". That is a considerable reduction in the promise to do no harm.
      Or are you saying that "do no harm" was never a design goal for L4S but only adopted as it was dragged in by external requirements? If true, it would explain a lot.

Most people understand the potential of L4S 

        [SM2] Most people have not even heard about L4S, and even in the group of people that have, the majority probably from reading your internet drafts without actually looking into the few papers presenting data tht allows to evaluation whether the L4S drafts are realistic. IMHO that means, that quite a lot of people that know about L4S understand its promises. Now, if by potential you admit uncertainty whether this potential can actually be realised in the real-world internet then I agree. I am just convinced that a more productive path forward would have been to work harder on figuring out whether L4S potential can be realised, before trying to accelerate the ratification proces.

and accept that special care needs to be taken to protect Single Q Classic ENC bottlenecks.

        [SM2] But the proposed change actually deemphasises this, from a mandate to protect, it now is a mandate to detect and if one pleases to protect. This seems like an odd way to protection.

 The draft needs to put the attention to (potential) problems that need to be solved or avoided by interesting parties that want to develop their L4S Prague-compliant CCs. So it is in the best interest for CC developers to push for feasible/realistic requirements. 

        [SM2] Well, the realistic part would have been something like "A scalable congestion control MUST do its best to react to ECN marking from a non-L4S but ECN-capable bottleneck in a way that will coexist with a TCP Reno congestion control" The change to react from "MUST react" to "SHOULD be capable (dependent on configuration) of automatically adapting", does not strike me as an improvement in either feasibility nor realism, it is simply a relaxation of a requirement, that proved harder to achieve than expected, no?

I heard quite some people (including you) being concerned about the feasibility of detecting a Single Queue Classic ECN AQM, 

        [SM2] Well, testing data indicated, that the proposed detector was/is riddled with false detections and missing detection, but the quality of the detector is orthogonal to what to do with the result of said detector, so please do not conflate these issues.

and said they would rather apply other mechanisms to avoid issues with these types of bottlenecks (ref operational guidelines that tries to collect all useful ideas that were shared during list discussions). 

        [SM2] To which, I have sent comments, against my better judgement of that being busy work.

So the changes announced by Bob should reflect this. I understood you are quite OK with the wording? If not, then your suggestions are very welcome.

        [SM2] No, I am not not okay with Bob's proposal, and I wonder how you could come to that conclusion. As long as that issue exists (because the meaning of CE is redefined in a rfc3168 incompatible fashion) L4S protocols, IMHO, "MUST adapt" which also includes a requirement that they MUST be capable. I hope that this is explicit enough to ne being mis understood as an endorsement for the proposed change. I explicitly stated "make both of these MUSTs" which clearly indicates that I disagree with the relaxation of the requirements, even though I admit, it does not cover my full criticism. Again, how you can interpret that as being " OK with the wording" puzzles me to no end.

>> "In the unlikely case of the L4S experiment being declared a failure, this replacement will need to be permanent, and the ECT(1) responsive elements in AQM nodes also needs to be disabled".
L4S will succeed if 1) L4S capable network nodes get deployed (including Classic ECN bottlenecks being upgraded) and 2) CCs are deployed that can meet the TCP Prague requirements (is not disrupting Classic flows and other L4S flows) AND can show great benefits. If one of those or both will not happen (like with Classic ECN deployment) it fails!! So I guess no need to worry about disabling permanently if it never gets deployed 😊.

        [SM2] Well, let' try logic, for a change, let's ignore the wishful thinking of "including Classic ECN bottlenecks being upgraded" as L4S needs to prove its merits in the existing internet, not a hypothetical one, if L4S nodes get deployed 1) and L4S compatible CCs also get deployed, that still leaves the point that they need to "show great benefits". If that important result will not be achieved than disabling the AQM and CC nodes already deployed seems an important measure to keep a failed experiment from a) wasting a precious IP header code-point ad infinitum and to keep complexity of TCP stacks low. Again I fail to understand how your argument can be considered logically convincing.

Best Regards


Thanks and regards,

From: Sebastian Moeller <>
Sent: Saturday, October 31, 2020 3:54 PM
To: Bob Briscoe <>
Cc: tsvwg IETF list <>rg>; iccrg IRTF list <>rg>; TCP Prague List <>rg>; De Schepper, Koen (Nokia - BE/Antwerp) <>
Subject: Aw: [tsvwg] ecn-l4s-id: Proposed Changed to Normative Classic ECN detection Text

Dear Koen,


since Bob claims that he intends to correspond with my input, I am addressing this response to you, See my comments in-line prefixed [SM].


Tl;dr: I appreciate that team L4S is finally admitting that it over-promised and under-delivered, I am less happy about the solution to this issue by simply reducing the requirments ot match the unsatisfactory state of the L4S implementation. After years of basically adveritizing on these requirements, watering those down at the last minute does not qualify as a good faith effort in my book. It does confirm my negative view on team L4S' acumen and confirms my judgement that L4S "offers too little too late". Unfortunately I do not kid myself that this obvious fact is going to stop the current intenet drafts gaining RFC status without any meanigful changes. 



Gesendet: Samstag, 31. Oktober 2020 um 10:54 Uhr
Von: "Bob Briscoe" <[]>
An: "tsvwg IETF list" <[]>
Cc: "iccrg IRTF list" <[]>, "TCP Prague List" <[]>, "De Schepper, Koen (Koen)" <[]>
Betreff: [tsvwg] ecn-l4s-id: Proposed Changed to Normative Classic ECN detection Text


The co-authors of ECN L4S ID have been reviewing the correctness of the normative 'Prague' requirements.


        [SM] This seems less about correctness and more about whether you managed ot hit those targets with your implementation. Changing those requirements post-hoc might be justified, but pleas do not frame that as a correctness isssue.


This is the second of 2 emails, about 2 of the requirements that we think ought to be reworded a little.

If you agree with the rationale, but think the new wording still doesn't fully capture the requirement, pls suggest sthg better.
If you disagree with the rationale, pls discuss.
4.3.  Prerequisite Congestion Response
   o  A scalable congestion control MUST react to ECN marking from a
      non-L4S but ECN-capable bottleneck in a way that will coexist with
      a TCP Reno congestion control [RFC5681[]] (see Appendix A.1.4[] for
      Note that a scalable congestion control is not expected to change
      to setting ECT(0) while it falls back to coexist with Reno.

   o  A scalable congestion control MUST implement monitoring in order
      to detect a likely non-L4S but ECN-capable AQM at the bottleneck.
      On detection of a likely ECN-capable bottleneck it SHOULD be
      capable (dependent on configuration) of automatically adapting its
      congestion response to coexist with TCP Reno congestion controls
      [RFC5681] (see Appendix A.1.4 for rationale and a referenced


        [SM] This is a significantly watering down, and it seems rather non-logical, IFF an implementation does not want/need to actually react to the result of a detection then performing that detection seems pure busy work. So make both of these MUSTs. Otherwise your requirments pretend to care about existing rfc3168 AQMs but in name only. 


      Note that a scalable congestion control is not expected to change
      to setting ECT(0) while it falls back to coexist with Reno.

1/ The requirement as currently written says what an omniscient sender MUST do. So there's an implied requirement that a sender MUST be omniscient, which is of course impossible.

2/ The requirement needs to be recast to require a sender to aim to be as knowledgeable as possible. Then, what it does as a result needs to take into account the a priori likelihood of there being a non-L4S bottleneck present.
3/ This includes the possibility that the operator of the host knows that the network it serves has not deployed any single queue classic ECN AQM (e.g. in a CDN case they're doing out of band testing, or they've asked the ISP). So we've included the possibility of fall-back being disabled by configuration.
4/ Nonetheless, as has been pointed out on the list, there is still a possibility that there is a Classic ECN AQM somewhere else on the path (to continue the CDN example, perhaps beyond the ISP in a home network). The 'MUST monitor' requirement still stands to ensure the operator doesn't miss these cases.
5/ Then, if the server operators have disabled fall-back for their deployment, they can reconsider their policy or at least do more focused testing if they are frequently detecting a single-queue Classic ECN AQM.


        [SM] And we are back to engineering/network administration by wishful thinking... Again with a syszem (L4S) that has not yet been proven to actually work over the existing internet with the sole exception of short RTT/low hop count paths (CDN to end-user fast-lanes copme to mind).

Items 3-5 are the "react via management" model that I've talked about on the list, given the unfairness doesn't amount to starvation, and it is possible that the prevalence of the problem is very low.


        [SM] Given that you never offered your own specific defintion of what starvation entails, I fail to see how that claim can b tre in a verifiable fashion?

Finally, after the bullet list of requirements in section 4.3, (which are prerequisites for setting the ECT1 codepoint), we propose to add the following requirement, as suggested on the tsvwg list:

      To participate in the L4S experiment, a scalable congestion control MUST
      be capable of being replaced by a Classic congestion control (by
      application and by administrative control). A Classic congestion control
      will not tag its packets with the ECT(1) codepoint.


        [SM] +1; I would appreciate if we could add a sentence like:


"In the unlikely case of the L4S experiment being declared a failure, this replacement will need to be permanent, and the ECT(1) responsive elements in AQM nodes also needs to be disabled".


I added the unlikely in spite of my own predictions, to account for the fact that the drafts are written on the hypothesis that L4S works as advertized.... 






Bob Briscoe                     []