Internet-Draft private-sid-translation June 2026
Toutain Expires 3 December 2026 [Page]
Workgroup:
Constrained RESTful Environments (CoRE)
Internet-Draft:
draft-toutain-core-private-sid-translation-00
Published:
Intended Status:
Standards Track
Expires:
Author:
L. Toutain
IMT Atlantique

Private SID Translation for CORECONF

Abstract

This document describes a mechanism for translating privately assigned YANG SID values to globally allocated SIDs, enabling constrained devices to use compact local identifiers while remaining interoperable with standard CORECONF implementations.

Status of This Memo

This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.

Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.

Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."

This Internet-Draft will expire on 3 December 2026.

Table of Contents

1. Introduction

YANG SID identifiers [I-D.ietf-core-sid] are designed to be globally unique, ensuring that any node from any YANG Data Model can be unambiguously identified without conflict across implementations and deployments. SIDs are compact integers, far smaller than their ASCII path equivalents, and their delta encoding in CBOR maps [RFC9254] further reduces the on-wire size.

However, on very constrained networks — such as LPWANs operating under strict duty cycles or satellite links with tight bandwidth budgets — even a few extra bytes per message can have a significant impact on energy consumption and transmission cost. In these environments, the globally allocated SID values, which may require two or more bytes in CBOR encoding, can still be considered too large.

This document defines a mechanism for using small negative integers as private SID aliases. Negative SIDs have no meaning in the global allocation scheme and encode in a single byte in CBOR for values in the range -1 to -24. A device can therefore maintain a local translation table mapping each official SID to a private negative alias, use the compact alias in all on-air exchanges, and perform the substitution to the canonical SID when interoperability with standard CORECONF implementations is required.

For reason of simplicity this translation is purely arithmetic and applied to the whole module.

This approach is intended for closed deployments where both endpoints share the same translation table and full CORECONF interoperability is not a requirement.

1.1. Requirements Language

The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

2. Private SID Computation

Each YANG Data Model is assigned a contiguous range of globally allocated SIDs. The private SID translator uses that allocation to derive a compact negative alias for every node in the model according to the following formula:

privateSID = (offset - 1) - (current_sid - entry_point)

where:

With offset = 0, the node whose current_sid equals entry_point maps to -1, the next node maps to -2, and so on. The resulting private SIDs form a dense sequence of negative integers starting from -1, each encoding in a single byte in CBOR for values in the range -1 to -24 [RFC8949].

The inverse translation is:

current_sid = entry_point - (privateSID - offset + 1)

Both endpoints MUST be configured with identical values of entry_point and offset for the translation to be consistent. The translation table is therefore fully determined by these two parameters together with the official SID range of the model.

2.1. Offset

The offset parameter allows multiple YANG Data Models to be translated into non-overlapping regions of the private SID space.

The first module SHOULD use offset = 0, so that its first node maps to private SID -1 and the translated range starts at the most compact encoding possible.

When a second module must also be translated, its offset MUST be set so that its range does not overlap with the first module. If the first module covers N SIDs (i.e., its official SID range has N entries), then the second module MUST use:

offset = -N

More generally, each additional module uses an offset equal to the negative of the cumulative number of SIDs already allocated to previously translated modules. This ensures that all private SIDs remain distinct and that each endpoint can unambiguously determine which module a received private SID belongs to.

3. Processing and Interoperability

Private SID translation is a wire-encoding optimization applied exclusively when transmitting or receiving datastore elements over a constrained link. It MUST NOT be used as an internal representation for data processing.

Any validation, comparison, augmentation, or other processing of YANG data MUST be performed using the official SID values. An implementation MUST translate incoming private SIDs back to their official counterparts before passing data to any processing layer, and MUST translate outgoing data to private SIDs only at the point of serialization.

If a YANG Data Model has not been configured for private SID translation, its SIDs are transmitted as-is, using their official values. Translation is therefore purely opt-in per model: untranslated models and translated models can coexist within the same message, each identified by whether the SID falls in the negative (private) or positive (official) range.

4. Use Cases

4.1. SCHC Management

SCHC [RFC8724] compresses IPv6, UDP, and CoAP headers by applying rules stored in a Static Context shared between two entities. When the Static Context needs to be updated, management messages must be exchanged between these two entities.

In this deployment, the only YANG Data Model in use is the SCHC Rule Data Model [RFC9363]. Both endpoints are pre-configured with the same private SID translation table covering exactly that model, and no other YANG module is expected to be exchanged over the link. There is therefore no risk of SID collision with another data model, and full CORECONF interoperability with third-party implementations is not required.

The SCHC SID allocation [RFC9363] has already been manually designed to optimize delta encoding: nodes are ordered so that consecutive siblings stay within a delta range of 23, which allows each CBOR map key to be encoded in a single byte.

However, SCHC rules make extensive use of identityref leaves (field-id, direction-indicator, matching-operator, comp-decomp-action) to allow easy extensibility. Unlike map keys, identityref values are encoded as absolute SIDs, not as deltas. Even though the SCHC SIDs are relatively small (around 2550-2950), each identityref value still requires 3 bytes of CBOR encoding. A typical rule entry contains four such identityrefs, contributing 12 bytes per field entry in overhead.

Private SID translation addresses both costs: delta keys become small negative integers (one byte each), and identityref values mapped into the -1 to -24 range also encode in a single byte, reducing the per-entry identityref overhead from 12 bytes to 4.

Note that if the Data Model is augmented, the additional nodes can either be covered by a separate private SID zone defined with offset or left with their official SIDs.

An illustration of this translation applied to an IPv6/UDP/CoAP compression rule is provided in Section 5.1.

4.2. PEN

Private Enterprise Numbers (PENs) [RFC9371] are IANA-assigned identifiers used by organizations to define their own private SID ranges, following the formula described in [RFC9595]. Since PENs can reach values up to 2^32, the resulting SID values can be very large and require up to 9 bytes of CBOR encoding.

Even if delta encoding is used to limit the impact of large SID values, the base SID still appears in full at least once per message. The cost may therefore be significant for short messages such as FETCH or iPATCH requests.

4.3. Other SDOs

SID ranges are allocated globally by IANA following [RFC9595]. The IETF receives the first million values (1 to 999,999). Within this range, most IETF YANG Data Models are assigned SIDs in the low thousands, requiring at most 3 bytes of CBOR encoding per absolute value, and benefiting from single-byte delta keys within a well-ordered model.

Other Standards Development Organizations (SDOs) such as ETSI, 3GPP, or oneM2M receive ranges starting in the millions. Their SID values immediately require 5 bytes of CBOR encoding for absolute references, and even delta keys spanning tens of thousands of positions may cost 3 to 5 bytes. This represents a significant overhead for any deployment over constrained networks — precisely the environments where those SDOs are often active (e.g., NB-IoT, LoRaWAN, or Zigbee-based management).

Private SID translation levels this asymmetry: regardless of where a SID range falls in the global allocation, the entire model can be remapped to a dense set of small negative integers, giving any SDO the same on-wire efficiency that the IETF enjoys by virtue of its early allocation.

5. SID Allocation Strategy

The ordering of nodes within the official SID range directly determines which private SIDs they receive. Since the formula maps the node at entry_point to offset - 1 (e.g., -1 when offset=0), entry_point+1 to offset - 2 (e.g., -2), and so on, nodes that appear most frequently in on-wire messages SHOULD be allocated the lowest offsets from entry_point so that they receive the smallest private SIDs and benefit from single-byte CBOR encoding (values -1 to -24).

For a YANG Data Model containing identityref leaves, the values of those identities are the elements that appear most often in serialized instances. The SID allocation SHOULD therefore place the most-used identity values at the beginning of the range, ahead of structural nodes and less-frequent identities.

5.1. Example: SCHC Rule Data Model

In the SCHC Rule Data Model [RFC9363], every compression rule entry contains at least one Matching Operator (MO), one Compression/Decompression Action (CDA), and a Field Length function. These three categories of identityref appear in every field descriptor of every rule and are therefore the most bandwidth-sensitive values.

The allocation for the SCHC Rule Data Model uses entry_point = 2551 and offset = 0. The first 24 entries (private SIDs -1 to -24) cover MO, CDA, Direction Indicator, and Field Length identities, all encoding in a single CBOR byte. Field Identifiers (FID) start at rank 24 (private SID -25) and require two bytes, which remains acceptable since a FID appears once per field descriptor whereas MO, CDA, and FL appear in every entry.

 SID  Private  Identity
----  -------  ------------------------------
2551       -1  mo-equal
2552       -2  mo-ignore
2553       -3  mo-match-mapping
2554       -4  mo-msb
2555       -5  cda-not-sent
2556       -6  cda-value-sent
2557       -7  cda-mapping-sent
2558       -8  cda-lsb
2559       -9  cda-compute
2560      -10  cda-deviid
2561      -11  cda-appiid
2562      -12  di-bidirectional
2563      -13  di-down
2564      -14  di-up
2565      -15  fl-length-bits
2566      -16  fl-length-bytes
2567      -17  fl-token-length
2568      -18  fl-variable
2569      -19  fl-variable-bits
2570      -20  (reserved)
2571      -21  space-id-coap
2572      -22  (reserved)
2573      -23  (reserved)
2574      -24  (reserved)        ← last single-byte encoding
----  -------  ------------------------------
2575      -25  fid-ipv6-version
2576      -26  fid-ipv6-trafficclass
2577      -27  fid-ipv6-trafficclass-ds
2578      -28  fid-ipv6-trafficclass-ecn
2579      -29  fid-ipv6-flowlabel
2580      -30  fid-ipv6-payload-length
2581      -31  fid-ipv6-nextheader
2582      -32  fid-ipv6-hoplimit
2583      -33  fid-ipv6-deviid
2584      -34  fid-ipv6-devprefix
2585      -35  fid-ipv6-appiid
2586      -36  fid-ipv6-appprefix
2590      -40  fid-udp-dev-port
2591      -41  fid-udp-app-port
2592      -42  fid-udp-length
2593      -43  fid-udp-checksum
 ...      ...  ...
Figure 1: Private SID allocation for the SCHC Rule Data Model

The following figure shows an IPv6/UDP/CoAP compression rule with private SID translation applied. All delta keys in CBOR maps become negative because the private SID delta equals the negative of the official delta: p(child) - p(parent) = -(child - parent). Identityref values (field-id, direction-indicator, matching-operator, comp-decomp-action) are also replaced by their private SID aliases. Target values are encoded as h’hex’.

The following example shows the translation from a SCHC rule into the private SID address space. The start of the rule in JSON is given for clarity. The full Set or Rules contains 5 compression rules. The file before translation is 3994 byte long and after translation 3057, so a compression rate of 23 %.

{
  "ietf-schc:schc": {
    "rule": [
      {
        "entry": [
          {
            "entry-index": 0,
            "field-id": "ietf-schc:fid-ipv6-version",
            "field-length": 4,
            "field-position": 1,
            "direction-indicator": "ietf-schc:di-bidirectional",
            "matching-operator": "ietf-schc:mo-equal",
            "comp-decomp-action": "ietf-schc:cda-not-sent",
            "target-value": [
              {
                "index": 0,
                "value": "Bg=="
              }
            ]
          },
          {
            "entry-index": 1,
            "field-id": "ietf-schc:fid-ipv6-trafficclass",
            "field-length": 8,
            "field-position": 1,
            "direction-indicator": "ietf-schc:di-bidirectional",
            "matching-operator": "ietf-schc:mo-ignore",
            "comp-decomp-action": "ietf-schc:cda-value-sent",
            "target-value": [
              {
                "index": 0,
                "value": "AA=="
              }
            ]
          },
          {
            "entry-index": 2,
            "field-id": "ietf-schc:fid-ipv6-flowlabel",
            "field-length": 20,
            "field-position": 1,
            "direction-indicator": "ietf-schc:di-bidirectional",
            "matching-operator": "ietf-schc:mo-ignore",
            "comp-decomp-action": "ietf-schc:cda-value-sent",
            "target-value": [
              {
                "index": 0,
                "value": "AA=="
              }
            ]
          },

{2700: {23: [
  {23: [
    {1: 0,  2: 2575, 5: 4,  8: 1, 7: 2562, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'06'}]},
    {1: 1,  2: 2576, 5: 8,  8: 1, 7: 2562, 12: 2552, 16: 2556,
                              9: [{1: 0, 2: h'00'}]},
    {1: 2,  2: 2579, 5: 20, 8: 1, 7: 2562, 12: 2552, 16: 2556,
                              9: [{1: 0, 2: h'00'}]},
    {1: 3,  2: 2580, 5: 16, 8: 1, 7: 2562, 12: 2552, 16: 2559},
    {1: 4,  2: 2581, 5: 8,  8: 1, 7: 2562, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'11'}]},
    {1: 5,  2: 2582, 5: 8,  8: 1, 7: 2562, 12: 2552, 16: 2555,
                              9: [{1: 0, 2: h'ff'}]},
    {1: 6,  2: 2584, 5: 64, 8: 1, 7: 2562, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'2001066073015c4c'}]},
    {1: 7,  2: 2583, 5: 64, 8: 1, 7: 2562, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'0000000000000005'}]},
    {1: 8,  2: 2586, 5: 64, 8: 1, 7: 2562, 12: 2552, 16: 2556},
    {1: 9,  2: 2585, 5: 64, 8: 1, 7: 2562, 12: 2552, 16: 2556},
    {1: 10, 2: 2590, 5: 16, 8: 1, 7: 2562, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'1633'}]},
    {1: 11, 2: 2591, 5: 16, 8: 1, 7: 2562, 12: 2552, 16: 2556},
    {1: 12, 2: 2592, 5: 16, 8: 1, 7: 2562, 12: 2552, 16: 2559,
                              9: [{1: 0, 2: h'00'}]},
    {1: 13, 2: 2593, 5: 16, 8: 1, 7: 2562, 12: 2552, 16: 2559,
                              9: [{1: 0, 2: h'00'}]},
    {1: 14, 2: 2600, 5: 2,  8: 1, 7: 2562, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'01'}]},
    {1: 15, 2: 2601, 5: 2,  8: 1, 7: 2562, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'01'}]},
    {1: 16, 2: 2602, 5: 4,  8: 1, 7: 2562, 12: 2552, 16: 2556,
                              9: [{1: 0, 2: h'00'}]},
    {1: 17, 2: 2603, 5: 8,  8: 1, 7: 2562, 12: 2553, 16: 2557,
                              9: [{1: 0, 2: h'05'},
                                  {1: 1, 2: h'07'},
                                  {1: 2, 2: h'45'}]},
    {1: 18, 2: 2606, 5: 16, 8: 1, 7: 2562, 12: 2552, 16: 2556,
                              9: [{1: 0, 2: h'00'}]},
    {1: 19, 2: 2607, 5: CBORTag(45, 2566), 6: 16,
             8: 1, 7: 2562, 12: 2552, 16: 2556},
    {1: 20, 3: 2571, 4: 11, 5: CBORTag(45, 2568),
             8: 1, 7: 2563, 12: 2553, 16: 2557,
                              9: [{1: 0, 2: h'63'},
                                  {1: 1, 2: h'73'}]},
    {1: 21, 3: 2571, 4: 12, 5: CBORTag(45, 2568),
             8: 1, 7: 2563, 12: 2553, 16: 2557,
                              9: [{1: 0, 2: h'8d'},
                                  {1: 1, 2: h'8e'}]},
    {1: 22, 3: 2571, 4: 12, 5: CBORTag(45, 2568),
             8: 1, 7: 2564, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'8e'}]},
    {1: 23, 3: 2571, 4: 15, 5: CBORTag(45, 2568),
             8: 1, 7: 2563, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'643d30'}]},
    {1: 24, 3: 2571, 4: 17, 5: CBORTag(45, 2568),
             8: 1, 7: 2563, 12: 2551, 16: 2555,
                              9: [{1: 0, 2: h'8e'}]}],
  2: 0, 1: 5, 3: 2655},

{-151: {-23: [
  {-23: [
    {-1: 0,  -2: -25, -5: 4,  -8: 1, -7: -12, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'06'}]},
    {-1: 1,  -2: -26, -5: 8,  -8: 1, -7: -12, -12: -2, -16: -6,
                               -9: [{-1: 0, -2: h'00'}]},
    {-1: 2,  -2: -29, -5: 20, -8: 1, -7: -12, -12: -2, -16: -6,
                               -9: [{-1: 0, -2: h'00'}]},
    {-1: 3,  -2: -30, -5: 16, -8: 1, -7: -12, -12: -2, -16: -9},
    {-1: 4,  -2: -31, -5: 8,  -8: 1, -7: -12, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'11'}]},
    {-1: 5,  -2: -32, -5: 8,  -8: 1, -7: -12, -12: -2, -16: -5,
                               -9: [{-1: 0, -2: h'ff'}]},
    {-1: 6,  -2: -34, -5: 64, -8: 1, -7: -12, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'2001066073015c4c'}]},
    {-1: 7,  -2: -33, -5: 64, -8: 1, -7: -12, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'0000000000000005'}]},
    {-1: 8,  -2: -36, -5: 64, -8: 1, -7: -12, -12: -2, -16: -6},
    {-1: 9,  -2: -35, -5: 64, -8: 1, -7: -12, -12: -2, -16: -6},
    {-1: 10, -2: -40, -5: 16, -8: 1, -7: -12, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'1633'}]},
    {-1: 11, -2: -41, -5: 16, -8: 1, -7: -12, -12: -2, -16: -6},
    {-1: 12, -2: -42, -5: 16, -8: 1, -7: -12, -12: -2, -16: -9,
                               -9: [{-1: 0, -2: h'00'}]},
    {-1: 13, -2: -43, -5: 16, -8: 1, -7: -12, -12: -2, -16: -9,
                               -9: [{-1: 0, -2: h'00'}]},
    {-1: 14, -2: -50, -5: 2,  -8: 1, -7: -12, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'01'}]},
    {-1: 15, -2: -51, -5: 2,  -8: 1, -7: -12, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'01'}]},
    {-1: 16, -2: -52, -5: 4,  -8: 1, -7: -12, -12: -2, -16: -6,
                               -9: [{-1: 0, -2: h'00'}]},
    {-1: 17, -2: -53, -5: 8,  -8: 1, -7: -12, -12: -3, -16: -7,
                               -9: [{-1: 0, -2: h'05'},
                                    {-1: 1, -2: h'07'},
                                    {-1: 2, -2: h'45'}]},
    {-1: 18, -2: -56, -5: 16, -8: 1, -7: -12, -12: -2, -16: -6,
                               -9: [{-1: 0, -2: h'00'}]},
    {-1: 19, -2: -57, -5: CBORTag(45, -16), -6: 16,
              -8: 1, -7: -12, -12: -2, -16: -6},
    {-1: 20, -3: -21, -4: 11, -5: CBORTag(45, -18),
              -8: 1, -7: -13, -12: -3, -16: -7,
                               -9: [{-1: 0, -2: h'63'},
                                    {-1: 1, -2: h'73'}]},
    {-1: 21, -3: -21, -4: 12, -5: CBORTag(45, -18),
              -8: 1, -7: -13, -12: -3, -16: -7,
                               -9: [{-1: 0, -2: h'8d'},
                                    {-1: 1, -2: h'8e'}]},
    {-1: 22, -3: -21, -4: 12, -5: CBORTag(45, -18),
              -8: 1, -7: -14, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'8e'}]},
    {-1: 23, -3: -21, -4: 15, -5: CBORTag(45, -18),
              -8: 1, -7: -13, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'643d30'}]},
    {-1: 24, -3: -21, -4: 17, -5: CBORTag(45, -18),
              -8: 1, -7: -13, -12: -1, -16: -5,
                               -9: [{-1: 0, -2: h'8e'}]}],
  -2: 0, -1: 5, -3: -105},

Figure 2: IPv6/UDP/CoAP rule with private SID translation

6. SCHC Considerations

When SCHC [RFC8724] is used to compress CORECONF messages that carry private SIDs, the compression rules themselves need to account for the translation mapping. This document defines a new Compression/Decompression Action (CDA) to support this use case.

6.1. sid-translation CDA

The sid-translation CDA is applied to fields that carry SID values (map keys and identityref values) in a CORECONF CBOR message. It replaces the SID value in the field with its private alias, or restores the original SID upon decompression, according to the translation parameters configured in the rule.

The CDA takes the following Function Arguments, which MAY be repeated to cover multiple YANG Data Models translated in the same session:

<spanx style="verb">sid-file</spanx>:

A reference to an augmented SID file for a given YANG Data Model. The augmented SID file extends the standard SID allocation file with two additional pieces of information:

  • Leaf types: for each node in the model, the SID file records whether the corresponding YANG leaf carries an identityref value. This allows the CDA to identify which fields in the CBOR encoding contain SID values that require translation, in addition to the map keys that always carry SID deltas.

  • entry_point and sid_range: the lowest SID value allocated to the model and the number of consecutive SIDs in its range. These two values, already present in any standard SID file, are used as the translation parameters defined in this document.

<spanx style="verb">offset</spanx>:
The offset parameter for that model’s private SID translation, as defined in this document. Combined with the entry_point and sid_range values extracted from the sid-file, it fully determines the bijective mapping between official and private SIDs.

Each (sid-file, offset) pair describes the translation for one YANG Data Model. When multiple models are translated in the same session, one pair per model is included in the Function Arguments list, ordered by ascending entry_point.

During compression, the residue sent for a field carrying an official SID that falls within a configured range is the corresponding private SID. For SID values outside all configured ranges, the official SID is sent unchanged. During decompression, the inverse formula is applied to recover the official SID.

The following example shows a SCHC rule entry that applies sid-translation to the CORECONF payload field, using the SCHC Rule Data Model SID file (file.sid, offset=0):

/--------+-----+----+----+----+--------+------------------------\
|  FID   | FL  | FP | DI | TV |   MO   |          CDA           |
+========+=====+====+====+====+========+========================+
| CoAP   | var |  1 | bi |    | ignore | sid-translation        |
| Payload|     |    |    |    |        | (file.sid, 0)          |
\--------+-----+----+----+----+--------+------------------------/
Figure 3: SCHC rule entry for CORECONF SID translation

7. Security Considerations

TODO

8. IANA Considerations

This document requests that IANA update the “YANG Schema Item iDentifier (SID)” registry established by [RFC9595] to define the semantics of negative SID values.

Specifically, this document requests the reservation of the range -1 to -1000 for use as private SIDs, as defined in this document. These values MUST NOT be used as globally allocated SIDs. They are intended exclusively for local, bilateral use between two endpoints that have agreed on a private SID translation configuration, as described in Section 3.

The following table summarizes the requested addition to the SID registry:

Table 1: Addition to the YANG SID Registry
Range Registration Procedure Description Reference
-1 to -1000 Reserved Private SID (local use only) This document

9. References

9.1. Normative References

[RFC7252]
Shelby, Z., Hartke, K., and C. Bormann, "The Constrained Application Protocol (CoAP)", RFC 7252, DOI 10.17487/RFC7252, , <https://www.rfc-editor.org/info/rfc7252>.
[RFC7950]
Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", RFC 7950, DOI 10.17487/RFC7950, , <https://www.rfc-editor.org/info/rfc7950>.
[RFC9254]
Veillette, M., Ed., Petrov, I., Ed., Pelov, A., Bormann, C., and M. Richardson, "Encoding of Data Modeled with YANG in the Concise Binary Object Representation (CBOR)", RFC 9254, DOI 10.17487/RFC9254, , <https://www.rfc-editor.org/info/rfc9254>.
[RFC9595]
Veillette, M., Ed., Pelov, A., Ed., Petrov, I., Ed., Bormann, C., and M. Richardson, "YANG Schema Item iDentifier (YANG SID)", RFC 9595, DOI 10.17487/RFC9595, , <https://www.rfc-editor.org/info/rfc9595>.
[RFC2119]
Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, , <https://www.rfc-editor.org/info/rfc2119>.
[RFC8174]
Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, , <https://www.rfc-editor.org/info/rfc8174>.
[I-D.ietf-core-comi]
Veillette, M., Van der Stok, P., Pelov, A., Bierman, A., and C. Bormann, "CoAP Management Interface (CORECONF)", Work in Progress, Internet-Draft, draft-ietf-core-comi-21, , <https://datatracker.ietf.org/doc/html/draft-ietf-core-comi-21>.
[I-D.ietf-core-sid]
Veillette, M., Pelov, A., Petrov, I., Bormann, C., and M. Richardson, "YANG Schema Item iDentifier (YANG SID)", Work in Progress, Internet-Draft, draft-ietf-core-sid-24, , <https://datatracker.ietf.org/doc/html/draft-ietf-core-sid-24>.

9.2. Informative References

[RFC8949]
Bormann, C. and P. Hoffman, "Concise Binary Object Representation (CBOR)", STD 94, RFC 8949, DOI 10.17487/RFC8949, , <https://www.rfc-editor.org/info/rfc8949>.
[RFC8724]
Minaburo, A., Toutain, L., Gomez, C., Barthel, D., and JC. Zuniga, "SCHC: Generic Framework for Static Context Header Compression and Fragmentation", RFC 8724, DOI 10.17487/RFC8724, , <https://www.rfc-editor.org/info/rfc8724>.
[RFC9363]
Minaburo, A. and L. Toutain, "A YANG Data Model for Static Context Header Compression (SCHC)", RFC 9363, DOI 10.17487/RFC9363, , <https://www.rfc-editor.org/info/rfc9363>.
[RFC9371]
Baber, A. and P. Hoffman, "Registration Procedures for Private Enterprise Numbers (PENs)", RFC 9371, DOI 10.17487/RFC9371, , <https://www.rfc-editor.org/info/rfc9371>.

Acknowledgments

This work is supported by the SCHC Chair from IMT Atlantique and Afnic.

Author's Address

Laurent Toutain
IMT Atlantique