[Last-Call] Genart last call review of draft-ietf-tcpm-accurate-ecn-32

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Reviewer: Elwyn Davies
Review result: Ready with Nits

I am the assigned Gen-ART reviewer for this draft. The General Area
Review Team (Gen-ART) reviews all IETF documents being processed
by the IESG for the IETF Chair.  Please treat these comments just
like any other last call comments.

For more information, please see the FAQ at

<https://wiki.ietf.org/en/group/gen/GenArtFAQ>.

Document: draft-ietf-tcpm-accurate-ecn-32
Reviewer: Elwyn Davies
Review Date: 2025-02-16
IETF LC End Date: 2025-02-10
IESG Telechat date: 2025-02-20

Summary:
This specification is mind-blowingly complex and I have no idea whether it is
technically self-consistent or whether it would actually deliver the specified
aims.  As far as I can see it is well written and clearly can be implemented. 
There are some nits that should be sorted out and some minor layout
improvements are desirable.  The main issue I would have is that I am not
really sure what parts need to be implemented to deliver the 'essential
feedback' basic option, or indeed whether such a partial implementation would
be relevant as opposed to it being what happens if badly implemented or
intrusive middleboxes get in the way and the behavious defaults to the
essentials.  There are a number of abbreviations that might be better combined
into the Terminology section with the existing pieces rather than being defined
in line... it is inconsistent.

Aside: I am amused that some 25 years on from when I started work in the IETF,
I am reviewing a document that is a new version of ones that were being worked
on back then - DiffServ and the original congestion notification!

Major issues:
None

Minor issues:
s2:  I am not sure that I could definitely assure myself that I knew which
parts of the specification were required to deliver the 'essential (feedback)
part' and what was only needed for the supplementary part. Section 6 has some
comments but I am not sure that it will truly help.

s2.3, para 3: Where can one find the analysis that backs up the assertion of
needing an infeasibly long sequence of ACK losses?

Nits/editorial comments:

Global: s/e.g. /e.g., /g (25 places), s/i.e. /i.e., /g (3 places) PS Not sure
you should use I.e. to start a sentence (s3.2.2.1).

Abstract and s1:  The term 3-way handshake is a well known term of art
referring to TCP connection setup but it needs a reference for the less well
aware. I note that RFC 9293 uses the form three-way handshake rather than 3-way
handshake - this document uses the two forms inconsistently.  Thus:

In Abstract:

OLD:
exploited to feed back the IP-ECN field received during the 3-way handshake as
well. NEW: additionally exploited to feed back the IP-ECN field received during
the three-way handshake that is used to establish a TCP connection as described
in RFC 9293 and RFC 3168. END

In s1.3:  The term 3-way/three-way handshake ought to be included in the
Terminology section (s1.3)

In s3.2.2.3, the abbreviation 3WHS is introduced as am abbreviation for
'three-way handshake'  and used a further 4 times.   The abbreviation should be
defined in s1.3.

In s1.4, the usage of ECN or otherwise is negotiated during connection set up
as part of the 3-wqy handshake. I suggest modifying the start of para 2: OLD:
Once ECN has been negotiated for a transport layer connection, NEW: Once ECN
has been negotiated for a transport layer connection using the three-way
connection establishment protocol,

Title of s3.1.1 and beginning of s3.1.1, para 2: s/TCP handshake/TCP three-way
handshake/

****** End of stuff about 3-way handshake

Reason and Reasoning items:  I suggest that the document should use one of
these terms throughout for consistency.  In the majority of cases, the
reason(ing) is separated from the normative instructions into a separate
paragraph.  I think this is a good idea and would be good to apply it to all
cases. It might also be sensible to use the XML quoted paragraph format for the
reasoning paragraphs to distinguish them from the normative text.

In s1. para 1, next to last sentence: s/as dast as/as fast as/

In s1, para 2; definition of AccECN in s1.3; s2, third bullet of second set of
bullets; and s8, last sentence:  Maybe (for consistency with Classic ECN
feedback) s/accurate ECN feedback/Accurate ECN feedback/.  Linked to this, s8,
last sentence: s/classic ECN/Classic ECN/ (all the other cases are right!)

Starting in s2:  To avoid any possible ambiguity, I suggest using 'essential
feedback' and 'supplementary feedback' to to refer to the two AccECN use cases
described in the two bullet points in s2.  There are five places where
essential is used (one does not need modification) and four where supplementary
is used where it would be helpful to expand the name.

s2, para 4 (second bullet): s/rationale for/rationale determining that/, s/is
preferred over/should be preferred over/

s2.2, para 1: s/excluding the TCP header or TCP options./excluding the TCP
header and TCP options./ (I think)

s2.2, last sentence: s/in opposite order/in the opposite order/

s3.1.1, para 2: s/TCP Server (B)/TCP Server (host B)/ for clarity after TCP
Client (host A)

s3.1.1, last para: SACK and DSACK need to be expanded.

Table 2: suggest labelling first two columns Host A and Host B.

s3.1.5 contains:

*  Any implementation that supports AccECN:

       ...........

      -  SHOULD ignore the TCP-ECN flags in SYNs or SYN/ACKs that are
         received after the implementation reaches the Established
         state, in line with the general TCP approach [RFC9293];

What might it do if it decides not to ignore this case?

s3.2.2.1, Note 3: s/spec/document/

s3.2.2.4, para 3: This piece would be clearer with the 'reason' separated out
and the three items mentioned set out as a numbered list.

s3.2.2.4, para 5:  I take it that 'the first packet... that arrives' refers to
the wording in para 3 of this section. but it does not duplicate the partial
wording in para 3 precisely.  A more definite connection and/or accurate
wording is needed.

s3.2.2.5.1, para 7:  Need to expand AQM  (Active Queue Management I assume).

s3.2.2.5.1, last para: s/spec/specification/ (2 places)



-- 
last-call mailing list -- last-call@xxxxxxxx
To unsubscribe send an email to last-call-leave@xxxxxxxx




[Index of Archives]     [IETF Annoucements]     [IETF]     [IP Storage]     [Yosemite News]     [Linux SCTP]     [Linux Newbies]     [Mhonarc]     [Fedora Users]

  Powered by Linux