draft-ietf-netmod-yang-10.txt | draft-ietf-netmod-yang-11.txt | |||
---|---|---|---|---|
Network Working Group M. Bjorklund, Ed. | Network Working Group M. Bjorklund, Ed. | |||
Internet-Draft Tail-f Systems | Internet-Draft Tail-f Systems | |||
Intended status: Standards Track January 12, 2010 | Intended status: Standards Track February 24, 2010 | |||
Expires: July 16, 2010 | Expires: August 28, 2010 | |||
YANG - A data modeling language for NETCONF | YANG - A data modeling language for NETCONF | |||
draft-ietf-netmod-yang-10 | draft-ietf-netmod-yang-11 | |||
Abstract | ||||
YANG is a data modeling language used to model configuration and | ||||
state data manipulated by the Network Configuration Protocol | ||||
(NETCONF) protocol, NETCONF remote procedure calls, and NETCONF | ||||
notifications. | ||||
Status of this Memo | Status of this Memo | |||
This Internet-Draft is submitted to IETF in full conformance with the | This Internet-Draft is submitted to IETF 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), its areas, and its working groups. Note that | Task Force (IETF), its areas, and its working groups. Note that | |||
other groups may also distribute working documents as Internet- | other groups may also distribute working documents as Internet- | |||
Drafts. | Drafts. | |||
skipping to change at page 1, line 32 | skipping to change at page 1, line 39 | |||
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." | |||
The list of current Internet-Drafts can be accessed at | The list of current Internet-Drafts can be accessed at | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | http://www.ietf.org/ietf/1id-abstracts.txt. | |||
The list of Internet-Draft Shadow Directories can be accessed at | The list of Internet-Draft Shadow Directories can be accessed at | |||
http://www.ietf.org/shadow.html. | http://www.ietf.org/shadow.html. | |||
This Internet-Draft will expire on July 16, 2010. | This Internet-Draft will expire on August 28, 2010. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2010 IETF Trust and the persons identified as the | Copyright (c) 2010 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 in effect on the date of | Provisions Relating to IETF Documents | |||
publication of this document (http://trustee.ietf.org/license-info). | (http://trustee.ietf.org/license-info) in effect on the date of | |||
Please review these documents carefully, as they describe your rights | publication of this document. Please review these documents | |||
and restrictions with respect to this document. | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | ||||
Abstract | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | ||||
described in the Simplified BSD License. | ||||
YANG is a data modeling language used to model configuration and | This document may contain material from IETF Documents or IETF | |||
state data manipulated by the Network Configuration Protocol | Contributions published or made publicly available before November | |||
(NETCONF) protocol, NETCONF remote procedure calls, and NETCONF | 10, 2008. The person(s) controlling the copyright in some of this | |||
notifications. | material may not have granted the IETF Trust the right to allow | |||
modifications of such material outside the IETF Standards Process. | ||||
Without obtaining an adequate license from the person(s) controlling | ||||
the copyright in such materials, this document may not be modified | ||||
outside the IETF Standards Process, and derivative works of it may | ||||
not be created outside the IETF Standards Process, except to format | ||||
it for publication as an RFC or to translate it into languages other | ||||
than English. | ||||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 8 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
2. Key Words . . . . . . . . . . . . . . . . . . . . . . . . . . 9 | 2. Key Words . . . . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 3. Terminology . . . . . . . . . . . . . . . . . . . . . . . . . 11 | |||
3.1. Mandatory nodes . . . . . . . . . . . . . . . . . . . . . 12 | 3.1. Mandatory nodes . . . . . . . . . . . . . . . . . . . . . 13 | |||
4. YANG Overview . . . . . . . . . . . . . . . . . . . . . . . . 13 | 4. YANG Overview . . . . . . . . . . . . . . . . . . . . . . . . 14 | |||
4.1. Functional Overview . . . . . . . . . . . . . . . . . . . 13 | 4.1. Functional Overview . . . . . . . . . . . . . . . . . . . 14 | |||
4.2. Language Overview . . . . . . . . . . . . . . . . . . . . 14 | 4.2. Language Overview . . . . . . . . . . . . . . . . . . . . 15 | |||
4.2.1. Modules and Submodules . . . . . . . . . . . . . . . 14 | 4.2.1. Modules and Submodules . . . . . . . . . . . . . . . 15 | |||
4.2.2. Data Modeling Basics . . . . . . . . . . . . . . . . 15 | 4.2.2. Data Modeling Basics . . . . . . . . . . . . . . . . 16 | |||
4.2.3. State Data . . . . . . . . . . . . . . . . . . . . . 19 | 4.2.3. State Data . . . . . . . . . . . . . . . . . . . . . 20 | |||
4.2.4. Built-in Types . . . . . . . . . . . . . . . . . . . 19 | 4.2.4. Built-in Types . . . . . . . . . . . . . . . . . . . 20 | |||
4.2.5. Derived Types (typedef) . . . . . . . . . . . . . . . 20 | 4.2.5. Derived Types (typedef) . . . . . . . . . . . . . . . 21 | |||
4.2.6. Reusable Node Groups (grouping) . . . . . . . . . . . 21 | 4.2.6. Reusable Node Groups (grouping) . . . . . . . . . . . 22 | |||
4.2.7. Choices . . . . . . . . . . . . . . . . . . . . . . . 22 | 4.2.7. Choices . . . . . . . . . . . . . . . . . . . . . . . 23 | |||
4.2.8. Extending Data Models (augment) . . . . . . . . . . . 23 | 4.2.8. Extending Data Models (augment) . . . . . . . . . . . 24 | |||
4.2.9. RPC Definitions . . . . . . . . . . . . . . . . . . . 24 | 4.2.9. RPC Definitions . . . . . . . . . . . . . . . . . . . 25 | |||
4.2.10. Notification Definitions . . . . . . . . . . . . . . 25 | 4.2.10. Notification Definitions . . . . . . . . . . . . . . 26 | |||
5. Language Concepts . . . . . . . . . . . . . . . . . . . . . . 27 | 5. Language Concepts . . . . . . . . . . . . . . . . . . . . . . 28 | |||
5.1. Modules and Submodules . . . . . . . . . . . . . . . . . 27 | 5.1. Modules and Submodules . . . . . . . . . . . . . . . . . 28 | |||
5.1.1. Import and Include by Revision . . . . . . . . . . . 28 | 5.1.1. Import and Include by Revision . . . . . . . . . . . 29 | |||
5.1.2. Module Hierarchies . . . . . . . . . . . . . . . . . 28 | 5.1.2. Module Hierarchies . . . . . . . . . . . . . . . . . 29 | |||
5.2. File Layout . . . . . . . . . . . . . . . . . . . . . . . 29 | 5.2. File Layout . . . . . . . . . . . . . . . . . . . . . . . 30 | |||
5.3. XML Namespaces . . . . . . . . . . . . . . . . . . . . . 30 | 5.3. XML Namespaces . . . . . . . . . . . . . . . . . . . . . 31 | |||
5.3.1. YANG XML Namespace . . . . . . . . . . . . . . . . . 30 | 5.3.1. YANG XML Namespace . . . . . . . . . . . . . . . . . 31 | |||
5.4. Resolving Grouping, Type, and Identity Names . . . . . . 30 | 5.4. Resolving Grouping, Type, and Identity Names . . . . . . 31 | |||
5.5. Nested Typedefs and Groupings . . . . . . . . . . . . . . 30 | 5.5. Nested Typedefs and Groupings . . . . . . . . . . . . . . 31 | |||
5.6. Conformance . . . . . . . . . . . . . . . . . . . . . . . 31 | 5.6. Conformance . . . . . . . . . . . . . . . . . . . . . . . 32 | |||
5.6.1. Basic Behavior . . . . . . . . . . . . . . . . . . . 32 | 5.6.1. Basic Behavior . . . . . . . . . . . . . . . . . . . 33 | |||
5.6.2. Optional Features . . . . . . . . . . . . . . . . . . 32 | 5.6.2. Optional Features . . . . . . . . . . . . . . . . . . 33 | |||
5.6.3. Deviations . . . . . . . . . . . . . . . . . . . . . 32 | 5.6.3. Deviations . . . . . . . . . . . . . . . . . . . . . 33 | |||
5.6.4. Announcing Conformance Information in the <hello> | 5.6.4. Announcing Conformance Information in the <hello> | |||
Message . . . . . . . . . . . . . . . . . . . . . . . 33 | Message . . . . . . . . . . . . . . . . . . . . . . . 34 | |||
5.7. Data Store Modification . . . . . . . . . . . . . . . . . 35 | 5.7. Data Store Modification . . . . . . . . . . . . . . . . . 36 | |||
6. YANG syntax . . . . . . . . . . . . . . . . . . . . . . . . . 36 | 6. YANG syntax . . . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
6.1. Lexicographical Tokenization . . . . . . . . . . . . . . 36 | 6.1. Lexicographical Tokenization . . . . . . . . . . . . . . 37 | |||
6.1.1. Comments . . . . . . . . . . . . . . . . . . . . . . 36 | 6.1.1. Comments . . . . . . . . . . . . . . . . . . . . . . 37 | |||
6.1.2. Tokens . . . . . . . . . . . . . . . . . . . . . . . 36 | 6.1.2. Tokens . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
6.1.3. Quoting . . . . . . . . . . . . . . . . . . . . . . . 36 | 6.1.3. Quoting . . . . . . . . . . . . . . . . . . . . . . . 37 | |||
6.2. Identifiers . . . . . . . . . . . . . . . . . . . . . . . 39 | ||||
6.2.1. Identifiers and their namespaces . . . . . . . . . . 39 | ||||
6.3. Statements . . . . . . . . . . . . . . . . . . . . . . . 40 | ||||
6.3.1. Language Extensions . . . . . . . . . . . . . . . . . 40 | ||||
6.4. XPath Evaluations . . . . . . . . . . . . . . . . . . . . 40 | ||||
6.4.1. XPath Context . . . . . . . . . . . . . . . . . . . . 41 | ||||
6.5. Schema Node Identifier . . . . . . . . . . . . . . . . . 41 | ||||
7. YANG Statements . . . . . . . . . . . . . . . . . . . . . . . 43 | ||||
7.1. The module Statement . . . . . . . . . . . . . . . . . . 43 | ||||
7.1.1. The module's Substatements . . . . . . . . . . . . . 44 | ||||
7.1.2. The yang-version Statement . . . . . . . . . . . . . 45 | ||||
7.1.3. The namespace Statement . . . . . . . . . . . . . . . 45 | ||||
7.1.4. The prefix Statement . . . . . . . . . . . . . . . . 46 | ||||
7.1.5. The import Statement . . . . . . . . . . . . . . . . 46 | ||||
7.1.6. The include Statement . . . . . . . . . . . . . . . . 47 | ||||
7.1.7. The organization Statement . . . . . . . . . . . . . 48 | ||||
7.1.8. The contact Statement . . . . . . . . . . . . . . . . 48 | ||||
7.1.9. The revision Statement . . . . . . . . . . . . . . . 48 | ||||
7.1.10. Usage Example . . . . . . . . . . . . . . . . . . . . 49 | ||||
7.2. The submodule Statement . . . . . . . . . . . . . . . . . 49 | ||||
7.2.1. The submodule's Substatements . . . . . . . . . . . . 50 | ||||
7.2.2. The belongs-to Statement . . . . . . . . . . . . . . 51 | ||||
7.2.3. Usage Example . . . . . . . . . . . . . . . . . . . . 52 | ||||
7.3. The typedef Statement . . . . . . . . . . . . . . . . . . 52 | ||||
7.3.1. The typedef's Substatements . . . . . . . . . . . . . 53 | ||||
7.3.2. The typedef's type Statement . . . . . . . . . . . . 53 | ||||
7.3.3. The units Statement . . . . . . . . . . . . . . . . . 53 | ||||
7.3.4. The typedef's default Statement . . . . . . . . . . . 53 | ||||
7.3.5. Usage Example . . . . . . . . . . . . . . . . . . . . 54 | ||||
7.4. The type Statement . . . . . . . . . . . . . . . . . . . 54 | ||||
7.4.1. The type's Substatements . . . . . . . . . . . . . . 54 | ||||
7.5. The container Statement . . . . . . . . . . . . . . . . . 54 | ||||
7.5.1. Containers with Presence . . . . . . . . . . . . . . 55 | ||||
7.5.2. The container's Substatements . . . . . . . . . . . . 56 | ||||
7.5.3. The must Statement . . . . . . . . . . . . . . . . . 56 | ||||
7.5.4. The must's Substatements . . . . . . . . . . . . . . 58 | ||||
7.5.5. The presence Statement . . . . . . . . . . . . . . . 59 | ||||
7.5.6. The container's Child Node Statements . . . . . . . . 59 | ||||
7.5.7. XML Mapping Rules . . . . . . . . . . . . . . . . . . 59 | ||||
7.5.8. NETCONF <edit-config> Operations . . . . . . . . . . 59 | ||||
7.5.9. Usage Example . . . . . . . . . . . . . . . . . . . . 60 | ||||
7.6. The leaf Statement . . . . . . . . . . . . . . . . . . . 61 | ||||
7.6.1. The leaf's default value . . . . . . . . . . . . . . 61 | ||||
7.6.2. The leaf's Substatements . . . . . . . . . . . . . . 62 | ||||
7.6.3. The leaf's type Statement . . . . . . . . . . . . . . 62 | ||||
7.6.4. The leaf's default Statement . . . . . . . . . . . . 62 | ||||
7.6.5. The leaf's mandatory Statement . . . . . . . . . . . 63 | ||||
7.6.6. XML Mapping Rules . . . . . . . . . . . . . . . . . . 63 | ||||
7.6.7. NETCONF <edit-config> Operations . . . . . . . . . . 63 | ||||
7.6.8. Usage Example . . . . . . . . . . . . . . . . . . . . 64 | ||||
7.7. The leaf-list Statement . . . . . . . . . . . . . . . . . 65 | ||||
7.7.1. Ordering . . . . . . . . . . . . . . . . . . . . . . 65 | ||||
7.7.2. The leaf-list's Substatements . . . . . . . . . . . . 66 | ||||
7.7.3. The min-elements Statement . . . . . . . . . . . . . 66 | ||||
7.7.4. The max-elements Statement . . . . . . . . . . . . . 66 | ||||
7.7.5. The ordered-by Statement . . . . . . . . . . . . . . 67 | ||||
7.7.6. XML Mapping Rules . . . . . . . . . . . . . . . . . . 67 | ||||
7.7.7. NETCONF <edit-config> Operations . . . . . . . . . . 68 | ||||
7.7.8. Usage Example . . . . . . . . . . . . . . . . . . . . 69 | ||||
7.8. The list Statement . . . . . . . . . . . . . . . . . . . 70 | ||||
7.8.1. The list's Substatements . . . . . . . . . . . . . . 71 | ||||
7.8.2. The list's key Statement . . . . . . . . . . . . . . 71 | ||||
7.8.3. The list's unique Statement . . . . . . . . . . . . . 72 | ||||
7.8.4. The list's Child Node Statements . . . . . . . . . . 73 | ||||
7.8.5. XML Mapping Rules . . . . . . . . . . . . . . . . . . 73 | ||||
7.8.6. NETCONF <edit-config> Operations . . . . . . . . . . 74 | ||||
7.8.7. Usage Example . . . . . . . . . . . . . . . . . . . . 75 | ||||
7.9. The choice Statement . . . . . . . . . . . . . . . . . . 78 | ||||
7.9.1. The choice's Substatements . . . . . . . . . . . . . 79 | ||||
7.9.2. The choice's case Statement . . . . . . . . . . . . . 79 | ||||
7.9.3. The choice's default Statement . . . . . . . . . . . 80 | ||||
7.9.4. The choice's mandatory Statement . . . . . . . . . . 82 | ||||
7.9.5. XML Mapping Rules . . . . . . . . . . . . . . . . . . 82 | ||||
7.9.6. NETCONF <edit-config> Operations . . . . . . . . . . 82 | ||||
7.9.7. Usage Example . . . . . . . . . . . . . . . . . . . . 82 | ||||
7.10. The anyxml Statement . . . . . . . . . . . . . . . . . . 83 | ||||
7.10.1. The anyxml's Substatements . . . . . . . . . . . . . 84 | ||||
7.10.2. XML Mapping Rules . . . . . . . . . . . . . . . . . . 84 | ||||
7.10.3. NETCONF <edit-config> Operations . . . . . . . . . . 84 | ||||
7.10.4. Usage Example . . . . . . . . . . . . . . . . . . . . 85 | ||||
7.11. The grouping Statement . . . . . . . . . . . . . . . . . 85 | ||||
7.11.1. The grouping's Substatements . . . . . . . . . . . . 86 | ||||
7.11.2. Usage Example . . . . . . . . . . . . . . . . . . . . 87 | ||||
7.12. The uses Statement . . . . . . . . . . . . . . . . . . . 87 | ||||
7.12.1. The uses's Substatements . . . . . . . . . . . . . . 88 | ||||
7.12.2. The refine Statement . . . . . . . . . . . . . . . . 88 | ||||
7.12.3. XML Mapping Rules . . . . . . . . . . . . . . . . . . 89 | ||||
7.12.4. Usage Example . . . . . . . . . . . . . . . . . . . . 89 | ||||
7.13. The rpc Statement . . . . . . . . . . . . . . . . . . . . 90 | ||||
7.13.1. The rpc's Substatements . . . . . . . . . . . . . . . 91 | ||||
7.13.2. The input Statement . . . . . . . . . . . . . . . . . 91 | ||||
7.13.3. The output Statement . . . . . . . . . . . . . . . . 92 | ||||
7.13.4. XML Mapping Rules . . . . . . . . . . . . . . . . . . 93 | ||||
7.13.5. Usage Example . . . . . . . . . . . . . . . . . . . . 93 | ||||
7.14. The notification Statement . . . . . . . . . . . . . . . 94 | ||||
7.14.1. The notification's Substatements . . . . . . . . . . 95 | ||||
7.14.2. XML Mapping Rules . . . . . . . . . . . . . . . . . . 95 | ||||
7.14.3. Usage Example . . . . . . . . . . . . . . . . . . . . 95 | ||||
7.15. The augment Statement . . . . . . . . . . . . . . . . . . 96 | ||||
7.15.1. The augment's Substatements . . . . . . . . . . . . . 97 | ||||
7.15.2. XML Mapping Rules . . . . . . . . . . . . . . . . . . 97 | ||||
7.15.3. Usage Example . . . . . . . . . . . . . . . . . . . . 97 | ||||
7.16. The identity Statement . . . . . . . . . . . . . . . . . 99 | ||||
7.16.1. The identity's Substatements . . . . . . . . . . . . 100 | ||||
7.16.2. The base Statement . . . . . . . . . . . . . . . . . 100 | ||||
7.16.3. Usage Example . . . . . . . . . . . . . . . . . . . . 101 | ||||
7.17. The extension Statement . . . . . . . . . . . . . . . . . 101 | ||||
7.17.1. The extension's Substatements . . . . . . . . . . . . 102 | ||||
7.17.2. The argument Statement . . . . . . . . . . . . . . . 102 | ||||
7.17.3. Usage Example . . . . . . . . . . . . . . . . . . . . 103 | ||||
7.18. Conformance-related Statements . . . . . . . . . . . . . 103 | ||||
7.18.1. The feature Statement . . . . . . . . . . . . . . . . 103 | ||||
7.18.2. The if-feature Statement . . . . . . . . . . . . . . 105 | ||||
7.18.3. The deviation Statement . . . . . . . . . . . . . . . 105 | ||||
7.19. Common Statements . . . . . . . . . . . . . . . . . . . . 108 | ||||
7.19.1. The config Statement . . . . . . . . . . . . . . . . 108 | ||||
7.19.2. The status Statement . . . . . . . . . . . . . . . . 108 | ||||
7.19.3. The description Statement . . . . . . . . . . . . . . 109 | ||||
7.19.4. The reference Statement . . . . . . . . . . . . . . . 109 | ||||
7.19.5. The when Statement . . . . . . . . . . . . . . . . . 109 | ||||
8. Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 111 | ||||
8.1. Constraints on Data . . . . . . . . . . . . . . . . . . . 111 | ||||
8.2. Hierarchy of Constraints . . . . . . . . . . . . . . . . 111 | ||||
8.3. Constraint Enforcement Model . . . . . . . . . . . . . . 111 | ||||
8.3.1. Payload Parsing . . . . . . . . . . . . . . . . . . . 112 | ||||
8.3.2. NETCONF <edit-config> Processing . . . . . . . . . . 112 | ||||
8.3.3. Validation . . . . . . . . . . . . . . . . . . . . . 113 | ||||
9. Built-in Types . . . . . . . . . . . . . . . . . . . . . . . 114 | ||||
9.1. Canonical representation . . . . . . . . . . . . . . . . 114 | ||||
9.2. The Integer Built-in Types . . . . . . . . . . . . . . . 114 | ||||
9.2.1. Lexicographic Representation . . . . . . . . . . . . 115 | ||||
9.2.2. Canonical Form . . . . . . . . . . . . . . . . . . . 116 | ||||
9.2.3. Restrictions . . . . . . . . . . . . . . . . . . . . 116 | ||||
9.2.4. The range Statement . . . . . . . . . . . . . . . . . 116 | ||||
9.2.5. Usage Example . . . . . . . . . . . . . . . . . . . . 117 | ||||
9.3. The decimal64 Built-in Type . . . . . . . . . . . . . . . 117 | ||||
9.3.1. Lexicographic Representation . . . . . . . . . . . . 117 | ||||
9.3.2. Canonical Form . . . . . . . . . . . . . . . . . . . 117 | ||||
9.3.3. Restrictions . . . . . . . . . . . . . . . . . . . . 118 | ||||
9.3.4. The fraction-digits Statement . . . . . . . . . . . . 118 | ||||
9.3.5. Usage Example . . . . . . . . . . . . . . . . . . . . 119 | ||||
9.4. The string Built-in Type . . . . . . . . . . . . . . . . 119 | ||||
9.4.1. Lexicographic Representation . . . . . . . . . . . . 119 | ||||
9.4.2. Canonical Form . . . . . . . . . . . . . . . . . . . 119 | ||||
9.4.3. Restrictions . . . . . . . . . . . . . . . . . . . . 119 | ||||
9.4.4. The length Statement . . . . . . . . . . . . . . . . 119 | ||||
9.4.5. Usage Example . . . . . . . . . . . . . . . . . . . . 120 | ||||
9.4.6. The pattern Statement . . . . . . . . . . . . . . . . 121 | ||||
9.4.7. Usage Example . . . . . . . . . . . . . . . . . . . . 121 | ||||
9.5. The boolean Built-in Type . . . . . . . . . . . . . . . . 122 | ||||
9.5.1. Lexicographic Representation . . . . . . . . . . . . 122 | ||||
9.5.2. Canonical Form . . . . . . . . . . . . . . . . . . . 122 | ||||
9.5.3. Restrictions . . . . . . . . . . . . . . . . . . . . 122 | ||||
9.6. The enumeration Built-in Type . . . . . . . . . . . . . . 122 | ||||
9.6.1. Lexicographic Representation . . . . . . . . . . . . 122 | ||||
9.6.2. Canonical Form . . . . . . . . . . . . . . . . . . . 122 | ||||
9.6.3. Restrictions . . . . . . . . . . . . . . . . . . . . 122 | ||||
9.6.4. The enum Statement . . . . . . . . . . . . . . . . . 122 | ||||
9.6.5. Usage Example . . . . . . . . . . . . . . . . . . . . 123 | ||||
9.7. The bits Built-in Type . . . . . . . . . . . . . . . . . 124 | ||||
9.7.1. Restrictions . . . . . . . . . . . . . . . . . . . . 124 | ||||
9.7.2. Lexicographic Representation . . . . . . . . . . . . 124 | ||||
9.7.3. Canonical Form . . . . . . . . . . . . . . . . . . . 124 | ||||
9.7.4. The bit Statement . . . . . . . . . . . . . . . . . . 124 | ||||
9.7.5. Usage Example . . . . . . . . . . . . . . . . . . . . 125 | ||||
9.8. The binary Built-in Type . . . . . . . . . . . . . . . . 125 | ||||
9.8.1. Restrictions . . . . . . . . . . . . . . . . . . . . 126 | ||||
9.8.2. Lexicographic Representation . . . . . . . . . . . . 126 | ||||
9.8.3. Canonical Form . . . . . . . . . . . . . . . . . . . 126 | ||||
9.9. The leafref Built-in Type . . . . . . . . . . . . . . . . 126 | ||||
9.9.1. Restrictions . . . . . . . . . . . . . . . . . . . . 126 | ||||
9.9.2. The path Statement . . . . . . . . . . . . . . . . . 126 | ||||
9.9.3. Lexicographic Representation . . . . . . . . . . . . 127 | ||||
9.9.4. Canonical Form . . . . . . . . . . . . . . . . . . . 127 | ||||
9.9.5. Usage Example . . . . . . . . . . . . . . . . . . . . 127 | ||||
9.10. The identityref Built-in Type . . . . . . . . . . . . . . 131 | ||||
9.10.1. Restrictions . . . . . . . . . . . . . . . . . . . . 131 | ||||
9.10.2. The identityref's base Statement . . . . . . . . . . 131 | ||||
9.10.3. Lexicographic Representation . . . . . . . . . . . . 132 | ||||
9.10.4. Canonical Form . . . . . . . . . . . . . . . . . . . 132 | ||||
9.10.5. Usage Example . . . . . . . . . . . . . . . . . . . . 132 | ||||
9.11. The empty Built-in Type . . . . . . . . . . . . . . . . . 133 | ||||
9.11.1. Restrictions . . . . . . . . . . . . . . . . . . . . 133 | ||||
9.11.2. Lexicographic Representation . . . . . . . . . . . . 133 | ||||
9.11.3. Canonical Form . . . . . . . . . . . . . . . . . . . 133 | ||||
9.11.4. Usage Example . . . . . . . . . . . . . . . . . . . . 133 | ||||
9.12. The union Built-in Type . . . . . . . . . . . . . . . . . 134 | ||||
9.12.1. Restrictions . . . . . . . . . . . . . . . . . . . . 134 | ||||
9.12.2. Lexicographic Representation . . . . . . . . . . . . 134 | ||||
9.12.3. Canonical Form . . . . . . . . . . . . . . . . . . . 134 | ||||
9.13. The instance-identifier Built-in Type . . . . . . . . . . 135 | ||||
9.13.1. Restrictions . . . . . . . . . . . . . . . . . . . . 135 | ||||
9.13.2. The require-instance Statement . . . . . . . . . . . 136 | ||||
9.13.3. Lexicographic Representation . . . . . . . . . . . . 136 | ||||
9.13.4. Canonical Form . . . . . . . . . . . . . . . . . . . 136 | ||||
9.13.5. Usage Example . . . . . . . . . . . . . . . . . . . . 136 | ||||
10. Updating a Module . . . . . . . . . . . . . . . . . . . . . . 138 | ||||
11. YIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141 | ||||
11.1. Formal YIN Definition . . . . . . . . . . . . . . . . . . 141 | ||||
11.1.1. Usage Example . . . . . . . . . . . . . . . . . . . . 143 | ||||
6.2. Identifiers . . . . . . . . . . . . . . . . . . . . . . . 38 | 12. YANG ABNF Grammar . . . . . . . . . . . . . . . . . . . . . . 146 | |||
6.2.1. Identifiers and their namespaces . . . . . . . . . . 38 | 13. Error Responses for YANG Related Errors . . . . . . . . . . . 168 | |||
6.3. Statements . . . . . . . . . . . . . . . . . . . . . . . 39 | 13.1. Error Message for Data that Violates a unique Statement . 168 | |||
6.3.1. Language Extensions . . . . . . . . . . . . . . . . . 39 | ||||
6.4. XPath Evaluations . . . . . . . . . . . . . . . . . . . . 39 | ||||
6.4.1. XPath Context . . . . . . . . . . . . . . . . . . . . 40 | ||||
6.5. Schema Node Identifier . . . . . . . . . . . . . . . . . 40 | ||||
7. YANG Statements . . . . . . . . . . . . . . . . . . . . . . . 42 | ||||
7.1. The module Statement . . . . . . . . . . . . . . . . . . 42 | ||||
7.1.1. The module's Substatements . . . . . . . . . . . . . 43 | ||||
7.1.2. The yang-version Statement . . . . . . . . . . . . . 44 | ||||
7.1.3. The namespace Statement . . . . . . . . . . . . . . . 44 | ||||
7.1.4. The prefix Statement . . . . . . . . . . . . . . . . 45 | ||||
7.1.5. The import Statement . . . . . . . . . . . . . . . . 45 | ||||
7.1.6. The include Statement . . . . . . . . . . . . . . . . 46 | ||||
7.1.7. The organization Statement . . . . . . . . . . . . . 47 | ||||
7.1.8. The contact Statement . . . . . . . . . . . . . . . . 47 | ||||
7.1.9. The revision Statement . . . . . . . . . . . . . . . 47 | ||||
7.1.10. Usage Example . . . . . . . . . . . . . . . . . . . . 48 | ||||
7.2. The submodule Statement . . . . . . . . . . . . . . . . . 48 | ||||
7.2.1. The submodule's Substatements . . . . . . . . . . . . 49 | ||||
7.2.2. The belongs-to Statement . . . . . . . . . . . . . . 50 | ||||
7.2.3. Usage Example . . . . . . . . . . . . . . . . . . . . 51 | ||||
7.3. The typedef Statement . . . . . . . . . . . . . . . . . . 51 | ||||
7.3.1. The typedef's Substatements . . . . . . . . . . . . . 52 | ||||
7.3.2. The typedef's type Statement . . . . . . . . . . . . 52 | ||||
7.3.3. The units Statement . . . . . . . . . . . . . . . . . 52 | ||||
7.3.4. The typedef's default Statement . . . . . . . . . . . 52 | ||||
7.3.5. Usage Example . . . . . . . . . . . . . . . . . . . . 53 | ||||
7.4. The type Statement . . . . . . . . . . . . . . . . . . . 53 | ||||
7.4.1. The type's Substatements . . . . . . . . . . . . . . 53 | ||||
7.5. The container Statement . . . . . . . . . . . . . . . . . 53 | ||||
7.5.1. Containers with Presence . . . . . . . . . . . . . . 54 | ||||
7.5.2. The container's Substatements . . . . . . . . . . . . 55 | ||||
7.5.3. The must Statement . . . . . . . . . . . . . . . . . 55 | ||||
7.5.4. The must's Substatements . . . . . . . . . . . . . . 57 | ||||
7.5.5. The presence Statement . . . . . . . . . . . . . . . 58 | ||||
7.5.6. The container's Child Node Statements . . . . . . . . 58 | ||||
7.5.7. XML Mapping Rules . . . . . . . . . . . . . . . . . . 58 | ||||
7.5.8. NETCONF <edit-config> Operations . . . . . . . . . . 58 | ||||
7.5.9. Usage Example . . . . . . . . . . . . . . . . . . . . 59 | ||||
7.6. The leaf Statement . . . . . . . . . . . . . . . . . . . 60 | ||||
7.6.1. The leaf's default value . . . . . . . . . . . . . . 60 | ||||
7.6.2. The leaf's Substatements . . . . . . . . . . . . . . 61 | ||||
7.6.3. The leaf's type Statement . . . . . . . . . . . . . . 61 | ||||
7.6.4. The leaf's default Statement . . . . . . . . . . . . 61 | ||||
7.6.5. The leaf's mandatory Statement . . . . . . . . . . . 62 | ||||
7.6.6. XML Mapping Rules . . . . . . . . . . . . . . . . . . 62 | ||||
7.6.7. NETCONF <edit-config> Operations . . . . . . . . . . 62 | ||||
7.6.8. Usage Example . . . . . . . . . . . . . . . . . . . . 63 | ||||
7.7. The leaf-list Statement . . . . . . . . . . . . . . . . . 64 | ||||
7.7.1. Ordering . . . . . . . . . . . . . . . . . . . . . . 64 | ||||
7.7.2. The leaf-list's Substatements . . . . . . . . . . . . 65 | ||||
7.7.3. The min-elements Statement . . . . . . . . . . . . . 65 | ||||
7.7.4. The max-elements Statement . . . . . . . . . . . . . 65 | ||||
7.7.5. The ordered-by Statement . . . . . . . . . . . . . . 66 | ||||
7.7.6. XML Mapping Rules . . . . . . . . . . . . . . . . . . 66 | ||||
7.7.7. NETCONF <edit-config> Operations . . . . . . . . . . 67 | ||||
7.7.8. Usage Example . . . . . . . . . . . . . . . . . . . . 68 | ||||
7.8. The list Statement . . . . . . . . . . . . . . . . . . . 69 | ||||
7.8.1. The list's Substatements . . . . . . . . . . . . . . 70 | ||||
7.8.2. The list's key Statement . . . . . . . . . . . . . . 70 | ||||
7.8.3. The list's unique Statement . . . . . . . . . . . . . 71 | ||||
7.8.4. The list's Child Node Statements . . . . . . . . . . 72 | ||||
7.8.5. XML Mapping Rules . . . . . . . . . . . . . . . . . . 72 | ||||
7.8.6. NETCONF <edit-config> Operations . . . . . . . . . . 73 | ||||
7.8.7. Usage Example . . . . . . . . . . . . . . . . . . . . 74 | ||||
7.9. The choice Statement . . . . . . . . . . . . . . . . . . 77 | ||||
7.9.1. The choice's Substatements . . . . . . . . . . . . . 78 | ||||
7.9.2. The choice's case Statement . . . . . . . . . . . . . 78 | ||||
7.9.3. The choice's default Statement . . . . . . . . . . . 79 | ||||
7.9.4. The choice's mandatory Statement . . . . . . . . . . 81 | ||||
7.9.5. XML Mapping Rules . . . . . . . . . . . . . . . . . . 81 | ||||
7.9.6. NETCONF <edit-config> Operations . . . . . . . . . . 81 | ||||
7.9.7. Usage Example . . . . . . . . . . . . . . . . . . . . 81 | ||||
7.10. The anyxml Statement . . . . . . . . . . . . . . . . . . 82 | ||||
7.10.1. The anyxml's Substatements . . . . . . . . . . . . . 83 | ||||
7.10.2. XML Mapping Rules . . . . . . . . . . . . . . . . . . 83 | ||||
7.10.3. NETCONF <edit-config> Operations . . . . . . . . . . 83 | ||||
7.10.4. Usage Example . . . . . . . . . . . . . . . . . . . . 84 | ||||
7.11. The grouping Statement . . . . . . . . . . . . . . . . . 84 | ||||
7.11.1. The grouping's Substatements . . . . . . . . . . . . 85 | ||||
7.11.2. Usage Example . . . . . . . . . . . . . . . . . . . . 86 | ||||
7.12. The uses Statement . . . . . . . . . . . . . . . . . . . 86 | ||||
7.12.1. The uses's Substatements . . . . . . . . . . . . . . 87 | ||||
7.12.2. The refine Statement . . . . . . . . . . . . . . . . 87 | ||||
7.12.3. XML Mapping Rules . . . . . . . . . . . . . . . . . . 88 | ||||
7.12.4. Usage Example . . . . . . . . . . . . . . . . . . . . 88 | ||||
7.13. The rpc Statement . . . . . . . . . . . . . . . . . . . . 89 | ||||
7.13.1. The rpc's Substatements . . . . . . . . . . . . . . . 90 | ||||
7.13.2. The input Statement . . . . . . . . . . . . . . . . . 90 | ||||
7.13.3. The output Statement . . . . . . . . . . . . . . . . 91 | ||||
7.13.4. XML Mapping Rules . . . . . . . . . . . . . . . . . . 92 | ||||
7.13.5. Usage Example . . . . . . . . . . . . . . . . . . . . 92 | ||||
7.14. The notification Statement . . . . . . . . . . . . . . . 93 | ||||
7.14.1. The notification's Substatements . . . . . . . . . . 94 | ||||
7.14.2. XML Mapping Rules . . . . . . . . . . . . . . . . . . 94 | ||||
7.14.3. Usage Example . . . . . . . . . . . . . . . . . . . . 94 | ||||
7.15. The augment Statement . . . . . . . . . . . . . . . . . . 95 | ||||
7.15.1. The augment's Substatements . . . . . . . . . . . . . 96 | ||||
7.15.2. XML Mapping Rules . . . . . . . . . . . . . . . . . . 96 | ||||
7.15.3. Usage Example . . . . . . . . . . . . . . . . . . . . 96 | ||||
7.16. The identity Statement . . . . . . . . . . . . . . . . . 98 | ||||
7.16.1. The identity's Substatements . . . . . . . . . . . . 99 | ||||
7.16.2. The base Statement . . . . . . . . . . . . . . . . . 99 | ||||
7.16.3. Usage Example . . . . . . . . . . . . . . . . . . . . 100 | ||||
7.17. The extension Statement . . . . . . . . . . . . . . . . . 100 | ||||
7.17.1. The extension's Substatements . . . . . . . . . . . . 101 | ||||
7.17.2. The argument Statement . . . . . . . . . . . . . . . 101 | ||||
7.17.3. Usage Example . . . . . . . . . . . . . . . . . . . . 102 | ||||
7.18. Conformance-related Statements . . . . . . . . . . . . . 102 | ||||
7.18.1. The feature Statement . . . . . . . . . . . . . . . . 102 | ||||
7.18.2. The if-feature Statement . . . . . . . . . . . . . . 104 | ||||
7.18.3. The deviation Statement . . . . . . . . . . . . . . . 104 | ||||
7.19. Common Statements . . . . . . . . . . . . . . . . . . . . 107 | ||||
7.19.1. The config Statement . . . . . . . . . . . . . . . . 107 | ||||
7.19.2. The status Statement . . . . . . . . . . . . . . . . 107 | ||||
7.19.3. The description Statement . . . . . . . . . . . . . . 108 | ||||
7.19.4. The reference Statement . . . . . . . . . . . . . . . 108 | ||||
7.19.5. The when Statement . . . . . . . . . . . . . . . . . 108 | ||||
8. Constraints . . . . . . . . . . . . . . . . . . . . . . . . . 110 | ||||
8.1. Constraints on Data . . . . . . . . . . . . . . . . . . . 110 | ||||
8.2. Hierarchy of Constraints . . . . . . . . . . . . . . . . 110 | ||||
8.3. Constraint Enforcement Model . . . . . . . . . . . . . . 110 | ||||
8.3.1. Payload Parsing . . . . . . . . . . . . . . . . . . . 111 | ||||
8.3.2. NETCONF <edit-config> Processing . . . . . . . . . . 111 | ||||
8.3.3. Validation . . . . . . . . . . . . . . . . . . . . . 112 | ||||
9. Built-in Types . . . . . . . . . . . . . . . . . . . . . . . 113 | ||||
9.1. Canonical representation . . . . . . . . . . . . . . . . 113 | ||||
9.2. The Integer Built-in Types . . . . . . . . . . . . . . . 113 | ||||
9.2.1. Lexicographic Representation . . . . . . . . . . . . 114 | ||||
9.2.2. Canonical Form . . . . . . . . . . . . . . . . . . . 115 | ||||
9.2.3. Restrictions . . . . . . . . . . . . . . . . . . . . 115 | ||||
9.2.4. The range Statement . . . . . . . . . . . . . . . . . 115 | ||||
9.2.5. Usage Example . . . . . . . . . . . . . . . . . . . . 116 | ||||
9.3. The decimal64 Built-in Type . . . . . . . . . . . . . . . 116 | ||||
9.3.1. Lexicographic Representation . . . . . . . . . . . . 116 | ||||
9.3.2. Canonical Form . . . . . . . . . . . . . . . . . . . 116 | ||||
9.3.3. Restrictions . . . . . . . . . . . . . . . . . . . . 117 | ||||
9.3.4. The fraction-digits Statement . . . . . . . . . . . . 117 | ||||
9.3.5. Usage Example . . . . . . . . . . . . . . . . . . . . 118 | ||||
9.4. The string Built-in Type . . . . . . . . . . . . . . . . 118 | ||||
9.4.1. Lexicographic Representation . . . . . . . . . . . . 118 | ||||
9.4.2. Canonical Form . . . . . . . . . . . . . . . . . . . 118 | ||||
9.4.3. Restrictions . . . . . . . . . . . . . . . . . . . . 118 | ||||
9.4.4. The length Statement . . . . . . . . . . . . . . . . 118 | ||||
9.4.5. Usage Example . . . . . . . . . . . . . . . . . . . . 119 | ||||
9.4.6. The pattern Statement . . . . . . . . . . . . . . . . 120 | ||||
9.4.7. Usage Example . . . . . . . . . . . . . . . . . . . . 120 | ||||
9.5. The boolean Built-in Type . . . . . . . . . . . . . . . . 121 | ||||
9.5.1. Lexicographic Representation . . . . . . . . . . . . 121 | ||||
9.5.2. Canonical Form . . . . . . . . . . . . . . . . . . . 121 | ||||
9.5.3. Restrictions . . . . . . . . . . . . . . . . . . . . 121 | ||||
9.6. The enumeration Built-in Type . . . . . . . . . . . . . . 121 | ||||
9.6.1. Lexicographic Representation . . . . . . . . . . . . 121 | ||||
9.6.2. Canonical Form . . . . . . . . . . . . . . . . . . . 121 | ||||
9.6.3. Restrictions . . . . . . . . . . . . . . . . . . . . 121 | ||||
9.6.4. The enum Statement . . . . . . . . . . . . . . . . . 121 | ||||
9.6.5. Usage Example . . . . . . . . . . . . . . . . . . . . 122 | ||||
9.7. The bits Built-in Type . . . . . . . . . . . . . . . . . 123 | ||||
9.7.1. Restrictions . . . . . . . . . . . . . . . . . . . . 123 | ||||
9.7.2. Lexicographic Representation . . . . . . . . . . . . 123 | ||||
9.7.3. Canonical Form . . . . . . . . . . . . . . . . . . . 123 | ||||
9.7.4. The bit Statement . . . . . . . . . . . . . . . . . . 123 | ||||
9.7.5. Usage Example . . . . . . . . . . . . . . . . . . . . 124 | ||||
9.8. The binary Built-in Type . . . . . . . . . . . . . . . . 124 | ||||
9.8.1. Restrictions . . . . . . . . . . . . . . . . . . . . 125 | ||||
9.8.2. Lexicographic Representation . . . . . . . . . . . . 125 | ||||
9.8.3. Canonical Form . . . . . . . . . . . . . . . . . . . 125 | ||||
9.9. The leafref Built-in Type . . . . . . . . . . . . . . . . 125 | ||||
9.9.1. Restrictions . . . . . . . . . . . . . . . . . . . . 125 | ||||
9.9.2. The path Statement . . . . . . . . . . . . . . . . . 125 | ||||
9.9.3. Lexicographic Representation . . . . . . . . . . . . 126 | ||||
9.9.4. Canonical Form . . . . . . . . . . . . . . . . . . . 126 | ||||
9.9.5. Usage Example . . . . . . . . . . . . . . . . . . . . 126 | ||||
9.10. The identityref Built-in Type . . . . . . . . . . . . . . 130 | ||||
9.10.1. Restrictions . . . . . . . . . . . . . . . . . . . . 130 | ||||
9.10.2. The identityref's base Statement . . . . . . . . . . 130 | ||||
9.10.3. Lexicographic Representation . . . . . . . . . . . . 131 | ||||
9.10.4. Canonical Form . . . . . . . . . . . . . . . . . . . 131 | ||||
9.10.5. Usage Example . . . . . . . . . . . . . . . . . . . . 131 | ||||
9.11. The empty Built-in Type . . . . . . . . . . . . . . . . . 132 | ||||
9.11.1. Restrictions . . . . . . . . . . . . . . . . . . . . 132 | ||||
9.11.2. Lexicographic Representation . . . . . . . . . . . . 132 | ||||
9.11.3. Canonical Form . . . . . . . . . . . . . . . . . . . 132 | ||||
9.11.4. Usage Example . . . . . . . . . . . . . . . . . . . . 132 | ||||
9.12. The union Built-in Type . . . . . . . . . . . . . . . . . 133 | ||||
9.12.1. Restrictions . . . . . . . . . . . . . . . . . . . . 133 | ||||
9.12.2. Lexicographic Representation . . . . . . . . . . . . 133 | ||||
9.12.3. Canonical Form . . . . . . . . . . . . . . . . . . . 133 | ||||
9.13. The instance-identifier Built-in Type . . . . . . . . . . 134 | ||||
9.13.1. Restrictions . . . . . . . . . . . . . . . . . . . . 134 | ||||
9.13.2. The require-instance Statement . . . . . . . . . . . 135 | ||||
9.13.3. Lexicographic Representation . . . . . . . . . . . . 135 | ||||
9.13.4. Canonical Form . . . . . . . . . . . . . . . . . . . 135 | ||||
9.13.5. Usage Example . . . . . . . . . . . . . . . . . . . . 135 | ||||
10. Updating a Module . . . . . . . . . . . . . . . . . . . . . . 137 | ||||
11. YIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140 | ||||
11.1. Formal YIN Definition . . . . . . . . . . . . . . . . . . 140 | ||||
11.1.1. Usage Example . . . . . . . . . . . . . . . . . . . . 142 | ||||
12. YANG ABNF Grammar . . . . . . . . . . . . . . . . . . . . . . 145 | ||||
13. Error Responses for YANG Related Errors . . . . . . . . . . . 167 | ||||
13.1. Error Message for Data that Violates a unique Statement . 167 | ||||
13.2. Error Message for Data that Violates a max-elements | 13.2. Error Message for Data that Violates a max-elements | |||
Statement . . . . . . . . . . . . . . . . . . . . . . . . 167 | Statement . . . . . . . . . . . . . . . . . . . . . . . . 168 | |||
13.3. Error Message for Data that Violates a min-elements | 13.3. Error Message for Data that Violates a min-elements | |||
Statement . . . . . . . . . . . . . . . . . . . . . . . . 167 | Statement . . . . . . . . . . . . . . . . . . . . . . . . 168 | |||
13.4. Error Message for Data that Violates a must Statement . . 168 | 13.4. Error Message for Data that Violates a must Statement . . 169 | |||
13.5. Error Message for Data that Violates a | 13.5. Error Message for Data that Violates a | |||
require-instance Statement . . . . . . . . . . . . . . . 168 | require-instance Statement . . . . . . . . . . . . . . . 169 | |||
13.6. Error Message for Data that does not Match a leafref | 13.6. Error Message for Data that does not Match a leafref | |||
Type . . . . . . . . . . . . . . . . . . . . . . . . . . 168 | Type . . . . . . . . . . . . . . . . . . . . . . . . . . 169 | |||
13.7. Error Message for Data that Violates a mandatory | 13.7. Error Message for Data that Violates a mandatory | |||
choice Statement . . . . . . . . . . . . . . . . . . . . 168 | choice Statement . . . . . . . . . . . . . . . . . . . . 169 | |||
13.8. Error Message for the "insert" Operation . . . . . . . . 169 | 13.8. Error Message for the "insert" Operation . . . . . . . . 170 | |||
14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 170 | 14. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 171 | |||
15. Security Considerations . . . . . . . . . . . . . . . . . . . 171 | 15. Security Considerations . . . . . . . . . . . . . . . . . . . 172 | |||
16. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 172 | 16. Contributors . . . . . . . . . . . . . . . . . . . . . . . . 173 | |||
17. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 173 | 17. Acknowledgements . . . . . . . . . . . . . . . . . . . . . . 174 | |||
18. References . . . . . . . . . . . . . . . . . . . . . . . . . 174 | 18. References . . . . . . . . . . . . . . . . . . . . . . . . . 175 | |||
18.1. Normative References . . . . . . . . . . . . . . . . . . 174 | 18.1. Normative References . . . . . . . . . . . . . . . . . . 175 | |||
18.2. Non-Normative References . . . . . . . . . . . . . . . . 175 | 18.2. Non-Normative References . . . . . . . . . . . . . . . . 176 | |||
Appendix A. ChangeLog . . . . . . . . . . . . . . . . . . . . . 176 | Appendix A. ChangeLog . . . . . . . . . . . . . . . . . . . . . 177 | |||
A.1. Version -10 . . . . . . . . . . . . . . . . . . . . . . . 176 | A.1. Version -10 . . . . . . . . . . . . . . . . . . . . . . . 177 | |||
A.2. Version -09 . . . . . . . . . . . . . . . . . . . . . . . 176 | A.2. Version -09 . . . . . . . . . . . . . . . . . . . . . . . 177 | |||
A.3. Version -08 . . . . . . . . . . . . . . . . . . . . . . . 176 | A.3. Version -08 . . . . . . . . . . . . . . . . . . . . . . . 177 | |||
A.4. Version -07 . . . . . . . . . . . . . . . . . . . . . . . 177 | A.4. Version -07 . . . . . . . . . . . . . . . . . . . . . . . 178 | |||
A.5. Version -06 . . . . . . . . . . . . . . . . . . . . . . . 177 | A.5. Version -06 . . . . . . . . . . . . . . . . . . . . . . . 178 | |||
A.6. Version -05 . . . . . . . . . . . . . . . . . . . . . . . 177 | A.6. Version -05 . . . . . . . . . . . . . . . . . . . . . . . 178 | |||
A.7. Version -04 . . . . . . . . . . . . . . . . . . . . . . . 178 | A.7. Version -04 . . . . . . . . . . . . . . . . . . . . . . . 179 | |||
A.8. Version -03 . . . . . . . . . . . . . . . . . . . . . . . 178 | A.8. Version -03 . . . . . . . . . . . . . . . . . . . . . . . 179 | |||
A.9. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 178 | A.9. Version -02 . . . . . . . . . . . . . . . . . . . . . . . 179 | |||
A.10. Version -01 . . . . . . . . . . . . . . . . . . . . . . . 179 | A.10. Version -01 . . . . . . . . . . . . . . . . . . . . . . . 180 | |||
A.11. Version -00 . . . . . . . . . . . . . . . . . . . . . . . 180 | A.11. Version -00 . . . . . . . . . . . . . . . . . . . . . . . 181 | |||
Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 181 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . 182 | |||
1. Introduction | 1. Introduction | |||
YANG is a data modeling language used to model configuration and | YANG is a data modeling language used to model configuration and | |||
state data manipulated by the Network Configuration Protocol | state data manipulated by the Network Configuration Protocol | |||
(NETCONF) protocol, NETCONF remote procedure calls, and NETCONF | (NETCONF) protocol, NETCONF remote procedure calls, and NETCONF | |||
notifications. YANG is used to model the operations and content | notifications. YANG is used to model the operations and content | |||
layers of NETCONF (see the NETCONF Configuration Protocol [RFC4741], | layers of NETCONF (see the NETCONF Configuration Protocol [RFC4741], | |||
section 1.1). | section 1.1). | |||
skipping to change at page 89, line 32 | skipping to change at page 90, line 32 | |||
7.13. The rpc Statement | 7.13. The rpc Statement | |||
The "rpc" statement is used to define a NETCONF RPC operation. It | The "rpc" statement is used to define a NETCONF RPC operation. It | |||
takes one argument, which is an identifier, followed by a block of | takes one argument, which is an identifier, followed by a block of | |||
substatements that holds detailed rpc information. This argument is | substatements that holds detailed rpc information. This argument is | |||
the name of the RPC, and is used as the element name directly under | the name of the RPC, and is used as the element name directly under | |||
the <rpc> element, as designated by the substitution group | the <rpc> element, as designated by the substitution group | |||
"rpcOperation" in [RFC4741]. | "rpcOperation" in [RFC4741]. | |||
The "rpc" statement defines an rpc node in the schema tree. Under | The "rpc" statement defines an rpc node in the schema tree. Under | |||
the rpc node, an input node with the name "input", and an output node | the rpc node, a schema node with the name "input", and a schema node | |||
with the name "output" are also defined. The nodes "input" and | with the name "output" are also defined. The nodes "input" and | |||
"output" are defined in the module's namespace. | "output" are defined in the module's namespace. | |||
7.13.1. The rpc's Substatements | 7.13.1. The rpc's Substatements | |||
+--------------+---------+-------------+ | +--------------+---------+-------------+ | |||
| substatement | section | cardinality | | | substatement | section | cardinality | | |||
+--------------+---------+-------------+ | +--------------+---------+-------------+ | |||
| description | 7.19.3 | 0..1 | | | description | 7.19.3 | 0..1 | | |||
| grouping | 7.11 | 0..n | | | grouping | 7.11 | 0..n | | |||
skipping to change at page 174, line 34 | skipping to change at page 175, line 34 | |||
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | [RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | |||
Resource Identifier (URI): Generic Syntax", STD 66, | Resource Identifier (URI): Generic Syntax", STD 66, | |||
RFC 3986, January 2005. | RFC 3986, January 2005. | |||
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | [RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data | |||
Encodings", RFC 4648, October 2006. | Encodings", RFC 4648, October 2006. | |||
[RFC4741] Enns, R., "NETCONF Configuration Protocol", RFC 4741, | [RFC4741] Enns, R., "NETCONF Configuration Protocol", RFC 4741, | |||
December 2006. | December 2006. | |||
[RFC4844] Daigle, L. and Internet Architecture Board, "The RFC | ||||
Series and RFC Editor", RFC 4844, July 2007. | ||||
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | [RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an | |||
IANA Considerations Section in RFCs", BCP 26, RFC 5226, | IANA Considerations Section in RFCs", BCP 26, RFC 5226, | |||
May 2008. | May 2008. | |||
[RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax | [RFC5234] Crocker, D. and P. Overell, "Augmented BNF for Syntax | |||
Specifications: ABNF", STD 68, RFC 5234, January 2008. | Specifications: ABNF", STD 68, RFC 5234, January 2008. | |||
[RFC5277] Chisholm, S. and H. Trevino, "NETCONF Event | [RFC5277] Chisholm, S. and H. Trevino, "NETCONF Event | |||
Notifications", RFC 5277, July 2008. | Notifications", RFC 5277, July 2008. | |||
skipping to change at page 175, line 28 | skipping to change at page 176, line 25 | |||
Schoenwaelder, Ed., "Structure of Management Information | Schoenwaelder, Ed., "Structure of Management Information | |||
Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. | Version 2 (SMIv2)", STD 58, RFC 2578, April 1999. | |||
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. | [RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. | |||
Schoenwaelder, Ed., "Textual Conventions for SMIv2", | Schoenwaelder, Ed., "Textual Conventions for SMIv2", | |||
STD 58, RFC 2579, April 1999. | STD 58, RFC 2579, April 1999. | |||
[RFC3780] Strauss, F. and J. Schoenwaelder, "SMIng - Next Generation | [RFC3780] Strauss, F. and J. Schoenwaelder, "SMIng - Next Generation | |||
Structure of Management Information", RFC 3780, May 2004. | Structure of Management Information", RFC 3780, May 2004. | |||
[RFC4844] Daigle, L. and Internet Architecture Board, "The RFC | ||||
Series and RFC Editor", RFC 4844, July 2007. | ||||
[XPATH2.0] | [XPATH2.0] | |||
Chamberlin, D., Boag, S., Berglund, A., Robie, J., | Berglund, A., Boag, S., Chamberlin, D., Fernandez, M., | |||
SimAfA(C)on, J., FernAfA!ndez, M., and M. Kay, "XML Path | Kay, M., Robie, J., and J. Simeon, "XML Path Language | |||
Language (XPath) 2.0", World Wide Web Consortium | (XPath) 2.0", World Wide Web Consortium | |||
Recommendation REC-xpath20-20070123, January 2007, | Recommendation REC-xpath20-20070123, January 2007, | |||
<http://www.w3.org/TR/2007/REC-xpath20-20070123>. | <http://www.w3.org/TR/2007/REC-xpath20-20070123>. | |||
[XSLT] Clark, J., "XSL Transformations (XSLT) Version 1.0", World | [XSLT] Clark, J., "XSL Transformations (XSLT) Version 1.0", World | |||
Wide Web Consortium Recommendation REC-xslt-19991116, | Wide Web Consortium Recommendation REC-xslt-19991116, | |||
November 1999, | November 1999, | |||
<http://www.w3.org/TR/1999/REC-xslt-19991116>. | <http://www.w3.org/TR/1999/REC-xslt-19991116>. | |||
Appendix A. ChangeLog | Appendix A. ChangeLog | |||
End of changes. 17 change blocks. | ||||
288 lines changed or deleted | 304 lines changed or added | |||
This html diff was produced by rfcdiff 1.38. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |