draft-ietf-netmod-module-tags-00.txt | draft-ietf-netmod-module-tags-01.txt | |||
---|---|---|---|---|
Network Working Group C. Hopps | Network Working Group C. Hopps | |||
Internet-Draft Deutsche Telekom | Internet-Draft Deutsche Telekom | |||
Updates: rfc6087bis (if approved) L. Berger | Updates: rfc6087bis (if approved) L. Berger | |||
Intended status: Standards Track LabN Consulting, L.L.C. | Intended status: Standards Track LabN Consulting, L.L.C. | |||
Expires: August 29, 2018 D. Bogdanovic | Expires: September 7, 2018 D. Bogdanovic | |||
February 25, 2018 | March 6, 2018 | |||
YANG Module Tags | YANG Module Tags | |||
draft-ietf-netmod-module-tags-00 | draft-ietf-netmod-module-tags-01 | |||
Abstract | Abstract | |||
This document provides for the association of tags with YANG modules. | This document provides for the association of tags with YANG modules. | |||
The expectation is for such tags to be used to help classify and | The expectation is for such tags to be used to help classify and | |||
organize modules. A method for defining, reading and writing a | organize modules. A method for defining, reading and writing a | |||
modules tags is provided, as well as an augmentation to YANG library. | modules tags is provided. Tags may be standardized and assigned | |||
Tags may be standardized and assigned during module definition; | during module definition; assigned by implementations; or dynamically | |||
assigned by implementations; or dynamically defined and set by users. | defined and set by users. This document provides guidance to future | |||
This document provides guidance to future model writers and, as such, | model writers and, as such, this document updates | |||
this document updates [I-D.ietf-netmod-rfc6087bis]. | [I-D.ietf-netmod-rfc6087bis]. | |||
Status of This Memo | Status of This Memo | |||
This Internet-Draft is submitted in full conformance with the | This Internet-Draft is submitted in full conformance with the | |||
provisions of BCP 78 and BCP 79. | provisions of BCP 78 and BCP 79. | |||
Internet-Drafts are working documents of the Internet Engineering | Internet-Drafts are working documents of the Internet Engineering | |||
Task Force (IETF). Note that other groups may also distribute | Task Force (IETF). Note that other groups may also distribute | |||
working documents as Internet-Drafts. The list of current Internet- | working documents as Internet-Drafts. The list of current Internet- | |||
Drafts is at https://datatracker.ietf.org/drafts/current/. | Drafts is at https://datatracker.ietf.org/drafts/current/. | |||
Internet-Drafts are draft documents valid for a maximum of six months | Internet-Drafts are draft documents valid for a maximum of six months | |||
and may be updated, replaced, or obsoleted by other documents at any | and may be updated, replaced, or obsoleted by other documents at any | |||
time. It is inappropriate to use Internet-Drafts as reference | time. It is inappropriate to use Internet-Drafts as reference | |||
material or to cite them other than as "work in progress." | material or to cite them other than as "work in progress." | |||
This Internet-Draft will expire on August 29, 2018. | This Internet-Draft will expire on September 7, 2018. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2018 IETF Trust and the persons identified as the | Copyright (c) 2018 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
described in the Simplified BSD License. | described in the Simplified BSD License. | |||
Table of Contents | Table of Contents | |||
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 | |||
2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | 2. Conventions Used in This Document . . . . . . . . . . . . . . 3 | |||
3. Tag Locations . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3. Tag Prefixes . . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4. Tag Prefixes . . . . . . . . . . . . . . . . . . . . . . . . 3 | 3.1. IETF Standard Tags . . . . . . . . . . . . . . . . . . . 3 | |||
4.1. IETF Standard Tags . . . . . . . . . . . . . . . . . . . 3 | 3.2. Vendor Tags . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4.2. Vendor Tags . . . . . . . . . . . . . . . . . . . . . . . 3 | 3.3. Local Tags . . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4.3. Local Tags . . . . . . . . . . . . . . . . . . . . . . . 4 | 3.4. Reserved Tags . . . . . . . . . . . . . . . . . . . . . . 3 | |||
4.4. Reserved Tags . . . . . . . . . . . . . . . . . . . . . . 4 | 4. Tag Management . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
5. Tag Management . . . . . . . . . . . . . . . . . . . . . . . 4 | 4.1. Module Definition Association . . . . . . . . . . . . . . 4 | |||
5.1. Module Definition Association . . . . . . . . . . . . . . 4 | 4.2. Implementation Association . . . . . . . . . . . . . . . 4 | |||
5.2. Implementation Association . . . . . . . . . . . . . . . 4 | 4.3. Administrative Tagging . . . . . . . . . . . . . . . . . 4 | |||
5.3. Administrative Tagging . . . . . . . . . . . . . . . . . 4 | 5. Tags Module Structure . . . . . . . . . . . . . . . . . . . . 4 | |||
5.3.1. Resetting Tags . . . . . . . . . . . . . . . . . . . 5 | 5.1. Tags Module Tree . . . . . . . . . . . . . . . . . . . . 4 | |||
6. Tags Module Structure . . . . . . . . . . . . . . . . . . . . 5 | 5.2. Tags Module . . . . . . . . . . . . . . . . . . . . . . . 4 | |||
6.1. Tags Module Tree . . . . . . . . . . . . . . . . . . . . 5 | 6. Other Classifications . . . . . . . . . . . . . . . . . . . . 6 | |||
6.2. Tags Module . . . . . . . . . . . . . . . . . . . . . . . 5 | 7. Guidelines to Model Writers . . . . . . . . . . . . . . . . . 6 | |||
7. Library Augmentation . . . . . . . . . . . . . . . . . . . . 7 | 7.1. Define Standard Tags . . . . . . . . . . . . . . . . . . 6 | |||
7.1. Library Augmentation Module . . . . . . . . . . . . . . . 8 | 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 7 | |||
8. Other Classifications . . . . . . . . . . . . . . . . . . . . 9 | 8.1. YANG Module Tag Prefix Registry . . . . . . . . . . . . . 7 | |||
9. Guidelines to Model Writers . . . . . . . . . . . . . . . . . 9 | 8.2. YANG Module IETF Tag Registry . . . . . . . . . . . . . . 8 | |||
9.1. Define Standard Tags . . . . . . . . . . . . . . . . . . 9 | 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 9 | |||
10. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 10 | 9.1. Normative References . . . . . . . . . . . . . . . . . . 9 | |||
10.1. YANG Module Tag Prefix Registry . . . . . . . . . . . . 10 | 9.2. Informative References . . . . . . . . . . . . . . . . . 10 | |||
10.2. YANG Module IETF Tag Registry . . . . . . . . . . . . . 10 | Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 10 | |||
11. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 | ||||
11.1. Normative References . . . . . . . . . . . . . . . . . . 12 | ||||
11.2. Informative References . . . . . . . . . . . . . . . . . 12 | ||||
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 12 | ||||
1. Introduction | 1. Introduction | |||
The use of tags for classification and organization is fairly | The use of tags for classification and organization is fairly | |||
ubiquitous not only within IETF protocols, but in the internet itself | ubiquitous not only within IETF protocols, but in the internet itself | |||
(e.g., #hashtags). Tags can be usefully standardized, but they can | (e.g., #hashtags). Tags can be usefully standardized, but they can | |||
also serve as a non-standardized mechanism available for users to | also serve as a non-standardized mechanism available for users to | |||
define themselves. Our solution provides for both cases allowing for | define themselves. Our solution provides for both cases allowing for | |||
the most flexibility. In particular, tags may be standardized as | the most flexibility. In particular, tags may be standardized as | |||
well as assigned during module definition; assigned by | well as assigned during module definition; assigned by | |||
implementations; or dynamically defined and set by users. | implementations; or dynamically defined and set by users. | |||
This document defines two modules. The first module defines a list | This document defines a module which provides a list of module | |||
of module entries to allow for adding or removing of tags. It also | entries to allow for adding or removing of tags as well as viewing | |||
defines an RPC to reset a modules tags to the original values. The | the set of tags associated with a module. | |||
second module defines an augmentation to YANG Library [RFC7895] to | ||||
allow for reading a modules tags. | ||||
This document also defines an IANA registry for tag prefixes as well | This document also defines an IANA registry for tag prefixes as well | |||
as a set of globally assigned tags. | as a set of globally assigned tags. | |||
Section 9 provides guidelines for authors of YANG data models. This | Section 7 provides guidelines for authors of YANG data models. This | |||
section updates [I-D.ietf-netmod-rfc6087bis]. | section updates [I-D.ietf-netmod-rfc6087bis]. | |||
2. Conventions Used in This Document | 2. Conventions Used in This Document | |||
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | |||
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | |||
document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [RFC2119]. | |||
Note that lower case versions of these key words are used in section | Note that lower case versions of these key words are used in section | |||
Section 9 where guidance is provided to future document authors. | Section 7 where guidance is provided to future document authors. | |||
3. Tag Locations | ||||
Each module has only one logical tag list; however, that tag list may | ||||
be accessed from multiple locations. | ||||
We define two tag list locations. The first location is used for | ||||
configuration and is a top level list of module entries where each | ||||
entry contain the list of tags. The second read-only location is | ||||
through the yang library under the module entry. | ||||
4. Tag Prefixes | 3. Tag Prefixes | |||
All tags have a prefix indicating who owns their definition. An IANA | All tags have a prefix indicating who owns their definition. An IANA | |||
registry is used to support standardizing tag prefixes. Currently 3 | registry is used to support standardizing tag prefixes. Currently 3 | |||
prefixes are defined with all others reserved. | prefixes are defined with all others reserved. | |||
4.1. IETF Standard Tags | 3.1. IETF Standard Tags | |||
An IETF standard tag is a tag that has the prefix "ietf:". All IETF | An IETF standard tag is a tag that has the prefix "ietf:". All IETF | |||
standard tags are registered with IANA in a registry defined later in | standard tags are registered with IANA in a registry defined later in | |||
this document. | this document. | |||
4.2. Vendor Tags | 3.2. Vendor Tags | |||
A vendor tag is a tag that has the prefix "vendor:". These tags are | A vendor tag is a tag that has the prefix "vendor:". These tags are | |||
defined by the vendor that implements the module, and are not | defined by the vendor that implements the module, and are not | |||
standardized; however, it is recommended that the vendor consider | standardized; however, it is recommended that the vendor consider | |||
including extra identification in the tag name to avoid collisions | including extra identification in the tag name to avoid collisions | |||
(e.g., vendor:super-duper-company:...). | (e.g., vendor:super-duper-company:...). | |||
4.3. Local Tags | 3.3. Local Tags | |||
A local tag is any tag that has the prefix "local:". These tags are | A local tag is any tag that has the prefix "local:". These tags are | |||
defined by the local user/administrator and will never be | defined by the local user/administrator and will never be | |||
standardized. | standardized. | |||
4.4. Reserved Tags | 3.4. Reserved Tags | |||
Any tag not starting with the prefix "ietf:", "vendor:" or "local:" | Any tag not starting with the prefix "ietf:", "vendor:" or "local:" | |||
is reserved for future standardization. | is reserved for future standardization. | |||
5. Tag Management | 4. Tag Management | |||
Tags can become associated with a module in a number of ways. Tags | Tags can become associated with a module in a number of ways. Tags | |||
may be defined and associated at model design time, at implementation | may be defined and associated at model design time, at implementation | |||
time, or via user administrative control. As the main consumer of | time, or via user administrative control. As the main consumer of | |||
tags are users, users may also remove any tag, no matter how the tag | tags are users, users may also remove any tag, no matter how the tag | |||
became associated with a module. | became associated with a module. | |||
5.1. Module Definition Association | 4.1. Module Definition Association | |||
A module definition SHOULD indicate a set of tags to be automatically | A module definition SHOULD indicate a set of tags to be automatically | |||
added by the module implementer. These tags MUST be standard tags | added by the module implementer. These tags MUST be standard tags | |||
(Section 4.1). This does imply that new modules may also drive the | (Section 3.1). This does imply that new modules may also drive the | |||
addition of new standard tags to the IANA registry. | addition of new standard tags to the IANA registry. | |||
5.2. Implementation Association | 4.2. Implementation Association | |||
An implementation MAY include additional tags associated with a | An implementation MAY include additional tags associated with a | |||
module. These tags may be standard or vendor specific tags. | module. These tags may be standard or vendor specific tags. | |||
5.3. Administrative Tagging | 4.3. Administrative Tagging | |||
Tags of any kind can be assigned and removed with normal | Tags of any kind can be assigned and removed with normal | |||
configuration mechanisms. Additionally we define an RPC to reset a | configuration mechanisms. | |||
module's tag list to the implementation default. | ||||
Implementations MUST ensure that a modules tag list is consistent | Implementations MUST ensure that a modules tag list is consistent | |||
across any location from which the list is accessible. So if a user | across any location from which the list is accessible. So if a user | |||
adds a tag through configuration that tag should also be seen when | adds a tag through configuration that tag should also be seen when | |||
using the yang library augmentation. | using any augmentation that exposes the modules tag list. | |||
Implementations that do not support the reset rpc statement (whether | ||||
at all, or just for a particular rpc or module) MUST respond with an | ||||
YANG transport protocol-appropriate rpc layer error when such a | ||||
statement is received. | ||||
5.3.1. Resetting Tags | ||||
The "reset-tags" rpc statement is defined to reset a module's tag | ||||
list to the implementation default, i.e. the tags that are present | ||||
based on module definition and any that are added during | ||||
implementation time. This rpc statement takes module identification | ||||
information as input, and provides the list of tags that are present | ||||
after the reset. | ||||
6. Tags Module Structure | 5. Tags Module Structure | |||
6.1. Tags Module Tree | 5.1. Tags Module Tree | |||
The tree associated with the tags module is: | The tree associated with the tags module is: | |||
module: ietf-module-tags | module: ietf-module-tags | |||
rpcs: | +--rw module-tags* [name] | |||
+---x reset-tags | +--rw name yang:yang-identifier | |||
+---w input | +--rw tag* string | |||
| +---w name yang:yang-identifier | +--rw masked-tag* string | |||
| +---w revision? union | ||||
+--ro output | ||||
+--ro tags* string | ||||
6.2. Tags Module | 5.2. Tags Module | |||
<CODE BEGINS> file "ietf-module-tags@2017-10-25.yang" | <CODE BEGINS> file "ietf-module-tags@2018-03-06.yang" | |||
module ietf-module-tags { | module ietf-module-tags { | |||
yang-version "1"; | yang-version "1"; | |||
namespace "urn:ietf:params:xml:ns:yang:ietf-module-tags"; | namespace "urn:ietf:params:xml:ns:yang:ietf-module-tags"; | |||
prefix "mtags"; | prefix "mtags"; | |||
import ietf-yang-types { | import ietf-yang-types { | |||
prefix yang; | prefix yang; | |||
} | } | |||
import ietf-yang-library { | organization "IETF NetMod Working Group (NetMod)"; | |||
prefix yanglib; | ||||
} | ||||
// meta | contact | |||
organization "IETF NetMod Working Group (NetMod)"; | "NetMod Working Group - <netmod@ietf.org>"; | |||
contact | description | |||
"NetMod Working Group - <netmod@ietf.org>"; | "This module describes a tagging mechanism for yang module. | |||
Tags may be IANA assigned or privately defined types."; | ||||
revision "2018-03-06" { | ||||
description | description | |||
"This module describes a tagging mechanism for yang module. | "Initial revision."; | |||
Tags may be IANA assigned or privately defined types."; | reference "TBD"; | |||
} | ||||
revision "2017-10-25" { | ||||
description | ||||
"Initial revision."; | ||||
reference "TBD"; | ||||
} | ||||
grouping module-tags { | ||||
description | ||||
"A grouping that may be used to classify a module."; | ||||
leaf-list tags { | ||||
type string; | ||||
description | ||||
"The module associated tags. See the IANA 'YANG Module Tag | ||||
Prefix' registry for reserved prefixes and the IANA 'YANG | ||||
Module IETF Tag' registry for IETF standard tags"; | ||||
} | ||||
} | ||||
grouping yanglib-common-leafs { | list module-tags { | |||
description | key "name"; | |||
"Common parameters for YANG modules and submodules. | ||||
This definition extract from RFC7895 as it is defined as | ||||
a grouping within a grouping. | ||||
TBD is there a legal way to use a grouping defined within | description | |||
another grouping without using the parent? If so, should change | "A list of modules and their associated tags"; | |||
to that."; | ||||
leaf name { | leaf name { | |||
type yang:yang-identifier; | type yang:yang-identifier; | |||
mandatory true; | mandatory true; | |||
description | description | |||
"The YANG module or submodule name."; | "The YANG module or submodule name."; | |||
} | ||||
leaf revision { | ||||
type union { | ||||
type yanglib:revision-identifier; | ||||
type string { length 0; } | ||||
} | ||||
mandatory true; | ||||
description | ||||
"The YANG module or submodule revision date. | ||||
A zero-length string is used if no revision statement | ||||
is present in the YANG module or submodule."; | ||||
} | ||||
} | } | |||
list module-tags { | leaf-list tag { | |||
key "name revision"; | type string; | |||
description | ||||
"A list of modules and their tags"; | ||||
uses yanglib-common-leafs; // uses yanglib:common-leafs; | ||||
uses module-tags; | ||||
} | ||||
rpc reset-tags { | description | |||
description | "A tag associated with the module. See the IANA 'YANG Module | |||
"Reset a list of tags for a given module to the list of module | Tag Prefix' registry for reserved prefixes and the IANA | |||
and implementation time defiend tags. It provides the list of | 'YANG Module IETF Tag' registry for IETF standard tags. | |||
tags associated with the module post reset."; | ||||
input { | The operational view of this list will contain all | |||
uses yanglib-common-leafs; // uses yanglib:common-leafs; | user-configured tags as well as any predefined tags that | |||
} | have not been masked by the user using the masked-tag leaf | |||
list below."; | ||||
} | ||||
leaf-list masked-tag { | ||||
type string; | ||||
output { | description | |||
uses module-tags; | "The list of tags that should not be associated with this | |||
} | module. This user can remove (mask) predefined tags by | |||
adding them to this list. It is not an error to add tags to | ||||
this list that are not predefined for the module."; | ||||
} | } | |||
} | } | |||
<CODE ENDS> | } | |||
<CODE ENDS> | ||||
7. Library Augmentation | ||||
A modules tags can also be read using the yang library [RFC7895] if a | ||||
server supports both YANG library and the augmentation defined below. | ||||
If a server supports ietf-module-tags and the YANG library it SHOULD | ||||
also support the ietf-library-tags module. | ||||
The tree associated with the defined augmentation is: | ||||
module: ietf-library-tags | ||||
augment /yanglib:modules-state/yanglib:module: | ||||
+--ro tags* string | ||||
7.1. Library Augmentation Module | ||||
<CODE BEGINS> file "ietf-library-tags@2017-08-12.yang" | ||||
module ietf-library-tags { | ||||
// namespace | ||||
namespace "urn:ietf:params:xml:ns:yang:ietf-library-tags"; | ||||
prefix ylibtags; | ||||
import ietf-yang-library { | ||||
prefix yanglib; | ||||
} | ||||
import ietf-module-tags { | ||||
prefix mtags; | ||||
} | ||||
// meta | ||||
organization "IETF NetMod Working Group (NetMod)"; | ||||
contact | ||||
"NetMod Working Group - <netmod@ietf.org>"; | ||||
description | ||||
"This module augments ietf-yang-library with searchable | ||||
classfication tags. Tags may be IANA or privately defined | ||||
types."; | ||||
revision "2017-08-12" { | ||||
description | ||||
"Initial revision."; | ||||
reference "RFC TBD"; | ||||
} | ||||
augment "/yanglib:modules-state/yanglib:module" { | ||||
description | ||||
"The yang library structure is augmented with a module tags | ||||
list. This allows operators to tag modules regardless of | ||||
whether the modules included tag support or not"; | ||||
uses mtags:module-tags; | ||||
} | ||||
} | ||||
<CODE ENDS> | ||||
8. Other Classifications | 6. Other Classifications | |||
It's worth noting that a different yang module classification | It's worth noting that a different yang module classification | |||
document exists [RFC8199]. That document is classifying modules in | document exists [RFC8199]. That document is classifying modules in | |||
only a logical manner and does not define tagging or any other | only a logical manner and does not define tagging or any other | |||
mechanisms. It divides yang modules into 2 categories (service or | mechanisms. It divides yang modules into 2 categories (service or | |||
element) and then into one of 3 origins: standard, vendor or user. | element) and then into one of 3 origins: standard, vendor or user. | |||
It does provide a good way to discuss and identify modules in | It does provide a good way to discuss and identify modules in | |||
general. This document defines standard tags to support [RFC8199] | general. This document defines standard tags to support [RFC8199] | |||
style classification. | style classification. | |||
9. Guidelines to Model Writers | 7. Guidelines to Model Writers | |||
This section updates [I-D.ietf-netmod-rfc6087bis]. | This section updates [I-D.ietf-netmod-rfc6087bis]. | |||
9.1. Define Standard Tags | 7.1. Define Standard Tags | |||
A module SHOULD indicate, in the description statement of the module, | A module SHOULD indicate, in the description statement of the module, | |||
a set of tags that are to be associated with it. This description | a set of tags that are to be associated with it. This description | |||
should also include the appropriate conformance statement or | should also include the appropriate conformance statement or | |||
statements, using [RFC2119] language for each tag. | statements, using [RFC2119] language for each tag. | |||
module sample-module { | module example-module { | |||
... | ... | |||
description | description | |||
"[Text describing the module...] | "[Text describing the module...] | |||
RFC<this document> TAGS: | RFC<this document> TAGS: | |||
The following tags MUST be included by an implementation: | The following tags MUST be included by an implementation: | |||
- ietf:some-required-tag:foo | - ietf:some-required-tag:foo | |||
- ... | - ... | |||
The following tags SHOULD be included by an implementation: | The following tags SHOULD be included by an implementation: | |||
- ietf:some-recommended-tag:bar | - ietf:some-recommended-tag:bar | |||
skipping to change at page 9, line 51 ¶ | skipping to change at page 7, line 29 ¶ | |||
- ... | - ... | |||
"; | "; | |||
... | ... | |||
} | } | |||
One SHOULD only include conformance text if there will be tags listed | One SHOULD only include conformance text if there will be tags listed | |||
(i.e., there's no need to indicate an empty set). | (i.e., there's no need to indicate an empty set). | |||
The module writer may use existing standard tags, or use new tags | The module writer may use existing standard tags, or use new tags | |||
defined in the model definition, as appropriate. New tags should be | defined in the model definition, as appropriate. New tags should be | |||
assigned in the IANA registry defined below, see Section 10.2 below. | assigned in the IANA registry defined below, see Section 8.2 below. | |||
10. IANA Considerations | 8. IANA Considerations | |||
10.1. YANG Module Tag Prefix Registry | 8.1. YANG Module Tag Prefix Registry | |||
This registry allocates tag prefixes. All YANG module tags SHOULD | This registry allocates tag prefixes. All YANG module tags SHOULD | |||
begin with one of the prefixes in this registry. | begin with one of the prefixes in this registry. | |||
The allocation policy for this registry is Specification Required | The allocation policy for this registry is Specification Required | |||
[RFC5226]. | [RFC5226]. | |||
The initial values for this registry are as follows. | The initial values for this registry are as follows. | |||
prefix description | prefix description | |||
-------- --------------------------------------------------- | -------- --------------------------------------------------- | |||
ietf: IETF Standard Tag allocated in the IANA YANG Module | ietf: IETF Standard Tag allocated in the IANA YANG Module | |||
IETF Tag Registry. | IETF Tag Registry. | |||
vendor: Non-standardized tags allocated by the module implementer. | vendor: Non-standardized tags allocated by the module implementer. | |||
local: Non-standardized tags allocated by and for the user. | local: Non-standardized tags allocated by and for the user. | |||
Other SDOs (standard organizations) wishing to standardize their own | Other SDOs (standard organizations) wishing to standardize their own | |||
set of tags could allocate a top level prefix from this registry. | set of tags could allocate a top level prefix from this registry. | |||
10.2. YANG Module IETF Tag Registry | 8.2. YANG Module IETF Tag Registry | |||
This registry allocates prefixes that have the standard prefix | This registry allocates prefixes that have the standard prefix | |||
"ietf:". New values should be well considered and not achievable | "ietf:". New values should be well considered and not achievable | |||
through a combination of already existing standard tags. | through a combination of already existing standard tags. | |||
The allocation policy for this registry is IETF Review [RFC5226]. | The allocation policy for this registry is IETF Review [RFC5226]. | |||
The initial values for this registry are as follows. | The initial values for this registry are as follows. | |||
[Editor's note: many of these tags may move to | [Editor's note: many of these tags may move to | |||
skipping to change at page 12, line 8 ¶ | skipping to change at page 9, line 34 ¶ | |||
| | | | | | | | | | |||
| ietf:signaling | A module representing | [This | | | ietf:signaling | A module representing | [This | | |||
| | control plane signaling. | document] | | | | control plane signaling. | document] | | |||
| | | | | | | | | | |||
| ietf:lmp | A module representing a link | [This | | | ietf:lmp | A module representing a link | [This | | |||
| | management protocol. | document] | | | | management protocol. | document] | | |||
+------------------------+------------------------------+-----------+ | +------------------------+------------------------------+-----------+ | |||
Table 1: IETF Module Tag Registry | Table 1: IETF Module Tag Registry | |||
11. References | 9. References | |||
11.1. Normative References | 9.1. Normative References | |||
[I-D.ietf-netmod-rfc6087bis] | [I-D.ietf-netmod-rfc6087bis] | |||
Bierman, A., "Guidelines for Authors and Reviewers of YANG | Bierman, A., "Guidelines for Authors and Reviewers of YANG | |||
Data Model Documents", draft-ietf-netmod-rfc6087bis-18 | Data Model Documents", draft-ietf-netmod-rfc6087bis-18 | |||
(work in progress), February 2018. | (work in progress), February 2018. | |||
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate | |||
Requirement Levels", BCP 14, RFC 2119, | Requirement Levels", BCP 14, RFC 2119, | |||
DOI 10.17487/RFC2119, March 1997, | DOI 10.17487/RFC2119, March 1997, | |||
<https://www.rfc-editor.org/info/rfc2119>. | <https://www.rfc-editor.org/info/rfc2119>. | |||
[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", RFC 5226, | IANA Considerations Section in RFCs", RFC 5226, | |||
DOI 10.17487/RFC5226, May 2008, | DOI 10.17487/RFC5226, May 2008, | |||
<https://www.rfc-editor.org/info/rfc5226>. | <https://www.rfc-editor.org/info/rfc5226>. | |||
[RFC7895] Bierman, A., Bjorklund, M., and K. Watsen, "YANG Module | ||||
Library", RFC 7895, DOI 10.17487/RFC7895, June 2016, | ||||
<https://www.rfc-editor.org/info/rfc7895>. | ||||
[RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module | [RFC8199] Bogdanovic, D., Claise, B., and C. Moberg, "YANG Module | |||
Classification", RFC 8199, DOI 10.17487/RFC8199, July | Classification", RFC 8199, DOI 10.17487/RFC8199, July | |||
2017, <https://www.rfc-editor.org/info/rfc8199>. | 2017, <https://www.rfc-editor.org/info/rfc8199>. | |||
11.2. Informative References | 9.2. Informative References | |||
[I-D.ietf-rtgwg-device-model] | [I-D.ietf-rtgwg-device-model] | |||
Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps, | Lindem, A., Berger, L., Bogdanovic, D., and C. Hopps, | |||
"Network Device YANG Logical Organization", draft-ietf- | "Network Device YANG Logical Organization", draft-ietf- | |||
rtgwg-device-model-02 (work in progress), March 2017. | rtgwg-device-model-02 (work in progress), March 2017. | |||
Authors' Addresses | Authors' Addresses | |||
Christan Hopps | Christan Hopps | |||
Deutsche Telekom | Deutsche Telekom | |||
End of changes. 52 change blocks. | ||||
241 lines changed or deleted | 110 lines changed or added | |||
This html diff was produced by rfcdiff 1.46. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |