<?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" ?>

<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-yang-sid-pen-06" category="std" consensus="true" submissionType="IETF" xml:lang="en" number="9997" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.34.0 -->
  <link href="https://datatracker.ietf.org/doc/draft-ietf-core-yang-sid-pen-06" rel="prev"/>
  <front>
    <title abbrev="SID Ranges for PEN Holders">YANG-CBOR: Allocating SID Ranges for Private Enterprise Number (PEN) Holders</title>
    <seriesInfo name="RFC" value="9997"/>
    <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="2026" month="July"/>
    <area>WIT</area>
    <workgroup>core</workgroup>
    <keyword>YANG-CBOR</keyword>
    <abstract>
      <?line 57?>

<t>YANG-CBOR (RFC 9254, "Encoding of Data Modeled with YANG in the
Concise Binary Object Representation (CBOR)") defines
    YANG Schema Item iDentifiers (YANG SIDs), globally unique 63-bit
    unsigned integers used to identify YANG items. RFC 9595
("YANG Schema Item iDentifier (YANG SID)") defines ways to allocate these SIDs using
    IANA registries.</t>
      <t>The present specification employs these SID allocation mechanisms to
   allocate ranges of 100 000 SIDs (representation size 64 bits) 
   to each holder of an IANA Private Enterprise Number (PEN) of a value 
   below 1 000 000.  Holders of PENs of
   values smaller than 100 000 are also allocated ranges of 10 000 SIDs 
   (representation size 32 bits).</t>
    </abstract>
  </front>
  <middle>
    <?line 80?>

<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. <xref target="RFC9595"/> defines ways to allocate these SIDs using
    IANA registries.</t>
      <t>The present specification employs these SID allocation mechanisms to
   allocate ranges of 100 000 SIDs (representation size 64 bits) 
   to each holder of an IANA Private Enterprise Number (PEN) of a value 
   below 1 000 000.  Holders of PENs of
   values smaller than 100 000 are also allocated ranges of 10 000 SIDs 
   (representation size 32 bits).</t>
      <t>IANA has allocated a mega-range with
100 billion SIDs (representation size 64 bits) for the SID numbers 300 000 000 000 to 399 999 999 999.</t>
      <t>IANA has also allocated a mega-range with
1 billion SIDs (representation size 32 bits) for the SID numbers 3 000 000 000 to 3 999 999 999.</t>
      <t>PENs are registered in
<xref target="IANA.enterprise-numbers"/> using a low-threshold, low-overhead
registration process.
At the time of writing (~38 years after
registry creation), around 66 000 PENs are registered.
In this document, the registrant for a PEN is referred to as the "PEN holder".</t>
      <t>This specification makes the following SID ranges available to
certain (current or future) PEN holders for allocation in a scheme defined
by the holder:</t>
      <ul spacing="normal">
        <li>
          <t>The holder of a PEN ppp ppp (&lt; 1 000 000) can use the SID numbers
3pp ppp p00 000 to 3pp ppp p99 999.</t>
        </li>
        <li>
          <t>The holder of a PEN pp ppp (&lt; 100 000) can also use the smaller SID numbers
3 ppp pp0 000 to 3 ppp pp9 999.</t>
        </li>
      </ul>
    </section>
    <section anchor="example-sid-range-allocation-for-holder-of-pen-32473">
      <name>Example: SID Range Allocation for Holder of PEN 32473</name>
      <t><xref target="RFC5612"/> allocated Enterprise Number 32473 "for use in examples
in RFCs, books, documentation, and the like".</t>
      <t>If this Enterprise Number had an actual PEN holder, the present
specification would confer control over the following SID ranges to the holder:</t>
      <ul spacing="normal">
        <li>
          <t>3<strong>03 247 3</strong>00 000 up to 3<strong>03 247 3</strong>99 999, and</t>
        </li>
        <li>
          <t>3 <strong>324 73</strong>0 000 up to 3 <strong>324 73</strong>9 999.</t>
        </li>
      </ul>
      <t>(The plaintext form of this document shows "*" characters around the
digits conveying the PEN, which are shown in <strong>boldface</strong> in the other renditions.)</t>
      <t>As Enterprise Number 32473 is intended to be used in documentation,
the SIDs in the two SID ranges 
are consequently also available for use in documentation.</t>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>

<t>This document assigns two mega-ranges as an extremely-low-threshold (zero-interaction) way for a PEN holder to obtain a number space for the YANG
  SIDs used in their YANG modules.  If a PEN is not already available
  to the entity needing such a number space, it can be obtained through a very
  low-threshold process.  However, use of values in these mega-ranges is not
  always the recommended approach for a module author:</t>
      <ul spacing="normal">
        <li>
          <t>In the larger of the two spaces, each SID number needs a
representation size of 64 bits ("64-bit SIDs").
(This larger representation size of the absolute value of the SID is
of comparatively little consequence due to the delta-encoding used for
SIDs in YANG-CBOR.)</t>
        </li>
        <li>
          <t>For the holders of PENs with values less than 100 000 in the 
  "Private Enterprise Numbers (PENs)" registry, there is another smaller 
  space of SID numbers that need a representation size of 32 bits 
  ("32-bit SIDs"). By or around 2040, the PENs with a value less than 
  100 000 are likely to be exhausted; the expectation is that there will be
  enough opportunities by that time to request SID ranges within mega-ranges 
  already allocated by other registrants that this mechanism is less needed.</t>
        </li>
        <li>
          <t>This document does not define infrastructure to discover the YANG module
behind a SID in one of its ranges. Of course, each PEN holder can provide such infrastructure,
but even then the problem of how to find that infrastructure
for a SID remains.  (Search engines may mitigate this somewhat.)
On the other hand, in some cases this relative obscurity may be exactly what a PEN
holder wants to achieve by using this mechanism.  </t>
          <t>
If obscurity is not the intention, one or both of the following
approaches are encouraged:  </t>
          <ul spacing="normal">
            <li>
              <t>The PEN holder can provide a public repository where their YANG
models can be found alongside the applicable SID files.
Such a repository may be easy to set up using a popular git forge
such as, at the time of writing, GitHub.</t>
            </li>
            <li>
              <t>Implementations that employ PEN-based SIDs can facilitate
   information discovery by providing a form of a
   YANG library <xref target="RFC8525"/>, possibly a constrained version
   <xref target="I-D.ietf-core-yang-library"/>.</t>
            </li>
          </ul>
        </li>
      </ul>
      <t>Relying on the PEN registry might theoretically trigger a land grab
of PEN assignments by prospective writers of YANG modules.
However, PENs have been around for decades (see <xref section="3.1.4" sectionFormat="of" target="RFC1065"/>, which continues to be in force with no technical changes as
Section <xref target="RFC1155" section="3.1.4" sectionFormat="bare"/> of RFC 1155 <xref target="STD16"/>), and such a land grab has not
occurred for the other allocations implicitly provided by obtaining a
PEN.</t>
    </section>
    <section anchor="iana-considerations">
      <name>IANA Considerations</name>
      <t>As summarized in <xref target="tab-allocations"/>, this document allocates the following two mega-ranges (<xref section="6.3" sectionFormat="of" target="RFC9595"/>) in the "YANG-SID Mega-Ranges" registry 
within the "YANG SIDs" registry group <xref target="IANA.yang-sid"/>:</t>
      <ul spacing="normal">
        <li>
          <t>1 billion SIDs ranging from 3 000 000 000 up to 3 999 999 999 (32-bit
representation size)</t>
        </li>
        <li>
          <t>100 billion SIDs ranging from 300 000 000 000 up to 399 999 999 999 (64-bit
representation size)</t>
        </li>
      </ul>
<table anchor="tab-allocations">
        <name>YANG-SID Mega-Range Allocations for Use by PEN Holders</name>
        <thead>
          <tr>
            <th align="left">Entry Point</th>
            <th align="left">Size</th>
            <th align="left">Allocation</th>
            <th align="left">Org Name</th>
            <th align="left">URL</th>
          </tr>
        </thead>
        <tbody>
          <tr>
            <td align="left">3 000 000 000</td>
            <td align="left">1 000 000 000</td>
            <td align="left">Private</td>
            <td align="left">IANA</td>
            <td align="left">https://rfc-editor.org/info/rfc9997</td>
          </tr>
          <tr>
            <td align="left">300 000 000 000</td>
            <td align="left">100 000 000 000</td>
            <td align="left">Private</td>
            <td align="left">IANA</td>
            <td align="left">https://rfc-editor.org/info/rfc9997</td>
          </tr>
        </tbody>
      </table>
      <t>IANA has marked the following ranges as Reserved for Documentation:</t>
      <ul spacing="normal">
        <li>
          <t>303 247 300 000 up to 303 247 399 999</t>
        </li>
        <li>
          <t>3 324 730 000 up to 3 324 739 999</t>
        </li>
      </ul>
      <t>An additional 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" (see <xref section="6.3.2" sectionFormat="of" target="RFC9595"/>).
The URL is that of the present specification.</t>
      <t>The management of each SID block of 100 000 SIDs, ranging from
3pp ppp p00 000 to 3pp ppp p99 999, is delegated to the PEN holder
for PEN ppp ppp (i.e., the PEN holder for ppp ppp controls SID
3pp ppp p00 000 to 3pp ppp p99 999).</t>
      <t>Similarly, the management of each SID block of 10 000 SIDs,
ranging from 3 ppp pp0 000 to 3 ppp pp9 999, is delegated to the PEN holder
for PEN pp ppp (i.e., the PEN holder for pp ppp controls SID
3 ppp pp0 000 to 3 ppp pp9 999).</t>
      <t><xref section="6.3.2" sectionFormat="of" target="RFC9595"/> requires an organization that requests an
entry in the "YANG-SID Mega-Ranges" registry to ensure the technical
capacity to manage the SID ranges within those mega-ranges for a
period of at least 10 years (Private ranges).
The individual SID ranges within the mega-ranges allocated in this
document are assigned through the registration of PEN numbers.
The technical capacity to ensure the sustained operation of the PEN
number registry is derived from the demonstrated capacity of IANA to
maintain this registry as well as the importance of a functioning PEN
number registry in other contexts.</t>
    </section>
    <section anchor="security-considerations">
      <name>Security Considerations</name>
      <t>The Security Considerations of <xref section="5" sectionFormat="of" target="RFC9595"/> and 
<xref section="8" sectionFormat="of" target="RFC9254"/> apply.
In particular, the fact that a certain Private Enterprise Number
appears in a SID is not an indicator of provenance, i.e., it does not
guarantee that the SID or underlying YANG model actually
originates from the holder of that PEN.
The requirement to ascertain the authoritative source of this
information, as discussed in the above security considerations, remains.</t>
    </section>
  </middle>
  <back>
    <displayreference target="I-D.ietf-core-yang-library" to="core-yang-library"/>
    <references anchor="sec-combined-references">
      <name>References</name>
      <references anchor="sec-normative-references">
        <name>Normative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9254.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9595.xml"/>
        <reference anchor="IANA.enterprise-numbers" target="https://www.iana.org/assignments/enterprise-numbers">
          <front>
            <title>Private Enterprise Numbers (PENs)</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </reference>
        <reference anchor="IANA.yang-sid" target="https://www.iana.org/assignments/yang-sid">
          <front>
            <title>YANG SIDs</title>
            <author>
              <organization>IANA</organization>
            </author>
          </front>
        </reference>
      </references>
      <references anchor="sec-informative-references">
        <name>Informative References</name>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1065.xml"/>
        <referencegroup anchor="STD16" target="https://www.rfc-editor.org/info/std16">
          <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1155.xml"/>
          <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.1212.xml"/>
        </referencegroup>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.5612.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-core-yang-library.xml"/>
        <xi:include href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8525.xml"/>
      </references>
    </references>
    <?line 251?>

<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"/> on how to handle <contact fullname="Rob Wilton's"/> feedback.</t>
    </section>
  </back>

</rfc>
