<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
<!-- generated by https://github.com/cabo/kramdown-rfc version 1.7.26 (Ruby 3.4.1) -->
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-bormann-core-yang-sid-pen-02" category="info" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.28.0 -->
  <front>
    <title abbrev="SID ranges for PEN holders">YANG-CBOR: Allocating SID ranges for PEN holders</title>
    <seriesInfo name="Internet-Draft" value="draft-bormann-core-yang-sid-pen-02"/>
    <author initials="C." surname="Bormann" fullname="Carsten Bormann">
      <organization>Universität Bremen TZI</organization>
      <address>
        <postal>
          <street>Postfach 330440</street>
          <city>D-28359 Bremen</city>
          <country>Germany</country>
        </postal>
        <phone>+49-421-218-63921</phone>
        <email>cabo@tzi.org</email>
      </address>
    </author>
    <date year="2025" month="March" day="19"/>
    <area>Applications and Real-Time Area (art)</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>YANG-CBOR</keyword>
    <abstract>
      <?line 43?>

<t>YANG-CBOR, RFC 9254 defines
    YANG Schema Item iDentifiers (YANG SID), globally unique 63-bit
    unsigned integers used to identify YANG items.
    RFC 9595 defines ways to allocate these SIDs on
    the basis of IANA registries.</t>
      <t>The present specification uses these SID allocation
    mechanisms to allocate ranges with 100 000 63-bit SIDs each
    for each of the first 1 000 000 holders of IANA-registered
    Private Enterprise Numbers (PENs), as well as ranges with 10 000 32-bit SIDs each
    for each of the first 100 000 holders.</t>
    </abstract>
    <note removeInRFC="true">
      <name>About This Document</name>
      <t>
        Status information for this document may be found at <eref target="https://datatracker.ietf.org/doc/draft-bormann-core-yang-sid-pen/"/>.
      </t>
      <t>
        Discussion of this document takes place on the
        CoRE Working Group mailing list (<eref target="mailto:core@ietf.org"/>),
        which is archived at <eref target="https://mailarchive.ietf.org/arch/browse/core/"/>.
        Subscribe at <eref target="https://www.ietf.org/mailman/listinfo/core/"/>.
      </t>
      <t>Source for this draft and an issue tracker can be found at
        <eref target="https://github.com/cabo/sid-pen"/>.</t>
    </note>
  </front>
  <middle>
    <?line 61?>

<section anchor="introduction">
      <name>Introduction</name>
      <t>YANG-CBOR, <xref target="RFC9254"/> defines
    YANG Schema Item iDentifiers (YANG SID), globally unique 63-bit
    unsigned integers used to identify YANG items.
    RFC 9595 defines ways to allocate these SIDs on
    the basis of IANA registries.</t>
      <t>The present specification uses these SID allocation
    mechanisms to allocate ranges with 100 000 63-bit SIDs each
    for each of the first 1 000 000 holders of IANA-registered
    Private Enterprise Numbers (PENs), as well as ranges with 10 000 32-bit SIDs each
    for each of the first 100 000 holders.</t>
      <t>IANA [is requested to allocate/has allocated] 100 000 mega-ranges, for the SID numbers
300 000 000 000 to 399 999 999 999.</t>
      <t>IANA also [is requested to allocate/has allocated] 1000 mega-ranges, for the SID numbers
3 000 000 000 to 3 999 999 999.</t>
      <t>The holder of a PEN ppp ppp then can use the SID numbers
3pp ppp p00 000 to 3pp ppp p99 999 for allocation in a scheme defined
by the holder.
The holder of a PEN pp ppp then can use the SID numbers
3 ppp pp0 000 to 3 ppp pp9 999 for allocation in a scheme defined
by the holder.</t>
    </section>
    <section anchor="example">
      <name>Example</name>
      <t>The Department for Mathematics and Computer Science of <contact fullname="Universität Bremen"/> holds PEN 30810.</t>
      <t>This confers control over the SID range
303 081 000 000 up to
303 081 099 999,
as well as
3 308 100 000 up to
3 308 109 999 up to
to this PEN holder.</t>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <t>This allocation provides an extremely-low-threshold way for PEN holders
to get number space for the YANG SIDs used in their YANG modules.
It is, however, not always the approach to recommend to a module author:</t>
      <ul spacing="normal">
        <li>
          <t>The large space uses 64-bit numbers.  While this is of relatively little
consequence due to the delta-encoding used for SIDs in YANG-CBOR, a
few further bytes can be saved by allocating the SIDs in one of the
mega-ranges that are specifically allocated by an organization
(which, for the first 2000 or so, will lead to 32-bit outer deltas).</t>
        </li>
        <li>
          <t>For the first 100 000 PEN holders, there also is a smaller space that
uses 32-bit numbers.
This space is likely to run out before or around 2040; the
expectation is that by that time there will be enough opportunities
to request ranges from a megarange operator that this mechanism is
no longer needed.</t>
        </li>
        <li>
          <t>This space has no infrastructure to discover the YANG module behind
a SID.  Of course, each PEN holder can provide such infrastructure,
but even then the problem remains how to find that infrastructure
for a SID.  (Search engines may mitigate this somewhat.)
On the other hand, relative obscurity may be exactly what a PEN
holder wants to achieve by using this mechanism.</t>
        </li>
      </ul>
      <t>Relying on the PEN registry might theoretically trigger a land-grab by
prospective writers of YANG modules.  However, PENs have been around
for decades <xref target="RFC1065"/> and such a land-grab hasn't occurred for the other
allocations implicitly provided by obtaining a PEN.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>This document allocates 100 000 63-bit and 1000 32-bit SID mega-ranges
as per <xref section="7.4" sectionFormat="of" target="RFC9595"/>.</t>
      <t>The contact for the allocation is: IETF CORE Working Group
      (core@ietf.org) or IETF Applications and Real-Time Area
      (art@ietf.org)</t>
      <t>The allocation policy inside the mega-range is "private".
The URL is that of the present specification.</t>
      <t>The management of the SID blocks of 100 000 SIDs each, 10 such blocks
for each mega-range 3nn nnn 000 000, is delegated to the PEN holder
for nnn nnx, where x is the sequence number of the SID block in the
mega-range (i.e., the PEN holder for nnn nnx controls SID
3nn nnn x00 000 to 3nn nnn x99 999).</t>
      <t>Similarly, the management of the SID blocks of 10 000 SIDs each, 100 such blocks
for each mega-range 3 nnn 000 000, is delegated to the PEN holder
for nn nxx, where x is the sequence number of the SID block in the
mega-range (i.e., the PEN holder for nn nxx controls SID
3 nnn xx0 000 to 3 nnn xx9 999).</t>
      <t>The technical capacity to ensure the sustained operation of the
registry for a period of at least 10 years (as required for registries
of class "private") is derived from the capacity of IANA to maintain
the PEN number registry.</t>
    </section>
  </middle>
  <back>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <reference anchor="RFC9254">
          <front>
            <title>Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="A. Pelov" initials="A." surname="Pelov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2022"/>
            <abstract>
              <t>YANG (RFC 7950) is a data modeling language used to model configuration data, state data, parameters and results of Remote Procedure Call (RPC) operations or actions, and notifications.</t>
              <t>This document defines encoding rules for YANG in the Concise Binary Object Representation (CBOR) (RFC 8949).</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9254"/>
          <seriesInfo name="DOI" value="10.17487/RFC9254"/>
        </reference>
        <reference anchor="RFC9595">
          <front>
            <title>YANG Schema Item iDentifier (YANG SID)</title>
            <author fullname="M. Veillette" initials="M." role="editor" surname="Veillette"/>
            <author fullname="A. Pelov" initials="A." role="editor" surname="Pelov"/>
            <author fullname="I. Petrov" initials="I." role="editor" surname="Petrov"/>
            <author fullname="C. Bormann" initials="C." surname="Bormann"/>
            <author fullname="M. Richardson" initials="M." surname="Richardson"/>
            <date month="July" year="2024"/>
            <abstract>
              <t>YANG Schema Item iDentifiers (YANG SIDs) are globally unique 63-bit unsigned integers used to identify YANG items. SIDs provide a more compact method for identifying those YANG items that can be used efficiently, notably in constrained environments (RFC 7228). This document defines the semantics, registration processes, and assignment processes for YANG SIDs for IETF-managed YANG modules. To enable the implementation of these processes, this document also defines a file format used to persist and publish assigned YANG SIDs.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="9595"/>
          <seriesInfo name="DOI" value="10.17487/RFC9595"/>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <reference anchor="RFC1065">
          <front>
            <title>Structure and identification of management information for TCP/IP-based internets</title>
            <author fullname="K. McCloghrie" initials="K." surname="McCloghrie"/>
            <author fullname="M.T. Rose" initials="M.T." surname="Rose"/>
            <date month="August" year="1988"/>
            <abstract>
              <t>This RFC provides the common definitions for the structure and identification of management information for TCP/IP-based internets. In particular, together with its companion memos, which describe the initial management information base along with the initial network management protocol, these documents provide a simple, working architecture and system for managing TCP/IP-based internets and in particular, the Internet. This memo specifies a draft standard for the Internet community. TCP/IP implementation in the Internet which are network manageable are expected to adopt and implement this specification.</t>
            </abstract>
          </front>
          <seriesInfo name="RFC" value="1065"/>
          <seriesInfo name="DOI" value="10.17487/RFC1065"/>
        </reference>
      </references>
    </references>
    <?line 152?>

<section numbered="false" anchor="acknowledgments">
      <name>Acknowledgments</name>
      <t>This document was inspired by the discussion of the authors of
<xref target="RFC9254"/> and <xref target="RFC9595"/> how to handle <contact fullname="Rob Wilton's"/> feedback.</t>
    </section>
  </back>
  <!-- ##markdown-source:
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
A2Pxz5EUAAA=

-->

</rfc>
