idnits 2.17.1 draft-ietf-core-sid-04.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year -- The document date (June 04, 2018) is 2153 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'DONE' is mentioned on line 292, but not defined ** Obsolete normative reference: RFC 7049 (Obsoleted by RFC 8949) == Outdated reference: A later version (-17) exists of draft-ietf-core-comi-02 -- Obsolete informational reference (is this intentional?): RFC 5226 (Obsoleted by RFC 8126) -- Obsolete informational reference (is this intentional?): RFC 6021 (Obsoleted by RFC 6991) -- Obsolete informational reference (is this intentional?): RFC 6536 (Obsoleted by RFC 8341) -- Obsolete informational reference (is this intentional?): RFC 7223 (Obsoleted by RFC 8343) -- Obsolete informational reference (is this intentional?): RFC 7277 (Obsoleted by RFC 8344) Summary: 1 error (**), 0 flaws (~~), 3 warnings (==), 6 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Internet Engineering Task Force M. Veillette, Ed. 3 Internet-Draft Trilliant Networks Inc. 4 Intended status: Standards Track A. Pelov, Ed. 5 Expires: December 6, 2018 Acklio 6 June 04, 2018 8 YANG Schema Item iDentifier (SID) 9 draft-ietf-core-sid-04 11 Abstract 13 YANG Schema Item iDentifiers (SID) are globally unique 64-bit 14 unsigned numbers used to identify YANG items. This document defines 15 the semantics, the registration, and assignment processes of SIDs. 16 To enable the implementation of these processes, this document also 17 defines a file format used to persist and publish assigned SIDs. 19 Status of This Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF). Note that other groups may also distribute 26 working documents as Internet-Drafts. The list of current Internet- 27 Drafts is at https://datatracker.ietf.org/drafts/current/. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 This Internet-Draft will expire on December 6, 2018. 36 Copyright Notice 38 Copyright (c) 2018 IETF Trust and the persons identified as the 39 document authors. All rights reserved. 41 This document is subject to BCP 78 and the IETF Trust's Legal 42 Provisions Relating to IETF Documents 43 (https://trustee.ietf.org/license-info) in effect on the date of 44 publication of this document. Please review these documents 45 carefully, as they describe your rights and restrictions with respect 46 to this document. Code Components extracted from this document must 47 include Simplified BSD License text as described in Section 4.e of 48 the Trust Legal Provisions and are provided without warranty as 49 described in the Simplified BSD License. 51 Table of Contents 53 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 54 2. Terminology and Notation . . . . . . . . . . . . . . . . . . 3 55 3. ".sid" file lifecycle . . . . . . . . . . . . . . . . . . . . 4 56 4. ".sid" file format . . . . . . . . . . . . . . . . . . . . . 7 57 5. Security Considerations . . . . . . . . . . . . . . . . . . . 11 58 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 59 6.1. "SID mega-range" registry . . . . . . . . . . . . . . . . 11 60 6.1.1. IANA SID Mega-Range Registry . . . . . . . . . . . . 12 61 6.1.2. IANA "RFC SID range assignment" sub-registries . . . 13 62 6.2. "YANG module assignment" registry . . . . . . . . . . . . 14 63 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14 64 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14 65 8.1. Normative References . . . . . . . . . . . . . . . . . . 14 66 8.2. Informative References . . . . . . . . . . . . . . . . . 15 67 Appendix A. ".sid" file example . . . . . . . . . . . . . . . . 16 68 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 70 1. Introduction 72 Some of the items defined in YANG [RFC7950] require the use of a 73 unique identifier. In both NETCONF [RFC6241] and RESTCONF [RFC8040], 74 these identifiers are implemented using names. To allow the 75 implementation of data models defined in YANG in constrained devices 76 and constrained networks, a more compact method to identify YANG 77 items is required. This compact identifier, called SID, is encoded 78 using a 64-bit unsigned integer. The following items are identified 79 using SIDs: 81 o identities 83 o data nodes (Note: including those part of a YANG template as 84 defined by the 'yang-data' extension.) 86 o RPCs and associated input(s) and output(s) 88 o actions and associated input(s) and output(s) 90 o notifications and associated information 92 o YANG modules, submodules and features 94 To minimize their size, SIDs are often represented as a difference 95 between the current SID and a reference SID. Such difference is 96 called "delta", shorthand for "delta-encoded SID". Conversion from 97 SIDs to deltas and back to SIDs is a stateless process. Each 98 protocol implementing deltas must unambiguously define the reference 99 SID for each YANG item. 101 SIDs are globally unique numbers, a registration system is used in 102 order to guarantee their uniqueness. SIDs are registered in blocks 103 called "SID ranges". 105 Assignment of SIDs to YANG items can be automated, the recommended 106 process to assign SIDs is as follows: 108 1. A tool extracts the different items defined for a specific YANG 109 module. 111 2. The list of items is sorted in alphabetical order, 'namespace' in 112 descending order, 'identifier' in ascending order. The 113 'namespace' and 'identifier' formats are described in the YANG 114 module 'ietf-sid-file' defined in Section 4. 116 3. SIDs are assigned sequentially from the entry point up to the 117 size of the registered SID range. This approach is recommended 118 to minimize the serialization overhead, especially when delta 119 encoding is implemented. 121 4. If the number of items exceeds the SID range(s) allocated to a 122 YANG module, an extra range is added for subsequent assignments. 124 SIDs are assigned permanently, items introduced by a new revision of 125 a YANG module are added to the list of SIDs already assigned. This 126 process can also be automated using the same method described above, 127 only unassigned YANG items are processed at step #3. 129 Section 3 provides more details about the registration process of 130 YANG modules and associated SIDs. To enable the implementation of 131 this registry, Section 4 defines a standard file format used to store 132 and publish SIDs. 134 2. Terminology and Notation 136 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 137 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 138 document are to be interpreted as described in [RFC2119]. 140 The following terms are defined in [RFC7950]: 142 o action 143 o feature 145 o module 147 o notification 149 o RPC 151 o schema node 153 o schema tree 155 o submodule 157 The following term is defined in [RFC8040]: 159 o yang-data extension 161 This specification also makes use of the following terminology: 163 o delta : Difference between the current SID and a reference SID. A 164 reference SID is defined for each context for which deltas are 165 used. 167 o item: A schema node, an identity, a module, a submodule or a 168 feature defined using the YANG modeling language. 170 o path: A path is a string that identifies a schema node within the 171 schema tree. A path consists of the list of schema node 172 identifier(s) separated by slashes ("/"). Schema node 173 identifier(s) are always listed from the top-level schema node up 174 to the targeted schema node. (e.g. "/ietf-system:system- 175 state/clock/current-datetime") 177 o YANG Schema Item iDentifier (SID): Unsigned integer used to 178 identify different YANG items. 180 3. ".sid" file lifecycle 182 YANG is a language designed to model data accessed using one of the 183 compatible protocols (e.g. NETCONF [RFC6241], RESCONF [RFC8040] and 184 CoMI [I-D.ietf-core-comi]). A YANG module defines hierarchies of 185 data, including configuration, state data, RPCs, actions and 186 notifications. 188 YANG modules are not necessary created in the context of constrained 189 applications. YANG modules can be implemented using NETCONF 190 [RFC6241] or RESTCONF [RFC8040] without the need to assign SIDs. 192 As needed, authors of YANG modules can assign SIDs to their YANG 193 modules. This process starts by the registration of a SID range. 194 Once a SID range is registered, the owner of this range assigns sub- 195 ranges to each YANG module in order to generate the associated ".sid" 196 files. Generation of ".sid" files SHOULD be performed using an 197 automated tool. 199 Registration of the .sid file associated to a YANG module is optional 200 but recommended to promote interoperability between devices and to 201 avoid duplicate allocation of SIDs to a single YANG module. 203 The following activity diagram summarizes the creation of a YANG 204 module and its associated .sid file. 206 +---------------+ 207 O | Creation of a | 208 -|- ->| YANG module | 209 / \ +---------------+ 210 | 211 V 212 /-------------\ 213 / Standardized \ yes 214 \ YANG module ? /-------------+ 215 \-------------/ | 216 | no | 217 V V 218 /-------------\ +---------------+ 219 / Constrained \ yes | SID range | 220 +-->\ application ? /---->| registration | 221 | \-------------/ +---------------+ 222 | | no | 223 | V V 224 | +---------------+ +---------------+ 225 +---| YANG module | | SID sub-range | 226 | update | | assignment | 227 +---------------+ +---------------+ 228 | 229 V 230 +---------------+ 231 | .sid file | 232 | generation | 233 +---------------+ 234 | 235 V 236 /-------------\ +---------------+ 237 / Publicly \ yes | YANG module | 238 \ available ? /---->| registration | 239 \-------------/ +---------------+ 240 | no | 241 +---------------------+ 242 | 243 [DONE] 245 Each time a YANG module or one of its imported module(s) or included 246 sub-module(s) is updated, the ".sid" file MAY need to be updated. 247 This update SHOULD also be performed using an automated tool. 249 If a new revision requires more SIDs than initially allocated, a new 250 SID range MUST be added to the 'assignment-ranges'. These extra SIDs 251 are used for subsequent assignements. 253 The following activity diagram summarizes the update of a YANG module 254 and its associated .sid file. 256 +---------------+ 257 O | Update of the | 258 -|- ->| YANG module | 259 / \ | or include(s) | 260 | or import(s) | 261 +---------------+ 262 | 263 V 264 /-------------\ 265 / New items \ yes 266 \ created ? /------+ 267 \-------------/ | 268 | no V 269 | /-------------\ +----------------+ 270 | / SID range \ yes | Extra sub-range| 271 | \ exhausted ? /---->| assignment | 272 | \-------------/ +----------------+ 273 | | no | 274 | +---------------------+ 275 | | 276 | V 277 | +---------------+ 278 | | .sid file | 279 | | update based | 280 | | on previous | 281 | | .sid file | 282 | +---------------+ 283 | | 284 | V 285 | /-------------\ +---------------+ 286 | / Publicly \ yes | YANG module | 287 | \ available ? /---->| registration | 288 | \-------------/ +---------------+ 289 | | no | 290 +--------------+---------------------+ 291 | 292 [DONE] 294 4. ".sid" file format 296 ".sid" files are used to persist and publish SIDs assigned to the 297 different YANG items of a specific YANG module. The following YANG 298 module defined the structure of this file, encoding is performed 299 using the rules defined in [RFC7951]. 301 file "ietf-sid-file@2017-11-26.yang" 302 module ietf-sid-file { 303 namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file"; 304 prefix sid; 306 import ietf-yang-types { 307 prefix yang; 308 } 310 import ietf-comi { 311 prefix comi; 312 } 314 organization 315 "IETF Core Working Group"; 317 contact 318 "Michel Veillette 319 321 Andy Bierman 322 324 Alexander Pelov 325 "; 327 description 328 "This module defines the structure of the .sid files. 330 Each .sid file contains the mapping between the different 331 string identifiers defined by a YANG module and a 332 corresponding numeric value called SID."; 334 revision 2017-11-26 { 335 description 336 "Initial revision."; 337 reference 338 "[I-D.ietf-core-sid] YANG Schema Item iDentifier (SID)"; 339 } 341 typedef revision-identifier { 342 type string { 343 pattern '\d{4}-\d{2}-\d{2}'; 344 } 345 description 346 "Represents a date in YYYY-MM-DD format."; 347 } 348 typedef schema-node-path { 349 type string { 350 pattern 351 '/[a-zA-Z_][a-zA-Z0-9\-_.]*:[a-zA-Z_][a-zA-Z0-9\-_.]*' + 352 '(/[a-zA-Z_][a-zA-Z0-9\-_.]*(:[a-zA-Z_][a-zA-Z0-9\-_.]*)?)*'; 353 } 354 description 355 "Identifies a schema-node path string for use in the 356 SID registry. This string format follows the rules 357 for an instance-identifier, as defined in RFC 7959, 358 except that no predicates are allowed. 360 This format is intended to support the YANG 1.1 ABNF 361 for a schema node identifier, except module names 362 are used instead of prefixes, as specified in RFC 7951."; 363 reference 364 "RFC 7950, The YANG 1.1 Data Modeling Language; 365 Section 6.5: Schema Node Identifier; 366 RFC 7951, JSON Encoding of YANG Data; 367 Section 6.11: The instance-identifier type"; 368 } 370 leaf module-name { 371 type yang:yang-identifier; 372 description 373 "Name of the YANG module associated with this .sid file."; 374 } 376 leaf module-revision { 377 type revision-identifier; 378 description 379 "Revision of the YANG module associated with this .sid file. 380 This leaf is not present if no revision statement is 381 defined in the YANG module."; 382 } 384 list assigment-ranges { 385 key "entry-point"; 386 description 387 "SID range(s) allocated to the YANG module identified by 388 'module-name' and 'module-revision'."; 390 leaf entry-point { 391 type comi:sid; 392 mandatory true; 393 description 394 "Lowest SID available for assignment."; 395 } 396 leaf size { 397 type uint64; 398 mandatory true; 399 description 400 "Number of SIDs available for assignment."; 401 } 402 } 404 list items { 405 key "namespace identifier"; 406 description 407 "Each entry within this list defined the mapping between 408 a YANG item string identifier and a SID. This list MUST 409 include a mapping entry for each YANG item defined by 410 the YANG module identified by 'module-name' and 411 'module-revision'."; 413 leaf namespace { 414 type enumeration { 415 enum module { 416 value 0; 417 description 418 "All module and submodule names share the same 419 global module identifier namespace."; 420 } 421 enum identity { 422 value 1; 423 description 424 "All identity names defined in a module and its 425 submodules share the same identity identifier 426 namespace."; 427 } 428 enum feature { 429 value 2; 430 description 431 "All feature names defined in a module and its 432 submodules share the same feature identifier 433 namespace."; 434 } 435 enum data { 436 value 3; 437 description 438 "The namespace for all data nodes, as defined in YANG."; 439 } 440 } 441 description 442 "Namespace of the YANG item for this mapping entry."; 443 } 444 leaf identifier { 445 type union { 446 type yang:yang-identifier; 447 type schema-node-path; 448 } 449 description 450 "String identifier of the YANG item for this mapping entry. 452 If the corresponding 'namespace' field is 'module', 453 'feature', or 'identity', then this field MUST 454 contain a valid YANG identifier string. 456 If the corresponding 'namespace' field is 'data', 457 then this field MUST contain a valid schema node 458 path."; 459 } 461 leaf sid { 462 type comi:sid; 463 mandatory true; 464 description 465 "SID assigned to the YANG item for this mapping entry."; 466 } 467 } 468 } 469 471 5. Security Considerations 473 The security considerations of [RFC7049] and [RFC7950] apply. 475 This document defines a new type of identifier used to encode data 476 models defined in YANG [RFC7950]. As such, this identifier does not 477 contribute to any new security issues in addition of those identified 478 for the specific protocols or contexts for which it is used. 480 6. IANA Considerations 482 6.1. "SID mega-range" registry 484 The name of this registry is "SID mega-range". This registry is used 485 to delegate the management of block of SIDs for third party's (e.g. 486 SDO, registrar). 488 Each entry in this registry must include: 490 o The entry point (first entry) of the registered SID range. 492 o The size of the registered SID range. 494 o The contact information of the requesting organization including: 496 * Organization name 498 * Primary contact name, email address, and phone number 500 * Secondary contact name, email address, and phone number 502 The initial entry in this registry is allocated to IANA: 504 +-------------+---------+-------------------+ 505 | Entry Point | Size | Organization name | 506 +-------------+---------+-------------------+ 507 | 0 | 1000000 | IANA | 508 +-------------+---------+-------------------+ 510 The IANA policies for future additions to this registry are 511 "Hierarchical Allocation, Expert Review" [RFC5226]. Prior to a first 512 allocation, the requesting organization must demonstrate a functional 513 registry infrastructure. On subsequent allocation request(s), the 514 organization must demonstrate the exhaustion of the prior range. 515 These conditions need to be asserted by the assigned expert(s). 517 6.1.1. IANA SID Mega-Range Registry 519 The first million SIDs assigned to IANA is sub-divided as follow: 521 o The range of 0 to 999 is reserved for future extensions. The IANA 522 policy for this range is "IETF review" [RFC5226]. 524 o The range of 1000 to 59,999 is reserved for YANG modules defined 525 in RFCs. The IANA policy for future additions to this sub- 526 registry is "RFC required" [RFC5226]. Allocation within this 527 range requires publishing of the associated ".yang" and ".sid" 528 files in the YANG module registry. The allocation within this 529 range is done prior to the RFC publication but should not be done 530 prior to the working group adoption. 532 o The range of 60,000 to 99,999 is reserved for experimental YANG 533 modules. This range MUST NOT be used in operational deployments 534 since these SIDs are not globally unique which limit their 535 interoperability. The IANA policy for this range is "Experimental 536 use" [RFC5226]. 538 o The range of 100,000 to 999,999 is reserved for standardized YANG 539 modules. The IANA policy for future additions to this sub- 540 registry is "Specification Required" [RFC5226]. Allocation within 541 this range requires publishing of the associated ".yang" and 542 ".sid" files in the YANG module registry. 544 +-------------+---------------+------------------------+ 545 | Entry Point | Size | IANA policy | 546 +-------------+---------------+------------------------+ 547 | 0 | 1,000 | IETF review | 548 | 1,000 | 59,000 | RFC required | 549 | 60,000 | 40,000 | Experimental use | 550 | 100,000 | 1,000,000,000 | Specification Required | 551 +-------------+---------------+------------------------+ 553 The size of a SID range assigned to a YANG module should be at least 554 33% above the current number of YANG items. This headroom allows 555 assignment within the same range of new YANG items introduced by 556 subsequent revisions. A larger SID range size may be requested by 557 the authors if this recommendation is considered insufficient. It is 558 important to note that an extra SID range can be allocated to an 559 existing YANG module if the initial range is exhausted. 561 6.1.2. IANA "RFC SID range assignment" sub-registries 563 The name of this sub-registry is "RFC SID range assignment". This 564 sub-registry corresponds to the SID entry point 1000, size 59000. 565 Each entry in this sub-registry must include the SID range entry 566 point, the SID range size, the YANG module name, the RFC number. 568 Initial entries in this registry are as follows: 570 +-------------+------+------------------+----------------------+ 571 | Entry Point | Size | Module name | RFC number | 572 +-------------+------+------------------+----------------------+ 573 | 1000 | 100 | ietf-comi | [I-D.ietf-core-comi] | 574 | 1100 | 50 | ietf-yang-types | [RFC6021] | 575 | 1150 | 50 | ietf-inet-types | [RFC6021] | 576 | 1200 | 50 | iana-crypt-hash | [RFC7317] | 577 | 1250 | 50 | ietf-netconf-acm | [RFC6536] | 578 | 1300 | 50 | ietf-sid-file | RFCXXXX | 579 | 1500 | 100 | ietf-interfaces | [RFC7223] | 580 | 1600 | 100 | ietf-ip | [RFC7277] | 581 | 1700 | 100 | ietf-system | [RFC7317] | 582 | 1800 | 400 | iana-if-type | [RFC7224] | 583 +-------------+------+------------------+----------------------+ 585 // RFC Ed.: replace XXXX with RFC number assigned to this draft. 587 6.2. "YANG module assignment" registry 589 The name of this registry is "YANG module assignment". This registry 590 is used to track which YANG modules have been assigned and the 591 specific YANG items assignment. Each entry in this sub-registry must 592 include: 594 o The YANG module name 596 o The associated ".yang" file(s) 598 o The associated ".sid" file 600 The validity of the ".yang" and ".sid" files added to this registry 601 MUST be verified. 603 o The syntax of the registered ".yang" and ".sid" files must be 604 valid. 606 o Each YANG item defined by the registered ".yang" file must have a 607 corresponding SID assigned in the ".sid" file. 609 o Each SID is assigned to a single YANG item, duplicate assignment 610 is not allowed. 612 o The SID range(s) defined in the ".sid" file must be unique, must 613 not conflict with any other SID ranges defined in already 614 registered ".sid" files. 616 o The ownership of the SID range(s) should be verify. 618 The IANA policy for future additions to this registry is "First Come 619 First Served" as described in [RFC5226]. 621 7. Acknowledgments 623 The authors would like to thank Andy Bierman, Carsten Bormann, 624 Abhinav Somaraju, Laurent Toutain and Randy Turner for their help 625 during the development of this document and their useful comments 626 during the review process. 628 8. References 630 8.1. Normative References 632 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 633 Requirement Levels", BCP 14, RFC 2119, 634 DOI 10.17487/RFC2119, March 1997, 635 . 637 [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object 638 Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, 639 October 2013, . 641 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 642 RFC 7950, DOI 10.17487/RFC7950, August 2016, 643 . 645 [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", 646 RFC 7951, DOI 10.17487/RFC7951, August 2016, 647 . 649 8.2. Informative References 651 [I-D.ietf-core-comi] 652 Veillette, M., Stok, P., Pelov, A., and A. Bierman, "CoAP 653 Management Interface", draft-ietf-core-comi-02 (work in 654 progress), December 2017. 656 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 657 IANA Considerations Section in RFCs", RFC 5226, 658 DOI 10.17487/RFC5226, May 2008, 659 . 661 [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", 662 RFC 6021, DOI 10.17487/RFC6021, October 2010, 663 . 665 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 666 and A. Bierman, Ed., "Network Configuration Protocol 667 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 668 . 670 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 671 Protocol (NETCONF) Access Control Model", RFC 6536, 672 DOI 10.17487/RFC6536, March 2012, 673 . 675 [RFC7223] Bjorklund, M., "A YANG Data Model for Interface 676 Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, 677 . 679 [RFC7224] Bjorklund, M., "IANA Interface Type YANG Module", 680 RFC 7224, DOI 10.17487/RFC7224, May 2014, 681 . 683 [RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", 684 RFC 7277, DOI 10.17487/RFC7277, June 2014, 685 . 687 [RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for 688 System Management", RFC 7317, DOI 10.17487/RFC7317, August 689 2014, . 691 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 692 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 693 . 695 Appendix A. ".sid" file example 697 The following .sid file (ietf-system@2014-08-06.sid) have been 698 generated using the following yang modules: 700 o ietf-system@2014-08-06.yang 702 o ietf-yang-types@2013-07-15.yang 704 o ietf-inet-types@2013-07-15.yang 706 o ietf-netconf-acm@2012-02-22.yang 708 o iana-crypt-hash@2014-04-04.yang 710 { 711 "assignment-ranges": [ 712 { 713 "entry-point": 1700, 714 "size": 100 715 } 716 ], 717 "module-name": "ietf-system", 718 "module-revision": "2014-08-06", 719 "items": [ 720 { 721 "namespace": "module", 722 "identifier": "ietf-system", 723 "sid": 1700 724 }, 725 { 726 "namespace": "identity", 727 "identifier": "authentication-method", 728 "sid": 1701 729 }, 730 { 731 "namespace": "identity", 732 "identifier": "local-users", 733 "sid": 1702 734 }, 735 { 736 "namespace": "identity", 737 "identifier": "radius", 738 "sid": 1703 739 }, 740 { 741 "namespace": "identity", 742 "identifier": "radius-authentication-type", 743 "sid": 1704 744 }, 745 { 746 "namespace": "identity", 747 "identifier": "radius-chap", 748 "sid": 1705 749 }, 750 { 751 "namespace": "identity", 752 "identifier": "radius-pap", 753 "sid": 1706 754 }, 755 { 756 "namespace": "feature", 757 "identifier": "authentication", 758 "sid": 1707 759 }, 760 { 761 "namespace": "feature", 762 "identifier": "dns-udp-tcp-port", 763 "sid": 1708 764 }, 765 { 766 "namespace": "feature", 767 "identifier": "local-users", 768 "sid": 1709 769 }, 770 { 771 "namespace": "feature", 772 "identifier": "ntp", 773 "sid": 1710 774 }, 775 { 776 "namespace": "feature", 777 "identifier": "ntp-udp-port", 778 "sid": 1711 779 }, 780 { 781 "namespace": "feature", 782 "identifier": "radius", 783 "sid": 1712 784 }, 785 { 786 "namespace": "feature", 787 "identifier": "radius-authentication", 788 "sid": 1713 789 }, 790 { 791 "namespace": "feature", 792 "identifier": "timezone-name", 793 "sid": 1714 794 }, 795 { 796 "namespace": "data", 797 "identifier": "/ietf-system:set-current-datetime", 798 "sid": 1715 799 }, 800 { 801 "namespace": "data", 802 "identifier": "/ietf-system:set-current-datetime/ 803 current-datetime", 804 "sid": 1716 805 }, 806 { 807 "namespace": "data", 808 "identifier": "/ietf-system:system", 809 "sid": 1717 810 }, 811 { 812 "namespace": "data", 813 "identifier": "/ietf-system:system-restart", 814 "sid": 1718 815 }, 816 { 817 "namespace": "data", 818 "identifier": "/ietf-system:system-shutdown", 819 "sid": 1719 820 }, 821 { 822 "namespace": "data", 823 "identifier": "/ietf-system:system-state", 824 "sid": 1720 825 }, 826 { 827 "namespace": "data", 828 "identifier": "/ietf-system:system-state/clock", 829 "sid": 1721 830 }, 831 { 832 "namespace": "data", 833 "identifier": "/ietf-system:system-state/clock/boot-datetime", 834 "sid": 1722 835 }, 836 { 837 "namespace": "data", 838 "identifier": "/ietf-system:system-state/clock/ 839 current-datetime", 840 "sid": 1723 841 }, 842 { 843 "namespace": "data", 844 "identifier": "/ietf-system:system-state/platform", 845 "sid": 1724 846 }, 847 { 848 "namespace": "data", 849 "identifier": "/ietf-system:system-state/platform/machine", 850 "sid": 1725 851 }, 852 { 853 "namespace": "data", 854 "identifier": "/ietf-system:system-state/platform/os-name", 855 "sid": 1726 856 }, 857 { 858 "namespace": "data", 859 "identifier": "/ietf-system:system-state/platform/os-release", 860 "sid": 1727 861 }, 862 { 863 "namespace": "data", 864 "identifier": "/ietf-system:system-state/platform/os-version", 865 "sid": 1728 866 }, 867 { 868 "namespace": "data", 869 "identifier": "/ietf-system:system/authentication", 870 "sid": 1729 872 }, 873 { 874 "namespace": "data", 875 "identifier": "/ietf-system:system/authentication/user", 876 "sid": 1730 877 }, 878 { 879 "namespace": "data", 880 "identifier": "/ietf-system:system/authentication/ 881 user-authentication-order", 882 "sid": 1731 883 }, 884 { 885 "namespace": "data", 886 "identifier": "/ietf-system:system/authentication/user/ 887 authorized-key", 888 "sid": 1732 889 }, 890 { 891 "namespace": "data", 892 "identifier": "/ietf-system:system/authentication/user/ 893 authorized-key/algorithm", 894 "sid": 1733 895 }, 896 { 897 "namespace": "data", 898 "identifier": "/ietf-system:system/authentication/user/ 899 authorized-key/key-data", 900 "sid": 1734 901 }, 902 { 903 "namespace": "data", 904 "identifier": "/ietf-system:system/authentication/user/ 905 authorized-key/name", 906 "sid": 1735 907 }, 908 { 909 "namespace": "data", 910 "identifier": "/ietf-system:system/authentication/user/ 911 name", 912 "sid": 1736 913 }, 914 { 915 "namespace": "data", 916 "identifier": "/ietf-system:system/authentication/user/ 917 password", 918 "sid": 1737 919 }, 920 { 921 "namespace": "data", 922 "identifier": "/ietf-system:system/clock", 923 "sid": 1738 924 }, 925 { 926 "namespace": "data", 927 "identifier": "/ietf-system:system/clock/timezone-name", 928 "sid": 1739 929 }, 930 { 931 "namespace": "data", 932 "identifier": "/ietf-system:system/clock/timezone-utc-offset", 933 "sid": 1740 934 }, 935 { 936 "namespace": "data", 937 "identifier": "/ietf-system:system/contact", 938 "sid": 1741 939 }, 940 { 941 "namespace": "data", 942 "identifier": "/ietf-system:system/dns-resolver", 943 "sid": 1742 944 }, 945 { 946 "namespace": "data", 947 "identifier": "/ietf-system:system/dns-resolver/options", 948 "sid": 1743 949 }, 950 { 951 "namespace": "data", 952 "identifier": "/ietf-system:system/dns-resolver/options/ 953 attempts", 954 "sid": 1744 955 }, 956 { 957 "namespace": "data", 958 "identifier": "/ietf-system:system/dns-resolver/options/ 959 timeout", 960 "sid": 1745 961 }, 962 { 963 "namespace": "data", 964 "identifier": "/ietf-system:system/dns-resolver/search", 965 "sid": 1746 966 }, 967 { 968 "namespace": "data", 969 "identifier": "/ietf-system:system/dns-resolver/server", 970 "sid": 1747 971 }, 972 { 973 "namespace": "data", 974 "identifier": "/ietf-system:system/dns-resolver/server/name", 975 "sid": 1748 976 }, 977 { 978 "namespace": "data", 979 "identifier": "/ietf-system:system/dns-resolver/server/ 980 udp-and-tcp", 981 "sid": 1749 982 }, 983 { 984 "namespace": "data", 985 "identifier": "/ietf-system:system/dns-resolver/server/ 986 udp-and-tcp/address", 987 "sid": 1750 988 }, 989 { 990 "namespace": "data", 991 "identifier": "/ietf-system:system/dns-resolver/server/ 992 udp-and-tcp/port", 993 "sid": 1751 994 }, 995 { 996 "namespace": "data", 997 "identifier": "/ietf-system:system/hostname", 998 "sid": 1752 999 }, 1000 { 1001 "namespace": "data", 1002 "identifier": "/ietf-system:system/location", 1003 "sid": 1753 1004 }, 1005 { 1006 "namespace": "data", 1007 "identifier": "/ietf-system:system/ntp", 1008 "sid": 1754 1009 }, 1010 { 1011 "namespace": "data", 1012 "identifier": "/ietf-system:system/ntp/enabled", 1013 "sid": 1755 1014 }, 1015 { 1016 "namespace": "data", 1017 "identifier": "/ietf-system:system/ntp/server", 1018 "sid": 1756 1019 }, 1020 { 1021 "namespace": "data", 1022 "identifier": "/ietf-system:system/ntp/server/ 1023 association-type", 1024 "sid": 1757 1025 }, 1026 { 1027 "namespace": "data", 1028 "identifier": "/ietf-system:system/ntp/server/iburst", 1029 "sid": 1758 1030 }, 1031 { 1032 "namespace": "data", 1033 "identifier": "/ietf-system:system/ntp/server/name", 1034 "sid": 1759 1035 }, 1036 { 1037 "namespace": "data", 1038 "identifier": "/ietf-system:system/ntp/server/prefer", 1039 "sid": 1760 1040 }, 1041 { 1042 "namespace": "data", 1043 "identifier": "/ietf-system:system/ntp/server/udp", 1044 "sid": 1761 1045 }, 1046 { 1047 "namespace": "data", 1048 "identifier": "/ietf-system:system/ntp/server/udp/address", 1049 "sid": 1762 1050 }, 1051 { 1052 "namespace": "data", 1053 "identifier": "/ietf-system:system/ntp/server/udp/port", 1054 "sid": 1763 1055 }, 1056 { 1057 "namespace": "data", 1058 "identifier": "/ietf-system:system/radius", 1059 "sid": 1764 1060 }, 1061 { 1062 "namespace": "data", 1063 "identifier": "/ietf-system:system/radius/options", 1064 "sid": 1765 1065 }, 1066 { 1067 "namespace": "data", 1068 "identifier": "/ietf-system:system/radius/options/attempts", 1069 "sid": 1766 1070 }, 1071 { 1072 "namespace": "data", 1073 "identifier": "/ietf-system:system/radius/options/timeout", 1074 "sid": 1767 1075 }, 1076 { 1077 "namespace": "data", 1078 "identifier": "/ietf-system:system/radius/server", 1079 "sid": 1768 1080 }, 1081 { 1082 "namespace": "data", 1083 "identifier": "/ietf-system:system/radius/server/ 1084 authentication-type", 1085 "sid": 1769 1086 }, 1087 { 1088 "namespace": "data", 1089 "identifier": "/ietf-system:system/radius/server/name", 1090 "sid": 1770 1091 }, 1092 { 1093 "namespace": "data", 1094 "identifier": "/ietf-system:system/radius/server/udp", 1095 "sid": 1771 1096 }, 1097 { 1098 "namespace": "data", 1099 "identifier": "/ietf-system:system/radius/server/udp/ 1100 address", 1101 "sid": 1772 1102 }, 1103 { 1104 "namespace": "data", 1105 "identifier": "/ietf-system:system/radius/server/udp/ 1106 authentication-port", 1107 "sid": 1773 1108 }, 1109 { 1110 "namespace": "data", 1111 "identifier": "/ietf-system:system/radius/server/udp/ 1112 shared-secret", 1113 "sid": 1774 1114 } 1115 ] 1116 } 1118 Authors' Addresses 1120 Michel Veillette (editor) 1121 Trilliant Networks Inc. 1122 610 Rue du Luxembourg 1123 Granby, Quebec J2J 2V2 1124 Canada 1126 Phone: +14503750556 1127 Email: michel.veillette@trilliant.com 1129 Alexander Pelov (editor) 1130 Acklio 1131 2bis rue de la Chataigneraie 1132 Cesson-Sevigne, Bretagne 35510 1133 France 1135 Email: a@ackl.io