Tom,

I think one word has been doing too much work in this exchange, and your
LACNIC example is what made it clear to me, so thank you for it.

I have not been proposing the relation in place of the redirect. I have
been proposing it on top of one. The registry still redirects for
transport, so an unchanged client asking for the more specific resource
lands on the holder's record exactly as it does today. That is the whole of
your backwards compatibility concern, and I want to meet it head on: the
most specific answer stays reachable with no client change. rdap-base-down
is not the path to that answer, it is a second, optional thing on the
covering object that says a subordinate service exists and lets a client
that cares enumerate and cross the boundary deliberately. no_redirects is
the third piece, for a client that wants the registry's own record as well
as the child's. Redirect for compatibility, relation for discovery, flag
for the parent. Not one instead of another.

On registro.br, I read that as the in-system case rather than a counter to
it. registro.br is a registry, and LACNIC redirects to it because LACNIC
has been configured to: the pointer lives in the system and the
bootstrap-plus-redirect chain reaches it. That is exactly the RIR and NIR
situation I agreed needs no new machinery. The case the draft is scoped to
is narrower: a holder running RDAP for delegations below its own
allocation, records the RIR keeps out of its database by design, on a
server no one has configured the RIR to point at. Where the holder does
register that pointer with the registry, I am happy for the server to
redirect, and to say so with a MUST, which I think is the requirement you
asked for earlier. What the relation adds in that case is only what the
bare redirect cannot give: that a delegation exists at all, and that
answering it crossed out of the registry's own data.

So I think we are closer than the last few mails suggest. If I write -01 as
"the server MUST still redirect, and MAY additionally advertise
rdap-base-down, with no_redirects available to a client that wants both
records," does that resolve the compatibility objection for you? If it
does, the remaining question is purely editorial: whether this lives as
INR-specific text in a separate document, as you suggested, or as a section
in the referrals draft. I have no strong view and will go wherever the
chairs think causes least confusion.

All the best,
Kaveh

On Wed, Jul 15, 2026 06:37 AM, Tom Harrison <[email protected]> wrote:

> Hi Kaveh,
>
> On Mon, Jul 13, 2026 at 10:30:29AM +0100, Kaveh Ranjbar wrote:
> > On the authority boundary I think we are talking past each other,
> > and that is my fault for not scoping it sharply. Your examples are
> > all inside the registry system: an RIR serving its own direct
> > delegations alongside members' records, or an RIR mirroring an NIR
> > and returning the most-specific it holds. I agree completely that
> > there is no boundary to expose there and no client change is
> > warranted. An RIR delegates to an NIR, the NIR decides whether to
> > expose user-space detail or not, and either way the answer is still
> > served by a registry the bootstrap already points to.  The RIR
> > boundary stays the RIR boundary, and RFC 9224 longest-match does
> > exactly the right thing.
> >
> > The draft is not about that case. It is about the resource whose
> > subordinate detail is held by neither the RIR nor an NIR, but by the
> > holder, on the holder's own RDAP server,
>
> These aren't mutually exclusive situations, though.  Per earlier
> comments, we at APNIC are open to redirecting to an NIR's RDAP server
> for queries for that NIR's resources, if an NIR deploys such a server.
> Possibly more relevantly, LACNIC already do this today with nic.br:
>
>     $ dig +short registro.br
>     200.160.2.3
>     $ curl -s -L https://rdap.lacnic.net/rdap/ip/200.160.2.3 | jq
> '.links[] | select(.rel == "self")'
>     {
>       "value": "https://rdap.registro.br/ip/200.160.0.0/20";,
>       "rel": "self",
>       "href": "https://rdap.registro.br/ip/200.160.0.0/20";,
>       "type": "application/rdap+json"
>     }
>     $
>
> > which is not in the IANA bootstrap and cannot be reached by
> > longest-match at all.  There is no most-specific record for the
> > client to land on, because the registry does not hold one, by
> > design. That is a genuine crossing out of the registry system, not a
> > more-specific lookup within it, and it is the only case this draft
> > speaks to.
>
> It seems to me that this is putting too much emphasis on the specific
> RDAP server that is encoded in the bootstrap file.  Apart from the
> fact that HTTP redirects can be used to get the client to the account
> holder's server automatically, the other key consideration is that in
> the normal course of things, the RDAP user is going to see the same
> data regardless of whether that data is hosted by the RIR itself or by
> the relevant account holder.  It's not as though all RDAP-related
> actions taken by an account holder in a hosted system are audited by
> registry staff before being accepted.
>
> > Which is also why it is backwards-compatible in the way your concern
> > asks for. Because these holder servers are off-bootstrap, nothing
> > about existing most-specific expectations against RIR or NIR data
> > changes. A client that ignores rdap-base-down is exactly as well off
> > as it is today.
>
> The fact that an unchanged client will get the same response
> post-deployment as it does pre-deployment does not alter the
> backwards-compatibility concerns here.  Assuming the draft were
> implemented as-is, the most-specific relevant RDAP response would then
> be available only to clients that had been updated to support the
> draft.
>
> -Tom
>
_______________________________________________
regext mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to