Publishing End-Site Prefix Lengths
draft-ietf-opsawg-prefix-lengths-14
Yes
Mahesh Jethanandani
No Objection
Jim Guichard
Ketan Talaulikar
Recuse
Note: This ballot was opened for revision 08 and is now closed.
Éric Vyncke
Yes
Comment
(2025-11-28 for -08)
Sent
# Éric Vyncke INT AD comments for draft-ietf-opsawg-prefix-lengths-08 CC @evyncke Thank you for the work put into this document. This document addresses a real issue especially for IPv6 networks. Please find below some non-blocking COMMENT points/nits (replies would be appreciated even if only for my own education). Special thanks to John Levine for the shepherd's detailed write-up including the WG consensus (noting only 4 reviewers :-( ...) *but it lacks* the justification of the intended status especially since this I-D could have been BCP or informational. Other thanks to Sheng Jiang, the Internet directorate reviewer, that reviewed this I-D as "ready": https://datatracker.ietf.org/doc/review-ietf-opsawg-prefix-lengths-08-intdir-lc-jiang-2025-11-09/ I hope that this review helps to improve the document, Regards, -éric Note: this ballot comments follow the Markdown syntax of https://github.com/mnot/ietf-comments/tree/main, i.e., they can be processed by a tool to create github issues. ## COMMENTS (non-blocking) ### Intended status Did the WG discuss whether this I-D should be published as BCP or informational rather than PS ? ### Section 1 Should there be a reference to `CAPTCHA` ? E.g., in 10 years, people may wonder what this was about... Is it really only an IPv6 issue in `prefix size for IPv6 geolocation` ? Why "should" rather than "must" in `In all places inetnum: is used, inet6num: should also be assumed` ? ### Section 3 s/using Carrier-Grade NAT (CGN) [RFC6598]/using Carrier-Grade NAT (CGN) [RFC6598] *or proxies*/ ### Section 3.1 `Note the third field being set to '1', which signals the absence of CGN or proxies.` why not empty in this case ? I.e., what is the meaning of an empty 3rd field ? ### Section 3.2 Except for the first sentence, all the rest of this section appears to work only with CGN and not proxies. Please clarify that this is also applicable to proxies. ### Section 3.3 `If both the second and third fields are empty, this means that the publisher does not want to disclose any prefix length information.` should really be in section 3. (note: I hesitated to raise a blocking DISCUSS on this point). ### Section 3.4 This section (longest prefix) must appear before section 3.3 as section 3.3 example uses longest prefix match. ### Section 3.5 Why not a "MUST" in `Publishers SHOULD take measures to ensure there is one and only one entry per prefix` and in `consumer implementations SHOULD skip that entry` ? Please define `significant horizontal scale` or use other terms. `This document also suggests an optional signature` should probably be in the introduction section. ### Section 4 What an ugly nightmare to be backward compatible... Why does this I-D proposes `extref: Prefixlen` in addition to `prefixlen:` ? The client then would have to process only `prefixlen:` and `remarks: Prefixlen`. I am also unclear why not only `prefixlen:` having intermediate steps can be cumbersome on the long term as 'remarks: Prefixlen' will probably stay forever. ### Section 5 Does the discussion about RDAP vs. WHOIS relevant to this I-D ? IMHO, it is much broader, i.e., it does not belong within this I-D. Why restricting to only unsigned files `When reading data from an unsigned prefixlen file, one MUST ignore data outside the referring inetnum: object's address range.` ? I do not see why signed files can escape this common sense check. ### Section 6 Why using an IP address range rather than the usual prefix notation used through all this I-D in `The RPKI Signature's IP address range MUST match that of the prefixlen URL in the inetnum: that points to the prefixlen file.` ? ### Section 7 This section contains the first use of NIR and LIR. Should this rather be done in the introduction or terminology by stating (like for the equivalence of IPv4 and IPv6) that "using RIR for RIR/LIR/NIR"? Isn't the last paragraph implicit by the normal use of HTTP (and associated CDN/proxies)? ### Section 8 s/At the time of publishing this document/In November 2025/ `the "NetRange" attribute/key must be treated as "inetnum", and the "Comment" attribute must be treated as "remarks".` should this be part of section 4 ? Of course at the obvious risk of offering even more choices :-( ## NITS (non-blocking / cosmetic) ### draft-ietf-regext-rdap-geofeed As indicated by id-nit, draft-ietf-regext-rdap-geofeed is now RFC 9877, please update the references. ### e.g. s/ e.g./, e.g.,/ s/i.e./, i.e.,/
Mahesh Jethanandani
Yes
Andy Newton
(was Discuss)
No Objection
Comment
(2025-12-04 for -12)
Sent
Thanks very much for the work on this document and the discussion during IESG evaluation.
Deb Cooley
(was Discuss)
No Objection
Comment
(2025-12-04 for -10)
Sent
Thanks for resolving my (Sean's?) discuss. I've left the comments below for historical reasons. Thanks to Valery Smyslov for their secdir review. This is well outside my normal area of expertise, however I had a couple of comments. It isn't clear to me that there are no answers (which is why I didn't discuss them). Section 6: So what is the chance that this is ever used? And if used, what is the chance that it will be done properly? [according to Section 9, para 4, 'not happening anytime soon'.] Section 9: So the choices are implement this with weak or no authentication, or with complex, stronger authentication (where the struggle will be doing it securely/properly)?
Gorry Fairhurst
No Objection
Comment
(2025-11-24 for -08)
Not sent
Thanks for the work is described in this document. I do not see any transport-related concerns for this document. The following is probably not the most obvious formulation of words to see in a future RFC;-). "If signatures were mandatory, the above attack would be stymied, but of course that is not happening anytime soon."
Jim Guichard
No Objection
Ketan Talaulikar
No Objection
Mike Bishop
No Objection
Comment
(2025-12-02 for -08)
Sent
Generally speaking, this document is solid. My one overall feedback would be to improve the equality of presentation between IPv4 and IPv6, rather than presenting a primarily-IPv4 mechanism with an aside that IPv6 works the same way. ## COMMENTS (non-blocking) ### Empty fields Section 3 says "The first field MUST NOT be empty on lines which are not comments, while the second and third field can be empty in certain scenarios." However, the only instance where the second or third field can be empty is mentioned in Section 3.3, where both are empty. Please consider clarifying the first statement to indicate that one empty field is valid only when both are empty, and replace/augment the "in certain scenarios" with a forward-reference to this one scenario. (Or if there are other scenarios, describe them.) ### Abstract, Scheme Considering that "scheme" is a technical term with implications across much of the IETF, consider choosing an alternate word -- "mechanism", perhaps? Section 1 uses "means", while Section 6 refers to it as "an optional authenticator". Either of those seem fine. ### Section 1, IPv4/6 wording Blocking/throttling: Variable prefix lengths aren't a trait of IPv4. Consider wording this to reflect that while the lengths will differ between IP versions, the overarching problem is the same. ### Section 4, clarity The first sentence of Section 4 probably needs its commas adjusted to help parse the outer sentence correctly; consider parentheses instead: CURRENT: The original RPSL specifications starting with [RIPE81], [RIPE181], and a trail of subsequent documents were written by the RIPE community. CONSIDER: The original RPSL specifications ([RIPE81], [RIPE181], and a trail of subsequent documents) were written by the RIPE community. OR PERHAPS: The RIPE community produced the original RPSL specifications: [RIPE81], [RIPE181], and a trail of subsequent documents. ## NITS (non-blocking) - Section 4, "can not" => "cannot"
Roman Danyliw
(was Discuss)
No Objection
Comment
(2025-12-04 for -11)
Sent for earlier
(revised ballot for -11) Thank you to Roni Even for the GENART review. Thank for addressing my DISCUSS feedback and parts of my COMMENT feedback. ** Section 6 Unfortunately, the RPSL in some repositories is weakly authenticated at best. What does “weakly authenticated” mean? ** Section 9 If signatures were mandatory, the above attack would be stymied, but of course that is not happening anytime soon. Perhaps explain the “… of course that is not happening anytime soon” by articulating “why not”.
Mohamed Boucadair
Recuse
Comment
(2025-11-20 for -08)
Not sent
As I have disclosed an IPR for the document.
Erik Kline Former IESG member
Yes
Yes
(2025-11-21 for -08)
Not sent
# Internet AD comments for draft-ietf-opsawg-prefix-lengths-08 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 ### S3 * Consider possibly referencing RFC 4180 for CSV.
Paul Wouters Former IESG member
(was Discuss, No Objection)
Yes
Yes
(2025-12-04 for -11)
Sent
Thanks for the quick response. I have updated my ballot to Yes
Orie Steele Former IESG member
No Objection
No Objection
(2025-12-01 for -08)
Sent
# Orie Steele, ART AD, comments for draft-ietf-opsawg-prefix-lengths-08 CC @OR13 * line numbers: - https://author-tools.ietf.org/api/idnits?url=https://www.ietf.org/archive/id/draft-ietf-opsawg-prefix-lengths-08.txt&submitcheck=True * 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 ### Signing Canonicalization & UTF-8 ``` 138 prefixlen files are CSV (Comma Separated Values) files in UTF-8 139 [RFC3629] text format; not HTML, richtext, or other formats. Lines 140 MUST be delimited by a line break (CRLF), and blank lines MUST be 141 ignored. Text from a '#' character to the end of the current line 142 MUST be treated as a comment only and is similarly ignored. The 143 first field of each non-ignored line specifies the prefix in 144 question, the second field the end-site prefix length within that 145 prefix as an integer, and the third field the number of end-sites 146 within an end-site prefix length for networks using Carrier-Grade NAT 147 (CGN) [RFC6598]. Note that all three fields MUST be present. This 148 means there MUST be exactly two commas in each non-commented line 149 delimiting the three fields. The first field MUST NOT be empty on 150 lines which are not comments, while the second and third field can be 151 empty in certain scenarios. ``` ... later ... ``` 412 The canonicalization procedure converts the data from their internal 413 character representation to the UTF-8 [RFC3629] character encoding, 414 and the <CRLF> sequence MUST be used to denote the end of each line 415 of text. A blank line is represented solely by the <CRLF> sequence. 416 For robustness, any non-printable characters MUST NOT be changed by 417 canonicalization. Trailing blank lines MUST NOT appear at the end of 418 the file. That is, the file must not end with multiple consecutive 419 <CRLF> sequences. Any end-of-file marker used by an operating system 420 is not considered to be part of the file content. When present, such 421 end-of-file markers MUST NOT be covered by the digital signature. ``` You might find https://datatracker.ietf.org/doc/rfc9839/ helpful for being more precise about the repertoire. This text seems to suggest that the first and second fields can contain non-printable characters, and whitespace. A more restricted ABNF might be helpful here.