Re: [tcpm] [Technical Errata Reported] RFC8257 (6697)
Martin Duke <martin.h.duke@gmail.com> Thu, 04 November 2021 20:38 UTC
Return-Path: <martin.h.duke@gmail.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 D0F6C3A0945; Thu, 4 Nov 2021 13:38:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.097
X-Spam-Level:
X-Spam-Status: No, score=-2.097 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 5afh8hX8WKLu; Thu, 4 Nov 2021 13:38:52 -0700 (PDT)
Received: from mail-ua1-x935.google.com (mail-ua1-x935.google.com [IPv6:2607:f8b0:4864:20::935]) (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 5026C3A0940; Thu, 4 Nov 2021 13:38:52 -0700 (PDT)
Received: by mail-ua1-x935.google.com with SMTP id v20so13255130uaj.9; Thu, 04 Nov 2021 13:38:52 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=3kagRi4FIl7oUhI8O+d61Tips/zk2cItk2SlEn2+kKQ=; b=HB8dxbdlOChxa6z4WZe0rCby5XKlAL3Asccxuo/LOBDx8yDyB/SJH3GnT1ZUnS/DgZ wsc/BA+5OvjXf4L+IwRcx5tRw8MM5ZJZdsLOu5ca0HnsuO5udlIFjEqBQI31zm0jcWSA xARthDSgsLvTehepfmyq9/GcjkDXfaAIpngwuAGT+JxUxH2jlGBRUzZVP50aeRUQd9yO 6djW1SlgaL+mbD3NOa42Y9iZAAwqZEfv1siRtDAWszZUJ9S/RcSwMAcRGldl2kyJk3QI TdXuvD9yb3/UTYp/h0hPjTjvu0OU0BahXUWwdUIJFIPon0zy0Gu+F8A5Cn0D5lZvrhDj CQSA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=3kagRi4FIl7oUhI8O+d61Tips/zk2cItk2SlEn2+kKQ=; b=OIhiZvF3yrVtbXx4yd1X4XmrHoNjzplPs4/R8Hh67QTkHyRBjW8eVB9MwonMrWIO3o APfcbuIXjRdwXkMApetRtYQk8rz3dvlUUtnhenIHiA1SSirTaHWbN9CYsT8z2qCdWC0D 9j2q2BManCHnjX6hG7CL9IUDdF4CXNqhcVNQCwNbMLdQyo9Jpm40xUlc8E636vVfFWpw af1SblY3zuiaLZ63FYLlL5av2tde/vSGqI3JqgMkmPc6Q3pVu091TmYjI/Xzrq+oQKFK Xdd4pXEvXKxAGJ2GHfb46ol2x3FLrMw2CuSKS12YcfilsqXKFG95N5i2SfaHR2Fz191x LsbQ==
X-Gm-Message-State: AOAM532S6pEfwzFf9I5i7BRkOss4VnQVuALCaEczqKmllI1HZJWLPEQw 419jNSbBtPrYUXQAdcbsbGaV4lbeIREBBHdlPcc=
X-Google-Smtp-Source: ABdhPJyLG3VONJgNHeVths4rxdv+UC25bizVjb/2Zk/hK2qYxwI/Zzi54N5vgzPNhYvhmDQIcLB4UcHKxYVLTpUz5ZI=
X-Received: by 2002:a9f:2f1a:: with SMTP id x26mr6728505uaj.62.1636058331301; Thu, 04 Nov 2021 13:38:51 -0700 (PDT)
MIME-Version: 1.0
References: <20210928071818.BE0D7F40865@rfc-editor.org> <96ce4984-3678-9bdf-6b76-d7ba1bd42dcc@bobbriscoe.net> <CADVnQymMRzvs_4QRuSziYXfwu6ttKfak5cv5G=eBRvX8qOQKWw@mail.gmail.com> <d1514f76-fc40-fa73-c953-efcb70fe6901@bobbriscoe.net> <abd8609d-b643-2911-f082-9ce2ebe41bbd@bobbriscoe.net> <CB870F54-4E2B-43C4-9674-7D847081D96D@fh-muenster.de> <DFE6EB68-DC06-4958-88A4-FD8ADF769226@apple.com> <618410F1.1000809@btconnect.com>
In-Reply-To: <618410F1.1000809@btconnect.com>
From: Martin Duke <martin.h.duke@gmail.com>
Date: Thu, 04 Nov 2021 13:38:40 -0700
Message-ID: <CAM4esxReBRNfkf7GJ9z44e9wNs5z4=GkLATYj5x9QW-Eo0p-iw@mail.gmail.com>
To: t petch <ietfa@btconnect.com>
Cc: Vidhi Goel <vidhi_goel=40apple.com@dmarc.ietf.org>, Michael Tuexen <tuexen@fh-muenster.de>, "tcpm@ietf.org Extensions" <tcpm@ietf.org>, Dave Thaler <dthaler@microsoft.com>, "Eggert, Lars" <lars@netapp.com>, "tsv-ads@ietf.org" <tsv-ads@ietf.org>, "tcpm-chairs@ietf.org" <tcpm-chairs@ietf.org>, RFC Errata System <rfc-editor@rfc-editor.org>
Content-Type: multipart/alternative; boundary="000000000000ab4cb705cffc83f9"
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/2Hs0IqoLTT7Ui8ynHEFIj1TSlKA>
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, 04 Nov 2021 20:38:59 -0000
Yes, I'm the one to apply the erratum to the RFC. The rfc-editor page presents both the original and corrected version of the RFC. A future RFC that obsoletes this one would be expected to incorporate all verified errata. On Thu, Nov 4, 2021 at 9:57 AM t petch <ietfa@btconnect.com> wrote: > n 04/11/2021 00:37, Vidhi Goel wrote: > >>> The status of this erratum is 'Reported'. I think some consensus was > reached on the list. What happens now? Who is meant to propose updated text > for the erratum based on the discussion? > >> Hi Bob, > >> > >> as far as I know, the WG chairs can't change erratas. That might be > possible for AD, I think, > >> but I'm not sure. > > > > I am a bit new to the errata process and would like to understand a bit > more about next steps. Based on Bob’s suggestion about updated text and > feedback from others, how do we proceed to make the necessary change to the > RFC 8257? > > Is the only thing we can do now is somehow update the Suggestion in > errata itself? When would the update me applied to the RFC? > > > The usual form of an Erratum is along the lines of > OLD > <current text> > NEW > <proposed text> > Note > Section 31.102 is ambiguous and could be interpreted as ... or .... > This erratum ..... > > > Discussion may result in a better version of <proposed text> in which > case the usual practice is to reject the Erratum and craft a new one. > > ADs sometimes add notes explaining why the action that is being taken is > being taken but I think it unusual for an AD to do more than that. > > This Erratum I do not understand and so would reject. What is the > problem? What is the fix? > > As others have said, an Erratum cannot change the consensus expressed in > the RFC. The RFC is immutable. A change of meaning is a new RFC. > > Perhaps discuss on the list what you perceive the problem to be and if > there is consensus that there is a problem and that it falls within the > limited scope of an Erratum, then craft an Erratum. > > Tom Petch > > > Thanks, > > Vidhi > > > >> On Nov 3, 2021, at 12:02 PM, tuexen@fh-muenster.de wrote: > >> > >>> On 3. Nov 2021, at 19:09, Bob Briscoe <ietf@bobbriscoe.net> wrote: > >>> > >>> TCPM chairs, > >>> > >>> The status of this erratum is 'Reported'. I think some consensus was > reached on the list. What happens now? Who is meant to propose updated text > for the erratum based on the discussion? > >> Hi Bob, > >> > >> as far as I know, the WG chairs can't change erratas. That might be > possible for AD, I think, > >> but I'm not sure. > >> > >> Best regards > >> Michael > >>> > >>> > >>> Bob > >>> > >>> On 01/10/2021 14:12, Bob Briscoe wrote: > >>>> Neal, > >>>> > >>>> On 30/09/2021 16:43, Neal Cardwell wrote: > >>>>> I agree with the points made by Vidhi and Bob, and really like Bob's > text. > >>>>> > >>>>> In the suggested text there may be a typo; I believe we want > s/SND.UNA/SND.NXT/. > >>>> > >>>> [BB] Agree (and your next point about solely ECN indications). > >>>> > >>>> I only said SND.UNA 'cos I was looking back at this earlier sentence > in the RFC, and I copied the idea without engaging brain: > >>>> o DCTCP.WindowEnd: the TCP sequence number threshold when one > >>>> observation window ends and another is to begin; initialized to > >>>> SND.UNA. > >>>> > >>>> Why does this say SND.UNA? Is this another erratum? I believe the > Linux code initializes to SND.NXT in dctcp_reset(), which is called from > dctcp_init(): > >>>> https://elixir.bootlin.com/linux/v4.7/source/net/ipv4/tcp_dctcp.c#L78 > >>>> > >>>> BTW, step 7 correctly says SND.NXT: > >>>> 7. Determine the end of the next observation window: > >>>> > >>>> DCTCP.WindowEnd = SND.NXT > >>>> > >>>> > >>>> > >>>> > >>>> Bob > >>>> > >>>>> And probably we want to be more specific about only suppressing > further ECN-based reductions (further loss-triggered reductions would be > good to allow). I'm posting my suggested tweaks in blue, starting from > Bob's nice green text: > >>>>> > >>>>> SUGGESTED: > >>>>> ========== > >>>>> > >>>>> 3.4. Congestion Window Reduction > >>>>> Rather than always halving the congestion window as described in > >>>>> [RFC3168] > >>>>> , on the arrival of ECN 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.NXT > >>>>> and suppresses further > >>>>> > >>>>> ECN-triggered > >>>>> 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... > >>>>> > >>>>> neal > >>>>> > >>>>> > >>>>> On Thu, Sep 30, 2021 at 11:22 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 > >>>>>> > >>>>>> > >>>>>> -------------------------------------- > >>>>>> Type: Technical > >>>>>> Reported by: Vidhi Goel > >>>>>> <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 > >>>>>> https://www.ietf.org/mailman/listinfo/tcpm > >>>>> > >>>>> -- > >>>>> ________________________________________________________________ > >>>>> Bob Briscoe > >>>>> http://bobbriscoe.net/ > >>>>> _______________________________________________ > >>>>> tcpm mailing list > >>>>> tcpm@ietf.org > >>>>> https://www.ietf.org/mailman/listinfo/tcpm > >>>> > >>>> -- > >>>> ________________________________________________________________ > >>>> Bob Briscoe > >>>> http://bobbriscoe.net/ > >>> > >>> -- > >>> ________________________________________________________________ > >>> Bob Briscoe > >>> http://bobbriscoe.net/ > >> > > > > > > > > _______________________________________________ > > tcpm mailing list > > tcpm@ietf.org > > https://www.ietf.org/mailman/listinfo/tcpm > > >
- [tcpm] [Technical Errata Reported] RFC8257 (6697) RFC Errata System
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Bob Briscoe
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Neal Cardwell
- Re: [tcpm] [EXTERNAL] Re: [Technical Errata Repor… Praveen Balasubramanian
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Vidhi Goel
- Re: [tcpm] [EXTERNAL] Re: [Technical Errata Repor… Praveen Balasubramanian
- Re: [tcpm] [EXTERNAL] Re: [Technical Errata Repor… Bob Briscoe
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Bob Briscoe
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Bob Briscoe
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… tuexen
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Vidhi Goel
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… tuexen
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… t petch
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Martin Duke
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Martin Duke
- Re: [tcpm] [Technical Errata Reported] RFC8257 (6… Vidhi Goel