Transport Options for UDP
draft-ietf-tsvwg-udp-options-45
Yes
(Zaheduzzaman Sarker)
No Objection
Gunter Van de Velde
Jim Guichard
Orie Steele
(Murray Kucherawy)
Note: This ballot was opened for revision 39 and is now closed.
Erik Kline
Yes
Comment
(2025-03-02 for -41)
Sent
# Internet AD comments for draft-ietf-tsvwg-udp-options-39 CC @ekline * comment syntax: - https://github.com/mnot/ietf-comments/blob/main/format.md * "Handling Ballot Positions": - https://ietf.org/about/groups/iesg/statements/handling-ballot-positions/ ## Comments ### Appendix A * Out of curiosity, what happens (or is supposed to happen) if UDP_JUNK is enabled? ## Nits ### S6 * "A mechanism that requires bidirectionally" -> "A mechanism that requires bidirectionality"? ### S10 * "trying to defining meaning" -> "trying to define meaning" ### S11.3 * "embedded ports numbers" -> "embedded port numbers" ### S11.4 * "no larger no larger" -> "no larger" ### S11.7 * "in which case and REQ/RES" -> "in which case REQ/RES"
Éric Vyncke
(was Discuss)
Yes
Comment
(2025-03-15 for -43)
Sent
Thanks for quickly addressing my previous DISCUSS. I have kept my previous comments below for archiving purpose only. See also: https://mailarchive.ietf.org/arch/msg/tsvwg/-VPfuPWFvj5HHtZF67eq9OLzG2w/ This is a simple and brilliant technique -éric ## Previous DISCUSS (for archiving) As noted in https://www.ietf.org/blog/handling-iesg-ballot-positions/, a DISCUSS ballot is just a request to have a discussion on the following topics: ### Section 7 `UDP_Length = IPv4_Total_Length - IPv4_IHL * 4` this formula is incorrect in the presence of IPsec (ESH/AH) in transport mode or IPcomp. ### Section 8 `Option area bytes used for alignment before the OCS MUST be zero` What is the expected receiver behaviour when these octets are not zero ? ### Interaction with RFC 9298 I was expected some text about RFC 9298 "Proxying UDP in HTTP" as it may affect UDP options; i.e., at least some words about this RFC should appear in this document. ## Previous COMMENTS (for archiving only) ### Abstract s/end of the IP length/end of the IP datagram length/ ? ### Section 3 s/IP header and an IP payload area/IP header, IP extension headers (if any), and an IP payload area/ ? s/that all implementations are required to support/that all implementations MUS to support/ ? About the SAFE options, should there already be some words about the middleboxes ? ### Section 4 To my non-English reader's eyes "Internet historians suggest a number of reasons why UDP includes this field" would read easier than `There are a number of reasons why Internet historians suggest that UDP includes this field` Wow Teredo is still worth referring to... (ignore this comment of course) ### Section 5 I was about to ballot a DISCUSS on this text ``` They enable capabilities available in other transport protocols, such as fragmentation and reassembly, that enable UDP frames larger than the IP MTU to traverse devices that rely on transport ports, e.g., NATs. ``` As both TCP & UDP messages can be fragmented by IPv6/IPv4 layer in several IPv6/IPv4 fragments without the need of anything at layer-4. Of course, this requires stateful NAT/NAT64 devices to handle this correctly. So, either the text is unclear (i.e., I misread it) or is plain wrong. This sentence *SHOULD* really be rewritten, e.g., by including "stateless middleboxes". Should there be a reference for `UDP was originally intended to assume such capabilities` ? ### Section 9 What are `errant middleboxes` ? ### Section 10 Is there any reason why the field is "Kind" rather than the usual "Type" as in TLV? Even if obvious, please state the unit of the Length field. Suggest adding some leading text between figure 6 and the indented specification paragraphs. s/Option lengths MUST NOT exceed the IP length /The sum of all option lengths MUST NOT exceed the IP length / ? ### Section 11.1 `Bytes after EOL in the surplus area or the options area of a UDP fragment MAY be checked as being zero on receipt, ` should this rather be a MUST to avoid the side channel? I.e., the receiver will be made aware of something wrong happening. ### Section 11.3 Should there be informal reference to `including iSCSI` ? `UDP packets with incorrect APC checksums SHOULD be passed to the application, e.g., with a flag indicating APC failure` unsure whether 'e.g.,' is safe here, mandating an CRC violation signal to the application seems mandatory to me. ### Section 11.4 This is probably the section that is the most contentious from my view... Fragmentation is done in layer-3 usually (for the better or the worse) so having *TWO* fragmentation layers seems useless (beside stateless NAT), redundant, and possibly having side effects related to path MTU discovery. Notably, because TCP and its options do not have a similar mechanism and nobody has every complained (I can be wrong though). At the bare minimum, add "stateless NAT" in ``` FRAG includes a copy of the same UDP transport ports in each fragment, enabling them to traverse Network Address (and port) Translation (NAT) devices, in contrast to the behavior of IP fragments [RFC4787]. ``` Is there any implementation of HW acceleration as in ``` When present, placing FRAG first can simplify some implementations, notably those using hardware acceleration that assume a fixed location for the FRAG option. ``` ? ### Sections 11.5 and 11.6 Should there be some text about the usefulness of these options in the case of a unidirectional UDP flow ? ### Section 11.8 No need to reply, but this section seems to be an attempt to have a TCP-like transport above UDP. Anyway, it does not hurt... ### Section 18 A blast from the past `Windows Cygwin` ;-) (no need to reply) ## NITS (non-blocking / cosmetic) ### Use of SVG graphics To make a much nicer HTML rendering, suggest using the aasvg too to generate SVG graphics. It is worth a try especially when using Markdown format ;-)
Deb Cooley
No Objection
Comment
(2025-03-05 for -42)
Not sent
Thanks to Paul Wouters for their secdir review (circa 2023)!!! I found this draft to be easy to read. Thanks to the authors and working group for that effort.
Gunter Van de Velde
No Objection
Jim Guichard
No Objection
Mahesh Jethanandani
No Objection
Comment
(2025-03-04 for -42)
Sent
I too enjoyed reading the document and the design to address any issues the addition of the header may cause in existing deployment. Section 24, paragraph 0 > 24. Network Management Considerations > IP Flow Information Export Information Elements for UDP options have > been defined in [Bo24]. Thank you for adding a section on management considerations. From a monitoring perspective, I can imagine that if someone wanted to write a YANG model, they could look at what is being exported via IPFIX. Does it mean there is no configuration required to enable/disable this feature? If so, a statement to that effect would provide clarity. ------------------------------------------------------------------------------- NIT ------------------------------------------------------------------------------- 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. Section 6, paragraph 1 > hat of the UDP packet itself. Past experience confirms that static length li > ^^^^^^^^^^^^^^^ Consider using "experience". Section 8, paragraph 4 > the surplus area from errors in a similar way that the UDP checksum protect > ^^^^^^^^^^^^^^^^ Consider replacing this phrase with the adverb "similarly" to avoid wordiness. Section 10, paragraph 18 > gram. If an option other than these four occurs more than once, a receiver MU > ^^^^^^^^^^^^^^^^^ The verb "occurs" is singular. Did you mean: "these four occur"? Section 10, paragraph 33 > used as padding, e.g., to align multi-byte options along 16-bit, 32-bit, or > ^^^^^^^^^^ This word is normally spelled as one. Section 11.4, paragraph 51 > ed per-fragment, the reported value is be the minimum of the MRDS values rece > ^^^^^ Consider using either the present participle "is being" here. Section 11.4, paragraph 52 > ons provides UDP packet-level acknowledgements as a capability for use by up > ^^^^^^^^^^^^^^^^ Do not mix variants of the same word ("acknowledgement" and "acknowledgment") within a single text. Section 11.6, paragraph 1 > Echo Reply (TSecr) are used in a similar manner to the TCP TS option [RFC732 > ^^^^^^^^^^^^^^^^^^^ Consider replacing this phrase with the adverb Section 11.7, paragraph 2 > uting the check), the latter in a similar manner as per TCP-AO NAT traversal > ^^^^^^^^^^^^^^^^^^^ Consider replacing this phrase with the adverb "similarly" to avoid wordiness. Section 11.8, paragraph 14 > r, in sequence) UDP options, in a similar manner as TCP-AO-ENC [To18]. 12.3. > ^^^^^^^^^^^^^^^^^^^ Consider replacing this phrase with the adverb "similarly" to avoid wordiness. Section 25.2, paragraph 2 > ExIDs) are intended for use in a similar manner as TCP ExIDs [RFC6994]. Both > ^^^^^^^^^^^^^^^^^^^ Consider replacing this phrase with the adverb "similarly" to avoid wordiness. Section 27.1, paragraph 6 > bugging purposes, and is not intended be enabled otherwise. System variables > ^^ It seems that "to" is missing before the verb.
Orie Steele
No Objection
Paul Wouters
No Objection
Comment
(2025-03-05 for -42)
Not sent
Thanks to Paul Wouters for the early SecDir review :-) These items were discussed at the time, see https://mailarchive.ietf.org/arch/msg/secdir/bysSyp7Ana5IPHc6F8KGl41XxSg/
Roman Danyliw
(was Discuss)
No Objection
Comment
(2025-03-10 for -42)
Sent
Thank you to Robert Sparks for the GENART review. Thank you for addressing my feedback.
Zaheduzzaman Sarker Former IESG member
Yes
Yes
(for -39)
Unknown
John Scudder Former IESG member
(was Discuss)
No Objection
No Objection
(2025-03-15 for -43)
Sent
I reviewed version 43 and that's enough to clear my DISCUSS; thanks. I hope you'll consider my remaining COMMENTs, https://mailarchive.ietf.org/arch/msg/tsvwg/DRPlVGhdK-SpruVoWeh2afHxiwU/
Murray Kucherawy Former IESG member
No Objection
No Objection
(for -42)
Not sent