idnits 2.17.1 draft-ietf-core-sid-03.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 (December 01, 2017) is 2331 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 287, but not defined ** Obsolete normative reference: RFC 7049 (Obsoleted by RFC 8949) == Outdated reference: A later version (-17) exists of draft-ietf-core-comi-01 -- 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: June 4, 2018 Acklio 6 December 01, 2017 8 YANG Schema Item iDentifier (SID) 9 draft-ietf-core-sid-03 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 June 4, 2018. 36 Copyright Notice 38 Copyright (c) 2017 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 85 o RPCs and associated input(s) and output(s) 87 o actions and associated input(s) and output(s) 89 o notifications and associated information 91 o YANG modules, submodules and features 93 To minimize their size, SIDs are often represented as a difference 94 between the current SID and a reference SID. Such difference is 95 called "delta", shorthand for "delta-encoded SID". Conversion from 96 SIDs to deltas and back to SIDs is a stateless process. Each 97 protocol implementing deltas must unambiguously define the reference 98 SID for each YANG item. 100 SIDs are globally unique numbers, a registration system is used in 101 order to guarantee their uniqueness. SIDs are registered in blocks 102 called "SID ranges". 104 Assignment of SIDs to YANG items can be automated, the recommended 105 process to assign SIDs is as follows: 107 1. A tool extracts the different items defined for a specific YANG 108 module. 110 2. The list of items is sorted in alphabetical order, 'namespace' in 111 descending order, 'identifier' in ascending order. The 112 'namespace' and 'identifier' formats are described in the YANG 113 module 'ietf-sid-file' defined in Section 4. 115 3. SIDs are assigned sequentially from the entry point up to the 116 size of the registered SID range. This approach is recommended 117 to minimize the serialization overhead, especially when delta 118 encoding is implemented. 120 4. If the number of items exceeds the SID range(s) allocated to a 121 YANG module, an extra range is added for subsequent assignments. 123 SIDs are assigned permanently, items introduced by a new revision of 124 a YANG module are added to the list of SIDs already assigned. This 125 process can also be automated using the same method described above, 126 only unassigned YANG items are processed at step #3. 128 Section 3 provides more details about the registration process of 129 YANG modules and associated SIDs. To enable the implementation of 130 this registry, Section 4 defines a standard file format used to store 131 and publish SIDs. 133 2. Terminology and Notation 135 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 136 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 137 document are to be interpreted as described in [RFC2119]. 139 The following terms are defined in [RFC7950]: 141 o action 143 o feature 144 o module 146 o notification 148 o RPC 150 o schema node 152 o schema tree 154 o submodule 156 This specification also makes use of the following terminology: 158 o delta : Difference between the current SID and a reference SID. A 159 reference SID is defined for each context for which deltas are 160 used. 162 o item: A schema node, an identity, a module, a submodule or a 163 feature defined using the YANG modeling language. 165 o path: A path is a string that identifies a schema node within the 166 schema tree. A path consists of the list of schema node 167 identifier(s) separated by slashes ("/"). Schema node 168 identifier(s) are always listed from the top-level schema node up 169 to the targeted schema node. (e.g. "/ietf-system:system- 170 state/clock/current-datetime") 172 o YANG Schema Item iDentifier (SID): Unsigned integer used to 173 identify different YANG items. 175 3. ".sid" file lifecycle 177 YANG is a language designed to model data accessed using one of the 178 compatible protocols (e.g. NETCONF [RFC6241], RESCONF [RFC8040] and 179 CoMI [I-D.ietf-core-comi]). A YANG module defines hierarchies of 180 data, including configuration, state data, RPCs, actions and 181 notifications. 183 YANG modules are not necessary created in the context of constrained 184 applications. YANG modules can be implemented using NETCONF 185 [RFC6241] or RESTCONF [RFC8040] without the need to assign SIDs. 187 As needed, authors of YANG modules can assign SIDs to their YANG 188 modules. This process starts by the registration of a SID range. 189 Once a SID range is registered, the owner of this range assigns sub- 190 ranges to each YANG module in order to generate the associated ".sid" 191 files. Generation of ".sid" files SHOULD be performed using an 192 automated tool. 194 Registration of the .sid file associated to a YANG module is optional 195 but recommended to promote interoperability between devices and to 196 avoid duplicate allocation of SIDs to a single YANG module. 198 The following activity diagram summarizes the creation of a YANG 199 module and its associated .sid file. 201 +---------------+ 202 O | Creation of a | 203 -|- ->| YANG module | 204 / \ +---------------+ 205 | 206 V 207 /-------------\ 208 / Standardized \ yes 209 \ YANG module ? /-------------+ 210 \-------------/ | 211 | no | 212 V V 213 /-------------\ +---------------+ 214 / Constrained \ yes | SID range | 215 +-->\ application ? /---->| registration | 216 | \-------------/ +---------------+ 217 | | no | 218 | V V 219 | +---------------+ +---------------+ 220 +---| YANG module | | SID sub-range | 221 | update | | assignment | 222 +---------------+ +---------------+ 223 | 224 V 225 +---------------+ 226 | .sid file | 227 | generation | 228 +---------------+ 229 | 230 V 231 /-------------\ +---------------+ 232 / Publicly \ yes | YANG module | 233 \ available ? /---->| registration | 234 \-------------/ +---------------+ 235 | no | 236 +---------------------+ 237 | 238 [DONE] 240 Each time a YANG module or one of its imported module(s) or included 241 sub-module(s) is updated, the ".sid" file MAY need to be updated. 242 This update SHOULD also be performed using an automated tool. 244 If a new revision requires more SIDs than initially allocated, a new 245 SID range MUST be added to the 'assignment-ranges'. These extra SIDs 246 are used for subsequent assignements. 248 The following activity diagram summarizes the update of a YANG module 249 and its associated .sid file. 251 +---------------+ 252 O | Update of the | 253 -|- ->| YANG module | 254 / \ | or include(s) | 255 | or import(s) | 256 +---------------+ 257 | 258 V 259 /-------------\ 260 / New items \ yes 261 \ created ? /------+ 262 \-------------/ | 263 | no V 264 | /-------------\ +----------------+ 265 | / SID range \ yes | Extra sub-range| 266 | \ exhausted ? /---->| assignment | 267 | \-------------/ +----------------+ 268 | | no | 269 | +---------------------+ 270 | | 271 | V 272 | +---------------+ 273 | | .sid file | 274 | | update based | 275 | | on previous | 276 | | .sid file | 277 | +---------------+ 278 | | 279 | V 280 | /-------------\ +---------------+ 281 | / Publicly \ yes | YANG module | 282 | \ available ? /---->| registration | 283 | \-------------/ +---------------+ 284 | | no | 285 +--------------+---------------------+ 286 | 287 [DONE] 289 4. ".sid" file format 291 ".sid" files are used to persist and publish SIDs assigned to the 292 different YANG items of a specific YANG module. The following YANG 293 module defined the structure of this file, encoding is performed 294 using the rules defined in [RFC7951]. 296 file "ietf-sid-file@2017-11-26.yang" 297 module ietf-sid-file { 298 namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file"; 299 prefix sid; 301 import ietf-yang-types { 302 prefix yang; 303 } 305 import ietf-comi { 306 prefix comi; 307 } 309 organization 310 "IETF Core Working Group"; 312 contact 313 "Michel Veillette 314 316 Andy Bierman 317 319 Alexander Pelov 320 "; 322 description 323 "This module defines the structure of the .sid files. 325 Each .sid file contains the mapping between the different 326 string identifiers defined by a YANG module and a 327 corresponding numeric value called SID."; 329 revision 2017-11-26 { 330 description 331 "Initial revision."; 332 reference 333 "[I-D.ietf-core-sid] YANG Schema Item iDentifier (SID)"; 334 } 336 typedef revision-identifier { 337 type string { 338 pattern '\d{4}-\d{2}-\d{2}'; 339 } 340 description 341 "Represents a date in YYYY-MM-DD format."; 342 } 344 typedef schema-node-path { 345 type string { 346 pattern 347 '/[a-zA-Z_][a-zA-Z0-9\-_.]*:[a-zA-Z_][a-zA-Z0-9\-_.]*' + 348 '(/[a-zA-Z_][a-zA-Z0-9\-_.]*(:[a-zA-Z_][a-zA-Z0-9\-_.]*)?)*'; 349 } 350 description 351 "Identifies a schema-node path string for use in the 352 SID registry. This string format follows the rules 353 for an instance-identifier, as defined in RFC 7959, 354 except that no predicates are allowed. 356 This format is intended to support the YANG 1.1 ABNF 357 for a schema node identifier, except module names 358 are used instead of prefixes, as specified in RFC 7951."; 359 reference 360 "RFC 7950, The YANG 1.1 Data Modeling Language; 361 Section 6.5: Schema Node Identifier; 362 RFC 7951, JSON Encoding of YANG Data; 363 Section 6.11: The instance-identifier type"; 364 } 366 leaf module-name { 367 type yang:yang-identifier; 368 description 369 "Name of the YANG module associated with this .sid file."; 370 } 372 leaf module-revision { 373 type revision-identifier; 374 description 375 "Revision of the YANG module associated with this .sid file. 376 This leaf is not present if no revision statement is 377 defined in the YANG module."; 378 } 380 list assigment-ranges { 381 key "entry-point"; 382 description 383 "SID range(s) allocated to the YANG module identified by 384 'module-name' and 'module-revision'."; 386 leaf entry-point { 387 type comi:sid; 388 mandatory true; 389 description 390 "Lowest SID available for assignment."; 391 } 393 leaf size { 394 type uint64; 395 mandatory true; 396 description 397 "Number of SIDs available for assignment."; 398 } 399 } 401 list items { 402 key "namespace identifier"; 403 description 404 "Each entry within this list defined the mapping between 405 a YANG item string identifier and a SID. This list MUST 406 include a mapping entry for each YANG item defined by 407 the YANG module identified by 'module-name' and 408 'module-revision'."; 410 leaf namespace { 411 type enumeration { 412 enum module { 413 value 0; 414 description 415 "All module and submodule names share the same 416 global module identifier namespace."; 417 } 418 enum identity { 419 value 1; 420 description 421 "All identity names defined in a module and its 422 submodules share the same identity identifier 423 namespace."; 424 } 425 enum feature { 426 value 2; 427 description 428 "All feature names defined in a module and its 429 submodules share the same feature identifier 430 namespace."; 431 } 432 enum data { 433 value 3; 434 description 435 "The namespace for all data nodes, as defined in YANG."; 436 } 437 } 438 description 439 "Namespace of the YANG item for this mapping entry."; 440 } 441 leaf identifier { 442 type union { 443 type yang:yang-identifier; 444 type schema-node-path; 445 } 446 description 447 "String identifier of the YANG item for this mapping entry. 449 If the corresponding 'namespace' field is 'module', 450 'feature', or 'identity', then this field MUST 451 contain a valid YANG identifier string. 453 If the corresponding 'namespace' field is 'data', 454 then this field MUST contain a valid schema node 455 path."; 456 } 458 leaf sid { 459 type comi:sid; 460 mandatory true; 461 description 462 "SID assigned to the YANG item for this mapping entry."; 463 } 464 } 465 } 466 468 5. Security Considerations 470 The security considerations of [RFC7049] and [RFC7950] apply. 472 This document defines a new type of identifier used to encode data 473 models defined in YANG [RFC7950]. As such, this identifier does not 474 contribute to any new security issues in addition of those identified 475 for the specific protocols or contexts for which it is used. 477 6. IANA Considerations 479 6.1. "SID mega-range" registry 481 The name of this registry is "SID mega-range". This registry is used 482 to delegate the management of block of SIDs for third party's (e.g. 483 SDO, registrar). 485 Each entry in this registry must include: 487 o The entry point (first entry) of the registered SID range. 489 o The size of the registered SID range. 491 o The contact information of the requesting organization including: 493 * Organization name 495 * Primary contact name, email address, and phone number 497 * Secondary contact name, email address, and phone number 499 The initial entry in this registry is allocated to IANA: 501 +-------------+---------+-------------------+ 502 | Entry Point | Size | Organization name | 503 +-------------+---------+-------------------+ 504 | 0 | 1000000 | IANA | 505 +-------------+---------+-------------------+ 507 The IANA policies for future additions to this registry are 508 "Hierarchical Allocation, Expert Review" [RFC5226]. Prior to a first 509 allocation, the requesting organization must demonstrate a functional 510 registry infrastructure. On subsequent allocation request(s), the 511 organization must demonstrate the exhaustion of the prior range. 512 These conditions need to be asserted by the assigned expert(s). 514 6.1.1. IANA SID Mega-Range Registry 516 The first million SIDs assigned to IANA is sub-divided as follow: 518 o The range of 0 to 999 is reserved for future extensions. The IANA 519 policy for this range is "IETF review" [RFC5226]. 521 o The range of 1000 to 59,999 is reserved for YANG modules defined 522 in RFCs. The IANA policy for future additions to this sub- 523 registry is "RFC required" [RFC5226]. Allocation within this 524 range requires publishing of the associated ".yang" and ".sid" 525 files in the YANG module registry. The allocation within this 526 range is done prior to the RFC publication but should not be done 527 prior to the working group adoption. 529 o The range of 60,000 to 99,999 is reserved for experimental YANG 530 modules. This range MUST NOT be used in operational deployments 531 since these SIDs are not globally unique which limit their 532 interoperability. The IANA policy for this range is "Experimental 533 use" [RFC5226]. 535 o The range of 100,000 to 999,999 is reserved for standardized YANG 536 modules. The IANA policy for future additions to this sub- 537 registry is "Specification Required" [RFC5226]. Allocation within 538 this range requires publishing of the associated ".yang" and 539 ".sid" files in the YANG module registry. 541 +-------------+---------------+------------------------+ 542 | Entry Point | Size | IANA policy | 543 +-------------+---------------+------------------------+ 544 | 0 | 1,000 | IETF review | 545 | 1,000 | 59,000 | RFC required | 546 | 60,000 | 40,000 | Experimental use | 547 | 100,000 | 1,000,000,000 | Specification Required | 548 +-------------+---------------+------------------------+ 550 The size of a SID range assigned to a YANG module should be at least 551 33% above the current number of YANG items. This headroom allows 552 assignment within the same range of new YANG items introduced by 553 subsequent revisions. A larger SID range size may be requested by 554 the authors if this recommendation is considered insufficient. It is 555 important to note that an extra SID range can be allocated to an 556 existing YANG module if the initial range is exhausted. 558 6.1.2. IANA "RFC SID range assignment" sub-registries 560 The name of this sub-registry is "RFC SID range assignment". This 561 sub-registry corresponds to the SID entry point 1000, size 59000. 562 Each entry in this sub-registry must include the SID range entry 563 point, the SID range size, the YANG module name, the RFC number. 565 Initial entries in this registry are as follows: 567 +-------------+------+------------------+----------------------+ 568 | Entry Point | Size | Module name | RFC number | 569 +-------------+------+------------------+----------------------+ 570 | 1000 | 100 | ietf-comi | [I-D.ietf-core-comi] | 571 | 1100 | 50 | ietf-yang-types | [RFC6021] | 572 | 1150 | 50 | ietf-inet-types | [RFC6021] | 573 | 1200 | 50 | iana-crypt-hash | [RFC7317] | 574 | 1250 | 50 | ietf-netconf-acm | [RFC6536] | 575 | 1300 | 50 | ietf-sid-file | RFCXXXX | 576 | 1500 | 100 | ietf-interfaces | [RFC7223] | 577 | 1600 | 100 | ietf-ip | [RFC7277] | 578 | 1700 | 100 | ietf-system | [RFC7317] | 579 | 1800 | 400 | iana-if-type | [RFC7224] | 580 +-------------+------+------------------+----------------------+ 582 // RFC Ed.: replace XXXX with RFC number assigned to this draft. 584 6.2. "YANG module assignment" registry 586 The name of this registry is "YANG module assignment". This registry 587 is used to track which YANG modules have been assigned and the 588 specific YANG items assignment. Each entry in this sub-registry must 589 include: 591 o The YANG module name 593 o The associated ".yang" file(s) 595 o The associated ".sid" file 597 The validity of the ".yang" and ".sid" files added to this registry 598 MUST be verified. 600 o The syntax of the registered ".yang" and ".sid" files must be 601 valid. 603 o Each YANG item defined by the registered ".yang" file must have a 604 corresponding SID assigned in the ".sid" file. 606 o Each SID is assigned to a single YANG item, duplicate assignment 607 is not allowed. 609 o The SID range(s) defined in the ".sid" file must be unique, must 610 not conflict with any other SID ranges defined in already 611 registered ".sid" files. 613 o The ownership of the SID range(s) should be verify. 615 The IANA policy for future additions to this registry is "First Come 616 First Served" as described in [RFC5226]. 618 7. Acknowledgments 620 The authors would like to thank Andy Bierman, Carsten Bormann, 621 Abhinav Somaraju, Laurent Toutain and Randy Turner for their help 622 during the development of this document and their useful comments 623 during the review process. 625 8. References 627 8.1. Normative References 629 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 630 Requirement Levels", BCP 14, RFC 2119, 631 DOI 10.17487/RFC2119, March 1997, 632 . 634 [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object 635 Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, 636 October 2013, . 638 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 639 RFC 7950, DOI 10.17487/RFC7950, August 2016, 640 . 642 [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", 643 RFC 7951, DOI 10.17487/RFC7951, August 2016, 644 . 646 8.2. Informative References 648 [I-D.ietf-core-comi] 649 Veillette, M., Stok, P., Pelov, A., and A. Bierman, "CoAP 650 Management Interface", draft-ietf-core-comi-01 (work in 651 progress), July 2017. 653 [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an 654 IANA Considerations Section in RFCs", RFC 5226, 655 DOI 10.17487/RFC5226, May 2008, 656 . 658 [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", 659 RFC 6021, DOI 10.17487/RFC6021, October 2010, 660 . 662 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 663 and A. Bierman, Ed., "Network Configuration Protocol 664 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 665 . 667 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 668 Protocol (NETCONF) Access Control Model", RFC 6536, 669 DOI 10.17487/RFC6536, March 2012, 670 . 672 [RFC7223] Bjorklund, M., "A YANG Data Model for Interface 673 Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, 674 . 676 [RFC7224] Bjorklund, M., "IANA Interface Type YANG Module", 677 RFC 7224, DOI 10.17487/RFC7224, May 2014, 678 . 680 [RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", 681 RFC 7277, DOI 10.17487/RFC7277, June 2014, 682 . 684 [RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for 685 System Management", RFC 7317, DOI 10.17487/RFC7317, August 686 2014, . 688 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 689 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 690 . 692 Appendix A. ".sid" file example 694 The following .sid file (ietf-system@2014-08-06.sid) have been 695 generated using the following yang modules: 697 o ietf-system@2014-08-06.yang 699 o ietf-yang-types@2013-07-15.yang 701 o ietf-inet-types@2013-07-15.yang 703 o ietf-netconf-acm@2012-02-22.yang 705 o iana-crypt-hash@2014-04-04.yang 707 { 708 "assignment-ranges": [ 709 { 710 "entry-point": 1700, 711 "size": 100 712 } 713 ], 714 "module-name": "ietf-system", 715 "module-revision": "2014-08-06", 716 "items": [ 717 { 718 "namespace": "module", 719 "identifier": "ietf-system", 720 "sid": 1700 721 }, 722 { 723 "namespace": "identity", 724 "identifier": "authentication-method", 725 "sid": 1701 726 }, 727 { 728 "namespace": "identity", 729 "identifier": "local-users", 730 "sid": 1702 731 }, 732 { 733 "namespace": "identity", 734 "identifier": "radius", 735 "sid": 1703 736 }, 737 { 738 "namespace": "identity", 739 "identifier": "radius-authentication-type", 740 "sid": 1704 741 }, 742 { 743 "namespace": "identity", 744 "identifier": "radius-chap", 745 "sid": 1705 746 }, 747 { 748 "namespace": "identity", 749 "identifier": "radius-pap", 750 "sid": 1706 751 }, 752 { 753 "namespace": "feature", 754 "identifier": "authentication", 755 "sid": 1707 756 }, 757 { 758 "namespace": "feature", 759 "identifier": "dns-udp-tcp-port", 760 "sid": 1708 761 }, 762 { 763 "namespace": "feature", 764 "identifier": "local-users", 765 "sid": 1709 766 }, 767 { 768 "namespace": "feature", 769 "identifier": "ntp", 770 "sid": 1710 771 }, 772 { 773 "namespace": "feature", 774 "identifier": "ntp-udp-port", 775 "sid": 1711 776 }, 777 { 778 "namespace": "feature", 779 "identifier": "radius", 780 "sid": 1712 781 }, 782 { 783 "namespace": "feature", 784 "identifier": "radius-authentication", 785 "sid": 1713 786 }, 787 { 788 "namespace": "feature", 789 "identifier": "timezone-name", 790 "sid": 1714 791 }, 792 { 793 "namespace": "data", 794 "identifier": "/ietf-system:set-current-datetime", 795 "sid": 1715 796 }, 797 { 798 "namespace": "data", 799 "identifier": "/ietf-system:set-current-datetime/ 800 current-datetime", 801 "sid": 1716 802 }, 803 { 804 "namespace": "data", 805 "identifier": "/ietf-system:system", 806 "sid": 1717 807 }, 808 { 809 "namespace": "data", 810 "identifier": "/ietf-system:system-restart", 811 "sid": 1718 812 }, 813 { 814 "namespace": "data", 815 "identifier": "/ietf-system:system-shutdown", 816 "sid": 1719 817 }, 818 { 819 "namespace": "data", 820 "identifier": "/ietf-system:system-state", 821 "sid": 1720 822 }, 823 { 824 "namespace": "data", 825 "identifier": "/ietf-system:system-state/clock", 826 "sid": 1721 827 }, 828 { 829 "namespace": "data", 830 "identifier": "/ietf-system:system-state/clock/boot-datetime", 831 "sid": 1722 832 }, 833 { 834 "namespace": "data", 835 "identifier": "/ietf-system:system-state/clock/ 836 current-datetime", 837 "sid": 1723 838 }, 839 { 840 "namespace": "data", 841 "identifier": "/ietf-system:system-state/platform", 842 "sid": 1724 843 }, 844 { 845 "namespace": "data", 846 "identifier": "/ietf-system:system-state/platform/machine", 847 "sid": 1725 848 }, 849 { 850 "namespace": "data", 851 "identifier": "/ietf-system:system-state/platform/os-name", 852 "sid": 1726 853 }, 854 { 855 "namespace": "data", 856 "identifier": "/ietf-system:system-state/platform/os-release", 857 "sid": 1727 858 }, 859 { 860 "namespace": "data", 861 "identifier": "/ietf-system:system-state/platform/os-version", 862 "sid": 1728 863 }, 864 { 865 "namespace": "data", 866 "identifier": "/ietf-system:system/authentication", 867 "sid": 1729 869 }, 870 { 871 "namespace": "data", 872 "identifier": "/ietf-system:system/authentication/user", 873 "sid": 1730 874 }, 875 { 876 "namespace": "data", 877 "identifier": "/ietf-system:system/authentication/ 878 user-authentication-order", 879 "sid": 1731 880 }, 881 { 882 "namespace": "data", 883 "identifier": "/ietf-system:system/authentication/user/ 884 authorized-key", 885 "sid": 1732 886 }, 887 { 888 "namespace": "data", 889 "identifier": "/ietf-system:system/authentication/user/ 890 authorized-key/algorithm", 891 "sid": 1733 892 }, 893 { 894 "namespace": "data", 895 "identifier": "/ietf-system:system/authentication/user/ 896 authorized-key/key-data", 897 "sid": 1734 898 }, 899 { 900 "namespace": "data", 901 "identifier": "/ietf-system:system/authentication/user/ 902 authorized-key/name", 903 "sid": 1735 904 }, 905 { 906 "namespace": "data", 907 "identifier": "/ietf-system:system/authentication/user/ 908 name", 909 "sid": 1736 910 }, 911 { 912 "namespace": "data", 913 "identifier": "/ietf-system:system/authentication/user/ 914 password", 915 "sid": 1737 916 }, 917 { 918 "namespace": "data", 919 "identifier": "/ietf-system:system/clock", 920 "sid": 1738 921 }, 922 { 923 "namespace": "data", 924 "identifier": "/ietf-system:system/clock/timezone-name", 925 "sid": 1739 926 }, 927 { 928 "namespace": "data", 929 "identifier": "/ietf-system:system/clock/timezone-utc-offset", 930 "sid": 1740 931 }, 932 { 933 "namespace": "data", 934 "identifier": "/ietf-system:system/contact", 935 "sid": 1741 936 }, 937 { 938 "namespace": "data", 939 "identifier": "/ietf-system:system/dns-resolver", 940 "sid": 1742 941 }, 942 { 943 "namespace": "data", 944 "identifier": "/ietf-system:system/dns-resolver/options", 945 "sid": 1743 946 }, 947 { 948 "namespace": "data", 949 "identifier": "/ietf-system:system/dns-resolver/options/ 950 attempts", 951 "sid": 1744 952 }, 953 { 954 "namespace": "data", 955 "identifier": "/ietf-system:system/dns-resolver/options/ 956 timeout", 957 "sid": 1745 958 }, 959 { 960 "namespace": "data", 961 "identifier": "/ietf-system:system/dns-resolver/search", 962 "sid": 1746 963 }, 964 { 965 "namespace": "data", 966 "identifier": "/ietf-system:system/dns-resolver/server", 967 "sid": 1747 968 }, 969 { 970 "namespace": "data", 971 "identifier": "/ietf-system:system/dns-resolver/server/name", 972 "sid": 1748 973 }, 974 { 975 "namespace": "data", 976 "identifier": "/ietf-system:system/dns-resolver/server/ 977 udp-and-tcp", 978 "sid": 1749 979 }, 980 { 981 "namespace": "data", 982 "identifier": "/ietf-system:system/dns-resolver/server/ 983 udp-and-tcp/address", 984 "sid": 1750 985 }, 986 { 987 "namespace": "data", 988 "identifier": "/ietf-system:system/dns-resolver/server/ 989 udp-and-tcp/port", 990 "sid": 1751 991 }, 992 { 993 "namespace": "data", 994 "identifier": "/ietf-system:system/hostname", 995 "sid": 1752 996 }, 997 { 998 "namespace": "data", 999 "identifier": "/ietf-system:system/location", 1000 "sid": 1753 1001 }, 1002 { 1003 "namespace": "data", 1004 "identifier": "/ietf-system:system/ntp", 1005 "sid": 1754 1006 }, 1007 { 1008 "namespace": "data", 1009 "identifier": "/ietf-system:system/ntp/enabled", 1010 "sid": 1755 1011 }, 1012 { 1013 "namespace": "data", 1014 "identifier": "/ietf-system:system/ntp/server", 1015 "sid": 1756 1016 }, 1017 { 1018 "namespace": "data", 1019 "identifier": "/ietf-system:system/ntp/server/ 1020 association-type", 1021 "sid": 1757 1022 }, 1023 { 1024 "namespace": "data", 1025 "identifier": "/ietf-system:system/ntp/server/iburst", 1026 "sid": 1758 1027 }, 1028 { 1029 "namespace": "data", 1030 "identifier": "/ietf-system:system/ntp/server/name", 1031 "sid": 1759 1032 }, 1033 { 1034 "namespace": "data", 1035 "identifier": "/ietf-system:system/ntp/server/prefer", 1036 "sid": 1760 1037 }, 1038 { 1039 "namespace": "data", 1040 "identifier": "/ietf-system:system/ntp/server/udp", 1041 "sid": 1761 1042 }, 1043 { 1044 "namespace": "data", 1045 "identifier": "/ietf-system:system/ntp/server/udp/address", 1046 "sid": 1762 1047 }, 1048 { 1049 "namespace": "data", 1050 "identifier": "/ietf-system:system/ntp/server/udp/port", 1051 "sid": 1763 1052 }, 1053 { 1054 "namespace": "data", 1055 "identifier": "/ietf-system:system/radius", 1056 "sid": 1764 1057 }, 1058 { 1059 "namespace": "data", 1060 "identifier": "/ietf-system:system/radius/options", 1061 "sid": 1765 1062 }, 1063 { 1064 "namespace": "data", 1065 "identifier": "/ietf-system:system/radius/options/attempts", 1066 "sid": 1766 1067 }, 1068 { 1069 "namespace": "data", 1070 "identifier": "/ietf-system:system/radius/options/timeout", 1071 "sid": 1767 1072 }, 1073 { 1074 "namespace": "data", 1075 "identifier": "/ietf-system:system/radius/server", 1076 "sid": 1768 1077 }, 1078 { 1079 "namespace": "data", 1080 "identifier": "/ietf-system:system/radius/server/ 1081 authentication-type", 1082 "sid": 1769 1083 }, 1084 { 1085 "namespace": "data", 1086 "identifier": "/ietf-system:system/radius/server/name", 1087 "sid": 1770 1088 }, 1089 { 1090 "namespace": "data", 1091 "identifier": "/ietf-system:system/radius/server/udp", 1092 "sid": 1771 1093 }, 1094 { 1095 "namespace": "data", 1096 "identifier": "/ietf-system:system/radius/server/udp/ 1097 address", 1098 "sid": 1772 1099 }, 1100 { 1101 "namespace": "data", 1102 "identifier": "/ietf-system:system/radius/server/udp/ 1103 authentication-port", 1104 "sid": 1773 1105 }, 1106 { 1107 "namespace": "data", 1108 "identifier": "/ietf-system:system/radius/server/udp/ 1109 shared-secret", 1110 "sid": 1774 1111 } 1112 ] 1113 } 1115 Authors' Addresses 1117 Michel Veillette (editor) 1118 Trilliant Networks Inc. 1119 610 Rue du Luxembourg 1120 Granby, Quebec J2J 2V2 1121 Canada 1123 Phone: +14503750556 1124 Email: michel.veillette@trilliantinc.com 1126 Alexander Pelov (editor) 1127 Acklio 1128 2bis rue de la Chataigneraie 1129 Cesson-Sevigne, Bretagne 35510 1130 France 1132 Email: a@ackl.io