Skip to main content

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.