<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.0.30 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc strict="yes"?>
<?rfc toc="yes"?>
<?rfc tocdepth="4"?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes"?>
<?rfc compact="yes"?>
<?rfc subcompact="no"?>

<rfc ipr="trust200902" docName="draft-somaraju-core-sid-01" category="std">

  <front>
    <title>Structure Identifier (SID)</title>

    <author initials="A.S." surname="Somaraju" fullname="Abhinav Somaraju" role="editor">
      <organization>Tridonic GmbH &amp; Co KG</organization>
      <address>
        <postal>
          <street>Farbergasse 15</street>
          <city>Dornbirn</city>
          <region>Vorarlberg</region>
          <code>6850</code>
          <country>Austria</country>
        </postal>
        <phone>+43664808926169</phone>
        <email>abhinav.somaraju@tridonic.com</email>
      </address>
    </author>
    <author initials="M.V." surname="Veillette" fullname="Michel Veillette" role="editor">
      <organization>Trilliant Networks Inc.</organization>
      <address>
        <postal>
          <street>610 Rue du Luxembourg</street>
          <city>Granby</city>
          <region>Quebec</region>
          <code>J2J 2V2</code>
          <country>Canada</country>
        </postal>
        <phone>+14503750556</phone>
        <email>michel.veillette@trilliantinc.com</email>
      </address>
    </author>
    <author initials="A.P." surname="Pelov" fullname="Alexander Pelov">
      <organization>Acklio</organization>
      <address>
        <postal>
          <street>2bis rue de la Chataigneraie</street>
          <city>Cesson-Sevigne</city>
          <region>Bretagne</region>
          <code>35510</code>
          <country>France</country>
        </postal>
        <email>a@ackl.io</email>
      </address>
    </author>
    <author initials="R.T." surname="Turner" fullname="Randy Turner">
      <organization>Landis+Gyr</organization>
      <address>
        <postal>
          <street>30000 Mill Creek Ave</street> <street>Suite 100</street>
          <city>Alpharetta</city>
          <region>GA</region>
          <code>30022</code>
          <country>US</country>
        </postal>
        <phone>++16782581292</phone>
        <email>randy.turner@landisgyr.com</email>
        <uri>http://www.landisgyr.com/</uri>
      </address>
    </author>
    <author initials="A.M." surname="Minaburo" fullname="Ana Minaburo">
      <organization>Acklio</organization>
      <address>
        <postal>
          <street>2bis rue de la châtaigneraie</street>
          <city>Cesson-Sévigné</city>
          <region>Bretagne</region>
          <code>35510</code>
          <country>France</country>
        </postal>
        <email>ana@ackl.io</email>
      </address>
    </author>

    <date year="2016" month="July" day="08"/>

    <area>Applications and Real-Time Area (art)</area>
    <workgroup>Internet Engineering Task Force</workgroup>
    <keyword>CBOR</keyword>

    <abstract>


<t>Structured IDentifiers (SID) are used to identify different YANG items when encoded in CBOR. This document defines the registration and assignment processes of SIDs. To enable the implementation of these processes, this document also defines a file format used to persist and publish assigned SIDs.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>This document describes the registries required to manage SIDs and a file format used to persist and publish the assigned SIDs.</t>

</section>
<section anchor="terminology-and-notation" title="Terminology and Notation">

<t>The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”,
“SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to
be interpreted as described in <xref target="RFC2119"/>.</t>

<t>The following terms are defined in <xref target="I-D.ietf-netmod-rfc6020bis"/>:</t>

<t><list style="symbols">
  <t>action</t>
  <t>feature</t>
  <t>module</t>
  <t>notification</t>
  <t>RPC</t>
  <t>schema node</t>
  <t>schema tree</t>
  <t>submodule</t>
</list></t>

<t>This specification also makes use of the following terminology:</t>

<t><list style="symbols">
  <t>identifier: An identifier embodies the information required to distinguish what is being identified from all other things within its scope of identification.</t>
  <t>delta : Difference between the current SID and a reference SID. A reference SID is defined for each context for which deltas are used.</t>
  <t>item:  A schema node, an identity, a module, a submodule or a feature defined using the YANG modeling language.</t>
  <t>path: A path is a string that identifies a schema node within the schema tree. A path consists of the list of schema node identifier(s) separated by slashes (“/”). Schema node identifier(s) are always listed from the top-level schema node up to the targeted schema node. (e.g. “/system-state/clock/current-datetime”)</t>
</list></t>

</section>
<section anchor="structured-identifiers-sid" title="Structured IDentifiers (SID)">

<t>Some of the items defined in YANG <xref target="I-D.ietf-netmod-rfc6020bis"/> require the use of a unique identifier. In both NETCONF and RESTCONF, these identifiers are implemented using names. To allow the implementation of data models defined in YANG in constrained devices and constrained networks, a more compact method to identify YANG items is required.</t>

<t>This compact identifier, called SID, is encoded using an unsigned integer. To minimize its size, SIDs are often implemented using a delta from a reference SID and the current SID. To guaranty the uniqueness of each assigned SID, SID ranges MUST be registered. <xref target="sid-range-registry"/> provide more details about the registration process of SID range(s).</t>

<t>To avoid duplicate assignment of SIDs, the registration of the SIDs assigned to YANG module(s) is recommended. <xref target="module-registry"/> provide more details about the registration process of YANG modules.</t>

<t>The following items are identified using SIDs:</t>

<t><list style="symbols">
  <t>identities</t>
  <t>data nodes</t>
  <t>RPCs and associated input(s) and output(s)</t>
  <t>actions and associated input(s) and output(s)</t>
  <t>notifications and associated information</t>
  <t>YANG modules, submodules and features</t>
</list></t>

<t>Assignment of SIDs can be automated, the recommended process to assign SIDs is as follows:</t>

<t><list style="symbols">
  <t>A tool extracts the different items defined for a specific YANG module.</t>
  <t>The list of items is ordered by type and label.</t>
  <t>SIDs are assigned sequentially for the entry point up to the size of the registered SID range. It is important to note that sequentially assigning SIDs optimizes the CBOR serialization due to the use of delta encoding.</t>
  <t>If the number of items exceeds the SID range(s) allocated to a YANG module, an extra range is added for subsequent assignments.</t>
</list></t>

<t>SIDs are assigned permanently, items introduced by a new revision of a YANG module are added to the list of SIDs already assigned. This process can also be automated using the same method described above except that the assignment need to be restarted from the highest SID already assigned.</t>

<t><xref target="sid-file-format"/> defines a standard file format used to store and publish SIDs.</t>

</section>
<section anchor="sid-lifecycle" title="“.sid” file lifecycle">

<t>The following activity diagram summarize the life cycle of “.sid” files.</t>

<figure align="left"><artwork><![CDATA[
      +---------------+
 O    | Creation of a |
-|- ->| YANG module   |
/ \   +---------------+
              |
              V
       /-------------\
      / Standardized  \ yes
      \ YANG module ? /-------------+
       \-------------/              |
              | no                  |
              V                     V
       /-------------\      +---------------+
      / Constrained   \ yes | SID range     |
  +-->\ application ? /---->| registration  |
  |    \-------------/      +---------------+
  |           | no                  |
  |           V                     V
  |   +---------------+     +---------------+
  +---| YANG module   |     | .sid file     |
      | update        |     | generation    |
      +---------------+     +---------------+
                                    |
                                    V
                             /-------------\      +---------------+
                            /  Publicly     \ yes | YANG module   |
              +------------>\  available ?  /---->| registration  |
              |              \-------------/      +---------------+
              |                     | no                  |
              |                     +---------------------+
              |                     V
      +---------------+     +---------------+
      | .sid file     |     | Update of the |
      | update based  |     | YANG module   |
      | on previous   |     | or include(s) |
      | .sid file     |     | or import(s)  |
      +---------------+     +---------------+
              ^                     |
              |                     V
              |              /-------------\      +---------------+
              |             /  More SIDs    \ yes | Extra range   |
              |             \  required ?   /---->| assignment    |
              |              \-------------/      +---------------+
              |                     | no                  |
              +---------------------+---------------------+
]]></artwork></figure>

<t>YANG modules are not necessary created in the context of constrained applications. YANG modules can be implemented using NETCONF or RESTCONF without the need to assign SIDs.</t>

<t>As needed, authors of YANG modules can assign SIDs to their modules. This process starts by the registration of a SID range. Once a SID range is registered, the owner of this range assigns sub-ranges to each YANG module in order to generate the associated “.sid” files. Generation of “.sid” files SHOULD be performed using an automated tool.</t>

<t>Registration of the .sid file associated to a YANG module is optional but recommended to promote interoperability between devices and to avoid duplicate allocation of SIDs to a single YANG module.</t>

<t>Each time a YANG module or one of its imported module(s) or included sub-module(s) is updated, the “.sid” file MAY need to be updated. This update SHOULD also be performed using an automated tool.</t>

<t>If a new revision requires more SIDs than initially allocated, a new SID range MUST be added to the assignment ranges as defined in the “.sid” file header. These extra SIDs are used for subsequent assignments.</t>

</section>
<section anchor="sid-file-format" title="“.sid” file format">

<t>“.sid” files are used to persist and publish SIDs assigned to the different YANG items of a specific YANG module. The following YANG module defined the structure of this file, encoding is performed using the rules defined in <xref target="I-D.ietf-netmod-yang-json"/>.</t>

<figure align="left"><artwork><![CDATA[
<CODE BEGINS> file "ietf-sid-file@2015-12-16.yang"
module ietf-sid-file {
  namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file";
  prefix sid;

  organization
    "IETF Core Working Group";

  contact
    "Ana Minaburo
     <ana@ackl.io>

     Alexander Pelov
     <mailto:a@ackl.io>

     Abhinav Somaraju
     <mailto:abhinav.somaraju@tridonic.com>

     Laurent Toutain
     <Laurent.Toutain@telecom-bretagne.eu>

     Randy Turner
     <mailto:Randy.Turner@landisgyr.com>

     Michel Veillette
     <mailto:michel.veillette@trilliantinc.com>";

  description
    "This module define the structure of the .sid files.
     .sid files contains the identifiers (SIDs) assigned
     to the different items defined in a YANG module.
     SIDs are used to encode a data model defined in YANG
     using CBOR.";

  revision 2015-12-16 {
    description
      "Initial revision.";
    reference
      "RFC XXXX";
      // RFC Ed.: replace XXXX with RFC number assigned to draft-ietf-core-yang-cbor and remove this note
  }

  typedef yang-identifier {
    type string {
      length "1..max";
      pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
      pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
    }
    description
      "A YANG identifier string as defined by the 'identifier'
       rule in Section 12 of RFC 6020.";
  }

  typedef revision-identifier {
    type string {
      pattern '\d{4}-\d{2}-\d{2}';
    }
    description
      "Represents a date in YYYY-MM-DD format.";
  }

  leaf module-name {
    type yang-identifier;
    description
      "Name of the module associated with this .sid file.";
  }

  leaf module-revision {
    type revision-identifier;
    description
      "Revision of the module associated with this .sid file.
       This leaf is not present if no revision statement is
       defined in the YANG module.";
  }

  list assigment-ranges {
    key "entry-point";
    description
      "Range(s) of SIDs available for assignment to the
       different items defined by the associated module.";

    leaf entry-point {
      type uint32;
      mandatory true;
      description
        "Lowest SID available for assignment.";
    }

    leaf size {
      type uint16;
      mandatory true;
      description
        "Number of SIDs available for assignment.";
    }
  }

  list items {
    key "type label";
    description
      "List of items defined by the associated YANG module.";

    leaf type {
      type string {
        pattern 'Module|Submodule|feature|' +
                'identity$|node$|notification$|rpc$|action$';
      }
      mandatory true;
      description
        "Item type assigned, this field can be set to:
          - 'Module'
          - 'Submodule'
          - 'feature'
          - 'identity'
          - 'node'
          - 'notification'
          - 'rpc'
          - 'action'";
    }

    leaf label {
      type string;
      mandatory true;
      description
        "Label associated to this item, can be set to:
          - a module name
          - a submodule name
          - a feature name
          - a base identity encoded as '/<base identity name>'
          - an identity encoded as '/<base identity name>/<identity name>'
          - a schema node path";
    }

    leaf sid {
      type uint32;
      mandatory true;
      description "Identifier assigned to this YANG item.";
    }
  }
}
<CODE ENDS>
]]></artwork></figure>

</section>
<section anchor="security-considerations" title="Security Considerations">

<t>The security considerations of <xref target="RFC7049"/> and <xref target="I-D.ietf-netmod-rfc6020bis"/> apply.</t>

<t>This document defines an new type of identifier used to encode data models defined in YANG <xref target="I-D.ietf-netmod-rfc6020bis"/>. As such, this identifier does not contribute to any new security issues in addition of those identified for the specific protocols or contexts for which it is used.</t>

</section>
<section anchor="IANA" title="IANA Considerations">

<section anchor="sid-range-registry" title="“SID” range registry">

<t>IANA is requested to create a registry for Structure Identifier (SID) ranges. This registry needs to guarantee that the ranges registered do not overlap. The registry SHALL record for each entry:</t>

<t><list style="symbols">
  <t>The entry point (first entry) of the registered SID range.</t>
  <t>The size of the registered SID range.</t>
  <t>The contact information of the owner of the range such as name, email address, and phone number.</t>
</list></t>

<t>The IANA policy for this registry is split into four tiers as follows:</t>

<t><list style="symbols">
  <t>The range of 0 to 999 and 0x40000000 to 0xFFFFFFFFFFFFFFFF are reserved for future extensions of this protocol. Allocation within these ranges require IETF review or IESG approval.</t>
  <t>The range of 1000 to 59999 is reserved for standardized YANG modules. Allocation within this range requires publishing of the associated “.yang” and “.sid” files.  (Specification required.)</t>
  <t>The range of 60000 to 99999 is reserved for experimental YANG modules. Use of this range MUST NOT be used in operational deployments since these SIDs are not globally unique which limit their interoperability.</t>
  <t>The range of 100000 to 0x3FFFFFFF is available on a first come first served basis. The only information required from the registrant is a valid contact information. The recommended size of the SID ranges allocated is 1,000 for private use and 10,000 for standard development organizations (SDOs). Registrants MAY request fewer or more SIDs based on their expected, sat needs. Allocation of a significantly larger SID range MAY required IETF review or IESG approval. IANA MAY delegate this registration process to one or multiple sub-registries. The recommended size of the SID range allocation for a sub-registry is 1,000,000.</t>
</list></t>

<texttable align="left">
      <ttcol align='left'>Entry Point</ttcol>
      <ttcol align='left'>Size</ttcol>
      <ttcol align='left'>Registration Procedures</ttcol>
      <c>0</c>
      <c>1,000</c>
      <c>IETF review or IESG approval</c>
      <c>1,000</c>
      <c>59,000</c>
      <c>Specification and associated “.yang” and “.sid” files required</c>
      <c>60,000</c>
      <c>40,000</c>
      <c>Experimental use</c>
      <c>100,000</c>
      <c>0x3ffe7960</c>
      <c>Contact information is required. Registration of the module name(s) and associated “.yang” and “.sid” files are optional.</c>
      <c>0x40000000</c>
      <c>2^64-0x40000000</c>
      <c>Specification required, expert review</c>
</texttable>

</section>
<section anchor="module-registry" title="YANG module registry">

<t>Each registered SID range can be used to assign SIDs to one or more YANG modules. To track which YANG modules have been assigned and to avoid duplicate allocation, IANA is requested to provide a method to register and query the following information:</t>

<t><list style="symbols">
  <t>The YANG module name</t>
  <t>The contact information of the author</t>
  <t>The specification reference</t>
  <t>The associated “.yang” file(s) (Optional)</t>
  <t>The associated “.sid” file (Optional)</t>
</list></t>

<t>Registration of YANG modules is optional. When a YANG module is registered, the registrant MUST provide the module name and contact information and/or a specification reference.</t>

<t>The registration of the associated “.yang” and “.sid” files is optional. When provided, the validity of the files MUST be verified. This can be accomplished by a YANG validation tool specially modified to support “.sid” file verification. The SID range specified within the “.sid” file SHOULD also be checked against the “SID” range registry (<xref target="sid-range-registry"/>) and against the other YANG modules registered to detect any duplicate use of SIDs.</t>

<t>Initial entries in this registry are as follows:</t>

<texttable align="left">
      <ttcol align='left'>Entry Point</ttcol>
      <ttcol align='left'>Size</ttcol>
      <ttcol align='left'>Module name</ttcol>
      <ttcol align='left'>Reference</ttcol>
      <c>1000</c>
      <c>100</c>
      <c>ietf-cool</c>
      <c><xref target="I-D.veillette-core-cool"/></c>
      <c>1100</c>
      <c>400</c>
      <c>iana-if-type</c>
      <c><xref target="RFC7224"/></c>
      <c>1500</c>
      <c>100</c>
      <c>ietf-interfaces</c>
      <c><xref target="RFC7223"/></c>
      <c>1600</c>
      <c>100</c>
      <c>ietf-ip</c>
      <c><xref target="RFC7277"/></c>
      <c>1700</c>
      <c>100</c>
      <c>ietf-system</c>
      <c><xref target="RFC7317"/></c>
</texttable>

</section>
</section>
<section anchor="acknowledgments" title="Acknowledgments">

<t>The authors would like to thank Carsten Bormann for his help during the development of this document and his useful comments during the review process.</t>

</section>


  </middle>

  <back>

    <references title='Normative References'>





<reference anchor='I-D.ietf-netmod-rfc6020bis'>
<front>
<title>The YANG 1.1 Data Modeling Language</title>

<author initials='M' surname='Bjorklund' fullname='Martin Bjorklund'>
    <organization />
</author>

<date month='June' day='17' year='2016' />

<abstract><t>YANG is a data modeling language used to model configuration data, state data, remote procedure calls, and notifications for network management protocols.  This document describes the syntax and semantics of version 1.1 of the YANG language.  YANG version 1.1 is a maintenance release of the YANG language, addressing ambiguities and defects in the original specification.  There are a small number of backward incompatibilities from YANG version 1.  This document also specifies the YANG mappings to the Network Configuration Protocol (NETCONF).</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-netmod-rfc6020bis-14' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-netmod-rfc6020bis-14.txt' />
</reference>



<reference anchor='I-D.ietf-netmod-yang-json'>
<front>
<title>JSON Encoding of Data Modeled with YANG</title>

<author initials='L' surname='Lhotka' fullname='Ladislav Lhotka'>
    <organization />
</author>

<date month='March' day='28' year='2016' />

<abstract><t>This document defines encoding rules for representing configuration data, state data, parameters of RPC operations or actions, and notifications defined using YANG as JavaScript Object Notation (JSON) text.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-netmod-yang-json-10' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-netmod-yang-json-10.txt' />
</reference>



<reference  anchor='RFC2119' target='http://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor='RFC7049' target='http://www.rfc-editor.org/info/rfc7049'>
<front>
<title>Concise Binary Object Representation (CBOR)</title>
<author initials='C.' surname='Bormann' fullname='C. Bormann'><organization /></author>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
<date year='2013' month='October' />
<abstract><t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.  These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t></abstract>
</front>
<seriesInfo name='RFC' value='7049'/>
<seriesInfo name='DOI' value='10.17487/RFC7049'/>
</reference>




    </references>

    <references title='Informative References'>





<reference  anchor='RFC7223' target='http://www.rfc-editor.org/info/rfc7223'>
<front>
<title>A YANG Data Model for Interface Management</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<date year='2014' month='May' />
<abstract><t>This document defines a YANG data model for the management of network interfaces.  It is expected that interface-type-specific data models augment the generic interfaces data model defined in this document. The data model includes configuration data and state data (status information and counters for the collection of statistics).</t></abstract>
</front>
<seriesInfo name='RFC' value='7223'/>
<seriesInfo name='DOI' value='10.17487/RFC7223'/>
</reference>



<reference  anchor='RFC7224' target='http://www.rfc-editor.org/info/rfc7224'>
<front>
<title>IANA Interface Type YANG Module</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<date year='2014' month='May' />
<abstract><t>This document defines the initial version of the iana-if-type YANG module.</t></abstract>
</front>
<seriesInfo name='RFC' value='7224'/>
<seriesInfo name='DOI' value='10.17487/RFC7224'/>
</reference>



<reference  anchor='RFC7277' target='http://www.rfc-editor.org/info/rfc7277'>
<front>
<title>A YANG Data Model for IP Management</title>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<date year='2014' month='June' />
<abstract><t>This document defines a YANG data model for management of IP implementations.  The data model includes configuration data and state data.</t></abstract>
</front>
<seriesInfo name='RFC' value='7277'/>
<seriesInfo name='DOI' value='10.17487/RFC7277'/>
</reference>



<reference  anchor='RFC7317' target='http://www.rfc-editor.org/info/rfc7317'>
<front>
<title>A YANG Data Model for System Management</title>
<author initials='A.' surname='Bierman' fullname='A. Bierman'><organization /></author>
<author initials='M.' surname='Bjorklund' fullname='M. Bjorklund'><organization /></author>
<date year='2014' month='August' />
<abstract><t>This document defines a YANG data model for the configuration and identification of some common system properties within a device containing a Network Configuration Protocol (NETCONF) server.  This document also includes data node definitions for system identification, time-of-day management, user management, DNS resolver configuration, and some protocol operations for system management.</t></abstract>
</front>
<seriesInfo name='RFC' value='7317'/>
<seriesInfo name='DOI' value='10.17487/RFC7317'/>
</reference>



<reference anchor='I-D.veillette-core-cool'>
<front>
<title>Constrained Objects Language</title>

<author initials='M' surname='Veillette' fullname='Michel Veillette'>
    <organization />
</author>

<author initials='A' surname='Pelov' fullname='Alexander Pelov'>
    <organization />
</author>

<author initials='A' surname='Somaraju' fullname='Abhinav Somaraju'>
    <organization />
</author>

<author initials='R' surname='Turner' fullname='Randy Turner'>
    <organization />
</author>

<author initials='A' surname='Minaburo' fullname='Ana Minaburo'>
    <organization />
</author>

<date month='March' day='11' year='2016' />

<abstract><t>This document describes a management function set adapted to constrained devices and constrained networks (e.g., low-power, lossy).  CoOL objects (datastores, RPCs, actions and notifications) are defined using the YANG modelling language [I-D.ietf-netmod-rfc6020bis].  Interactions with these objects are performed using the CoAP web transfer protocol [RFC7252].  Payloads are encoded using the CBOR data format [RFC7049].  The mapping between YANG data models and the CBOR data format is defined in [I- D.veillette-core-yang-cbor-mapping].</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-veillette-core-cool-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-veillette-core-cool-01.txt' />
</reference>




    </references>


<section anchor="sid-file-example" title="“.sid” file example">

<t>The following .sid file (ietf-system@2014-08-06.sid) have been generated using the following yang modules:</t>

<t><list style="symbols">
  <t>ietf-system@2014-08-06.yang</t>
  <t>ietf-yang-types@2013-07-15.yang</t>
  <t>ietf-inet-types@2013-07-15.yang</t>
  <t>ietf-netconf-acm@2012-02-22.yang</t>
  <t>iana-crypt-hash@2014-04-04.yang</t>
</list></t>

<figure align="left"><artwork><![CDATA[
{
  "assignment-ranges": [
    {
      "entry-point": 1700,
      "size": 100
    }
  ],
  "module-name": "ietf-system",
  "module-revision": "2014-08-06",
  "items": [
    {
      "type": "Module",
      "label": "ietf-system",
      "sid": 1700
    },
    {
      "type": "feature",
      "label": "authentication",
      "sid": 1701
    },
    {
      "type": "feature",
      "label": "dns-udp-tcp-port",
      "sid": 1702
    },
    {
      "type": "feature",
      "label": "local-users",
      "sid": 1703
    },
    {
      "type": "feature",
      "label": "ntp",
      "sid": 1704
    },
    {
      "type": "feature",
      "label": "ntp-udp-port",
      "sid": 1705
    },
    {
      "type": "feature",
      "label": "radius",
      "sid": 1706
    },
    {
      "type": "feature",
      "label": "radius-authentication",
      "sid": 1707
    },
    {
      "type": "feature",
      "label": "timezone-name",
      "sid": 1708
    },
    {
      "type": "identity",
      "label": "/authentication-method",
      "sid": 1709
    },
    {
      "type": "identity",
      "label": "/authentication-method/local-users",
      "sid": 1710
    },
    {
      "type": "identity",
      "label": "/authentication-method/radius",
      "sid": 1711
    },
    {
      "type": "identity",
      "label": "/radius-authentication-type",
      "sid": 1712
    },
    {
      "type": "identity",
      "label": "/radius-authentication-type/radius-chap",
      "sid": 1713
    },
    {
      "type": "identity",
      "label": "/radius-authentication-type/radius-pap",
      "sid": 1714
    },
    {
      "type": "node",
      "label": "/system",
      "sid": 1715
    },
    {
      "type": "node",
      "label": "/system-state",
      "sid": 1716
    },
    {
      "type": "node",
      "label": "/system-state/clock",
      "sid": 1717
    },
    {
      "type": "node",
      "label": "/system-state/clock/boot-datetime",
      "sid": 1718
    },
    {
      "type": "node",
      "label": "/system-state/clock/current-datetime",
      "sid": 1719
    },
    {
      "type": "node",
      "label": "/system-state/platform",
      "sid": 1720
    },
    {
      "type": "node",
      "label": "/system-state/platform/machine",
      "sid": 1721
    },
    {
      "type": "node",
      "label": "/system-state/platform/os-name",
      "sid": 1722
    },
    {
      "type": "node",
      "label": "/system-state/platform/os-release",
      "sid": 1723
    },
    {
      "type": "node",
      "label": "/system-state/platform/os-version",
      "sid": 1724
    },
    {
      "type": "node",
      "label": "/system/authentication",
      "sid": 1725
    },
    {
      "type": "node",
      "label": "/system/authentication/user",
      "sid": 1726
    },
    {
      "type": "node",
      "label": "/system/authentication/user-authentication-order",
      "sid": 1727
    },
    {
      "type": "node",
      "label": "/system/authentication/user/authorized-key",
      "sid": 1728
    },
    {
      "type": "node",
      "label": "/system/authentication/user/authorized-key/algorithm",
      "sid": 1729
    },
    {
      "type": "node",
      "label": "/system/authentication/user/authorized-key/key-data",
      "sid": 1730
    },
    {
      "type": "node",
      "label": "/system/authentication/user/authorized-key/name",
      "sid": 1731
    },
    {
      "type": "node",
      "label": "/system/authentication/user/name",
      "sid": 1732
    },
    {
      "type": "node",
      "label": "/system/authentication/user/password",
      "sid": 1733
    },
    {
      "type": "node",
      "label": "/system/clock",
      "sid": 1734
    },
    {
      "type": "node",
      "label": "/system/clock/timezone/timezone-name/timezone-name",
      "sid": 1735
    },
    {
      "type": "node",
      "label": "/system/clock/timezone/timezone-utc-offset/timezone-utc-offset",
      "sid": 1736
    },
    {
      "type": "node",
      "label": "/system/contact",
      "sid": 1737
    },
    {
      "type": "node",
      "label": "/system/dns-resolver",
      "sid": 1738
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/options",
      "sid": 1739
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/options/attempts",
      "sid": 1740
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/options/timeout",
      "sid": 1741
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/search",
      "sid": 1742
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/server",
      "sid": 1743
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/server/name",
      "sid": 1744
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp",
      "sid": 1745
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp/address",
      "sid": 1746
    },
    {
      "type": "node",
      "label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp/port",
      "sid": 1747
    },
    {
      "type": "node",
      "label": "/system/hostname",
      "sid": 1748
    },
    {
      "type": "node",
      "label": "/system/location",
      "sid": 1749
    },
    {
      "type": "node",
      "label": "/system/ntp",
      "sid": 1750
    },
    {
      "type": "node",
      "label": "/system/ntp/enabled",
      "sid": 1751
    },
    {
      "type": "node",
      "label": "/system/ntp/server",
      "sid": 1752
    },
    {
      "type": "node",
      "label": "/system/ntp/server/association-type",
      "sid": 1753
    },
    {
      "type": "node",
      "label": "/system/ntp/server/iburst",
      "sid": 1754
    },
    {
      "type": "node",
      "label": "/system/ntp/server/name",
      "sid": 1755
    },
    {
      "type": "node",
      "label": "/system/ntp/server/prefer",
      "sid": 1756
    },
    {
      "type": "node",
      "label": "/system/ntp/server/transport/udp/udp",
      "sid": 1757
    },
    {
      "type": "node",
      "label": "/system/ntp/server/transport/udp/udp/address",
      "sid": 1758
    },
    {
      "type": "node",
      "label": "/system/ntp/server/transport/udp/udp/port",
      "sid": 1759
    },
    {
      "type": "node",
      "label": "/system/radius",
      "sid": 1760
    },
    {
      "type": "node",
      "label": "/system/radius/options",
      "sid": 1761
    },
    {
      "type": "node",
      "label": "/system/radius/options/attempts",
      "sid": 1762
    },
    {
      "type": "node",
      "label": "/system/radius/options/timeout",
      "sid": 1763
    },
    {
      "type": "node",
      "label": "/system/radius/server",
      "sid": 1764
    },
    {
      "type": "node",
      "label": "/system/radius/server/authentication-type",
      "sid": 1765
    },
    {
      "type": "node",
      "label": "/system/radius/server/name",
      "sid": 1766
    },
    {
      "type": "node",
      "label": "/system/radius/server/transport/udp/udp",
      "sid": 1767
    },
    {
      "type": "node",
      "label": "/system/radius/server/transport/udp/udp/address",
      "sid": 1768
    },
    {
      "type": "node",
      "label": "/system/radius/server/transport/udp/udp/authentication-port",
      "sid": 1769
    },
    {
      "type": "node",
      "label": "/system/radius/server/transport/udp/udp/shared-secret",
      "sid": 1770
    },
    {
      "type": "rpc",
      "label": "/set-current-datetime",
      "sid": 1771
    },
    {
      "type": "rpc",
      "label": "/set-current-datetime/input/current-datetime",
      "sid": 1772
    },
    {
      "type": "rpc",
      "label": "/system-restart",
      "sid": 1773
    },
    {
      "type": "rpc",
      "label": "/system-shutdown",
      "sid": 1774
    }
  ]
}
]]></artwork></figure>

</section>


  </back>
</rfc>

