Re: [tcpm] A possible simplification for AccECN servers

Mirja Kuehlewind <ietf@kuehlewind.net> Mon, 02 December 2019 11:15 UTC

Return-Path: <ietf@kuehlewind.net>
X-Original-To: tcpm@ietfa.amsl.com
Delivered-To: tcpm@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4C69A120047 for <tcpm@ietfa.amsl.com>; Mon, 2 Dec 2019 03:15:23 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.897
X-Spam-Level:
X-Spam-Status: No, score=-1.897 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id rbT586GfRs1M for <tcpm@ietfa.amsl.com>; Mon, 2 Dec 2019 03:15:21 -0800 (PST)
Received: from wp513.webpack.hosteurope.de (wp513.webpack.hosteurope.de [IPv6:2a01:488:42:1000:50ed:8223::]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 06FBC120020 for <tcpm@ietf.org>; Mon, 2 Dec 2019 03:15:21 -0800 (PST)
Received: from 200116b82c262800d41b4bca626cdd5e.dip.versatel-1u1.de ([2001:16b8:2c26:2800:d41b:4bca:626c:dd5e]); authenticated by wp513.webpack.hosteurope.de running ExIM with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) id 1ibjfj-00066r-2p; Mon, 02 Dec 2019 12:15:19 +0100
Content-Type: text/plain; charset="utf-8"
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Mirja Kuehlewind <ietf@kuehlewind.net>
In-Reply-To: <86dd14dc-0c24-d604-ea57-b280407a1a09@bobbriscoe.net>
Date: Mon, 02 Dec 2019 12:15:18 +0100
Cc: Jonathan Morton <chromatix99@gmail.com>, tcpm IETF list <tcpm@ietf.org>, Richard Scheffenegger <rscheff@gmx.at>
Content-Transfer-Encoding: quoted-printable
Message-Id: <CCA9AFF7-6EBB-4DB0-B851-7806B8E96871@kuehlewind.net>
References: <d35618ee-c0dc-44ee-9e22-50bdabbe026c@bobbriscoe.net> <732C4247-BC55-4719-A399-711689CB379A@kuehlewind.net> <256E6F9D-607A-4A9D-9505-933FC4EC28FC@gmail.com> <333DA677-0930-45B2-AC65-05852FC46955@kuehlewind.net> <A76315DB-B3B4-45A4-A8CA-5F4701EB4085@gmail.com> <F90043A1-87F5-4DD1-BB11-AE8D2F3C5A7E@kuehlewind.net> <86dd14dc-0c24-d604-ea57-b280407a1a09@bobbriscoe.net>
To: Bob Briscoe <ietf@bobbriscoe.net>
X-Mailer: Apple Mail (2.3445.104.11)
X-bounce-key: webpack.hosteurope.de;ietf@kuehlewind.net;1575285321;0f1961c5;
X-HE-SMSGID: 1ibjfj-00066r-2p
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/9eI9p77oLh6elZBRTg5IHzNW1W4>
Subject: Re: [tcpm] A possible simplification for AccECN servers
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: TCP Maintenance and Minor Extensions Working Group <tcpm.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/tcpm>, <mailto:tcpm-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tcpm/>
List-Post: <mailto:tcpm@ietf.org>
List-Help: <mailto:tcpm-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/tcpm>, <mailto:tcpm-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 02 Dec 2019 11:15:23 -0000

Hi Bob,

Regarding the sentence:

"I just proposed respectively SHOULD and MAY, but I can now see there is no need to make that judgement call. However, it is still important to say an AccECN-enabled server MUST respond with either (0,0,1) or (0,0,0).”

This is a normative statement that is defined in RFC3168 and we should not state it here again but refer to RFC3168 instead.

Mirja



> On 25. Nov 2019, at 22:41, Bob Briscoe <ietf@bobbriscoe.net> wrote:
> 
> Mirja,
> 
> 
> On 26/11/2019 01:02, Mirja Kuehlewind wrote:
>> Hi Jonathan,
>> 
>> Sorry I wasn’t clear. I think we should not have these normative requirement in the draft and change the text to make it non-normative. This section was meant to explain which modes you end up in and the current use of normative language doesn’t seem to be right to me.
>> 
>> Likewise the table was also not meant to say whenever you implement AccECN, you MUST negotiate it in the handshake. And likewise the table does not show any classic ECN only transitions.
> In the spec of AccECN, it's necessary and reasonable to state normative requirements for a node "that is AccECN-enabled". That doesn't mean that an AccECN implementation has to always support AccECN - it can always disable AccECN. But we do have to say what it is expected to do if it is following the AccECN protocol.
> 
> This draft has included that normative language for the negotiation phase in all 16 revisions since the first individual draft (that you wrote!).
> 
> The table shows only cases where one end or the other is AccECN-capable, and the text preceding and following the table gives normative requirements solely for the AccECN node(s) in those cases. It doesn't give any normative requirements for non-AccECN nodes.
> 
> In block 3, the server is AccECN capable, so in the AccECN spec. it's perfectly reasonable to say what it ought to do in response to various types of SYN. In particular, if it receives a SYN with AE,CWR,ECE=0,0,0 the AccECN-enabled server MUST respond with AE,CWR,ECE=0,0,0.
> 
> The only case that is in question, AFAIC, is whether we have to say what an AccECN-capable server does in response to a SYN from an RFC3168 client (AE,CWR,ECE=0,1,1). We need to somehow say an AccECN server can respond with a SYN-ACK that is either RFC3168 or non-ECN.
> 
> I just proposed respectively SHOULD and MAY, but I can now see there is no need to make that judgement call. However, it is still important to say an AccECN-enabled server MUST respond with either (0,0,1) or (0,0,0).
> 
> It's also important that the spec defines all three bits in the SYN-ACK responses, not just the 2-bits defined in RFC3168 - so that the combinations with AE=1 are ruled out and therefore remain available for future use.
> 
> 
> 
> Bob
>> 
>> Mirja
>> 
>> 
>>> On 25. Nov 2019, at 17:48, Jonathan Morton <chromatix99@gmail.com> wrote:
>>> 
>>>> On 25 Nov, 2019, at 6:43 pm, Mirja Kuehlewind <ietf@kuehlewind.net> wrote:
>>>> 
>>>> I don’t think we can or should derive a normative requirement from this table. The table rather explains which mode you are in depending on the handshake that has happened. So it says: when client A is ECN capable and requests classic ECN support in the handshake and server B is AccECN capable and negotiated classic ECN support in the handshake then you are in classic ECN mode.
>>> I will merely re-quote the final sentence from my quoted text, which transforms that table into a normative requirement:
>>> 
>>>>      Therefore, as soon as an
>>>>      AccECN-enabled TCP server (B) receives the SYN shown, it MUST set
>>>>      both its half connections into the feedback mode shown in the
>>>>      rightmost column.
>>> - Jonathan Morton
> 
> -- 
> ________________________________________________________________
> Bob Briscoe                               http://bobbriscoe.net/
> 
>