<?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.30 (Ruby 3.4.5) -->
<?rfc strict="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>
<rfc xmlns:xi="http://www.w3.org/2001/XInclude" ipr="trust200902" docName="draft-ietf-core-yang-sid-pen-01" category="info" submissionType="IETF" tocDepth="4" tocInclude="true" sortRefs="true" symRefs="true" version="3">
  <!-- xml2rfc v2v3 conversion 3.30.1 -->
  <front>
    <title abbrev="SID ranges for PEN holders">YANG-CBOR: Allocating SID ranges for PEN holders</title>
    <seriesInfo name="Internet-Draft" value="draft-ietf-core-yang-sid-pen-01"/>
    <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="September" day="22"/>
    <area>Applications and Real-Time Area (art)</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>YANG-CBOR</keyword>
    <abstract>
      <?line 45?>

<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 employs 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-ietf-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/core-wg/sid-pen"/>.</t>
    </note>
  </front>
  <middle>
    <?line 63?>

<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 employs 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>Private Enterprise Numbers (PENs) are registered in
<xref target="IANA.enterprise-numbers"/> in a low-threshold, low-overhead
registration process.
At the time of writing (~ 37 years after
creating this registry), around 65 000 PENs are registered.
We speak of the registrant for a PEN as the "PEN holder".</t>
      <t>The present 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 use the SID numbers
3 ppp pp0 000 to 3 ppp pp9 999.</t>
        </li>
      </ul>
    </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>To this PEN holder, the present specification confers control over the
SID ranges:</t>
      <ul spacing="normal">
        <li>
          <t>3<strong>03 081 0</strong>00 000 up to 3<strong>03 081 0</strong>99 999, and</t>
        </li>
        <li>
          <t>3 <strong>308 10</strong>0 000 up to 3 <strong>308 10</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
typographic forms.)</t>
    </section>
    <section anchor="discussion">
      <name>Discussion</name>
      <t>This allocation provides an extremely-low-threshold (zero-interaction)
way for PEN holders to get number space for the YANG SIDs used in
their YANG modules.
If a PEN is not already available to the entity needing such number
space, it can be obtained in a very low-threshold process.
Employing this number space 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, in some cases this 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 (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 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>
        <reference anchor="IANA.enterprise-numbers" target="http://www.iana.org/assignments/enterprise-numbers">
          <front>
            <title>Enterprise Numbers</title>
            <author>
              <organization>IANA</organization>
            </author>
            <date/>
          </front>
        </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>
        <referencegroup anchor="STD16" target="https://www.rfc-editor.org/info/std16">
          <reference anchor="RFC1155" target="https://www.rfc-editor.org/info/rfc1155">
            <front>
              <title>Structure and identification of management information for TCP/IP-based internets</title>
              <author fullname="M.T. Rose" initials="M.T." surname="Rose"/>
              <author fullname="K. McCloghrie" initials="K." surname="McCloghrie"/>
              <date month="May" year="1990"/>
              <abstract>
                <t>This RFC is a re-release of RFC 1065, with a changed "Status of this Memo", plus a few minor typographical corrections. The technical content of the document is unchanged from RFC 1065. [STANDARDS-TRACK]</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="16"/>
            <seriesInfo name="RFC" value="1155"/>
            <seriesInfo name="DOI" value="10.17487/RFC1155"/>
          </reference>
          <reference anchor="RFC1212" target="https://www.rfc-editor.org/info/rfc1212">
            <front>
              <title>Concise MIB definitions</title>
              <author fullname="M.T. Rose" initials="M.T." surname="Rose"/>
              <author fullname="K. McCloghrie" initials="K." surname="McCloghrie"/>
              <date month="March" year="1991"/>
              <abstract>
                <t>This memo describes a straight-forward approach toward producing concise, yet descriptive, MIB modules. This memo defines a format for producing MIB modules. [STANDARDS-TRACK]</t>
              </abstract>
            </front>
            <seriesInfo name="STD" value="16"/>
            <seriesInfo name="RFC" value="1212"/>
            <seriesInfo name="DOI" value="10.17487/RFC1212"/>
          </reference>
        </referencegroup>
      </references>
    </references>
    <?line 172?>

<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:
H4sIAAAAAAAAA7VY3W4buRW+51MQzkVkVaOVLNsbqz+IYzupgTYJbC+CdrsF
qBlKIjwznCU5lhXDRW/7Fr7ok7hv0ifpd0jOaOQkTbZAc6F4OOThd/6/M0mS
sJspnzCW6bQUhZzyzIi5S5R08yTVRiZrUS4Sq7KkkmWSCyetY065HFt/xzj/
0/HbN8nJq3cXU36c5zoVTpULfnl+yg0OSsvn2vD3Z2/5UueZNJaJ2cxI3Pnf
thgpIK6qckXydGm5KDN+IUWeXKlC8mNs4D1h3C5bLab8vHTSlNLxs3KhSikN
QbgS9pq/1iaV7Ho13eBkEDnlqpxrZh3kFDh/dvWaPeMpLpKlre2UO1NLVqkp
FMQmleLE87W0z/HsdLr1kMnKLbGyT892XRg5t5sNVhu3vZLqohJdgbaebdZK
/ZyJ2i21mbIEKHHwZMhfaVOIssTm4KMTYayTZWddG9jhh1LdwH7K/eufjr8y
ssCWqz+fByWkhPz32rq5SJd8Mhnt748IjnLrKT9N9l5MDo7iIY+yLp3BmzeS
rlhjqVrqEnfv/Gr/KNnfGyd74xfJ4eRob7yDl7IQKp/yVMz0S/dRDYGHsRtZ
1pJsuDC6rgBbX5zhKW5FcL2kMPN7sUe5ZT0L68lq8V0MOcZKUtJBM5J08frk
aO9gf8p9WKYzbeLiwdFBPIuDWDs/fns8lBQYlVFWJmVdzGAbeF6UwgumENiW
PB4dHtCfl1en48Mpf0ZrfDw+OBjwS5lSIPLJcDzcZyxJEi5msCq8xlgbWwN/
ggDyH/+K9+PkJ8aav5Baco7wtLgh/KNz/DJdwnj83MmCq1MgVnMFoLwX3p6f
7g74ItczkedrXpfq51ryw0kyU66VU5dWLUqZIV6cXNDh2uLJaa4yL3AdrlK4
ww7bYx4r7Nbg4iuxtnRKhESW3C2llYTBcl2257DKZ8IqLM69nbmRC0V5IiE9
6LvXar5Hml/hSGUgrHTcVjKFjiGzEThVruna5qrmdtW5sZDpUpTKFtvwYvlY
IXL4eDR6fBiNRtE2AbREqLdCqMrQAqEmFeYKScTH/lQ4GutPo1YS1JJGZq2Q
90bd0NVnbWTxtyGyeA8lzMJZAohkntP/2wDDJZO9X4bvCbhhCL5CZVkuGaoW
ip/RWe3DsxOK/O4uaXPk/v5pPHr/eN/95Uc40kiEFVTNuvb9bgkVmofspw2U
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

-->

</rfc>
