Skip to main content

HyStart++: Modified Slow Start for TCP
draft-ietf-tcpm-hystartplusplus-14

Revision differences

Document history

Date Rev. By Action
2024-01-26
14 Gunter Van de Velde Request closed, assignment withdrawn: Nagendra Nainar Last Call OPSDIR review
2024-01-26
14 Gunter Van de Velde Closed request for Last Call review by OPSDIR with state 'Overtaken by Events': Cleaning up stale OPSDIR queue
2023-05-02
14 (System) RFC Editor state changed to AUTH48-DONE from AUTH48
2023-04-28
14 (System) RFC Editor state changed to AUTH48
2023-04-09
14 Barry Leiba Closed request for Last Call review by ARTART with state 'Overtaken by Events': Document has finished IESG processing
2023-04-09
14 Barry Leiba Assignment of request for Last Call review by ARTART to Nicolás Williams was marked no-response
2023-02-28
14 (System) IANA Action state changed to No IANA Actions from In Progress
2023-02-28
14 (System) RFC Editor state changed to EDIT
2023-02-28
14 (System) IESG state changed to RFC Ed Queue from Approved-announcement sent
2023-02-28
14 (System) Announcement was received by RFC Editor
2023-02-28
14 (System) IANA Action state changed to In Progress
2023-02-28
14 Cindy Morgan IESG state changed to Approved-announcement sent from Approved-announcement to be sent
2023-02-28
14 Cindy Morgan IESG has approved the document
2023-02-28
14 Cindy Morgan Closed "Approve" ballot
2023-02-28
14 Cindy Morgan Ballot approval text was generated
2023-02-28
14 Martin Duke IESG state changed to Approved-announcement to be sent from Approved-announcement to be sent::AD Followup
2023-02-27
14 (System) Removed all action holders (IESG state changed)
2023-02-27
14 (System) Sub state has been changed to AD Followup from Revised I-D Needed
2023-02-27
14 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-14.txt
2023-02-27
14 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2023-02-27
14 Yi Huang Uploaded new revision
2023-02-16
13 (System) Changed action holders to Praveen Balasubramanian, Yi Huang, Matt Olson (IESG state changed)
2023-02-16
13 Cindy Morgan IESG state changed to Approved-announcement to be sent::Revised I-D Needed from IESG Evaluation
2023-02-15
13 Murray Kucherawy [Ballot Position Update] New position, No Objection, has been recorded for Murray Kucherawy
2023-02-15
13 Alvaro Retana [Ballot Position Update] New position, No Objection, has been recorded for Alvaro Retana
2023-02-15
13 Warren Kumari [Ballot Position Update] New position, No Objection, has been recorded for Warren Kumari
2023-02-14
13 Roman Danyliw [Ballot comment]
Thank you to Mohit Sethi for the SECDIR review.
2023-02-14
13 Roman Danyliw [Ballot Position Update] New position, No Objection, has been recorded for Roman Danyliw
2023-02-14
13 Paul Wouters
[Ballot comment]
Nothing to add beyond what Lars and John already said, but please do look at the comment of the Mohit's secdir review:

https://datatracker.ietf.org/doc/review-ietf-tcpm-hystartplusplus-12-secdir-lc-sethi-2023-01-22/ …
[Ballot comment]
Nothing to add beyond what Lars and John already said, but please do look at the comment of the Mohit's secdir review:

https://datatracker.ietf.org/doc/review-ietf-tcpm-hystartplusplus-12-secdir-lc-sethi-2023-01-22/

    The "Security Considerations" section only contains a pointer to RFC 5681. I
    think this is insufficient. I recommend copying the text from RFC 5681 that is
    applicable while retaining a reference to RFC 5681. For example, it is not
    clear to me if the RECOMMENDATION against ACK division attack stated in RFC
    5681
is also applicable for HyStart++.
2023-02-14
13 Paul Wouters Ballot comment text updated for Paul Wouters
2023-02-14
13 Paul Wouters [Ballot comment]
nothing to add beyond what Lars and John already said.
2023-02-14
13 Paul Wouters [Ballot Position Update] New position, No Objection, has been recorded for Paul Wouters
2023-02-14
13 Zaheduzzaman Sarker [Ballot Position Update] New position, Yes, has been recorded for Zaheduzzaman Sarker
2023-02-14
13 Éric Vyncke
[Ballot comment]

# Éric Vyncke, INT AD, comments for draft-ietf-tcpm-hystartplusplus-13
CC @evyncke

Thank you for the work put into this document.

Please find below some …
[Ballot comment]

# Éric Vyncke, INT AD, comments for draft-ietf-tcpm-hystartplusplus-13
CC @evyncke

Thank you for the work put into this document.

Please find below some non-blocking COMMENT points (but replies would be appreciated even if only for my own education), and some nits.

Special thanks to Michael Tüxen for the shepherd's detailed write-up including the WG consensus **and** the justification of the intended status (even if "experimental" would have been possibly another good choice).

I hope that this review helps to improve the document,

Regards,

-éric

## COMMENTS

After writing my review, I have noticed that some of my comments were previously also made by John Scudder.

### Section 1

Mostly a nit, but it took me a while to parse `uses delay increase` as some terms are verb or word. Suggest "an increase of the delay is used by..." or use "RTT" rather than "delay" ?

### Section 4.2

I second John's point about the function clamp(), the verb was unknown to me (non-English speaker) before googling for the term.

### Section 4.3

s/A TCP implementation is REQUIRED/A TCP implementation of HyStart++ is REQUIRED/

Please add a reference for `A paced TCP implementation`

Please expand or add a reference for `BDP`

### Section 5

Please be specific, i.e., say the year rather than `As of the time of writing`

### Section 9.1

RFC 8174 should be normative.


## NITS

### min (

Let's be consistent about "min (" vs. "min(" ;-)

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues.

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments
2023-02-14
13 Éric Vyncke [Ballot Position Update] New position, No Objection, has been recorded for Éric Vyncke
2023-02-14
13 Robert Wilton [Ballot comment]
Thanks for documenting this, from the deployment section it sounds like this is useful/beneficial.

Rob
2023-02-14
13 Robert Wilton [Ballot Position Update] New position, No Objection, has been recorded for Robert Wilton
2023-02-13
13 Lars Eggert
[Ballot comment]
# GEN AD review of draft-ietf-tcpm-hystartplusplus-13

CC @larseggert

Thanks to Stewart Bryant for the General Area Review Team (Gen-ART) review
(https://mailarchive.ietf.org/arch/msg/gen-art/t0F_6gKPTPrCO6Lo9IvuVwUHY88). …
[Ballot comment]
# GEN AD review of draft-ietf-tcpm-hystartplusplus-13

CC @larseggert

Thanks to Stewart Bryant for the General Area Review Team (Gen-ART) review
(https://mailarchive.ietf.org/arch/msg/gen-art/t0F_6gKPTPrCO6Lo9IvuVwUHY88).

## Comments

### Section 4.2, paragraph 0
```
  4.2.  Algorithm Details
```
I found this intermingling of prose and pseudocode hard to follow. It would be
better to have a full description of the algorithm in prose, plus a full
pseudocode implementation (that used loops, etc.)

### Section 4.2, paragraph 4
```
    lastRoundMinRTT = currentRoundMinRTT
    currentRoundMinRTT = infinity
    rttSampleCount = 0
```
currentRoundMinRTT is used in the first line but only initialized in the second
line - swap?

### Section 4.2, paragraph 21
```
    If CSS_ROUNDS rounds are complete, enter congestion avoidance.

    ssthresh = cwnd
```
Is this assignment part of entering congestion avoidance?

### Section 4.2, paragraph 21
```
    If loss or ECN-marking is observed anytime during standard slow start
    or CSS, enter congestion avoidance.

    ssthresh = cwnd
```
Is this assignment part of entering congestion avoidance?

### Inclusive language

Found terminology that should be reviewed for inclusivity; see
https://www.rfc-editor.org/part2/#inclusive_language for background and more
guidance:

* Term `traditional`; alternatives might be `classic`, `classical`, `common`,
  `conventional`, `customary`, `fixed`, `habitual`, `historic`,
  `long-established`, `popular`, `prescribed`, `regular`, `rooted`,
  `time-honored`, `universal`, `widely used`, `widespread`

## Nits

All comments below are about very minor potential issues that you may choose to
address in some way - or ignore - as you see fit. Some were flagged by
automated tools (via https://github.com/larseggert/ietf-reviewtool), so there
will likely be some false positives. There is no need to let me know what you
did with these suggestions.

### Typos

#### Section 1, paragraph 2
```
-    a novel Conservative Slow Start (CSS) phase is used to determine
-      -- ^
+    a new Conservative Slow Start (CSS) phase is used to determine
+        ^
```

### Grammar/style

#### Section 5, paragraph 2
```
dropping data packets or their acknowledgments. The ACK division attack outl
                              ^^^^^^^^^^^^^^^
```
Do not mix variants of the same word ("acknowledgment" and "acknowledgement")
within a single text.

## Notes

This review is in the ["IETF Comments" Markdown format][ICMF], You can use the
[`ietf-comments` tool][ICT] to automatically convert this review into
individual GitHub issues. Review generated by the [`ietf-reviewtool`][IRT].

[ICMF]: https://github.com/mnot/ietf-comments/blob/main/format.md
[ICT]: https://github.com/mnot/ietf-comments
[IRT]: https://github.com/larseggert/ietf-reviewtool
2023-02-13
13 Lars Eggert [Ballot Position Update] New position, No Objection, has been recorded for Lars Eggert
2023-02-10
13 John Scudder
[Ballot comment]
Thanks for this interesting and useful spec. I have a few comments, which I hope may be helpful.

## COMMENTS

### Section 4.2 …
[Ballot 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
2023-02-10
13 John Scudder Ballot comment text updated for John Scudder
2023-02-10
13 John Scudder
[Ballot comment]
Thanks for this interesting and useful spec. I have a few comments, which I hope may be helpful.

## COMMENTS

### Section 4.2 …
[Ballot 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) pointing to a formal grammar for the pseudocode, 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
2023-02-10
13 John Scudder Ballot comment text updated for John Scudder
2023-02-10
13 John Scudder
[Ballot comment]
Thanks for this interesting and useful spec. I have a few comments, which I hope may be helpful.

## COMMENTS

### Section 4.2 …
[Ballot 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) pointing to a formal grammar for the pseudocode, 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
2023-02-10
13 John Scudder [Ballot Position Update] New position, No Objection, has been recorded for John Scudder
2023-02-07
13 Amanda Baber IANA Review state changed to IANA OK - No Actions Needed from Version Changed - Review Needed
2023-02-05
13 Erik Kline [Ballot Position Update] New position, No Objection, has been recorded for Erik Kline
2023-02-01
13 Stewart Bryant Request for Last Call review by GENART Completed: Ready. Reviewer: Stewart Bryant. Sent review to list.
2023-01-31
13 Martin Duke Placed on agenda for telechat - 2023-02-16
2023-01-31
13 Martin Duke Ballot has been issued
2023-01-31
13 Martin Duke [Ballot Position Update] New position, Yes, has been recorded for Martin Duke
2023-01-31
13 Martin Duke Created "Approve" ballot
2023-01-31
13 Martin Duke IESG state changed to IESG Evaluation from Waiting for Writeup
2023-01-31
13 Martin Duke Ballot writeup was changed
2023-01-30
13 (System) IANA Review state changed to Version Changed - Review Needed from IANA OK - No Actions Needed
2023-01-30
13 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-13.txt
2023-01-30
13 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2023-01-30
13 Yi Huang Uploaded new revision
2023-01-25
12 (System) IESG state changed to Waiting for Writeup from In Last Call
2023-01-22
12 Mohit Sethi Request for Last Call review by SECDIR Completed: Has Nits. Reviewer: Mohit Sethi. Sent review to list.
2023-01-19
12 Barry Leiba Request for Last Call review by ARTART is assigned to Nicolás Williams
2023-01-18
12 (System) IANA Review state changed to IANA OK - No Actions Needed from IANA - Review Needed
2023-01-18
12 David Dong
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Functions Operator has reviewed draft-ietf-tcpm-hystartplusplus-12, which is currently in Last Call, and has the following comments:

We …
(Via drafts-lastcall@iana.org): IESG/Authors/WG Chairs:

The IANA Functions Operator has reviewed draft-ietf-tcpm-hystartplusplus-12, which is currently in Last Call, and has the following comments:

We understand that this document doesn't require any registry actions.

While it's often helpful for a document's IANA Considerations section to remain in place upon publication even if there are no actions, if the authors strongly prefer to remove it, we do not object.

If this assessment is not accurate, please respond as soon as possible.

For definitions of IANA review states, please see:

https://datatracker.ietf.org/help/state/draft/iana-review

Thank you,

David Dong
IANA Services Specialist
2023-01-13
12 Jean Mahoney Request for Last Call review by GENART is assigned to Stewart Bryant
2023-01-13
12 Gunter Van de Velde Request for Last Call review by OPSDIR is assigned to Nagendra Nainar
2023-01-12
12 Tero Kivinen Request for Last Call review by SECDIR is assigned to Mohit Sethi
2023-01-11
12 Cindy Morgan IANA Review state changed to IANA - Review Needed
2023-01-11
12 Cindy Morgan
The following Last Call announcement was sent out (ends 2023-01-25):

From: The IESG
To: IETF-Announce
CC: draft-ietf-tcpm-hystartplusplus@ietf.org, martin.h.duke@gmail.com, tcpm-chairs@ietf.org, tcpm@ietf.org, tuexen@fh-muenster.de …
The following Last Call announcement was sent out (ends 2023-01-25):

From: The IESG
To: IETF-Announce
CC: draft-ietf-tcpm-hystartplusplus@ietf.org, martin.h.duke@gmail.com, tcpm-chairs@ietf.org, tcpm@ietf.org, tuexen@fh-muenster.de
Reply-To: last-call@ietf.org
Sender:
Subject: Last Call:  (HyStart++: Modified Slow Start for TCP) to Proposed Standard


The IESG has received a request from the TCP Maintenance and Minor Extensions
WG (tcpm) to consider the following document: - 'HyStart++: Modified Slow
Start for TCP'
  as Proposed Standard

The IESG plans to make a decision in the next few weeks, and solicits final
comments on this action. Please send substantive comments to the
last-call@ietf.org mailing lists by 2023-01-25. Exceptionally, comments may
be sent to iesg@ietf.org instead. In either case, please retain the beginning
of the Subject line to allow automated sorting.

Abstract


  This document describes HyStart++, a simple modification to the slow
  start phase of congestion control algorithms.  Traditional slow start
  can overshoot the ideal send rate in many cases, causing high packet
  loss and poor performance.  HyStart++ uses a delay increase heuristic
  to find an exit point before possible overshoot.  It also adds a
  mitigation to prevent jitter from causing premature slow start exit.




The file can be obtained via
https://datatracker.ietf.org/doc/draft-ietf-tcpm-hystartplusplus/



No IPR declarations have been submitted directly on this I-D.




2023-01-11
12 Cindy Morgan IESG state changed to In Last Call from Last Call Requested
2023-01-11
12 Martin Duke Last call was requested
2023-01-11
12 Martin Duke Last call announcement was generated
2023-01-11
12 Martin Duke Ballot approval text was generated
2023-01-11
12 Martin Duke Ballot writeup was generated
2023-01-11
12 (System) Changed action holders to Martin Duke (IESG state changed)
2023-01-11
12 Martin Duke IESG state changed to Last Call Requested from AD Evaluation::AD Followup
2023-01-09
12 (System) Removed all action holders (IESG state changed)
2023-01-09
12 (System) Sub state has been changed to AD Followup from Revised ID Needed
2023-01-09
12 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-12.txt
2023-01-09
12 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2023-01-09
12 Yi Huang Uploaded new revision
2022-12-12
11 Martin Duke Changed action holders to Praveen Balasubramanian, Yi Huang, Matt Olson
2022-12-12
11 (System) Changed action holders to Yoshifumi Nishida, Michael Tüxen, Praveen Balasubramanian, Ian Swett, Yi Huang, Matt Olson (IESG state changed)
2022-12-12
11 Martin Duke IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation::AD Followup
2022-11-22
11 Martin Duke Changed action holders to Yoshifumi Nishida, Michael Tüxen, Ian Swett (Waiting for confirmation of WG consensus)
2022-11-07
11 (System) Removed all action holders (IESG state changed)
2022-11-07
11 (System) Sub state has been changed to AD Followup from Revised ID Needed
2022-11-07
11 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-11.txt
2022-11-07
11 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2022-11-07
11 Yi Huang Uploaded new revision
2022-11-06
10 Martin Duke Changed action holders to Praveen Balasubramanian, Yi Huang, Matt Olson
2022-10-10
10 (System) Changed action holders to Martin Duke, Praveen Balasubramanian, Yi Huang, Matt Olson (IESG state changed)
2022-10-10
10 Martin Duke IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation::AD Followup
2022-10-03
10 (System) Changed action holders to Martin Duke (IESG state changed)
2022-10-03
10 (System) Sub state has been changed to AD Followup from Revised ID Needed
2022-10-03
10 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-10.txt
2022-10-03
10 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2022-10-03
10 Yi Huang Uploaded new revision
2022-09-02
09 (System) Changed action holders to Martin Duke, Praveen Balasubramanian, Yi Huang, Matt Olson (IESG state changed)
2022-09-02
09 Martin Duke IESG state changed to AD Evaluation::Revised I-D Needed from AD Evaluation
2022-09-02
09 (System) Changed action holders to Martin Duke (IESG state changed)
2022-09-02
09 Martin Duke IESG state changed to AD Evaluation from Publication Requested
2022-08-30
09 Michael Tüxen
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the …
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the responsibilities is
answering the questions in this write-up to give helpful context to Last Call
and Internet Engineering Steering Group ([IESG][1]) reviewers, and your
diligence in completing it is appreciated. The full role of the shepherd is
further described in [RFC 4858][2]. You will need the cooperation of the authors
and editors to complete these checks.

Note that some numbered items contain multiple related questions; please be sure
to answer all of them.

## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
  few individuals, with others being silent, or did it reach broad agreement?
  The document has broad agreement, in particular from TCP implementers.

2. Was there controversy about particular points, or were there decisions where
  the consensus was particularly rough?
  There was no controversy.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
  so, please summarize the areas of conflict in separate email messages to the
  responsible Area Director. (It should be in a separate email because this
  questionnaire is publicly available.)
  Noone has threatened an appeal or otherwise indicated extreme discontent.

4. For protocol documents, are there existing implementations of the contents of
  the document? Have a significant number of potential implementers indicated
  plans to implement? Are any existing implementations reported somewhere,
  either in the document itself (as [RFC 7942][3] recommends) or elsewhere
  (where)?
  There are implementations for the TCP stacks in FreeBSD, Linux, and Windows,
  and a QUIC implementations Quiche from CloudFlare and s2n-quic from AWS.

## Additional Reviews

5. Do the contents of this document closely interact with technologies in other
  IETF working groups or external organizations, and would it therefore benefit
  from their review? Have those reviews occurred? If yes, describe which
  reviews took place.
  There is no close interaction with other technologies. However, the mechanism
  can also be used by transport protocols other than TCP. This has been made
  clear in the document.

6. Describe how the document meets any required formal expert review criteria,
  such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.
  No part of the document needs such formal review.

7. If the document contains a YANG module, has the final version of the module
  been checked with any of the [recommended validation tools][4] for syntax and
  formatting validation? If there are any resulting errors or warnings, what is
  the justification for not fixing them at this time? Does the YANG module
  comply with the Network Management Datastore Architecture (NMDA) as specified
  in [RFC 8342][5]?
  The document does not contain a YANG module.

8. Describe reviews and automated checks performed to validate sections of the
  final version of the document written in a formal language, such as XML code,
  BNF rules, MIB definitions, CBOR's CDDL, etc.
  There are no such sections in the document.

## Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
  document is needed, clearly written, complete, correctly designed, and ready
  to be handed off to the responsible Area Director?
  Yes, to all questions.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. For which areas have such issues been identified
    and addressed? For which does this still need to happen in subsequent
    reviews?
    No issues identified.

11. What type of RFC publication is being requested on the IETF stream ([Best
    Current Practice][12], [Proposed Standard, Internet Standard][13],
    [Informational, Experimental or Historic][14])? Why is this the proper type
    of RFC? Do all Datatracker state attributes correctly reflect this intent?
    The WG discussed whether intended status of the document should be
    Proposed Standard or Experimental, which are the only applicable intended
    status. Based on the level of maturity the decision was to go for Proposed
    Standard. There is also no Experiment to be made.

12. Have reasonable efforts been made to remind all authors of the intellectual
    property rights (IPR) disclosure obligations described in [BCP 79][8]? To
    the best of your knowledge, have all required disclosures been filed? If
    not, explain why. If yes, summarize any relevant discussion, including links
    to publicly-available messages when applicable.
    All co-authors were asked: "Did you disclose all IPRs related to this
    document you are aware of as required by [2]?" where [2] is a reference to
    https://www.rfc-editor.org/info/bcp79.
    All co-authors answered: "Yes"

13. Has each author, editor, and contributor shown their willingness to be
    listed as such? If the total number of authors and editors on the front page
    is greater than five, please provide a justification.
    All co-authors were asked: "Are you willing to be listed as an author?"
    All co-authors answered: "Yes"

14. Document any remaining I-D nits in this document. Simply running the [idnits
    tool][8] is not enough; please review the ["Content Guidelines" on
    authors.ietf.org][15].
    All except one nit reported by [idnits tool][8] have been addressed by the
    authors: There is one line with an non-ASCII character. It is the "ü" in my
    name in the reference to RFC 9260.

15. Should any informative references be normative or vice-versa? See the [IESG
    Statement on Normative and Informative References][16].
    No, they are classified correctly.

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?
    All normative references are RFCs.

17. Are there any normative downward references (see [RFC 3967][9] and [BCP
    97
][10]) that are not already listed in the [DOWNREF registry][17]? If so,
    list them.
    There are none.

18. Are there normative references to documents that are not ready to be
    submitted to the IESG for publication or are otherwise in an unclear state?
    If so, what is the plan for their completion?
    There are no such documents.

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.
    This document will not change the status of any other RFC.

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][11]).
    The IANA section mentions correctly that there are no actions requested from
    IANA.

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.
    There are none.

[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: https://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp79
[8]: https://www.ietf.org/tools/idnits/
[9]: https://www.rfc-editor.org/rfc/rfc3967.html
[10]: https://www.rfc-editor.org/info/bcp97
[11]: https://www.rfc-editor.org/rfc/rfc8126.html
[12]: https://www.rfc-editor.org/rfc/rfc2026.html#section-5
[13]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.1
[14]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.2
[15]: https://authors.ietf.org/en/content-guidelines-overview
[16]: https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
[17]: https://datatracker.ietf.org/doc/downref/
2022-08-30
09 Michael Tüxen Responsible AD changed to Martin Duke
2022-08-30
09 Michael Tüxen IETF WG state changed to Submitted to IESG for Publication from WG Consensus: Waiting for Write-Up
2022-08-30
09 Michael Tüxen IESG state changed to Publication Requested from I-D Exists
2022-08-30
09 Michael Tüxen IESG process started in state Publication Requested
2022-08-30
09 Michael Tüxen IETF WG state changed to WG Consensus: Waiting for Write-Up from Waiting for WG Chair Go-Ahead
2022-08-30
09 Michael Tüxen Tag Revised I-D Needed - Issue raised by WG cleared.
2022-08-30
09 Michael Tüxen
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the …
# Document Shepherd Write-Up for Group Documents

*This version is dated 4 July 2022.*

Thank you for your service as a document shepherd. Among the responsibilities is
answering the questions in this write-up to give helpful context to Last Call
and Internet Engineering Steering Group ([IESG][1]) reviewers, and your
diligence in completing it is appreciated. The full role of the shepherd is
further described in [RFC 4858][2]. You will need the cooperation of the authors
and editors to complete these checks.

Note that some numbered items contain multiple related questions; please be sure
to answer all of them.

## Document History

1. Does the working group (WG) consensus represent the strong concurrence of a
  few individuals, with others being silent, or did it reach broad agreement?
  The document has broad agreement, in particular from TCP implementers.

2. Was there controversy about particular points, or were there decisions where
  the consensus was particularly rough?
  There was no controversy.

3. Has anyone threatened an appeal or otherwise indicated extreme discontent? If
  so, please summarize the areas of conflict in separate email messages to the
  responsible Area Director. (It should be in a separate email because this
  questionnaire is publicly available.)
  Noone has threatened an appeal or otherwise indicated extreme discontent.

4. For protocol documents, are there existing implementations of the contents of
  the document? Have a significant number of potential implementers indicated
  plans to implement? Are any existing implementations reported somewhere,
  either in the document itself (as [RFC 7942][3] recommends) or elsewhere
  (where)?
  There are implementations for the TCP stacks in FreeBSD, Linux, and Windows,
  and a QUIC implementations Quiche from CloudFlare and s2n-quic from AWS.

## Additional Reviews

5. Do the contents of this document closely interact with technologies in other
  IETF working groups or external organizations, and would it therefore benefit
  from their review? Have those reviews occurred? If yes, describe which
  reviews took place.
  There is no close interaction with other technologies. However, the mechanism
  can also be used by transport protocols other than TCP. This has been made
  clear in the document.

6. Describe how the document meets any required formal expert review criteria,
  such as the MIB Doctor, YANG Doctor, media type, and URI type reviews.
  No part of the document needs such formal review.

7. If the document contains a YANG module, has the final version of the module
  been checked with any of the [recommended validation tools][4] for syntax and
  formatting validation? If there are any resulting errors or warnings, what is
  the justification for not fixing them at this time? Does the YANG module
  comply with the Network Management Datastore Architecture (NMDA) as specified
  in [RFC 8342][5]?
  The document does not contain a YANG module.

8. Describe reviews and automated checks performed to validate sections of the
  final version of the document written in a formal language, such as XML code,
  BNF rules, MIB definitions, CBOR's CDDL, etc.
  There are no such sections in the document.

## Document Shepherd Checks

9. Based on the shepherd's review of the document, is it their opinion that this
  document is needed, clearly written, complete, correctly designed, and ready
  to be handed off to the responsible Area Director?
  Yes, to all questions.

10. Several IETF Areas have assembled [lists of common issues that their
    reviewers encounter][6]. For which areas have such issues been identified
    and addressed? For which does this still need to happen in subsequent
    reviews?
    No issues identified.

11. What type of RFC publication is being requested on the IETF stream ([Best
    Current Practice][12], [Proposed Standard, Internet Standard][13],
    [Informational, Experimental or Historic][14])? Why is this the proper type
    of RFC? Do all Datatracker state attributes correctly reflect this intent?
    The WG discussed whether intended status of the document should be
    Proposed Standard or Experimental, which are the only applicable intended
    status. Based on the level of maturity the decision was to go for Proposed
    Standard. There is also no Experiment to be made.

12. Have reasonable efforts been made to remind all authors of the intellectual
    property rights (IPR) disclosure obligations described in [BCP 79][8]? To
    the best of your knowledge, have all required disclosures been filed? If
    not, explain why. If yes, summarize any relevant discussion, including links
    to publicly-available messages when applicable.
    All co-authors were asked: "Did you disclose all IPRs related to this
    document you are aware of as required by [2]?" where [2] is a reference to
    https://www.rfc-editor.org/info/bcp79.
    All co-authors answered: "Yes"

13. Has each author, editor, and contributor shown their willingness to be
    listed as such? If the total number of authors and editors on the front page
    is greater than five, please provide a justification.
    All co-authors were asked: "Are you willing to be listed as an author?"
    All co-authors answered: "Yes"

14. Document any remaining I-D nits in this document. Simply running the [idnits
    tool][8] is not enough; please review the ["Content Guidelines" on
    authors.ietf.org][15].
    All except one nit reported by [idnits tool][8] have been addressed by the
    authors: There is one line with an non-ASCII character. It is the "ü" in my
    name in the reference to RFC 9260.

15. Should any informative references be normative or vice-versa? See the [IESG
    Statement on Normative and Informative References][16].
    No, they are classified correctly.

16. List any normative references that are not freely available to anyone. Did
    the community have sufficient access to review any such normative
    references?
    All normative references are RFCs.

17. Are there any normative downward references (see [RFC 3967][9] and [BCP
    97
][10]) that are not already listed in the [DOWNREF registry][17]? If so,
    list them.
    There are none.

18. Are there normative references to documents that are not ready to be
    submitted to the IESG for publication or are otherwise in an unclear state?
    If so, what is the plan for their completion?
    There are no such documents.

19. Will publication of this document change the status of any existing RFCs? If
    so, does the Datatracker metadata correctly reflect this and are those RFCs
    listed on the title page, in the abstract, and discussed in the
    introduction? If not, explain why and point to the part of the document
    where the relationship of this document to these other RFCs is discussed.
    This document will not change the status of any other RFC.

20. Describe the document shepherd's review of the IANA considerations section,
    especially with regard to its consistency with the body of the document.
    Confirm that all aspects of the document requiring IANA assignments are
    associated with the appropriate reservations in IANA registries. Confirm
    that any referenced IANA registries have been clearly identified. Confirm
    that each newly created IANA registry specifies its initial contents,
    allocations procedures, and a reasonable name (see [RFC 8126][11]).
    The IANA section mentions correctly that there are no actions requested from
    IANA.

21. List any new IANA registries that require Designated Expert Review for
    future allocations. Are the instructions to the Designated Expert clear?
    Please include suggestions of designated experts, if appropriate.
    There are none.

[1]: https://www.ietf.org/about/groups/iesg/
[2]: https://www.rfc-editor.org/rfc/rfc4858.html
[3]: https://www.rfc-editor.org/rfc/rfc7942.html
[4]: https://trac.ietf.org/trac/ops/wiki/yang-review-tools
[5]: https://www.rfc-editor.org/rfc/rfc8342.html
[6]: https://trac.ietf.org/trac/iesg/wiki/ExpertTopics
[7]: https://www.rfc-editor.org/info/bcp79
[8]: https://www.ietf.org/tools/idnits/
[9]: https://www.rfc-editor.org/rfc/rfc3967.html
[10]: https://www.rfc-editor.org/info/bcp97
[11]: https://www.rfc-editor.org/rfc/rfc8126.html
[12]: https://www.rfc-editor.org/rfc/rfc2026.html#section-5
[13]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.1
[14]: https://www.rfc-editor.org/rfc/rfc2026.html#section-4.2
[15]: https://authors.ietf.org/en/content-guidelines-overview
[16]: https://www.ietf.org/about/groups/iesg/statements/normative-informative-references/
[17]: https://datatracker.ietf.org/doc/downref/
2022-08-27
09 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-09.txt
2022-08-27
09 (System) New version approved
2022-08-26
09 (System) Request for posting confirmation emailed to previous authors: Matt Olson , Praveen Balasubramanian , Yi Huang
2022-08-26
09 Yi Huang Uploaded new revision
2022-08-25
08 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-08.txt
2022-08-25
08 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2022-08-25
08 Yi Huang Uploaded new revision
2022-08-25
07 Michael Tüxen Changed consensus to Yes from Unknown
2022-08-25
07 Michael Tüxen Intended Status changed to Proposed Standard from None
2022-08-23
07 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-07.txt
2022-08-23
07 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2022-08-23
07 Yi Huang Uploaded new revision
2022-07-25
06 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-06.txt
2022-07-25
06 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2022-07-25
06 Yi Huang Uploaded new revision
2022-06-16
05 Yi Huang New version available: draft-ietf-tcpm-hystartplusplus-05.txt
2022-06-16
05 Yi Huang New version accepted (logged-in submitter: Yi Huang)
2022-06-16
05 Yi Huang Uploaded new revision
2022-06-14
04 Martin Duke Tag Revised I-D Needed - Issue raised by WG set.
2022-06-14
04 Martin Duke IETF WG state changed to Waiting for WG Chair Go-Ahead from In WG Last Call
2022-04-13
04 Michael Tüxen IETF WG state changed to In WG Last Call from WG Document
2022-03-04
04 Michael Tüxen Notification list changed to tuexen@fh-muenster.de because the document shepherd was set
2022-03-04
04 Michael Tüxen Document shepherd changed to Michael Tüxen
2022-01-23
04 Praveen Balasubramanian New version available: draft-ietf-tcpm-hystartplusplus-04.txt
2022-01-23
04 (System) New version approved
2022-01-23
04 (System) Request for posting confirmation emailed to previous authors: Matt Olson , Praveen Balasubramanian , Yi Huang
2022-01-23
04 Praveen Balasubramanian Uploaded new revision
2021-07-25
03 Praveen Balasubramanian New version available: draft-ietf-tcpm-hystartplusplus-03.txt
2021-07-25
03 (System) New version approved
2021-07-25
03 (System) Request for posting confirmation emailed to previous authors: Matt Olson , Praveen Balasubramanian , Yi Huang
2021-07-25
03 Praveen Balasubramanian Uploaded new revision
2021-07-24
02 Michael Tüxen Added to session: IETF-111: tcpm  Tue-1600
2021-07-12
02 Praveen Balasubramanian New version available: draft-ietf-tcpm-hystartplusplus-02.txt
2021-07-12
02 (System) New version approved
2021-07-12
02 (System) Request for posting confirmation emailed to previous authors: Matt Olson , Praveen Balasubramanian , Yi Huang
2021-07-12
02 Praveen Balasubramanian Uploaded new revision
2021-07-10
01 (System) Document has expired
2021-01-06
01 Praveen Balasubramanian New version available: draft-ietf-tcpm-hystartplusplus-01.txt
2021-01-06
01 (System) New version approved
2021-01-06
01 (System) Request for posting confirmation emailed to previous authors: Matt Olson , Praveen Balasubramanian , Yi Huang
2021-01-06
01 Praveen Balasubramanian Uploaded new revision
2020-07-13
00 Michael Tüxen This document now replaces draft-balasubramanian-tcpm-hystartplusplus instead of None
2020-07-13
00 Praveen Balasubramanian New version available: draft-ietf-tcpm-hystartplusplus-00.txt
2020-07-13
00 (System) WG -00 approved
2020-07-13
00 Praveen Balasubramanian Set submitter to "Praveen Balasubramanian ", replaces to draft-balasubramanian-tcpm-hystartplusplus and sent approval email to group chairs: tcpm-chairs@ietf.org
2020-07-13
00 Praveen Balasubramanian Uploaded new revision