Re: [tcpm] [Technical Errata Reported] RFC8257 (6697)

Vidhi Goel <vidhi_goel@apple.com> Thu, 30 September 2021 21:07 UTC

Return-Path: <vidhi_goel@apple.com>
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 0E5133A1324 for <tcpm@ietfa.amsl.com>; Thu, 30 Sep 2021 14:07:49 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.551
X-Spam-Level:
X-Spam-Status: No, score=-2.551 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.452, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, RCVD_IN_MSPIKE_H2=-0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=apple.com
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 ki_K26kibDzp for <tcpm@ietfa.amsl.com>; Thu, 30 Sep 2021 14:07:43 -0700 (PDT)
Received: from rn-mailsvcp-ppex-lapp45.apple.com (rn-mailsvcp-ppex-lapp45.rno.apple.com [17.179.253.49]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2CAF43A12D0 for <tcpm@ietf.org>; Thu, 30 Sep 2021 14:07:43 -0700 (PDT)
Received: from pps.filterd (rn-mailsvcp-ppex-lapp45.rno.apple.com [127.0.0.1]) by rn-mailsvcp-ppex-lapp45.rno.apple.com (8.16.1.2/8.16.1.2) with SMTP id 18UL6e7r022278; Thu, 30 Sep 2021 14:07:20 -0700
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=apple.com; h=from : message-id : content-type : mime-version : subject : date : in-reply-to : cc : to : references; s=20180706; bh=2vp9x6QjlXKd/9eZePRSaYo5sCzedZ5JD4P7m6RVxrs=; b=NvJgaBhfSrSVF+gDb11l7dgikPbmNpNwV5SIi3GlKQeKVNGpqRsZLgHs1OGc0RKVeK7h KASgiRkcpvWPasC7ljEDokULfzyhWuG/2PXpOxbU8pj0kf9/9nHbdOKf0Qlkcg5XTflF Pt3S+vWHUD3XRo6VZlV4N97GRqEgtZ3O51GemkwUUJFmJ32tP2Gz5CQNU/A/56/jeA4A t4ReNo5x/x2PD+AoTroGHiMF77Mc0fK2+3GadN6w8bijpReuAriucULDfUAW51KuEb/A Cc7l+j7+0tjs5fXJXGCV+InyPdl3EuqGZZt21JhUpOOPO78ueZ6w1jqxDXLRl1vwrAVo Bw==
Received: from rn-mailsvcp-mta-lapp04.rno.apple.com (rn-mailsvcp-mta-lapp04.rno.apple.com [10.225.203.152]) by rn-mailsvcp-ppex-lapp45.rno.apple.com with ESMTP id 3ba22uab6t-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Thu, 30 Sep 2021 14:07:20 -0700
Received: from rn-mailsvcp-mmp-lapp01.rno.apple.com (rn-mailsvcp-mmp-lapp01.rno.apple.com [17.179.253.14]) by rn-mailsvcp-mta-lapp04.rno.apple.com (Oracle Communications Messaging Server 8.1.0.9.20210415 64bit (built Apr 15 2021)) with ESMTPS id <0R0900Q0EMO7Z030@rn-mailsvcp-mta-lapp04.rno.apple.com>; Thu, 30 Sep 2021 14:07:19 -0700 (PDT)
Received: from process_milters-daemon.rn-mailsvcp-mmp-lapp01.rno.apple.com by rn-mailsvcp-mmp-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.9.20210415 64bit (built Apr 15 2021)) id <0R0900P00M633F00@rn-mailsvcp-mmp-lapp01.rno.apple.com>; Thu, 30 Sep 2021 14:07:19 -0700 (PDT)
X-Va-A:
X-Va-T-CD: 7da9072df45f3e2430767b5aae1f1b1e
X-Va-E-CD: 1a0ff53b1cc9743547fae51364312ea2
X-Va-R-CD: b7a4a7f65cbf65b241f39fe55b06b74f
X-Va-CD: 0
X-Va-ID: 69586b6c-2147-4ca0-a7cc-385274325a25
X-V-A:
X-V-T-CD: 7da9072df45f3e2430767b5aae1f1b1e
X-V-E-CD: 1a0ff53b1cc9743547fae51364312ea2
X-V-R-CD: b7a4a7f65cbf65b241f39fe55b06b74f
X-V-CD: 0
X-V-ID: 6f138055-93ae-4d9b-aafb-09a0f8727d36
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-09-30_07:2021-09-30, 2021-09-30 signatures=0
Received: from smtpclient.apple (vimac.scv.apple.com [17.192.171.33]) by rn-mailsvcp-mmp-lapp01.rno.apple.com (Oracle Communications Messaging Server 8.1.0.9.20210415 64bit (built Apr 15 2021)) with ESMTPSA id <0R0900J3BMO66800@rn-mailsvcp-mmp-lapp01.rno.apple.com>; Thu, 30 Sep 2021 14:07:18 -0700 (PDT)
From: Vidhi Goel <vidhi_goel@apple.com>
Message-id: <AFA32955-1E60-4676-BED4-6F123EF5B593@apple.com>
Content-type: multipart/alternative; boundary="Apple-Mail=_93583139-FD08-4C8D-ADE2-16867077C8E4"
MIME-version: 1.0 (Mac OS X Mail 14.0 \(3654.80.0.2.43\))
Date: Thu, 30 Sep 2021 14:07:18 -0700
In-reply-to: <96ce4984-3678-9bdf-6b76-d7ba1bd42dcc@bobbriscoe.net>
Cc: RFC Errata System <rfc-editor@rfc-editor.org>, sbens@microsoft.com, dthaler@microsoft.com, Praveen Balasubramanian <pravb@microsoft.com>, lars@netapp.com, glenn.judd@morganstanley.com, Martin Duke <martin.h.duke@gmail.com>, Zaheduzzaman.Sarker@ericsson.com, michael.scharf@hs-esslingen.de, Michael Tuexen <tuexen@fh-muenster.de>, nsd.ietf@gmail.com, tcpm@ietf.org
To: Bob Briscoe <in@bobbriscoe.net>
References: <20210928071818.BE0D7F40865@rfc-editor.org> <96ce4984-3678-9bdf-6b76-d7ba1bd42dcc@bobbriscoe.net>
X-Mailer: Apple Mail (2.3654.80.0.2.43)
X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.391, 18.0.790 definitions=2021-09-30_07:2021-09-30, 2021-09-30 signatures=0
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/Yu3BJbCUgHgg6-hvDNUMfhaWQ38>
X-Mailman-Approved-At: Thu, 30 Sep 2021 14:33:36 -0700
Subject: Re: [tcpm] [Technical Errata Reported] RFC8257 (6697)
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: Thu, 30 Sep 2021 21:07:49 -0000

Thank you Bob for providing a complete suggestion.

Section 3.3 is titled Processing Echoed Congestion Indications on the Sender, so probably this should include Congestion Window Reduction as well. That’s why I suggested to create two sub-sections.

Alternatively, we can also use your suggestion by re-titling Section 3.3, something like,
Section 3.3 Computing Moving Average of ECN Feedback
Section 3.4 Reducing Congestion Window based on ECN Feedback
Section 3.5 Handling of Congestion Window Growth
…


Thanks,
Vidhi

> On Sep 30, 2021, at 4:48 AM, Bob Briscoe <in@bobbriscoe.net> wrote:
> 
> Vidhi,
> 
> You're right. It's incorrect to have the window reduction hanging off the end of the list of steps for updating the EWMA.
> 
> To make this concrete, here's some specific additional text (in green for those with HTML mail readers). Also, rather than splitting into sub-subsections, I have suggested that Item 9. of the list in subsection 3.3 is moved out of the list, and instead forms the basis of a new subsection 3.4. entitled "Congestion Window Reduction". 
> 
> CURRENT:
> ========
>    9.  Rather than always halving the congestion window as described in
>        [RFC3168], the sender SHOULD update cwnd as follows:
> 
>           cwnd = cwnd * (1 - DCTCP.Alpha / 2)
> 
>    Just as specified in [RFC3168], DCTCP does not react to congestion
>    indications more than once for every window of data.  The setting of
>    the CWR bit is also as per [RFC3168].  This is required for
>    interoperation with classic ECN receivers due to potential
>    misconfigurations.
> 
> 3.4.  Handling of Congestion Window Growth...
> 
> SUGGESTED:
> ==========
> 
> 3.4. Congestion Window Reduction
>    Rather than always halving the congestion window as described in
>    [RFC3168], on the arrival of congestion feedback, the sender SHOULD 
>    update cwnd as follows:
> 
>       cwnd = cwnd * (1 - DCTCP.Alpha / 2)
>    Just as specified in [RFC3168], DCTCP does not react to congestion
>    indications more than once for every window of data. Therefore, as 
>    for RFC3168 ECN, it sets the variable for the end of congestion
>    window reduced (CWR) state to SND.UNA and suppresses further
>    reductions until this TCP sequence number is acknowledged. Periods
>    of CWR state are triggered by congestion feedback, and therefore
>    occur at times unrelated to the continuous cycle of observation
>    windows used to update DCTCP.Alpha in Section 3.3.
> 
>    The setting of the CWR bit is also as per [RFC3168].  This is 
>    required for interoperation with classic ECN receivers due to 
>    potential misconfigurations.
> 
> 3.5.  Handling of Congestion Window Growth...
> 
> Then the of numbering all subsequent subsections of section 3. will increment by 0.1.
> 
> 
> 
> Bob
> 
> On 28/09/2021 08:18, RFC Errata System wrote:
>> The following errata report has been submitted for RFC8257,
>> "Data Center TCP (DCTCP): TCP Congestion Control for Data Centers".
>> 
>> --------------------------------------
>> You may review the report below and at:
>> https://www.rfc-editor.org/errata/eid6697 <https://www.rfc-editor.org/errata/eid6697>
>> 
>> --------------------------------------
>> Type: Technical
>> Reported by: Vidhi Goel <vidhi_goel@apple.com> <mailto:vidhi_goel@apple.com>
>> 
>> Section: 3.3
>> 
>> Original Text
>> -------------
>> The below pseudocode follows after DCTCP.Alpha is updated on ACK processing. This is wrong as cwnd should only be reduced using DCTCP.Alpha when ECE is received. 
>> 
>> 9. Rather than always halving the congestion window as described in
>>        [RFC3168], the sender SHOULD update cwnd as follows:
>> 
>>           cwnd = cwnd * (1 - DCTCP.Alpha / 2)
>> 
>> Corrected Text
>> --------------
>> Instead, a new paragraph for Congestion Response to ECN feedback would be much clearer. First start with RFC 3168's response to ECE and then provide DCTCP's response to ECE.
>> 
>> I am thinking splitting section 3.3 into two sub-sections - 
>> 3.3.1 Computation of DCTCP.Alpha
>> 3.3.2 Congestion Response to ECE at sender
>> 
>> 
>> 
>> Notes
>> -----
>> Although RFC 8257 refers to RFC 3168 congestion window halving at step 9, but it is confusing to put it right after step 8.
>> 
>> Instructions:
>> -------------
>> This erratum is currently posted as "Reported". If necessary, please
>> use "Reply All" to discuss whether it should be verified or
>> rejected. When a decision is reached, the verifying party  
>> can log in to change the status and edit the report, if necessary. 
>> 
>> --------------------------------------
>> RFC8257 (draft-ietf-tcpm-dctcp-10)
>> --------------------------------------
>> Title               : Data Center TCP (DCTCP): TCP Congestion Control for Data Centers
>> Publication Date    : October 2017
>> Author(s)           : S. Bensley, D. Thaler, P. Balasubramanian, L. Eggert, G. Judd
>> Category            : INFORMATIONAL
>> Source              : TCP Maintenance and Minor Extensions
>> Area                : Transport
>> Stream              : IETF
>> Verifying Party     : IESG
>> 
>> _______________________________________________
>> tcpm mailing list
>> tcpm@ietf.org <mailto:tcpm@ietf.org>
>> https://www.ietf.org/mailman/listinfo/tcpm <https://www.ietf.org/mailman/listinfo/tcpm>
> 
> -- 
> ________________________________________________________________
> Bob Briscoe                               http://bobbriscoe.net/ <http://bobbriscoe.net/>_______________________________________________
> tcpm mailing list
> tcpm@ietf.org
> https://www.ietf.org/mailman/listinfo/tcpm