| < draft-ietf-core-sid-14.txt | draft-ietf-core-sid-15.txt > | |||
|---|---|---|---|---|
| Internet Engineering Task Force M. Veillette, Ed. | Internet Engineering Task Force M. Veillette, Ed. | |||
| Internet-Draft Trilliant Networks Inc. | Internet-Draft Trilliant Networks Inc. | |||
| Intended status: Standards Track A. Pelov, Ed. | Intended status: Standards Track A. Pelov, Ed. | |||
| Expires: January 5, 2021 I. Petrov, Ed. | Expires: July 21, 2021 I. Petrov, Ed. | |||
| Acklio | Acklio | |||
| July 04, 2020 | January 17, 2021 | |||
| YANG Schema Item iDentifier (YANG SID) | YANG Schema Item iDentifier (YANG SID) | |||
| draft-ietf-core-sid-14 | draft-ietf-core-sid-15 | |||
| Abstract | Abstract | |||
| YANG Schema Item iDentifiers (YANG SID) are globally unique 63-bit | YANG Schema Item iDentifiers (YANG SID) are globally unique 63-bit | |||
| unsigned integers used to identify YANG items. This document defines | unsigned integers used to identify YANG items. This document defines | |||
| the semantics, the registration, and assignment processes of YANG | the semantics, the registration, and assignment processes of YANG | |||
| SIDs. To enable the implementation of these processes, this document | SIDs. To enable the implementation of these processes, this document | |||
| also defines a file format used to persist and publish assigned YANG | also defines a file format used to persist and publish assigned YANG | |||
| SIDs. | SIDs. | |||
| skipping to change at page 1, line 37 ¶ | skipping to change at page 1, line 37 ¶ | |||
| 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 https://datatracker.ietf.org/drafts/current/. | Drafts is at https://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 January 5, 2021. | This Internet-Draft will expire on July 21, 2021. | |||
| Copyright Notice | Copyright Notice | |||
| Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 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 | |||
| (https://trustee.ietf.org/license-info) in effect on the date of | (https://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 | |||
| skipping to change at page 2, line 28 ¶ | skipping to change at page 2, line 28 ¶ | |||
| 7.2. Register ".sid" File Format Module . . . . . . . . . . . 13 | 7.2. Register ".sid" File Format Module . . . . . . . . . . . 13 | |||
| 7.3. CoAP Content-Formats Registry . . . . . . . . . . . . . . 13 | 7.3. CoAP Content-Formats Registry . . . . . . . . . . . . . . 13 | |||
| 7.4. Create new IANA Registry: "YANG SID Mega-Range" registry 14 | 7.4. Create new IANA Registry: "YANG SID Mega-Range" registry 14 | |||
| 7.4.1. Structure . . . . . . . . . . . . . . . . . . . . . . 14 | 7.4.1. Structure . . . . . . . . . . . . . . . . . . . . . . 14 | |||
| 7.4.2. Allocation policy . . . . . . . . . . . . . . . . . . 14 | 7.4.2. Allocation policy . . . . . . . . . . . . . . . . . . 14 | |||
| 7.4.2.1. First allocation . . . . . . . . . . . . . . . . 15 | 7.4.2.1. First allocation . . . . . . . . . . . . . . . . 15 | |||
| 7.4.2.2. Consecutive allocations . . . . . . . . . . . . . 15 | 7.4.2.2. Consecutive allocations . . . . . . . . . . . . . 15 | |||
| 7.4.3. Initial contents of the Registry . . . . . . . . . . 15 | 7.4.3. Initial contents of the Registry . . . . . . . . . . 15 | |||
| 7.5. Create a new IANA Registry: IETF YANG SID Range Registry | 7.5. Create a new IANA Registry: IETF YANG SID Range Registry | |||
| (managed by IANA) . . . . . . . . . . . . . . . . . . . . 15 | (managed by IANA) . . . . . . . . . . . . . . . . . . . . 15 | |||
| 7.5.1. Structure . . . . . . . . . . . . . . . . . . . . . . 16 | 7.5.1. Structure . . . . . . . . . . . . . . . . . . . . . . 15 | |||
| 7.5.2. Allocation policy . . . . . . . . . . . . . . . . . . 16 | 7.5.2. Allocation policy . . . . . . . . . . . . . . . . . . 16 | |||
| 7.5.3. Initial contents of the registry . . . . . . . . . . 17 | 7.5.3. Initial contents of the registry . . . . . . . . . . 17 | |||
| 7.6. Create new IANA Registry: "IETF YANG SID Registry" . . . 18 | 7.6. Create new IANA Registry: "IETF YANG SID Registry" . . . 18 | |||
| 7.6.1. Structure . . . . . . . . . . . . . . . . . . . . . . 18 | 7.6.1. Structure . . . . . . . . . . . . . . . . . . . . . . 18 | |||
| 7.6.2. Allocation policy . . . . . . . . . . . . . . . . . . 19 | 7.6.2. Allocation policy . . . . . . . . . . . . . . . . . . 18 | |||
| 7.6.3. Recursive Allocation of YANG SID Range at Document | 7.6.3. Recursive Allocation of YANG SID Range at Document | |||
| Adoption . . . . . . . . . . . . . . . . . . . . . . 19 | Adoption . . . . . . . . . . . . . . . . . . . . . . 19 | |||
| 7.6.4. Initial contents of the registry . . . . . . . . . . 21 | 7.6.4. Initial contents of the registry . . . . . . . . . . 20 | |||
| 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 | 8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 21 | |||
| 9.1. Normative References . . . . . . . . . . . . . . . . . . 21 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 21 | |||
| 9.2. Informative References . . . . . . . . . . . . . . . . . 22 | 9.2. Informative References . . . . . . . . . . . . . . . . . 22 | |||
| Appendix A. ".sid" file example . . . . . . . . . . . . . . . . 23 | Appendix A. ".sid" file example . . . . . . . . . . . . . . . . 23 | |||
| Appendix B. SID auto generation . . . . . . . . . . . . . . . . 33 | Appendix B. SID auto generation . . . . . . . . . . . . . . . . 32 | |||
| Appendix C. ".sid" file lifecycle . . . . . . . . . . . . . . . 34 | Appendix C. ".sid" file lifecycle . . . . . . . . . . . . . . . 33 | |||
| C.1. ".sid" File Creation . . . . . . . . . . . . . . . . . . 34 | C.1. ".sid" File Creation . . . . . . . . . . . . . . . . . . 33 | |||
| C.2. ".sid" File Update . . . . . . . . . . . . . . . . . . . 35 | C.2. ".sid" File Update . . . . . . . . . . . . . . . . . . . 35 | |||
| Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 | |||
| 1. Introduction | 1. Introduction | |||
| Some of the items defined in YANG [RFC7950] require the use of a | Some of the items defined in YANG [RFC7950] require the use of a | |||
| unique identifier. In both NETCONF [RFC6241] and RESTCONF [RFC8040], | unique identifier. In both NETCONF [RFC6241] and RESTCONF [RFC8040], | |||
| these identifiers are implemented using names. To allow the | these identifiers are implemented using names. To allow the | |||
| implementation of data models defined in YANG in constrained devices | implementation of data models defined in YANG in constrained devices | |||
| and constrained networks, a more compact method to identify YANG | and constrained networks, a more compact method to identify YANG | |||
| skipping to change at page 7, line 25 ¶ | skipping to change at page 7, line 25 ¶ | |||
| Editor: Andy Bierman | Editor: Andy Bierman | |||
| <mailto:andy@yumaworks.com> | <mailto:andy@yumaworks.com> | |||
| Editor: Alexander Pelov | Editor: Alexander Pelov | |||
| <mailto:a@ackl.io> | <mailto:a@ackl.io> | |||
| Editor: Ivaylo Petrov | Editor: Ivaylo Petrov | |||
| <mailto:ivaylo@ackl.io>"; | <mailto:ivaylo@ackl.io>"; | |||
| description | description | |||
| "Copyright (c) 2020 IETF Trust and the persons identified as | "Copyright (c) 2021 IETF Trust and the persons identified as | |||
| authors of the code. All rights reserved. | authors of the code. All rights reserved. | |||
| Redistribution and use in source and binary forms, with or | Redistribution and use in source and binary forms, with or | |||
| without modification, is permitted pursuant to, and subject to | without modification, is permitted pursuant to, and subject to | |||
| the license terms contained in, the Simplified BSD License set | the license terms contained in, the Simplified BSD License set | |||
| forth in Section 4.c of the IETF Trust's Legal Provisions | forth in Section 4.c of the IETF Trust's Legal Provisions | |||
| Relating to IETF Documents | Relating to IETF Documents | |||
| (https://trustee.ietf.org/license-info). | (https://trustee.ietf.org/license-info). | |||
| This version of this YANG module is part of RFC XXXX | This version of this YANG module is part of RFC XXXX | |||
| skipping to change at page 15, line 4 ¶ | skipping to change at page 14, line 49 ¶ | |||
| an entry in the YANG SID Mega-Range Registry), must ensure the | an entry in the YANG SID Mega-Range Registry), must ensure the | |||
| following capacities: | following capacities: | |||
| o The capacity to manage and operate a YANG SID Range Registry. A | o The capacity to manage and operate a YANG SID Range Registry. A | |||
| YANG SID Range Registry MUST provide the following information for | YANG SID Range Registry MUST provide the following information for | |||
| all YANG SID Ranges allocated by the Registry: | all YANG SID Ranges allocated by the Registry: | |||
| * Entry Point of allocated YANG SID Range | * Entry Point of allocated YANG SID Range | |||
| * Size of allocated YANG SID Range | * Size of allocated YANG SID Range | |||
| * Type: Public or Private | ||||
| * Type: Public or Private | ||||
| + Public Ranges MUST include at least a reference to the YANG | + Public Ranges MUST include at least a reference to the YANG | |||
| module and ".sid" files for that YANG SID Range. | module and ".sid" files for that YANG SID Range. | |||
| + Private Ranges MUST be marked as "Private" | + Private Ranges MUST be marked as "Private" | |||
| o A Policy of allocation, which clearly identifies if the YANG SID | o A Policy of allocation, which clearly identifies if the YANG SID | |||
| Range allocations would be Private, Public or Both. | Range allocations would be Private, Public or Both. | |||
| o Technical capacity to ensure the sustained operation of the | o Technical capacity to ensure the sustained operation of the | |||
| registry for a period of at least 5 years. If Private | registry for a period of at least 5 years. If Private | |||
| skipping to change at page 21, line 39 ¶ | skipping to change at page 21, line 18 ¶ | |||
| Michael Richardson, Abhinav Somaraju, Peter van der Stok, Laurent | Michael Richardson, Abhinav Somaraju, Peter van der Stok, Laurent | |||
| Toutain and Randy Turner for their help during the development of | Toutain and Randy Turner for their help during the development of | |||
| this document and their useful comments during the review process. | this document and their useful comments during the review process. | |||
| 9. References | 9. References | |||
| 9.1. Normative References | 9.1. Normative References | |||
| [I-D.ietf-core-yang-cbor] | [I-D.ietf-core-yang-cbor] | |||
| Veillette, M., Petrov, I., and A. Pelov, "CBOR Encoding of | Veillette, M., Petrov, I., and A. Pelov, "CBOR Encoding of | |||
| Data Modeled with YANG", draft-ietf-core-yang-cbor-12 | Data Modeled with YANG", draft-ietf-core-yang-cbor-13 | |||
| (work in progress), March 2020. | (work in progress), July 2020. | |||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
| [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, | |||
| DOI 10.17487/RFC3688, January 2004, | DOI 10.17487/RFC3688, January 2004, | |||
| <https://www.rfc-editor.org/info/rfc3688>. | <https://www.rfc-editor.org/info/rfc3688>. | |||
| skipping to change at page 22, line 34 ¶ | skipping to change at page 22, line 10 ¶ | |||
| [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC | |||
| 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
| May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
| 9.2. Informative References | 9.2. Informative References | |||
| [I-D.ietf-anima-constrained-voucher] | [I-D.ietf-anima-constrained-voucher] | |||
| Richardson, M., Stok, P., and P. Kampanakis, "Constrained | Richardson, M., Stok, P., and P. Kampanakis, "Constrained | |||
| Voucher Artifacts for Bootstrapping Protocols", draft- | Voucher Artifacts for Bootstrapping Protocols", draft- | |||
| ietf-anima-constrained-voucher-07 (work in progress), | ietf-anima-constrained-voucher-09 (work in progress), | |||
| January 2020. | November 2020. | |||
| [I-D.ietf-core-comi] | [I-D.ietf-core-comi] | |||
| Veillette, M., Stok, P., Pelov, A., Bierman, A., and I. | Veillette, M., Stok, P., Pelov, A., Bierman, A., and I. | |||
| Petrov, "CoAP Management Interface", draft-ietf-core- | Petrov, "CoAP Management Interface (CORECONF)", draft- | |||
| comi-09 (work in progress), March 2020. | ietf-core-comi-10 (work in progress), July 2020. | |||
| [I-D.ietf-core-yang-library] | [I-D.ietf-core-yang-library] | |||
| Veillette, M. and I. Petrov, "Constrained YANG Module | Veillette, M. and I. Petrov, "Constrained YANG Module | |||
| Library", draft-ietf-core-yang-library-01 (work in | Library", draft-ietf-core-yang-library-03 (work in | |||
| progress), January 2020. | progress), January 2021. | |||
| [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for | |||
| the Network Configuration Protocol (NETCONF)", RFC 6020, | the Network Configuration Protocol (NETCONF)", RFC 6020, | |||
| DOI 10.17487/RFC6020, October 2010, | DOI 10.17487/RFC6020, October 2010, | |||
| <https://www.rfc-editor.org/info/rfc6020>. | <https://www.rfc-editor.org/info/rfc6020>. | |||
| [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, | |||
| <https://www.rfc-editor.org/info/rfc6241>. | <https://www.rfc-editor.org/info/rfc6241>. | |||
| [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration | ||||
| Protocol (NETCONF) Access Control Model", RFC 6536, | ||||
| DOI 10.17487/RFC6536, March 2012, | ||||
| <https://www.rfc-editor.org/info/rfc6536>. | ||||
| [RFC7224] Bjorklund, M., "IANA Interface Type YANG Module", | [RFC7224] Bjorklund, M., "IANA Interface Type YANG Module", | |||
| RFC 7224, DOI 10.17487/RFC7224, May 2014, | RFC 7224, DOI 10.17487/RFC7224, May 2014, | |||
| <https://www.rfc-editor.org/info/rfc7224>. | <https://www.rfc-editor.org/info/rfc7224>. | |||
| [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, <https://www.rfc-editor.org/info/rfc7317>. | 2014, <https://www.rfc-editor.org/info/rfc7317>. | |||
| [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | [RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for | |||
| Writing an IANA Considerations Section in RFCs", BCP 26, | Writing an IANA Considerations Section in RFCs", BCP 26, | |||
| skipping to change at page 24, line 4 ¶ | skipping to change at page 23, line 24 ¶ | |||
| "A Voucher Artifact for Bootstrapping Protocols", | "A Voucher Artifact for Bootstrapping Protocols", | |||
| RFC 8366, DOI 10.17487/RFC8366, May 2018, | RFC 8366, DOI 10.17487/RFC8366, May 2018, | |||
| <https://www.rfc-editor.org/info/rfc8366>. | <https://www.rfc-editor.org/info/rfc8366>. | |||
| 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 (defined in [RFC7317]) | o ietf-system@2014-08-06.yang (defined in [RFC7317]) | |||
| o ietf-yang-types@2013-07-15.yang (defined in [RFC6991]) | o ietf-yang-types@2013-07-15.yang (defined in [RFC6991]) | |||
| o ietf-inet-types@2013-07-15.yang (defined in [RFC6991]) | o ietf-inet-types@2013-07-15.yang (defined in [RFC6991]) | |||
| o ietf-netconf-acm@2012-02-22.yang (defined in [RFC6536]) | o ietf-netconf-acm@2018-02-14.yang (defined in [RFC8341]) | |||
| o iana-crypt-hash@2014-04-04.yang (defined in [RFC7317]) | o iana-crypt-hash@2014-04-04.yang (defined in [RFC7317]) | |||
| { | { | |||
| "ietf-sid-file:sid-file" : { | "ietf-sid-file:sid-file" : { | |||
| "module-name": "ietf-system", | "module-name": "ietf-system", | |||
| "module-revision": "2020-02-05", | "module-revision": "2020-02-05", | |||
| "dependency-revision": [ | "dependency-revision": [ | |||
| { | { | |||
| "module-name": "ietf-yang-types", | "module-name": "ietf-yang-types", | |||
| "module-revision": "2013-07-15.yang" | "module-revision": "2013-07-15.yang" | |||
| }, | }, | |||
| { | { | |||
| "module-name": "ietf-inet-types", | "module-name": "ietf-inet-types", | |||
| "module-revision": "2013-07-15.yang" | "module-revision": "2013-07-15.yang" | |||
| }, | }, | |||
| { | { | |||
| "module-name": "ietf-netconf-acm", | "module-name": "ietf-netconf-acm", | |||
| "module-revision": "2012-02-22.yang" | "module-revision": "2018-02-14.yang" | |||
| }, | }, | |||
| { | { | |||
| "module-name": "iana-crypt-hash", | "module-name": "iana-crypt-hash", | |||
| "module-revision": "2014-04-04.yang" | "module-revision": "2014-04-04.yang" | |||
| } | } | |||
| ], | ], | |||
| "description": "Example sid file", | "description": "Example sid file", | |||
| "assignment-ranges": [ | "assignment-ranges": [ | |||
| { | { | |||
| "entry-point": 1700, | "entry-point": 1700, | |||
| "size": 100 | "size": 100 | |||
| } | } | |||
| ], | ], | |||
| "items": [ | "items": [ | |||
| End of changes. 21 change blocks. | ||||
| 28 lines changed or deleted | 25 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/ | ||||