[tcpm] John Scudder's No Objection on draft-ietf-tcpm-hystartplusplus-13: (with COMMENT)
John Scudder via Datatracker <noreply@ietf.org> Fri, 10 February 2023 21:14 UTC
Return-Path: <noreply@ietf.org>
X-Original-To: tcpm@ietf.org
Delivered-To: tcpm@ietfa.amsl.com
Received: from ietfa.amsl.com (localhost [IPv6:::1]) by ietfa.amsl.com (Postfix) with ESMTP id 00620C1575C9; Fri, 10 Feb 2023 13:14:06 -0800 (PST)
MIME-Version: 1.0
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: 8bit
From: John Scudder via Datatracker <noreply@ietf.org>
To: The IESG <iesg@ietf.org>
Cc: draft-ietf-tcpm-hystartplusplus@ietf.org, tcpm-chairs@ietf.org, tcpm@ietf.org, tuexen@fh-muenster.de, tuexen@fh-muenster.de
X-Test-IDTracker: no
X-IETF-IDTracker: 9.9.0
Auto-Submitted: auto-generated
Precedence: bulk
Reply-To: John Scudder <jgs@juniper.net>
Message-ID: <167606364598.43391.9087450177037684397@ietfa.amsl.com>
Date: Fri, 10 Feb 2023 13:14:05 -0800
Archived-At: <https://mailarchive.ietf.org/arch/msg/tcpm/zOR6jum2asIzXSwod5RVrjNdye4>
Subject: [tcpm] John Scudder's No Objection on draft-ietf-tcpm-hystartplusplus-13: (with COMMENT)
X-BeenThere: tcpm@ietf.org
X-Mailman-Version: 2.1.39
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: Fri, 10 Feb 2023 21:14:06 -0000
John Scudder has entered the following ballot position for draft-ietf-tcpm-hystartplusplus-13: No Objection When responding, please keep the subject line intact and reply to all email addresses included in the To and CC lines. (Feel free to cut this introductory paragraph, however.) Please refer to https://www.ietf.org/about/groups/iesg/statements/handling-ballot-positions/ for more information about how to handle DISCUSS and COMMENT positions. The document, along with other ballot positions, can be found here: https://datatracker.ietf.org/doc/draft-ietf-tcpm-hystartplusplus/ ---------------------------------------------------------------------- COMMENT: ---------------------------------------------------------------------- Thanks for this interesting and useful spec. I have a few comments, which I hope may be helpful. ## COMMENTS ### Section 4.2 I found the almost-but-not-quite-C pseudocode ever so mildly problematic. Two specific points: - I’m not confident that clamp() is such a universally understood idiom that you should use it without defining it. - The pseudocode block below wouldn’t work right if it were actual C, because of the lack of braces in the outer and inner if statements. ``` if (rttSampleCount >= N_RTT_SAMPLE AND currentRoundMinRTT != infinity AND lastRoundMinRTT != infinity) RttThresh = clamp(MIN_RTT_THRESH, lastRoundMinRTT / 8, MAX_RTT_THRESH) if (currentRoundMinRTT >= (lastRoundMinRTT + RttThresh)) cssBaselineMinRtt = currentRoundMinRTT exit slow start and enter CSS ``` Admittedly it visibly isn’t quite C and the meaning is reasonably clear from the use of indentation. However since the pseudocode is the only specification of the algorithm (unlike some specifications that use pseudocode only as an adjunct to elucidate a prose specification), I think it would be worthwhile to try extra-hard to be unambiguous, which means either (ideally) referencing a formal grammar for the pseudocode dialect you're using, or at least adding a few more hints (a definition and some braces or other block delimiters, respectively, in the case of the things I flag above). ### Section 4.2 I’m curious, in the pseudocode block quoted in my previous point, where did the constant ‘8’ come from? It doesn’t seem to be from the HyStart paper (I didn’t read it carefully, just grepped it for ‘8’). It’s somewhat surprising to see this as a literal instead of a tunable, without discussion. ### Section 4.3 I'm not a transport guy, and “paced TCP implementation” doesn’t mean anything to me -- I would have benefited from a reference, this seems indicated also since the term isn’t just informative but normative (“A paced TCP implementation SHOULD…”). ### Section 4.3 Please spell out BDP instead of using the initialism. (Or define it somewhere, but since you only use it once why not just spell it out.) ### Section 9 RFC 8174 should probably be a normative reference. ## NITS s/send heavy/send-heavy/g
- [tcpm] John Scudder's No Objection on draft-ietf-… John Scudder via Datatracker