Re: [tsvwg] Publication has been requested for draft-ietf-tsvwg-rfc4960-errata-05

Spencer Dawkins at IETF <> Fri, 11 May 2018 20:12 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 579A612D881; Fri, 11 May 2018 13:12:39 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.999
X-Spam-Status: No, score=-1.999 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id sunTJ9FcLAjm; Fri, 11 May 2018 13:12:37 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4002:c05::22f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id E81DB126E64; Fri, 11 May 2018 13:12:33 -0700 (PDT)
Received: by with SMTP id p144-v6so1936049ywg.7; Fri, 11 May 2018 13:12:33 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=nEIo5l1dz2H/hmg65HrIRUk+msuIaYKQ/ITRPZHGE7o=; b=Wip/otS8g+ZsMNdSz1om/PJm9ZqKn2DlxaZMTl6w97eVu20PwMdbVxEmQ8aPm9Iql8 FUcZ8HHkeaHTuTa6owhOSBPpWVUeIKxZNivIs09V6xHpA49ZV4duTIG+63RtYQVBHPNi C4eBUCUhMhY1A+QUj++ZbnhQdEc2T/1IjvPD9rX+8PdlRT0J25nv3FradTvgHSGqV+FN h8/5C/XwdwZcmMtrYUpLgTECkN+pmRmu9NlR5/+4sbcmMxjOeyAwczbxVnrUrYZ/ia2d PrXUCLgMHX4R/AfF1mnet0/w6B0lCmfxlL3h7sqFs7WnZf2SRttG3jz8Xl8XSaXW3zWH fxtg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=nEIo5l1dz2H/hmg65HrIRUk+msuIaYKQ/ITRPZHGE7o=; b=a+KEd8v80uJ5upKEWpHiERIkyJ+9cM9rsBVuwo//lHje5sRsmhwIjBUG1GOuzY+YoM +KAIt074bauAk04DuXbWJn+3rVR3d9zDNl3N6rihvm3HH8U7LliGo2/meB6EFD1uDoD4 H6QpmdTwLnlRHZcSEzjnyEXQgKitstQOnp3Ay/rxc7lCh462/P7pP4aHX/l/sbz84T6O bI4/WtGY8KuGki64ouJXKIW+K71TYi5KPbC26V4s1eO4wTW9ad4TUXSjuaD4F/E5e3EW kOXZEaNNGhdoKQxexq5c5mZCY6+O6AZ45GSrab+s7y2Wu4tqURONP4JzTfEXx6FS7f2Q T5uQ==
X-Gm-Message-State: ALKqPwcDwFO13r+9Pzng1AiIXX3vlVGn4kj5EEw+YU0Ud1nS+2485MC5 1yGdraGviFUIMJljPCbWfZwT3V3x+HJeD2476nfRCA==
X-Google-Smtp-Source: AB8JxZrOo8MtNljdB1N2keHf3YMySAx4rrz+DI6uovHGGGv+XU5NQuorQrRwAMhcow1Nm/kI7i4JIy3w0e70UkKGAaM=
X-Received: by 2002:a0d:e8c2:: with SMTP id r185-v6mr239761ywe.27.1526069552556; Fri, 11 May 2018 13:12:32 -0700 (PDT)
MIME-Version: 1.0
Received: by 2002:a25:d014:0:0:0:0:0 with HTTP; Fri, 11 May 2018 13:12:31 -0700 (PDT)
In-Reply-To: <>
References: <>
From: Spencer Dawkins at IETF <>
Date: Fri, 11 May 2018 15:12:31 -0500
Message-ID: <>
Cc: tsvwg-chairs <>,, Gorry Fairhurst <>
Content-Type: multipart/alternative; boundary="000000000000953e12056bf3c1f5"
Archived-At: <>
Subject: Re: [tsvwg] Publication has been requested for draft-ietf-tsvwg-rfc4960-errata-05
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: Transport Area Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 11 May 2018 20:12:39 -0000

Dear Authors,

On Wed, Apr 18, 2018 at 1:50 AM, Gorry Fairhurst <>

> Gorry Fairhurst has requested publication of draft-ietf-tsvwg-rfc4960-errata-05
> as Informational on behalf of the TSVWG working group.
> Please verify the document's state at
> doc/draft-ietf-tsvwg-rfc4960-errata/

Thanks for doing this work (and even more so, for being willing to provide
an updated RFC to implementers, at some point in the future).

I've completed AD evaluation for this draft, and have comments, but almost
all of them are requests for clarifications.

I'd like to work through them with you before requesting Last Call. Please
let me know if you have questions.



A high-order bit here ...

I'm not sure why this draft isn't standards-track, and I wonder if there's
a reason it doesn't UPDATE RFC 4960, unless that's a side effect of being
an Informational draft that would update a standards-track RFC.

I'm thinking that this draft has achieved WG consensus, and if it's
published after Last Call, it would have IETF consensus, and it's been
reviewed by implementers. We've certainly published Proposed Standards that
didn't measure up to that level of document quality.

I'm not objecting strongly to publishing as Informational, but I am saying
that I expect other ADs to ask that question during IESG Evaluation, and
I'd like to understand the thinking before someone asks …

I note without suggesting a change that if the material in Section 3 was
presented in this order

3.n.1   Description of the Problem

3.n.3.  Solution Description

3.n.2.  Text Changes to the Document

   Old text:

   New text:

to allow readers to see the solution description before reading the
detailed text changes, that would likely be easier to parse ...

I'm reading this text from the Abstract

   Because some text is changed several times the last delta in the
   text is the one which should be applied.  In addition to the delta a
   description of the problem and the details of the solution are also

as saying that the deltas are cumulative, so you should apply the last
change to specific text, but this text from Section 1

  Note that when reading this document one must use care to assure that
   a field or item is not updated further on within the document.  Each
   section should be applied in sequence to the original [RFC4960] since
   this document is a historical record of the sequential changes that
   have been found necessary at various inter-op events and through
   discussion on the list.

seems to say that you should apply multiple deltas to the same text
sequentially. IIUC, the text actually does provide cumulative text deltas,
so using the phrasing from the Abstract in both places would be helpful to
the reader.

This is a nit, but why is "Inconsistent" capitalized in this text?

  The handling of the 'Path.Max.Retrans' parameter is described in
   Section 8.2 and Section 8.3 of [RFC4960] in an Inconsistent way.
reports a few problems with references. I THINK this is a side effect of
updating (for example) [RFC2434] to be [RFC5226], and then updating
[RFC5226] to be [RFC8126]. If this was my draft, I'd put a note to the RFC
Editor that obsoleted RFCs are used in "OLD TEXT" sections, and should have
the obsoleting RFCs in the "NEW TEXT" sections, so multiple reviewers won't
ask you about the IDNIT reporting multiple times.

I'm probably due for an eye exam, but I'm not seeing any difference between

   Old text: (Section 1.6)

   Transmission Sequence Numbers wrap around when they reach 2**32 - 1.
   That is, the next TSN a DATA chunk MUST use after transmitting TSN =
   2*32 - 1 is TSN = 0.


   New text: (Section 1.6)

   Transmission Sequence Numbers wrap around when they reach 2**32 - 1.
   That is, the next TSN a DATA chunk MUST use after transmitting TSN =
   2**32 - 1 is TSN = 0.

What am I missing?

In this text,

  Move the sample code related to CRC32c computation and its
   explanation from the end of Appendix C to the end of Appendix B.

I'm pretty sure I can figure out what text/code actually moves from
Appendix C to Appendix B, but I am figuring that out myself. Perhaps it
would be clearer if you said something like "all of Appendix C starting
with this sentence to the end of Appendix B".

   The following non-normative sample code is taken from an open-source
   CRC generator [WILLIAMS93], using the "mirroring" technique and
   yielding a lookup table for SCTP CRC32c with 256 entries, each 32
   bits wide.

(If I guessed wrong, that's likely because the fix says "code and its
explanation", which sounds like "everything following the beginning of the
code", but the explanation comes before the code)

If I'm following closely, the errata described as

  Section 7.2.2 of [RFC4960] is unclear about the order of adjustments
   applied to partial_bytes_acked and cwnd in the congestion avoidance

is actually clear about the order - assuming that you read left to right,
it's just clearly wrong :-)

At the risk of asking a technical question ;-)

  The counter SHOULD be reset each time a DATA chunk sent to that peer
   endpoint is acknowledged (by the reception of a SACK). When a
   HEARTBEAT ACK is received from the peer endpoint, the counter SHOULD
   also be reset. The receiver of the HEARTBEAT ACK MAY choose not to
   clear the counter if there is outstanding data on the association.
   This allows for handling the possible difference in reachability
   based on DATA chunks and HEARTBEAT chunks.

why is not clearing the counter if there is outstanding data on the
association a good idea? (this was "shall", but is now "SHOULD")

I have a similar (MUST vs. SHOULD) question about

  Upon the receipt of the HEARTBEAT ACK, the sender of the HEARTBEAT
   SHOULD clear the error counter of the destination transport address
   to which the HEARTBEAT was sent, and mark the destination transport
   address as active if it is not so marked.

Why would not clearing the error counter be a good idea?

Section 3.21 has multiple occurrences of something like

  o  partial flag - if this returned flag is set to 1, then this
      Receive contains a partial delivery of the whole message.  When
      ^ this "Receive" is capitalized

      this flag is set, the stream id and Stream Sequence Number MUST
      accompany this receive.  When this flag is set to 0, it indicates
                     ^ this "receive" is not capitalized

      that no more deliveries will be received for this Stream Sequence

Is that intentional?