| < draft-ietf-core-sid-00.txt | draft-ietf-core-sid-01.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force A. Somaraju, Ed. | Internet Engineering Task Force M. Veillette, Ed. | |||
| Internet-Draft Tridonic GmbH & Co KG | Internet-Draft Trilliant Networks Inc. | |||
| Intended status: Standards Track M. Veillette, Ed. | Intended status: Standards Track A. Pelov, Ed. | |||
| Expires: April 29, 2017 Trilliant Networks Inc. | Expires: November 3, 2017 Acklio | |||
| A. Pelov | ||||
| Acklio | ||||
| R. Turner | R. Turner | |||
| Landis+Gyr | Landis+Gyr | |||
| A. Minaburo | A. Minaburo | |||
| Acklio | Acklio | |||
| October 26, 2016 | A. Somaraju | |||
| Tridonic GmbH & Co KG | ||||
| May 02, 2017 | ||||
| YANG Schema Item iDentifier (SID) | YANG Schema Item iDentifier (SID) | |||
| draft-ietf-core-sid-00 | draft-ietf-core-sid-01 | |||
| Abstract | Abstract | |||
| YANG Schema Item iDentifiers (SID) are used to identify different | YANG Schema Item iDentifiers (SID) are globally unique 64-bit numeric | |||
| YANG items using a numeric identifier. This document defines the | identifiers used to identify all items used in YANG. This document | |||
| registration and assignment processes of SIDs. To enable the | defines the semantics, the registration, and assignment processes of | |||
| implementation of these processes, this document also defines a file | SIDs. To enable the implementation of these processes, this document | |||
| format used to persist and publish assigned SIDs. | also defines a file format used to persist and publish assigned SIDs. | |||
| Status of This Memo | Status of This Memo | |||
| This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
| provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
| Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
| Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
| working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
| Drafts is at http://datatracker.ietf.org/drafts/current/. | Drafts is at http://datatracker.ietf.org/drafts/current/. | |||
| Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
| and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
| time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
| material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
| This Internet-Draft will expire on April 29, 2017. | This Internet-Draft will expire on November 3, 2017. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2016 IETF Trust and the persons identified as the | Copyright (c) 2017 IETF Trust and the persons identified as the | |||
| document authors. All rights reserved. | document authors. All rights reserved. | |||
| This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
| Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
| (http://trustee.ietf.org/license-info) in effect on the date of | (http://trustee.ietf.org/license-info) in effect on the date of | |||
| publication of this document. Please review these documents | publication of this document. Please review these documents | |||
| carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
| to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
| include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
| the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
| described in the Simplified BSD License. | described in the Simplified BSD License. | |||
| Table of Contents | Table of Contents | |||
| 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
| 2. Terminology and Notation . . . . . . . . . . . . . . . . . . 2 | 2. Terminology and Notation . . . . . . . . . . . . . . . . . . 4 | |||
| 3. YANG Schema Item iDentifier (SID) . . . . . . . . . . . . . . 3 | 3. ".sid" file lifecycle . . . . . . . . . . . . . . . . . . . . 4 | |||
| 4. ".sid" file lifecycle . . . . . . . . . . . . . . . . . . . . 4 | 4. ".sid" file format . . . . . . . . . . . . . . . . . . . . . 7 | |||
| 5. ".sid" file format . . . . . . . . . . . . . . . . . . . . . 6 | 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10 | |||
| 6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 | 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 | |||
| 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 | 6.1. "SID mega-range" registry . . . . . . . . . . . . . . . . 11 | |||
| 7.1. "SID" range registry . . . . . . . . . . . . . . . . . . 9 | 6.1.1. IANA SID Mega-Range Registry . . . . . . . . . . . . 11 | |||
| 7.2. YANG module registry . . . . . . . . . . . . . . . . . . 11 | 6.1.2. IANA "RFC SID range assignment" sub-registries . . . 12 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 | 6.2. "YANG module assignment" registry . . . . . . . . . . . . 13 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 12 | 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 12 | 8.1. Normative References . . . . . . . . . . . . . . . . . . 14 | |||
| Appendix A. ".sid" file example . . . . . . . . . . . . . . . . 13 | 8.2. Informative References . . . . . . . . . . . . . . . . . 14 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 | Appendix A. ".sid" file example . . . . . . . . . . . . . . . . 15 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23 | ||||
| 1. Introduction | 1. Introduction | |||
| This document describes the registries required to manage SIDs and a | Some of the items defined in YANG [RFC7950] require the use of a | |||
| file format used to persist and publish the assigned SIDs. | unique identifier. In both NETCONF [RFC6241] and RESTCONF [RFC8040], | |||
| 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. This compact identifier, called SID, is encoded | ||||
| using a 64-bit unsigned integer. The following items are identified | ||||
| using SIDs: | ||||
| o identities | ||||
| o data nodes | ||||
| o RPCs and associated input(s) and output(s) | ||||
| o actions and associated input(s) and output(s) | ||||
| o notifications and associated information | ||||
| o YANG modules, submodules and features | ||||
| To minimize their size, SIDs are often represented as a difference | ||||
| between the current SID and a reference SID. Such difference is | ||||
| called "delta", shorthand for "delta-encoded SID". Conversion from | ||||
| SIDs to deltas and back to SIDs is a stateless process. Each | ||||
| protocol implementing deltas must unambiguously define the reference | ||||
| SID for each YANG item. | ||||
| SIDs are globally unique numbers, a registration system is used in | ||||
| order to guarantee their uniqueness. SIDs are registered in blocks | ||||
| called "SID ranges". Section 6.1 provide more details about the | ||||
| registration process of SID range(s). | ||||
| Assignment of SIDs to YANG items can be automated, the recommended | ||||
| process to assign SIDs is as follows: | ||||
| o A tool extracts the different items defined for a specific YANG | ||||
| module. | ||||
| o The list of items is ordered in alphabetical order by type and | ||||
| label. Valid types and label formats are described within the | ||||
| 'ietf-sid-file' YANG module defined in Section 4. | ||||
| o SIDs are assigned sequentially from the entry point up to the size | ||||
| of the registered SID range. This approach is recommended to | ||||
| minimize the serialization overhead, especially when delta | ||||
| encoding is implemented. | ||||
| o If the number of items exceeds the SID range(s) allocated to a | ||||
| YANG module, an extra range is added for subsequent assignments. | ||||
| 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 restart from the highest SID already | ||||
| assigned plus one. | ||||
| To avoid duplicate assignment of SIDs, the registration of the SIDs | ||||
| assigned to YANG module(s) is recommended. Section 6.2 provide more | ||||
| details about the registration process of YANG modules and associated | ||||
| SIDs. To enable the implementation of this registry, Section 4 | ||||
| defines a standard file format used to store and publish SIDs. | ||||
| 2. Terminology and Notation | 2. Terminology and Notation | |||
| The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
| "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
| document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
| The following terms are defined in [RFC7950]: | The following terms are defined in [RFC7950]: | |||
| o action | o action | |||
| skipping to change at page 3, line 4 ¶ | skipping to change at page 4, line 22 ¶ | |||
| o action | o action | |||
| o feature | o feature | |||
| o module | o module | |||
| o notification | o notification | |||
| o RPC | o RPC | |||
| o schema node | o schema node | |||
| o schema tree | o schema tree | |||
| o submodule | o submodule | |||
| This specification also makes use of the following terminology: | This specification also makes use of the following terminology: | |||
| o identifier: An identifier embodies the information required to | ||||
| distinguish what is being identified from all other things within | ||||
| its scope of identification. | ||||
| o delta : Difference between the current SID and a reference SID. A | o delta : Difference between the current SID and a reference SID. A | |||
| reference SID is defined for each context for which deltas are | reference SID is defined for each context for which deltas are | |||
| used. | used. | |||
| o item: A schema node, an identity, a module, a submodule or a | o item: A schema node, an identity, a module, a submodule or a | |||
| feature defined using the YANG modeling language. | feature defined using the YANG modeling language. | |||
| o path: A path is a string that identifies a schema node within the | o path: A path is a string that identifies a schema node within the | |||
| schema tree. A path consists of the list of schema node | schema tree. A path consists of the list of schema node | |||
| identifier(s) separated by slashes ("/"). Schema node | identifier(s) separated by slashes ("/"). Schema node | |||
| identifier(s) are always listed from the top-level schema node up | identifier(s) are always listed from the top-level schema node up | |||
| to the targeted schema node. (e.g. "/system-state/clock/current- | to the targeted schema node. (e.g. "/system-state/clock/current- | |||
| datetime") | datetime") | |||
| 3. YANG Schema Item iDentifier (SID) | o YANG Schema Item iDentifier (SID): Unsigned integer used to | |||
| identify different YANG items. | ||||
| Some of the items defined in YANG [RFC7950] 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. | ||||
| 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. | ||||
| Section 7.1 provide more details about the registration process of | ||||
| SID range(s). | ||||
| To avoid duplicate assignment of SIDs, the registration of the SIDs | ||||
| assigned to YANG module(s) is recommended. Section 7.2 provide more | ||||
| details about the registration process of YANG modules. | ||||
| The following items are identified using SIDs: | ||||
| o identities | ||||
| o data nodes | ||||
| o RPCs and associated input(s) and output(s) | ||||
| o actions and associated input(s) and output(s) | ||||
| o notifications and associated information | ||||
| o YANG modules, submodules and features | ||||
| Assignment of SIDs can be automated, the recommended process to | ||||
| assign SIDs is as follows: | ||||
| o A tool extracts the different items defined for a specific YANG | ||||
| module. | ||||
| o The list of items is ordered by type and label. | ||||
| o SIDs are assigned sequentially for the entry point up to the size | ||||
| of the registered SID range. This approach is recommended to | ||||
| minimize the serialization overhead, especially when delta | ||||
| encoding is implemented. | ||||
| o If the number of items exceeds the SID range(s) allocated to a | ||||
| YANG module, an extra range is added for subsequent assignments. | ||||
| 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. | ||||
| Section 5 defines a standard file format used to store and publish | ||||
| SIDs. | ||||
| 4. ".sid" file lifecycle | ||||
| The following activity diagram summarize the life cycle of ".sid" | 3. ".sid" file lifecycle | |||
| files. | ||||
| +---------------+ | YANG is a language designed to model data sent between clients and | |||
| O | Creation of a | | servers using one of the compatible protocol (e.g. NETCONF | |||
| -|- ->| YANG module | | [RFC6241], RESCONF [RFC8040] and CoMI [I-D.ietf-core-comi]). A YANG | |||
| / \ +---------------+ | module defines hierarchies of data, including configuration, state | |||
| | | data, RPCs, actions and notifications. | |||
| 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 | | ||||
| +---------------------+---------------------+ | ||||
| YANG modules are not necessary created in the context of constrained | YANG modules are not necessary created in the context of constrained | |||
| applications. YANG modules can be implemented using NETCONF or | applications. YANG modules can be implemented using NETCONF | |||
| RESTCONF without the need to assign SIDs. | [RFC6241] or RESTCONF [RFC8040] without the need to assign SIDs. | |||
| As needed, authors of YANG modules can assign SIDs to their modules. | As needed, authors of YANG modules can assign SIDs to their YANG | |||
| This process starts by the registration of a SID range. Once a SID | modules. This process starts by the registration of a SID range. | |||
| range is registered, the owner of this range assigns sub-ranges to | Once a SID range is registered, the owner of this range assigns sub- | |||
| each YANG module in order to generate the associated ".sid" files. | ranges to each YANG module in order to generate the associated ".sid" | |||
| Generation of ".sid" files SHOULD be performed using an automated | files. Generation of ".sid" files SHOULD be performed using an | |||
| tool. | automated tool. | |||
| Registration of the .sid file associated to a YANG module is optional | Registration of the .sid file associated to a YANG module is optional | |||
| but recommended to promote interoperability between devices and to | but recommended to promote interoperability between devices and to | |||
| avoid duplicate allocation of SIDs to a single YANG module. | avoid duplicate allocation of SIDs to a single YANG module. | |||
| The following activity diagram summarizes the creation of a YANG | ||||
| module and its associated .sid file. | ||||
| +---------------+ | ||||
| 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 sub-range | | ||||
| | update | | assignment | | ||||
| +---------------+ +---------------+ | ||||
| | | ||||
| V | ||||
| +---------------+ | ||||
| | .sid file | | ||||
| | generation | | ||||
| +---------------+ | ||||
| | | ||||
| V | ||||
| /-------------\ +---------------+ | ||||
| / Publicly \ yes | YANG module | | ||||
| \ available ? /---->| registration | | ||||
| \-------------/ +---------------+ | ||||
| | no | | ||||
| +---------------------+ | ||||
| | | ||||
| [DONE] | ||||
| Each time a YANG module or one of its imported module(s) or included | 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. | sub-module(s) is updated, the ".sid" file MAY need to be updated. | |||
| This update SHOULD also be performed using an automated tool. | This update SHOULD also be performed using an automated tool. | |||
| If a new revision requires more SIDs than initially allocated, a new | 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 range MUST be added to the assignment ranges as defined in the | |||
| ".sid" file header. These extra SIDs are used for subsequent | ".sid" file header. These extra SIDs are used for subsequent | |||
| assignments. | assignements. | |||
| 5. ".sid" file format | The following activity diagram summarizes the update of a YANG module | |||
| and its associated .sid file. | ||||
| +---------------+ | ||||
| O | Update of the | | ||||
| -|- ->| YANG module | | ||||
| / \ | or include(s) | | ||||
| | or import(s) | | ||||
| +---------------+ | ||||
| | | ||||
| V | ||||
| /-------------\ +----------------+ | ||||
| / More SIDs \ yes | Extra sub-range| | ||||
| \ required ? /---->| assignment | | ||||
| \-------------/ +----------------+ | ||||
| | no | | ||||
| +---------------------+ | ||||
| | | ||||
| V | ||||
| +---------------+ | ||||
| | .sid file | | ||||
| | update based | | ||||
| | on previous | | ||||
| | .sid file | | ||||
| +---------------+ | ||||
| | | ||||
| V | ||||
| /-------------\ +---------------+ | ||||
| / Publicly \ yes | YANG module | | ||||
| \ available ? /---->| registration | | ||||
| \-------------/ +---------------+ | ||||
| | no | | ||||
| +---------------------+ | ||||
| | | ||||
| [DONE] | ||||
| 4. ".sid" file format | ||||
| ".sid" files are used to persist and publish SIDs assigned to the | ".sid" files are used to persist and publish SIDs assigned to the | |||
| different YANG items of a specific YANG module. The following YANG | different YANG items of a specific YANG module. The following YANG | |||
| module defined the structure of this file, encoding is performed | module defined the structure of this file, encoding is performed | |||
| using the rules defined in [RFC7951]. | using the rules defined in [RFC7951]. | |||
| <CODE BEGINS> file "ietf-sid-file@2015-12-16.yang" | <CODE BEGINS> file "ietf-sid-file@2015-12-16.yang" | |||
| module ietf-sid-file { | module ietf-sid-file { | |||
| namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file"; | namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file"; | |||
| prefix sid; | prefix sid; | |||
| organization | ||||
| "IETF Core Working Group"; | ||||
| organization | contact | |||
| "IETF Core Working Group"; | "Alexander Pelov | |||
| <mailto:a@ackl.io> | ||||
| contact | Abhinav Somaraju | |||
| "Ana Minaburo | <mailto:abhinav.somaraju@tridonic.com> | |||
| <ana@ackl.io> | ||||
| Alexander Pelov | Laurent Toutain | |||
| <mailto:a@ackl.io> | <Laurent.Toutain@telecom-bretagne.eu> | |||
| Abhinav Somaraju | Randy Turner | |||
| <mailto:abhinav.somaraju@tridonic.com> | <mailto:Randy.Turner@landisgyr.com> | |||
| Laurent Toutain | ||||
| <Laurent.Toutain@telecom-bretagne.eu> | ||||
| Randy Turner | Michel Veillette | |||
| <mailto:Randy.Turner@landisgyr.com> | <mailto:michel.veillette@trilliantinc.com>"; | |||
| Michel Veillette | description | |||
| <mailto:michel.veillette@trilliantinc.com>"; | "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."; | ||||
| description | revision 2015-12-16 { | |||
| "This module define the structure of the .sid files. | description | |||
| .sid files contains the identifiers (SIDs) assigned | "Initial revision."; | |||
| to the different items defined in a YANG module. | reference | |||
| SIDs are used to encode a data model defined in YANG | "RFC XXXX"; | |||
| using CBOR."; | // RFC Ed.: replace XXXX with RFC number assigned to | |||
| // draft-ietf-core-yang-cbor and remove this note | ||||
| } | ||||
| revision 2015-12-16 { | typedef yang-identifier { | |||
| description | type string { | |||
| "Initial revision."; | length "1..max"; | |||
| reference | pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; | |||
| "RFC XXXX"; | pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*'; | |||
| // RFC Ed.: replace XXXX with RFC number assigned to draft-ietf-core-yang-cbor and remove this note | } | |||
| } | description | |||
| "A YANG identifier string as defined by the 'identifier' | ||||
| rule in Section 12 of RFC 6020."; | ||||
| } | ||||
| typedef yang-identifier { | typedef revision-identifier { | |||
| type string { | type string { | |||
| length "1..max"; | pattern '\d{4}-\d{2}-\d{2}'; | |||
| pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; | } | |||
| pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*'; | description | |||
| } | "Represents a date in YYYY-MM-DD format."; | |||
| description | } | |||
| "A YANG identifier string as defined by the 'identifier' | ||||
| rule in Section 12 of RFC 6020."; | ||||
| } | ||||
| typedef revision-identifier { | leaf module-name { | |||
| type string { | type yang-identifier; | |||
| pattern '\d{4}-\d{2}-\d{2}'; | description | |||
| } | "Name of the module associated with this .sid file."; | |||
| description | } | |||
| "Represents a date in YYYY-MM-DD format."; | ||||
| } | ||||
| leaf module-name { | leaf module-revision { | |||
| type yang-identifier; | type revision-identifier; | |||
| description | description | |||
| "Name of the module associated with this .sid file."; | "Revision of the module associated with this .sid file. | |||
| } | This leaf is not present if no revision statement is | |||
| leaf module-revision { | defined in the YANG module."; | |||
| 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 { | list assigment-ranges { | |||
| key "entry-point"; | key "entry-point"; | |||
| description | description | |||
| "Range(s) of SIDs available for assignment to the | "Range(s) of SIDs available for assignment to the | |||
| different items defined by the associated module."; | different items defined by the associated module."; | |||
| leaf entry-point { | leaf entry-point { | |||
| type uint32; | type uint32; | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "Lowest SID available for assignment."; | "Lowest SID available for assignment."; | |||
| } | } | |||
| leaf size { | leaf size { | |||
| type uint16; | type uint16; | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "Number of SIDs available for assignment."; | "Number of SIDs available for assignment."; | |||
| } | } | |||
| } | } | |||
| list items { | list items { | |||
| key "type label"; | key "type label"; | |||
| description | description | |||
| "List of items defined by the associated YANG module."; | "List of items defined by the associated YANG module."; | |||
| leaf type { | leaf type { | |||
| type string { | type string { | |||
| pattern 'Module|Submodule|feature|' + | pattern 'Module|Submodule|feature|' + | |||
| 'identity$|node$|notification$|rpc$|action$'; | 'identity$|node$|notification$|rpc$|action$'; | |||
| } | } | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "Item type assigned, this field can be set to: | "Item type assigned, this field can be set to: | |||
| - 'Module' | - 'Module' | |||
| - 'Submodule' | - 'Submodule' | |||
| - 'feature' | - 'feature' | |||
| - 'identity' | - 'identity' | |||
| - 'node' | - 'node' | |||
| - 'notification' | - 'notification' | |||
| - 'rpc' | - 'rpc' | |||
| - 'action'"; | - 'action'"; | |||
| } | } | |||
| leaf label { | leaf label { | |||
| type string; | type string; | |||
| mandatory true; | mandatory true; | |||
| description | description | |||
| "Label associated to this item, can be set to: | "Label associated to this item, can be set to: | |||
| - a module name | - a module name | |||
| - a submodule name | - a submodule name | |||
| - a feature name | - a feature name | |||
| - a base identity encoded as '/<base identity name>' | - a base identity encoded as | |||
| - an identity encoded as '/<base identity name>/<identity name>' | '/<base identity name>' | |||
| - a schema node path"; | - an identity encoded as | |||
| } | '/<base identity name>/<identity name>' | |||
| - a data node path"; | ||||
| } | ||||
| leaf sid { | leaf sid { | |||
| type uint32; | type uint32; | |||
| mandatory true; | mandatory true; | |||
| description "Identifier assigned to this YANG item."; | description "Identifier assigned to this YANG item."; | |||
| } | } | |||
| } | } | |||
| } | } | |||
| <CODE ENDS> | <CODE ENDS> | |||
| 6. Security Considerations | 5. Security Considerations | |||
| The security considerations of [RFC7049] and [RFC7950] apply. | The security considerations of [RFC7049] and [RFC7950] apply. | |||
| This document defines an new type of identifier used to encode data | This document defines a new type of identifier used to encode data | |||
| models defined in YANG [RFC7950]. As such, this identifier does not | models defined in YANG [RFC7950]. As such, this identifier does not | |||
| contribute to any new security issues in addition of those identified | contribute to any new security issues in addition of those identified | |||
| for the specific protocols or contexts for which it is used. | for the specific protocols or contexts for which it is used. | |||
| 7. IANA Considerations | 6. IANA Considerations | |||
| 7.1. "SID" range registry | 6.1. "SID mega-range" registry | |||
| IANA is requested to create a registry for YANG Schema Item | The name of this registry is "SID mega-range". This registry is used | |||
| iDentifier (SID) ranges. This registry needs to guarantee that the | to delegate the management of block of SIDs for third party's (e.g. | |||
| ranges registered do not overlap. The registry SHALL record for each | SDO, registrar). | |||
| entry: | ||||
| Each entry in this registry must include: | ||||
| o The entry point (first entry) of the registered SID range. | o The entry point (first entry) of the registered SID range. | |||
| o The size of the registered SID range. | o The size of the registered SID range. | |||
| o The contact information of the owner of the range such as name, | o The contact information of the requesting organization including: | |||
| email address, and phone number. | ||||
| The IANA policy for this registry is split into four tiers as | * Organization name | |||
| follows: | ||||
| o The range of 0 to 999 and 0x40000000 to 0xFFFFFFFFFFFFFFFF are | * Primary contact name, email address, and phone number | |||
| reserved for future extensions of this protocol. Allocation | ||||
| within these ranges require IETF review or IESG approval. | ||||
| o The range of 1000 to 59999 is reserved for standardized YANG | * Secondary contact name, email address, and phone number | |||
| modules. Allocation within this range requires publishing of the | ||||
| associated ".yang" and ".sid" files. (Specification required.) | ||||
| o The range of 60000 to 99999 is reserved for experimental YANG | The initial entry in this registry is allocated to IANA: | |||
| modules. Use of this range MUST NOT be used in operational | ||||
| deployments since these SIDs are not globally unique which limit | ||||
| their interoperability. | ||||
| o The range of 100000 to 0x3FFFFFFF is available on a first come | +-------------+---------+-------------------+ | |||
| first served basis. The only information required from the | | Entry Point | Size | Organization name | | |||
| registrant is a valid contact information. The recommended size | +-------------+---------+-------------------+ | |||
| of the SID ranges allocated is 1,000 for private use and 10,000 | | 0 | 1000000 | IANA | | |||
| 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. | ||||
| +------------+-----------------+------------------------------------+ | The IANA policies for future additions to this registry are | |||
| | Entry | Size | Registration Procedures | | "Hierarchical Allocation, Expert Review" [RFC5226]. Prior to a first | |||
| | Point | | | | allocation, the requesting organization must demonstrate a functional | |||
| +------------+-----------------+------------------------------------+ | registry infrastructure. On subsequent allocation request(s), the | |||
| | 0 | 1,000 | IETF review or IESG approval | | organization must demonstrate the exhaustion of the prior range. | |||
| | 1,000 | 59,000 | Specification and associated | | These conditions need to be asserted by the assigned expert(s). | |||
| | | | ".yang" and ".sid" files required | | ||||
| | 60,000 | 40,000 | Experimental use | | ||||
| | 100,000 | 0x3ffe7960 | Contact information is required. | | ||||
| | | | Registration of the module name(s) | | ||||
| | | | and associated ".yang" and ".sid" | | ||||
| | | | files are optional. | | ||||
| | 0x40000000 | 2^64-0x40000000 | Specification required, expert | | ||||
| | | | review | | ||||
| +------------+-----------------+------------------------------------+ | ||||
| 7.2. YANG module registry | 6.1.1. IANA SID Mega-Range Registry | |||
| Each registered SID range can be used to assign SIDs to one or more | The first million SIDs assigned to IANA is sub-divided as follow: | |||
| 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: | ||||
| o The YANG module name | o The range of 0 to 999 is reserved for future extensions. The IANA | |||
| policy for this range is "IETF review" [RFC5226]. | ||||
| o The contact information of the author | o The range of 1000 to 59,999 is reserved for YANG modules defined | |||
| in RFCs. The IANA policy for future additions to this sub- | ||||
| registry is "RFC required" [RFC5226]. Allocation within this | ||||
| range requires publishing of the associated ".yang" and ".sid" | ||||
| files in the YANG module registry. | ||||
| o The specification reference | o The range of 60,000 to 99,999 is reserved for experimental YANG | |||
| modules. This range MUST NOT be used in operational deployments | ||||
| since these SIDs are not globally unique which limit their | ||||
| interoperability. The IANA policy for this range is "Experimental | ||||
| use" [RFC5226]. | ||||
| o The associated ".yang" file(s) (Optional) | o The range of 100,000 to 999,999 is reserved for standardized YANG | |||
| modules. The IANA policy for future additions to this sub- | ||||
| registry is "Specification Required" [RFC5226]. Allocation within | ||||
| this range requires publishing of the associated ".yang" and | ||||
| ".sid" files in the YANG module registry. | ||||
| o The associated ".sid" file (Optional) | +-------------+---------------+------------------------+ | |||
| | Entry Point | Size | IANA policy | | ||||
| +-------------+---------------+------------------------+ | ||||
| | 0 | 1,000 | IETF review | | ||||
| | 1,000 | 59,000 | RFC required | | ||||
| | 60,000 | 40,000 | Experimental use | | ||||
| | 100,000 | 1,000,000,000 | Specification Required | | ||||
| +-------------+---------------+------------------------+ | ||||
| Registration of YANG modules is optional. When a YANG module is | The size of SID range assigned to a YANG module should be between 50% | |||
| registered, the registrant MUST provide the module name and contact | and 60% of the current number of YANG items. This headroom allows | |||
| information and/or a specification reference. | assignment within the same range of new YANG items introduced by | |||
| subsequent revisions. A larger SID range size may be requested by | ||||
| the authors if this recommendation is considered insufficient. It is | ||||
| important to note that an extra SID range can be allocated to | ||||
| existing YANG module if the initial ranges(s) are exhausted. | ||||
| The registration of the associated ".yang" and ".sid" files is | 6.1.2. IANA "RFC SID range assignment" sub-registries | |||
| optional. When provided, the validity of the files MUST be verified. | ||||
| This can be accomplished by a YANG validation tool specially modified | The name of this sub-registry is "RFC SID range assignment". This | |||
| to support ".sid" file verification. The SID range specified within | sub-registry corresponds to the SID entry point 1000, size 59000. | |||
| the ".sid" file SHOULD also be checked against the "SID" range | Each entry in this sub-registry must include the SID range entry | |||
| registry (Section 7.1) and against the other YANG modules registered | point, the SID range size, the YANG module name, the RFC number. | |||
| to detect any duplicate use of SIDs. | ||||
| Initial entries in this registry are as follows: | Initial entries in this registry are as follows: | |||
| +-------------+------+-----------------+-------------------+ | +------------+------+-----------------+-----------------------------+ | |||
| | Entry Point | Size | Module name | Reference | | | Entry | Size | Module name | Reference | | |||
| +-------------+------+-----------------+-------------------+ | | Point | | | | | |||
| | 1000 | 100 | | Reserved for CoMI | | +------------+------+-----------------+-----------------------------+ | |||
| | 1100 | 400 | iana-if-type | [RFC7224] | | | 1000 | 100 | | Reserved for | | |||
| | 1500 | 100 | ietf-interfaces | [RFC7223] | | | | | | [I-D.ietf-core-comi] | | |||
| | 1600 | 100 | ietf-ip | [RFC7277] | | | 1100 | 400 | iana-if-type | [RFC7224] | | |||
| | 1700 | 100 | ietf-system | [RFC7317] | | | 1500 | 100 | ietf-interfaces | [RFC7223] | | |||
| +-------------+------+-----------------+-------------------+ | | 1600 | 100 | ietf-ip | [RFC7277] | | |||
| | 1700 | 100 | ietf-system | [RFC7317] | | ||||
| +------------+------+-----------------+-----------------------------+ | ||||
| 8. Acknowledgments | 6.2. "YANG module assignment" registry | |||
| The name of this registry is "YANG module assignment". This registry | ||||
| is used to track which YANG modules have been assigned and the | ||||
| specific YANG items assignment. Each entry in this sub-registry must | ||||
| include: | ||||
| o The YANG module name | ||||
| o The associated ".yang" file(s) | ||||
| o The associated ".sid" file | ||||
| The validity of the ".yang" and ".sid" files added to this registry | ||||
| MUST be verified. | ||||
| o The syntax of the registered ".yang" and ".sid" files must be | ||||
| valid. | ||||
| o Each YANG item defined by the registered ".yang" file must have a | ||||
| corresponding SID assigned in the ".sid" file. | ||||
| o Each SID is assigned to a single YANG item, duplicate assignment | ||||
| is not allowed. | ||||
| o The SID range(s) defined in the ".sid" file must be unique, must | ||||
| not conflict with any other SID ranges defined in already | ||||
| registered ".sid" files. | ||||
| o The ownership of the SID range(s) should be verify. | ||||
| The IANA policy for future additions to this registry is "First Come | ||||
| First Served" as described in [RFC5226]. | ||||
| 7. Acknowledgments | ||||
| The authors would like to thank Carsten Bormann for his help during | The authors would like to thank Carsten Bormann for his help during | |||
| the development of this document and his useful comments during the | the development of this document and his useful comments during the | |||
| review process. | review process. | |||
| 9. References | 8. References | |||
| 9.1. Normative References | 8.1. Normative References | |||
| [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
| Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
| DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
| <http://www.rfc-editor.org/info/rfc2119>. | <http://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object | [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object | |||
| Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, | Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, | |||
| October 2013, <http://www.rfc-editor.org/info/rfc7049>. | October 2013, <http://www.rfc-editor.org/info/rfc7049>. | |||
| [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", | |||
| RFC 7950, DOI 10.17487/RFC7950, August 2016, | RFC 7950, DOI 10.17487/RFC7950, August 2016, | |||
| <http://www.rfc-editor.org/info/rfc7950>. | <http://www.rfc-editor.org/info/rfc7950>. | |||
| [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", | [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", | |||
| RFC 7951, DOI 10.17487/RFC7951, August 2016, | RFC 7951, DOI 10.17487/RFC7951, August 2016, | |||
| <http://www.rfc-editor.org/info/rfc7951>. | <http://www.rfc-editor.org/info/rfc7951>. | |||
| 9.2. Informative References | 8.2. Informative References | |||
| [I-D.ietf-netconf-restconf] | [I-D.ietf-core-comi] | |||
| Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | Stok, P., Bierman, A., Veillette, M., and A. Pelov, "CoAP | |||
| Protocol", draft-ietf-netconf-restconf-17 (work in | Management Interface", draft-ietf-core-comi-00 (work in | |||
| progress), September 2016. | progress), January 2017. | |||
| [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | ||||
| IANA Considerations Section in RFCs", BCP 26, RFC 5226, | ||||
| DOI 10.17487/RFC5226, May 2008, | ||||
| <http://www.rfc-editor.org/info/rfc5226>. | ||||
| [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., | |||
| and A. Bierman, Ed., "Network Configuration Protocol | and A. Bierman, Ed., "Network Configuration Protocol | |||
| (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, | |||
| <http://www.rfc-editor.org/info/rfc6241>. | <http://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC7223] Bjorklund, M., "A YANG Data Model for Interface | [RFC7223] Bjorklund, M., "A YANG Data Model for Interface | |||
| Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, | Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, | |||
| <http://www.rfc-editor.org/info/rfc7223>. | <http://www.rfc-editor.org/info/rfc7223>. | |||
| skipping to change at page 13, line 5 ¶ | skipping to change at page 15, line 17 ¶ | |||
| <http://www.rfc-editor.org/info/rfc7224>. | <http://www.rfc-editor.org/info/rfc7224>. | |||
| [RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", | [RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", | |||
| RFC 7277, DOI 10.17487/RFC7277, June 2014, | RFC 7277, DOI 10.17487/RFC7277, June 2014, | |||
| <http://www.rfc-editor.org/info/rfc7277>. | <http://www.rfc-editor.org/info/rfc7277>. | |||
| [RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for | [RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for | |||
| System Management", RFC 7317, DOI 10.17487/RFC7317, August | System Management", RFC 7317, DOI 10.17487/RFC7317, August | |||
| 2014, <http://www.rfc-editor.org/info/rfc7317>. | 2014, <http://www.rfc-editor.org/info/rfc7317>. | |||
| [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF | ||||
| Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, | ||||
| <http://www.rfc-editor.org/info/rfc8040>. | ||||
| Appendix A. ".sid" file example | Appendix A. ".sid" file example | |||
| The following .sid file (ietf-system@2014-08-06.sid) have been | The following .sid file (ietf-system@2014-08-06.sid) have been | |||
| generated using the following yang modules: | generated using the following yang modules: | |||
| o ietf-system@2014-08-06.yang | o ietf-system@2014-08-06.yang | |||
| o ietf-yang-types@2013-07-15.yang | o ietf-yang-types@2013-07-15.yang | |||
| o ietf-inet-types@2013-07-15.yang | o ietf-inet-types@2013-07-15.yang | |||
| o ietf-netconf-acm@2012-02-22.yang | o ietf-netconf-acm@2012-02-22.yang | |||
| o iana-crypt-hash@2014-04-04.yang | o iana-crypt-hash@2014-04-04.yang | |||
| { | { | |||
| "assignment-ranges": [ | "assignment-ranges": [ | |||
| { | { | |||
| "entry-point": 1700, | "entry-point": 1700, | |||
| "size": 100 | "size": 100 | |||
| } | } | |||
| ], | ], | |||
| "module-name": "ietf-system", | "module-name": "ietf-system", | |||
| "module-revision": "2014-08-06", | "module-revision": "2014-08-06", | |||
| "items": [ | "items": [ | |||
| { | { | |||
| "type": "Module", | "type": "Module", | |||
| "label": "ietf-system", | "label": "ietf-system", | |||
| "sid": 1700 | "sid": 1700 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "authentication", | "label": "authentication", | |||
| "sid": 1701 | "sid": 1701 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "dns-udp-tcp-port", | "label": "dns-udp-tcp-port", | |||
| "sid": 1702 | "sid": 1702 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "local-users", | "label": "local-users", | |||
| "sid": 1703 | "sid": 1703 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "ntp", | "label": "ntp", | |||
| "sid": 1704 | "sid": 1704 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "ntp-udp-port", | "label": "ntp-udp-port", | |||
| "sid": 1705 | "sid": 1705 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "radius", | "label": "radius", | |||
| "sid": 1706 | "sid": 1706 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "radius-authentication", | "label": "radius-authentication", | |||
| "sid": 1707 | "sid": 1707 | |||
| }, | }, | |||
| { | { | |||
| "type": "feature", | "type": "feature", | |||
| "label": "timezone-name", | "label": "timezone-name", | |||
| "sid": 1708 | "sid": 1708 | |||
| }, | }, | |||
| { | { | |||
| "type": "identity", | "type": "identity", | |||
| "label": "/authentication-method", | "label": "/authentication-method", | |||
| "sid": 1709 | "sid": 1709 | |||
| }, | }, | |||
| { | { | |||
| "type": "identity", | "type": "identity", | |||
| "label": "/authentication-method/local-users", | "label": "/authentication-method/local-users", | |||
| "sid": 1710 | "sid": 1710 | |||
| }, | }, | |||
| { | { | |||
| "type": "identity", | "type": "identity", | |||
| "label": "/authentication-method/radius", | "label": "/authentication-method/radius", | |||
| "sid": 1711 | "sid": 1711 | |||
| }, | }, | |||
| { | { | |||
| "type": "identity", | "type": "identity", | |||
| "label": "/radius-authentication-type", | "label": "/radius-authentication-type", | |||
| "sid": 1712 | "sid": 1712 | |||
| }, | }, | |||
| { | { | |||
| "type": "identity", | "type": "identity", | |||
| "label": "/radius-authentication-type/radius-chap", | "label": "/radius-authentication-type/radius-chap", | |||
| "sid": 1713 | "sid": 1713 | |||
| }, | }, | |||
| { | { | |||
| "type": "identity", | "type": "identity", | |||
| "label": "/radius-authentication-type/radius-pap", | "label": "/radius-authentication-type/radius-pap", | |||
| "sid": 1714 | "sid": 1714 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system", | "label": "/system", | |||
| "sid": 1715 | "sid": 1715 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state", | "label": "/system-state", | |||
| "sid": 1716 | "sid": 1716 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/clock", | "label": "/system-state/clock", | |||
| "sid": 1717 | "sid": 1717 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/clock/boot-datetime", | "label": "/system-state/clock/boot-datetime", | |||
| "sid": 1718 | "sid": 1718 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/clock/current-datetime", | "label": "/system-state/clock/current-datetime", | |||
| "sid": 1719 | "sid": 1719 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/platform", | "label": "/system-state/platform", | |||
| "sid": 1720 | "sid": 1720 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/platform/machine", | "label": "/system-state/platform/machine", | |||
| "sid": 1721 | "sid": 1721 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/platform/os-name", | "label": "/system-state/platform/os-name", | |||
| "sid": 1722 | "sid": 1722 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/platform/os-release", | "label": "/system-state/platform/os-release", | |||
| "sid": 1723 | "sid": 1723 | |||
| }, | ||||
| }, | { | |||
| { | ||||
| "type": "node", | "type": "node", | |||
| "label": "/system-state/platform/os-version", | "label": "/system-state/platform/os-version", | |||
| "sid": 1724 | "sid": 1724 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication", | "label": "/system/authentication", | |||
| "sid": 1725 | "sid": 1725 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user", | "label": "/system/authentication/user", | |||
| "sid": 1726 | "sid": 1726 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user-authentication-order", | "label": "/system/authentication/user-authentication-order", | |||
| "sid": 1727 | "sid": 1727 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user/authorized-key", | "label": "/system/authentication/user/authorized-key", | |||
| "sid": 1728 | "sid": 1728 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user/authorized-key/algorithm", | "label": "/system/authentication/user/authorized-key/algorithm", | |||
| "sid": 1729 | "sid": 1729 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user/authorized-key/key-data", | "label": "/system/authentication/user/authorized-key/key-data", | |||
| "sid": 1730 | "sid": 1730 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user/authorized-key/name", | "label": "/system/authentication/user/authorized-key/name", | |||
| "sid": 1731 | "sid": 1731 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user/name", | "label": "/system/authentication/user/name", | |||
| "sid": 1732 | "sid": 1732 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/authentication/user/password", | "label": "/system/authentication/user/password", | |||
| "sid": 1733 | "sid": 1733 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/clock", | "label": "/system/clock", | |||
| "sid": 1734 | "sid": 1734 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/clock/timezone/timezone-name/timezone-name", | "label": "/system/clock/timezone-name", | |||
| "sid": 1735 | "sid": 1735 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/clock/timezone/timezone-utc-offset/timezone-utc-offset", | "label": "/system/clock/timezone-utc-offset", | |||
| "sid": 1736 | "sid": 1736 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/contact", | "label": "/system/contact", | |||
| "sid": 1737 | "sid": 1737 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver", | "label": "/system/dns-resolver", | |||
| "sid": 1738 | "sid": 1738 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/options", | "label": "/system/dns-resolver/options", | |||
| "sid": 1739 | "sid": 1739 | |||
| }, | ||||
| { | }, | |||
| { | ||||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/options/attempts", | "label": "/system/dns-resolver/options/attempts", | |||
| "sid": 1740 | "sid": 1740 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/options/timeout", | "label": "/system/dns-resolver/options/timeout", | |||
| "sid": 1741 | "sid": 1741 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/search", | "label": "/system/dns-resolver/search", | |||
| "sid": 1742 | "sid": 1742 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/server", | "label": "/system/dns-resolver/server", | |||
| "sid": 1743 | "sid": 1743 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/server/name", | "label": "/system/dns-resolver/server/name", | |||
| "sid": 1744 | "sid": 1744 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp", | "label": "/system/dns-resolver/server/udp-and-tcp", | |||
| "sid": 1745 | "sid": 1745 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp/address", | "label": "/system/dns-resolver/server/udp-and-tcp/address", | |||
| "sid": 1746 | "sid": 1746 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp/port", | "label": "/system/dns-resolver/server/udp-and-tcp/port", | |||
| "sid": 1747 | "sid": 1747 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/hostname", | "label": "/system/hostname", | |||
| "sid": 1748 | "sid": 1748 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/location", | "label": "/system/location", | |||
| "sid": 1749 | "sid": 1749 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp", | "label": "/system/ntp", | |||
| "sid": 1750 | "sid": 1750 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/enabled", | "label": "/system/ntp/enabled", | |||
| "sid": 1751 | "sid": 1751 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server", | "label": "/system/ntp/server", | |||
| "sid": 1752 | "sid": 1752 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server/association-type", | "label": "/system/ntp/server/association-type", | |||
| "sid": 1753 | "sid": 1753 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server/iburst", | "label": "/system/ntp/server/iburst", | |||
| "sid": 1754 | "sid": 1754 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server/name", | "label": "/system/ntp/server/name", | |||
| "sid": 1755 | "sid": 1755 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server/prefer", | "label": "/system/ntp/server/prefer", | |||
| "sid": 1756 | "sid": 1756 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server/transport/udp/udp", | "label": "/system/ntp/server/udp", | |||
| "sid": 1757 | "sid": 1757 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server/transport/udp/udp/address", | "label": "/system/ntp/server/udp/address", | |||
| "sid": 1758 | "sid": 1758 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/ntp/server/transport/udp/udp/port", | "label": "/system/ntp/server/udp/port", | |||
| "sid": 1759 | "sid": 1759 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius", | "label": "/system/radius", | |||
| "sid": 1760 | "sid": 1760 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/options", | "label": "/system/radius/options", | |||
| "sid": 1761 | "sid": 1761 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/options/attempts", | "label": "/system/radius/options/attempts", | |||
| "sid": 1762 | "sid": 1762 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/options/timeout", | "label": "/system/radius/options/timeout", | |||
| "sid": 1763 | "sid": 1763 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/server", | "label": "/system/radius/server", | |||
| "sid": 1764 | "sid": 1764 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/server/authentication-type", | "label": "/system/radius/server/authentication-type", | |||
| "sid": 1765 | "sid": 1765 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/server/name", | "label": "/system/radius/server/name", | |||
| "sid": 1766 | "sid": 1766 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/server/transport/udp/udp", | "label": "/system/radius/server/udp", | |||
| "sid": 1767 | "sid": 1767 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/server/transport/udp/udp/address", | "label": "/system/radius/server/udp/address", | |||
| "sid": 1768 | "sid": 1768 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/server/transport/udp/udp/authentication-port", | "label": "/system/radius/server/udp/authentication-port", | |||
| "sid": 1769 | "sid": 1769 | |||
| }, | }, | |||
| { | { | |||
| "type": "node", | "type": "node", | |||
| "label": "/system/radius/server/transport/udp/udp/shared-secret", | "label": "/system/radius/server/udp/shared-secret", | |||
| "sid": 1770 | "sid": 1770 | |||
| }, | }, | |||
| { | { | |||
| "type": "rpc", | "type": "rpc", | |||
| "label": "/set-current-datetime", | "label": "/set-current-datetime", | |||
| "sid": 1771 | "sid": 1771 | |||
| }, | ||||
| }, | { | |||
| { | ||||
| "type": "rpc", | "type": "rpc", | |||
| "label": "/set-current-datetime/input/current-datetime", | "label": "/set-current-datetime/input/current-datetime", | |||
| "sid": 1772 | "sid": 1772 | |||
| }, | }, | |||
| { | { | |||
| "type": "rpc", | "type": "rpc", | |||
| "label": "/system-restart", | "label": "/system-restart", | |||
| "sid": 1773 | "sid": 1773 | |||
| }, | }, | |||
| { | { | |||
| "type": "rpc", | "type": "rpc", | |||
| "label": "/system-shutdown", | "label": "/system-shutdown", | |||
| "sid": 1774 | "sid": 1774 | |||
| } | } | |||
| ] | ] | |||
| } | } | |||
| Authors' Addresses | Authors' Addresses | |||
| Abhinav Somaraju (editor) | ||||
| Tridonic GmbH & Co KG | ||||
| Farbergasse 15 | ||||
| Dornbirn, Vorarlberg 6850 | ||||
| Austria | ||||
| Phone: +43664808926169 | ||||
| Email: abhinav.somaraju@tridonic.com | ||||
| Michel Veillette (editor) | Michel Veillette (editor) | |||
| Trilliant Networks Inc. | Trilliant Networks Inc. | |||
| 610 Rue du Luxembourg | 610 Rue du Luxembourg | |||
| Granby, Quebec J2J 2V2 | Granby, Quebec J2J 2V2 | |||
| Canada | Canada | |||
| Phone: +14503750556 | Phone: +14503750556 | |||
| Email: michel.veillette@trilliantinc.com | Email: michel.veillette@trilliantinc.com | |||
| Alexander Pelov (editor) | ||||
| Alexander Pelov | ||||
| Acklio | Acklio | |||
| 2bis rue de la Chataigneraie | 2bis rue de la Chataigneraie | |||
| Cesson-Sevigne, Bretagne 35510 | Cesson-Sevigne, Bretagne 35510 | |||
| France | France | |||
| Email: a@ackl.io | Email: a@ackl.io | |||
| Randy Turner | Randy Turner | |||
| Landis+Gyr | Landis+Gyr | |||
| 30000 Mill Creek Ave | 30000 Mill Creek Ave | |||
| Suite 100 | Suite 100 | |||
| Alpharetta, GA 30022 | Alpharetta, GA 30022 | |||
| US | US | |||
| Phone: ++16782581292 | Phone: ++16782581292 | |||
| Email: randy.turner@landisgyr.com | Email: randy.turner@landisgyr.com | |||
| URI: http://www.landisgyr.com/ | URI: http://www.landisgyr.com/ | |||
| Ana Minaburo | Ana Minaburo | |||
| Acklio | Acklio | |||
| 2bis rue de la chataigneraie | 2bis rue de la chataigneraie | |||
| Cesson-Sevigne, Bretagne 35510 | Cesson-Sevigne, Bretagne 35510 | |||
| France | France | |||
| Email: ana@ackl.io | Email: ana@ackl.io | |||
| Abhinav Somaraju | ||||
| Tridonic GmbH & Co KG | ||||
| Farbergasse 15 | ||||
| Dornbirn, Vorarlberg 6850 | ||||
| Austria | ||||
| Phone: +43664808926169 | ||||
| Email: abhinav.somaraju@tridonic.com | ||||
| End of changes. 158 change blocks. | ||||
| 539 lines changed or deleted | 611 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ | ||||