draft-ietf-core-sid-00.txt   draft-ietf-core-sid-01.txt 
Internet Engineering Task Force A. Somaraju, Ed. Internet Engineering Task Force M. Veillette, Ed.
Internet-Draft Tridonic GmbH & Co KG Internet-Draft Trilliant Networks Inc.
Intended status: Standards Track M. Veillette, Ed. Intended status: Standards Track A. Pelov, Ed.
Expires: April 29, 2017 Trilliant Networks Inc. Expires: November 3, 2017 Acklio
A. Pelov
Acklio
R. Turner R. Turner
Landis+Gyr Landis+Gyr
A. Minaburo A. Minaburo
Acklio Acklio
October 26, 2016 A. Somaraju
Tridonic GmbH & Co KG
May 02, 2017
YANG Schema Item iDentifier (SID) YANG Schema Item iDentifier (SID)
draft-ietf-core-sid-00 draft-ietf-core-sid-01
Abstract Abstract
YANG Schema Item iDentifiers (SID) are used to identify different YANG Schema Item iDentifiers (SID) are globally unique 64-bit numeric
YANG items using a numeric identifier. This document defines the identifiers used to identify all items used in YANG. This document
registration and assignment processes of SIDs. To enable the defines the semantics, the registration, and assignment processes of
implementation of these processes, this document also defines a file SIDs. To enable the implementation of these processes, this document
format used to persist and publish assigned SIDs. also defines a file format used to persist and publish assigned SIDs.
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 http://datatracker.ietf.org/drafts/current/. Drafts is at http://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 April 29, 2017. This Internet-Draft will expire on November 3, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2017 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
(http://trustee.ietf.org/license-info) in effect on the date of (http://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. Terminology and Notation . . . . . . . . . . . . . . . . . . 2 2. Terminology and Notation . . . . . . . . . . . . . . . . . . 4
3. YANG Schema Item iDentifier (SID) . . . . . . . . . . . . . . 3 3. ".sid" file lifecycle . . . . . . . . . . . . . . . . . . . . 4
4. ".sid" file lifecycle . . . . . . . . . . . . . . . . . . . . 4 4. ".sid" file format . . . . . . . . . . . . . . . . . . . . . 7
5. ".sid" file format . . . . . . . . . . . . . . . . . . . . . 6 5. Security Considerations . . . . . . . . . . . . . . . . . . . 10
6. Security Considerations . . . . . . . . . . . . . . . . . . . 9 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 9 6.1. "SID mega-range" registry . . . . . . . . . . . . . . . . 11
7.1. "SID" range registry . . . . . . . . . . . . . . . . . . 9 6.1.1. IANA SID Mega-Range Registry . . . . . . . . . . . . 11
7.2. YANG module registry . . . . . . . . . . . . . . . . . . 11 6.1.2. IANA "RFC SID range assignment" sub-registries . . . 12
8. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 11 6.2. "YANG module assignment" registry . . . . . . . . . . . . 13
9. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 7. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 14
9.1. Normative References . . . . . . . . . . . . . . . . . . 12 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 14
9.2. Informative References . . . . . . . . . . . . . . . . . 12 8.1. Normative References . . . . . . . . . . . . . . . . . . 14
Appendix A. ".sid" file example . . . . . . . . . . . . . . . . 13 8.2. Informative References . . . . . . . . . . . . . . . . . 14
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 Appendix A. ".sid" file example . . . . . . . . . . . . . . . . 15
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 23
1. Introduction 1. Introduction
This document describes the registries required to manage SIDs and a Some of the items defined in YANG [RFC7950] require the use of a
file format used to persist and publish the assigned SIDs. unique identifier. In both NETCONF [RFC6241] and RESTCONF [RFC8040],
these identifiers are implemented using names. To allow the
implementation of data models defined in YANG in constrained devices
and constrained networks, a more compact method to identify YANG
items is required. This compact identifier, called SID, is encoded
using a 64-bit unsigned integer. The following items are identified
using SIDs:
o identities
o data nodes
o RPCs and associated input(s) and output(s)
o actions and associated input(s) and output(s)
o notifications and associated information
o YANG modules, submodules and features
To minimize their size, SIDs are often represented as a difference
between the current SID and a reference SID. Such difference is
called "delta", shorthand for "delta-encoded SID". Conversion from
SIDs to deltas and back to SIDs is a stateless process. Each
protocol implementing deltas must unambiguously define the reference
SID for each YANG item.
SIDs are globally unique numbers, a registration system is used in
order to guarantee their uniqueness. SIDs are registered in blocks
called "SID ranges". Section 6.1 provide more details about the
registration process of SID range(s).
Assignment of SIDs to YANG items can be automated, the recommended
process to assign SIDs is as follows:
o A tool extracts the different items defined for a specific YANG
module.
o The list of items is ordered in alphabetical order by type and
label. Valid types and label formats are described within the
'ietf-sid-file' YANG module defined in Section 4.
o SIDs are assigned sequentially from the entry point up to the size
of the registered SID range. This approach is recommended to
minimize the serialization overhead, especially when delta
encoding is implemented.
o If the number of items exceeds the SID range(s) allocated to a
YANG module, an extra range is added for subsequent assignments.
SIDs are assigned permanently, items introduced by a new revision of
a YANG module are added to the list of SIDs already assigned. This
process can also be automated using the same method described above
except that the assignment restart from the highest SID already
assigned plus one.
To avoid duplicate assignment of SIDs, the registration of the SIDs
assigned to YANG module(s) is recommended. Section 6.2 provide more
details about the registration process of YANG modules and associated
SIDs. To enable the implementation of this registry, Section 4
defines a standard file format used to store and publish SIDs.
2. Terminology and Notation 2. Terminology and Notation
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].
The following terms are defined in [RFC7950]: The following terms are defined in [RFC7950]:
o action o action
skipping to change at page 3, line 4 skipping to change at page 4, line 22
o action o action
o feature o feature
o module o module
o notification o notification
o RPC o RPC
o schema node o schema node
o schema tree o schema tree
o submodule o submodule
This specification also makes use of the following terminology: This specification also makes use of the following terminology:
o identifier: An identifier embodies the information required to
distinguish what is being identified from all other things within
its scope of identification.
o delta : Difference between the current SID and a reference SID. A o delta : Difference between the current SID and a reference SID. A
reference SID is defined for each context for which deltas are reference SID is defined for each context for which deltas are
used. used.
o item: A schema node, an identity, a module, a submodule or a o item: A schema node, an identity, a module, a submodule or a
feature defined using the YANG modeling language. feature defined using the YANG modeling language.
o path: A path is a string that identifies a schema node within the o path: A path is a string that identifies a schema node within the
schema tree. A path consists of the list of schema node schema tree. A path consists of the list of schema node
identifier(s) separated by slashes ("/"). Schema node identifier(s) separated by slashes ("/"). Schema node
identifier(s) are always listed from the top-level schema node up identifier(s) are always listed from the top-level schema node up
to the targeted schema node. (e.g. "/system-state/clock/current- to the targeted schema node. (e.g. "/system-state/clock/current-
datetime") datetime")
3. YANG Schema Item iDentifier (SID) o YANG Schema Item iDentifier (SID): Unsigned integer used to
identify different YANG items.
Some of the items defined in YANG [RFC7950] require the use of a
unique identifier. In both NETCONF and RESTCONF, these identifiers
are implemented using names. To allow the implementation of data
models defined in YANG in constrained devices and constrained
networks, a more compact method to identify YANG items is required.
This compact identifier, called SID, is encoded using an unsigned
integer. To minimize its size, SIDs are often implemented using a
delta from a reference SID and the current SID. To guaranty the
uniqueness of each assigned SID, SID ranges MUST be registered.
Section 7.1 provide more details about the registration process of
SID range(s).
To avoid duplicate assignment of SIDs, the registration of the SIDs
assigned to YANG module(s) is recommended. Section 7.2 provide more
details about the registration process of YANG modules.
The following items are identified using SIDs:
o identities
o data nodes
o RPCs and associated input(s) and output(s)
o actions and associated input(s) and output(s)
o notifications and associated information
o YANG modules, submodules and features
Assignment of SIDs can be automated, the recommended process to
assign SIDs is as follows:
o A tool extracts the different items defined for a specific YANG
module.
o The list of items is ordered by type and label.
o SIDs are assigned sequentially for the entry point up to the size
of the registered SID range. This approach is recommended to
minimize the serialization overhead, especially when delta
encoding is implemented.
o If the number of items exceeds the SID range(s) allocated to a
YANG module, an extra range is added for subsequent assignments.
SIDs are assigned permanently, items introduced by a new revision of
a YANG module are added to the list of SIDs already assigned. This
process can also be automated using the same method described above
except that the assignment need to be restarted from the highest SID
already assigned.
Section 5 defines a standard file format used to store and publish
SIDs.
4. ".sid" file lifecycle
The following activity diagram summarize the life cycle of ".sid" 3. ".sid" file lifecycle
files.
+---------------+ YANG is a language designed to model data sent between clients and
O | Creation of a | servers using one of the compatible protocol (e.g. NETCONF
-|- ->| YANG module | [RFC6241], RESCONF [RFC8040] and CoMI [I-D.ietf-core-comi]). A YANG
/ \ +---------------+ module defines hierarchies of data, including configuration, state
| data, RPCs, actions and notifications.
V
/-------------\
/ Standardized \ yes
\ YANG module ? /-------------+
\-------------/ |
| no |
V V
/-------------\ +---------------+
/ Constrained \ yes | SID range |
+-->\ application ? /---->| registration |
| \-------------/ +---------------+
| | no |
| V V
| +---------------+ +---------------+
+---| YANG module | | .sid file |
| update | | generation |
+---------------+ +---------------+
|
V
/-------------\ +---------------+
/ Publicly \ yes | YANG module |
+------------>\ available ? /---->| registration |
| \-------------/ +---------------+
| | no |
| +---------------------+
| V
+---------------+ +---------------+
| .sid file | | Update of the |
| update based | | YANG module |
| on previous | | or include(s) |
| .sid file | | or import(s) |
+---------------+ +---------------+
^ |
| V
| /-------------\ +---------------+
| / More SIDs \ yes | Extra range |
| \ required ? /---->| assignment |
| \-------------/ +---------------+
| | no |
+---------------------+---------------------+
YANG modules are not necessary created in the context of constrained YANG modules are not necessary created in the context of constrained
applications. YANG modules can be implemented using NETCONF or applications. YANG modules can be implemented using NETCONF
RESTCONF without the need to assign SIDs. [RFC6241] or RESTCONF [RFC8040] without the need to assign SIDs.
As needed, authors of YANG modules can assign SIDs to their modules. As needed, authors of YANG modules can assign SIDs to their YANG
This process starts by the registration of a SID range. Once a SID modules. This process starts by the registration of a SID range.
range is registered, the owner of this range assigns sub-ranges to Once a SID range is registered, the owner of this range assigns sub-
each YANG module in order to generate the associated ".sid" files. ranges to each YANG module in order to generate the associated ".sid"
Generation of ".sid" files SHOULD be performed using an automated files. Generation of ".sid" files SHOULD be performed using an
tool. automated tool.
Registration of the .sid file associated to a YANG module is optional Registration of the .sid file associated to a YANG module is optional
but recommended to promote interoperability between devices and to but recommended to promote interoperability between devices and to
avoid duplicate allocation of SIDs to a single YANG module. avoid duplicate allocation of SIDs to a single YANG module.
The following activity diagram summarizes the creation of a YANG
module and its associated .sid file.
+---------------+
O | Creation of a |
-|- ->| YANG module |
/ \ +---------------+
|
V
/-------------\
/ Standardized \ yes
\ YANG module ? /-------------+
\-------------/ |
| no |
V V
/-------------\ +---------------+
/ Constrained \ yes | SID range |
+-->\ application ? /---->| registration |
| \-------------/ +---------------+
| | no |
| V V
| +---------------+ +---------------+
+---| YANG module | | SID sub-range |
| update | | assignment |
+---------------+ +---------------+
|
V
+---------------+
| .sid file |
| generation |
+---------------+
|
V
/-------------\ +---------------+
/ Publicly \ yes | YANG module |
\ available ? /---->| registration |
\-------------/ +---------------+
| no |
+---------------------+
|
[DONE]
Each time a YANG module or one of its imported module(s) or included Each time a YANG module or one of its imported module(s) or included
sub-module(s) is updated, the ".sid" file MAY need to be updated. sub-module(s) is updated, the ".sid" file MAY need to be updated.
This update SHOULD also be performed using an automated tool. This update SHOULD also be performed using an automated tool.
If a new revision requires more SIDs than initially allocated, a new If a new revision requires more SIDs than initially allocated, a new
SID range MUST be added to the assignment ranges as defined in the SID range MUST be added to the assignment ranges as defined in the
".sid" file header. These extra SIDs are used for subsequent ".sid" file header. These extra SIDs are used for subsequent
assignments. assignements.
5. ".sid" file format The following activity diagram summarizes the update of a YANG module
and its associated .sid file.
+---------------+
O | Update of the |
-|- ->| YANG module |
/ \ | or include(s) |
| or import(s) |
+---------------+
|
V
/-------------\ +----------------+
/ More SIDs \ yes | Extra sub-range|
\ required ? /---->| assignment |
\-------------/ +----------------+
| no |
+---------------------+
|
V
+---------------+
| .sid file |
| update based |
| on previous |
| .sid file |
+---------------+
|
V
/-------------\ +---------------+
/ Publicly \ yes | YANG module |
\ available ? /---->| registration |
\-------------/ +---------------+
| no |
+---------------------+
|
[DONE]
4. ".sid" file format
".sid" files are used to persist and publish SIDs assigned to the ".sid" files are used to persist and publish SIDs assigned to the
different YANG items of a specific YANG module. The following YANG different YANG items of a specific YANG module. The following YANG
module defined the structure of this file, encoding is performed module defined the structure of this file, encoding is performed
using the rules defined in [RFC7951]. using the rules defined in [RFC7951].
<CODE BEGINS> file "ietf-sid-file@2015-12-16.yang" <CODE BEGINS> file "ietf-sid-file@2015-12-16.yang"
module ietf-sid-file { module ietf-sid-file {
namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file"; namespace "urn:ietf:params:xml:ns:yang:ietf-sid-file";
prefix sid; prefix sid;
organization
"IETF Core Working Group";
organization contact
"IETF Core Working Group"; "Alexander Pelov
<mailto:a@ackl.io>
contact Abhinav Somaraju
"Ana Minaburo <mailto:abhinav.somaraju@tridonic.com>
<ana@ackl.io>
Alexander Pelov Laurent Toutain
<mailto:a@ackl.io> <Laurent.Toutain@telecom-bretagne.eu>
Abhinav Somaraju Randy Turner
<mailto:abhinav.somaraju@tridonic.com> <mailto:Randy.Turner@landisgyr.com>
Laurent Toutain
<Laurent.Toutain@telecom-bretagne.eu>
Randy Turner Michel Veillette
<mailto:Randy.Turner@landisgyr.com> <mailto:michel.veillette@trilliantinc.com>";
Michel Veillette description
<mailto:michel.veillette@trilliantinc.com>"; "This module define the structure of the .sid files.
.sid files contains the identifiers (SIDs) assigned
to the different items defined in a YANG module.
SIDs are used to encode a data model defined in YANG
using CBOR.";
description revision 2015-12-16 {
"This module define the structure of the .sid files. description
.sid files contains the identifiers (SIDs) assigned "Initial revision.";
to the different items defined in a YANG module. reference
SIDs are used to encode a data model defined in YANG "RFC XXXX";
using CBOR."; // RFC Ed.: replace XXXX with RFC number assigned to
// draft-ietf-core-yang-cbor and remove this note
}
revision 2015-12-16 { typedef yang-identifier {
description type string {
"Initial revision."; length "1..max";
reference pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*';
"RFC XXXX"; pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*';
// RFC Ed.: replace XXXX with RFC number assigned to draft-ietf-core-yang-cbor and remove this note }
} description
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020.";
}
typedef yang-identifier { typedef revision-identifier {
type string { type string {
length "1..max"; pattern '\d{4}-\d{2}-\d{2}';
pattern '[a-zA-Z_][a-zA-Z0-9\-_.]*'; }
pattern '.|..|[^xX].*|.[^mM].*|..[^lL].*'; description
} "Represents a date in YYYY-MM-DD format.";
description }
"A YANG identifier string as defined by the 'identifier'
rule in Section 12 of RFC 6020.";
}
typedef revision-identifier { leaf module-name {
type string { type yang-identifier;
pattern '\d{4}-\d{2}-\d{2}'; description
} "Name of the module associated with this .sid file.";
description }
"Represents a date in YYYY-MM-DD format.";
}
leaf module-name { leaf module-revision {
type yang-identifier; type revision-identifier;
description description
"Name of the module associated with this .sid file."; "Revision of the module associated with this .sid file.
} This leaf is not present if no revision statement is
leaf module-revision { defined in the YANG module.";
type revision-identifier; }
description
"Revision of the module associated with this .sid file.
This leaf is not present if no revision statement is
defined in the YANG module.";
}
list assigment-ranges { list assigment-ranges {
key "entry-point"; key "entry-point";
description description
"Range(s) of SIDs available for assignment to the "Range(s) of SIDs available for assignment to the
different items defined by the associated module."; different items defined by the associated module.";
leaf entry-point { leaf entry-point {
type uint32; type uint32;
mandatory true; mandatory true;
description description
"Lowest SID available for assignment."; "Lowest SID available for assignment.";
} }
leaf size { leaf size {
type uint16; type uint16;
mandatory true; mandatory true;
description description
"Number of SIDs available for assignment."; "Number of SIDs available for assignment.";
} }
} }
list items { list items {
key "type label"; key "type label";
description description
"List of items defined by the associated YANG module."; "List of items defined by the associated YANG module.";
leaf type { leaf type {
type string { type string {
pattern 'Module|Submodule|feature|' + pattern 'Module|Submodule|feature|' +
'identity$|node$|notification$|rpc$|action$'; 'identity$|node$|notification$|rpc$|action$';
} }
mandatory true; mandatory true;
description description
"Item type assigned, this field can be set to: "Item type assigned, this field can be set to:
- 'Module' - 'Module'
- 'Submodule' - 'Submodule'
- 'feature' - 'feature'
- 'identity' - 'identity'
- 'node' - 'node'
- 'notification' - 'notification'
- 'rpc' - 'rpc'
- 'action'"; - 'action'";
} }
leaf label { leaf label {
type string; type string;
mandatory true; mandatory true;
description description
"Label associated to this item, can be set to: "Label associated to this item, can be set to:
- a module name - a module name
- a submodule name - a submodule name
- a feature name - a feature name
- a base identity encoded as '/<base identity name>' - a base identity encoded as
- an identity encoded as '/<base identity name>/<identity name>' '/<base identity name>'
- a schema node path"; - an identity encoded as
} '/<base identity name>/<identity name>'
- a data node path";
}
leaf sid { leaf sid {
type uint32; type uint32;
mandatory true; mandatory true;
description "Identifier assigned to this YANG item."; description "Identifier assigned to this YANG item.";
} }
} }
} }
<CODE ENDS> <CODE ENDS>
6. Security Considerations 5. Security Considerations
The security considerations of [RFC7049] and [RFC7950] apply. The security considerations of [RFC7049] and [RFC7950] apply.
This document defines an new type of identifier used to encode data This document defines a new type of identifier used to encode data
models defined in YANG [RFC7950]. As such, this identifier does not models defined in YANG [RFC7950]. As such, this identifier does not
contribute to any new security issues in addition of those identified contribute to any new security issues in addition of those identified
for the specific protocols or contexts for which it is used. for the specific protocols or contexts for which it is used.
7. IANA Considerations 6. IANA Considerations
7.1. "SID" range registry 6.1. "SID mega-range" registry
IANA is requested to create a registry for YANG Schema Item The name of this registry is "SID mega-range". This registry is used
iDentifier (SID) ranges. This registry needs to guarantee that the to delegate the management of block of SIDs for third party's (e.g.
ranges registered do not overlap. The registry SHALL record for each SDO, registrar).
entry:
Each entry in this registry must include:
o The entry point (first entry) of the registered SID range. o The entry point (first entry) of the registered SID range.
o The size of the registered SID range. o The size of the registered SID range.
o The contact information of the owner of the range such as name, o The contact information of the requesting organization including:
email address, and phone number.
The IANA policy for this registry is split into four tiers as * Organization name
follows:
o The range of 0 to 999 and 0x40000000 to 0xFFFFFFFFFFFFFFFF are * Primary contact name, email address, and phone number
reserved for future extensions of this protocol. Allocation
within these ranges require IETF review or IESG approval.
o The range of 1000 to 59999 is reserved for standardized YANG * Secondary contact name, email address, and phone number
modules. Allocation within this range requires publishing of the
associated ".yang" and ".sid" files. (Specification required.)
o The range of 60000 to 99999 is reserved for experimental YANG The initial entry in this registry is allocated to IANA:
modules. Use of this range MUST NOT be used in operational
deployments since these SIDs are not globally unique which limit
their interoperability.
o The range of 100000 to 0x3FFFFFFF is available on a first come +-------------+---------+-------------------+
first served basis. The only information required from the | Entry Point | Size | Organization name |
registrant is a valid contact information. The recommended size +-------------+---------+-------------------+
of the SID ranges allocated is 1,000 for private use and 10,000 | 0 | 1000000 | IANA |
for standard development organizations (SDOs). Registrants MAY +-------------+---------+-------------------+
request fewer or more SIDs based on their expected, sat needs.
Allocation of a significantly larger SID range MAY required IETF
review or IESG approval. IANA MAY delegate this registration
process to one or multiple sub-registries. The recommended size
of the SID range allocation for a sub-registry is 1,000,000.
+------------+-----------------+------------------------------------+ The IANA policies for future additions to this registry are
| Entry | Size | Registration Procedures | "Hierarchical Allocation, Expert Review" [RFC5226]. Prior to a first
| Point | | | allocation, the requesting organization must demonstrate a functional
+------------+-----------------+------------------------------------+ registry infrastructure. On subsequent allocation request(s), the
| 0 | 1,000 | IETF review or IESG approval | organization must demonstrate the exhaustion of the prior range.
| 1,000 | 59,000 | Specification and associated | These conditions need to be asserted by the assigned expert(s).
| | | ".yang" and ".sid" files required |
| 60,000 | 40,000 | Experimental use |
| 100,000 | 0x3ffe7960 | Contact information is required. |
| | | Registration of the module name(s) |
| | | and associated ".yang" and ".sid" |
| | | files are optional. |
| 0x40000000 | 2^64-0x40000000 | Specification required, expert |
| | | review |
+------------+-----------------+------------------------------------+
7.2. YANG module registry 6.1.1. IANA SID Mega-Range Registry
Each registered SID range can be used to assign SIDs to one or more The first million SIDs assigned to IANA is sub-divided as follow:
YANG modules. To track which YANG modules have been assigned and to
avoid duplicate allocation, IANA is requested to provide a method to
register and query the following information:
o The YANG module name o The range of 0 to 999 is reserved for future extensions. The IANA
policy for this range is "IETF review" [RFC5226].
o The contact information of the author o The range of 1000 to 59,999 is reserved for YANG modules defined
in RFCs. The IANA policy for future additions to this sub-
registry is "RFC required" [RFC5226]. Allocation within this
range requires publishing of the associated ".yang" and ".sid"
files in the YANG module registry.
o The specification reference o The range of 60,000 to 99,999 is reserved for experimental YANG
modules. This range MUST NOT be used in operational deployments
since these SIDs are not globally unique which limit their
interoperability. The IANA policy for this range is "Experimental
use" [RFC5226].
o The associated ".yang" file(s) (Optional) o The range of 100,000 to 999,999 is reserved for standardized YANG
modules. The IANA policy for future additions to this sub-
registry is "Specification Required" [RFC5226]. Allocation within
this range requires publishing of the associated ".yang" and
".sid" files in the YANG module registry.
o The associated ".sid" file (Optional) +-------------+---------------+------------------------+
| Entry Point | Size | IANA policy |
+-------------+---------------+------------------------+
| 0 | 1,000 | IETF review |
| 1,000 | 59,000 | RFC required |
| 60,000 | 40,000 | Experimental use |
| 100,000 | 1,000,000,000 | Specification Required |
+-------------+---------------+------------------------+
Registration of YANG modules is optional. When a YANG module is The size of SID range assigned to a YANG module should be between 50%
registered, the registrant MUST provide the module name and contact and 60% of the current number of YANG items. This headroom allows
information and/or a specification reference. assignment within the same range of new YANG items introduced by
subsequent revisions. A larger SID range size may be requested by
the authors if this recommendation is considered insufficient. It is
important to note that an extra SID range can be allocated to
existing YANG module if the initial ranges(s) are exhausted.
The registration of the associated ".yang" and ".sid" files is 6.1.2. IANA "RFC SID range assignment" sub-registries
optional. When provided, the validity of the files MUST be verified.
This can be accomplished by a YANG validation tool specially modified The name of this sub-registry is "RFC SID range assignment". This
to support ".sid" file verification. The SID range specified within sub-registry corresponds to the SID entry point 1000, size 59000.
the ".sid" file SHOULD also be checked against the "SID" range Each entry in this sub-registry must include the SID range entry
registry (Section 7.1) and against the other YANG modules registered point, the SID range size, the YANG module name, the RFC number.
to detect any duplicate use of SIDs.
Initial entries in this registry are as follows: Initial entries in this registry are as follows:
+-------------+------+-----------------+-------------------+ +------------+------+-----------------+-----------------------------+
| Entry Point | Size | Module name | Reference | | Entry | Size | Module name | Reference |
+-------------+------+-----------------+-------------------+ | Point | | | |
| 1000 | 100 | | Reserved for CoMI | +------------+------+-----------------+-----------------------------+
| 1100 | 400 | iana-if-type | [RFC7224] | | 1000 | 100 | | Reserved for |
| 1500 | 100 | ietf-interfaces | [RFC7223] | | | | | [I-D.ietf-core-comi] |
| 1600 | 100 | ietf-ip | [RFC7277] | | 1100 | 400 | iana-if-type | [RFC7224] |
| 1700 | 100 | ietf-system | [RFC7317] | | 1500 | 100 | ietf-interfaces | [RFC7223] |
+-------------+------+-----------------+-------------------+ | 1600 | 100 | ietf-ip | [RFC7277] |
| 1700 | 100 | ietf-system | [RFC7317] |
+------------+------+-----------------+-----------------------------+
8. Acknowledgments 6.2. "YANG module assignment" registry
The name of this registry is "YANG module assignment". This registry
is used to track which YANG modules have been assigned and the
specific YANG items assignment. Each entry in this sub-registry must
include:
o The YANG module name
o The associated ".yang" file(s)
o The associated ".sid" file
The validity of the ".yang" and ".sid" files added to this registry
MUST be verified.
o The syntax of the registered ".yang" and ".sid" files must be
valid.
o Each YANG item defined by the registered ".yang" file must have a
corresponding SID assigned in the ".sid" file.
o Each SID is assigned to a single YANG item, duplicate assignment
is not allowed.
o The SID range(s) defined in the ".sid" file must be unique, must
not conflict with any other SID ranges defined in already
registered ".sid" files.
o The ownership of the SID range(s) should be verify.
The IANA policy for future additions to this registry is "First Come
First Served" as described in [RFC5226].
7. Acknowledgments
The authors would like to thank Carsten Bormann for his help during The authors would like to thank Carsten Bormann for his help during
the development of this document and his useful comments during the the development of this document and his useful comments during the
review process. review process.
9. References 8. References
9.1. Normative References 8.1. Normative References
[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,
<http://www.rfc-editor.org/info/rfc2119>. <http://www.rfc-editor.org/info/rfc2119>.
[RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object [RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object
Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049,
October 2013, <http://www.rfc-editor.org/info/rfc7049>. October 2013, <http://www.rfc-editor.org/info/rfc7049>.
[RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language",
RFC 7950, DOI 10.17487/RFC7950, August 2016, RFC 7950, DOI 10.17487/RFC7950, August 2016,
<http://www.rfc-editor.org/info/rfc7950>. <http://www.rfc-editor.org/info/rfc7950>.
[RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG",
RFC 7951, DOI 10.17487/RFC7951, August 2016, RFC 7951, DOI 10.17487/RFC7951, August 2016,
<http://www.rfc-editor.org/info/rfc7951>. <http://www.rfc-editor.org/info/rfc7951>.
9.2. Informative References 8.2. Informative References
[I-D.ietf-netconf-restconf] [I-D.ietf-core-comi]
Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF Stok, P., Bierman, A., Veillette, M., and A. Pelov, "CoAP
Protocol", draft-ietf-netconf-restconf-17 (work in Management Interface", draft-ietf-core-comi-00 (work in
progress), September 2016. progress), January 2017.
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
DOI 10.17487/RFC5226, May 2008,
<http://www.rfc-editor.org/info/rfc5226>.
[RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed.,
and A. Bierman, Ed., "Network Configuration Protocol and A. Bierman, Ed., "Network Configuration Protocol
(NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011,
<http://www.rfc-editor.org/info/rfc6241>. <http://www.rfc-editor.org/info/rfc6241>.
[RFC7223] Bjorklund, M., "A YANG Data Model for Interface [RFC7223] Bjorklund, M., "A YANG Data Model for Interface
Management", RFC 7223, DOI 10.17487/RFC7223, May 2014, Management", RFC 7223, DOI 10.17487/RFC7223, May 2014,
<http://www.rfc-editor.org/info/rfc7223>. <http://www.rfc-editor.org/info/rfc7223>.
skipping to change at page 13, line 5 skipping to change at page 15, line 17
<http://www.rfc-editor.org/info/rfc7224>. <http://www.rfc-editor.org/info/rfc7224>.
[RFC7277] Bjorklund, M., "A YANG Data Model for IP Management", [RFC7277] Bjorklund, M., "A YANG Data Model for IP Management",
RFC 7277, DOI 10.17487/RFC7277, June 2014, RFC 7277, DOI 10.17487/RFC7277, June 2014,
<http://www.rfc-editor.org/info/rfc7277>. <http://www.rfc-editor.org/info/rfc7277>.
[RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for [RFC7317] Bierman, A. and M. Bjorklund, "A YANG Data Model for
System Management", RFC 7317, DOI 10.17487/RFC7317, August System Management", RFC 7317, DOI 10.17487/RFC7317, August
2014, <http://www.rfc-editor.org/info/rfc7317>. 2014, <http://www.rfc-editor.org/info/rfc7317>.
[RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF
Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017,
<http://www.rfc-editor.org/info/rfc8040>.
Appendix A. ".sid" file example Appendix A. ".sid" file example
The following .sid file (ietf-system@2014-08-06.sid) have been The following .sid file (ietf-system@2014-08-06.sid) have been
generated using the following yang modules: generated using the following yang modules:
o ietf-system@2014-08-06.yang o ietf-system@2014-08-06.yang
o ietf-yang-types@2013-07-15.yang o ietf-yang-types@2013-07-15.yang
o ietf-inet-types@2013-07-15.yang o ietf-inet-types@2013-07-15.yang
o ietf-netconf-acm@2012-02-22.yang o ietf-netconf-acm@2012-02-22.yang
o iana-crypt-hash@2014-04-04.yang o iana-crypt-hash@2014-04-04.yang
{ {
"assignment-ranges": [ "assignment-ranges": [
{ {
"entry-point": 1700, "entry-point": 1700,
"size": 100 "size": 100
} }
], ],
"module-name": "ietf-system", "module-name": "ietf-system",
"module-revision": "2014-08-06", "module-revision": "2014-08-06",
"items": [ "items": [
{ {
"type": "Module", "type": "Module",
"label": "ietf-system", "label": "ietf-system",
"sid": 1700 "sid": 1700
}, },
{ {
"type": "feature", "type": "feature",
"label": "authentication", "label": "authentication",
"sid": 1701 "sid": 1701
}, },
{ {
"type": "feature", "type": "feature",
"label": "dns-udp-tcp-port", "label": "dns-udp-tcp-port",
"sid": 1702 "sid": 1702
}, },
{ {
"type": "feature", "type": "feature",
"label": "local-users", "label": "local-users",
"sid": 1703 "sid": 1703
}, },
{ {
"type": "feature", "type": "feature",
"label": "ntp", "label": "ntp",
"sid": 1704 "sid": 1704
}, },
{ {
"type": "feature", "type": "feature",
"label": "ntp-udp-port", "label": "ntp-udp-port",
"sid": 1705 "sid": 1705
}, },
{ {
"type": "feature", "type": "feature",
"label": "radius", "label": "radius",
"sid": 1706 "sid": 1706
}, },
{ {
"type": "feature", "type": "feature",
"label": "radius-authentication", "label": "radius-authentication",
"sid": 1707 "sid": 1707
}, },
{ {
"type": "feature", "type": "feature",
"label": "timezone-name", "label": "timezone-name",
"sid": 1708 "sid": 1708
}, },
{ {
"type": "identity", "type": "identity",
"label": "/authentication-method", "label": "/authentication-method",
"sid": 1709 "sid": 1709
}, },
{ {
"type": "identity", "type": "identity",
"label": "/authentication-method/local-users", "label": "/authentication-method/local-users",
"sid": 1710 "sid": 1710
}, },
{ {
"type": "identity", "type": "identity",
"label": "/authentication-method/radius", "label": "/authentication-method/radius",
"sid": 1711 "sid": 1711
}, },
{ {
"type": "identity", "type": "identity",
"label": "/radius-authentication-type", "label": "/radius-authentication-type",
"sid": 1712 "sid": 1712
}, },
{ {
"type": "identity", "type": "identity",
"label": "/radius-authentication-type/radius-chap", "label": "/radius-authentication-type/radius-chap",
"sid": 1713 "sid": 1713
}, },
{ {
"type": "identity", "type": "identity",
"label": "/radius-authentication-type/radius-pap", "label": "/radius-authentication-type/radius-pap",
"sid": 1714 "sid": 1714
}, },
{ {
"type": "node", "type": "node",
"label": "/system", "label": "/system",
"sid": 1715 "sid": 1715
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state", "label": "/system-state",
"sid": 1716 "sid": 1716
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state/clock", "label": "/system-state/clock",
"sid": 1717 "sid": 1717
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state/clock/boot-datetime", "label": "/system-state/clock/boot-datetime",
"sid": 1718 "sid": 1718
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state/clock/current-datetime", "label": "/system-state/clock/current-datetime",
"sid": 1719 "sid": 1719
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state/platform", "label": "/system-state/platform",
"sid": 1720 "sid": 1720
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state/platform/machine", "label": "/system-state/platform/machine",
"sid": 1721 "sid": 1721
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state/platform/os-name", "label": "/system-state/platform/os-name",
"sid": 1722 "sid": 1722
}, },
{ {
"type": "node", "type": "node",
"label": "/system-state/platform/os-release", "label": "/system-state/platform/os-release",
"sid": 1723 "sid": 1723
},
}, {
{
"type": "node", "type": "node",
"label": "/system-state/platform/os-version", "label": "/system-state/platform/os-version",
"sid": 1724 "sid": 1724
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication", "label": "/system/authentication",
"sid": 1725 "sid": 1725
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user", "label": "/system/authentication/user",
"sid": 1726 "sid": 1726
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user-authentication-order", "label": "/system/authentication/user-authentication-order",
"sid": 1727 "sid": 1727
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user/authorized-key", "label": "/system/authentication/user/authorized-key",
"sid": 1728 "sid": 1728
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user/authorized-key/algorithm", "label": "/system/authentication/user/authorized-key/algorithm",
"sid": 1729 "sid": 1729
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user/authorized-key/key-data", "label": "/system/authentication/user/authorized-key/key-data",
"sid": 1730 "sid": 1730
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user/authorized-key/name", "label": "/system/authentication/user/authorized-key/name",
"sid": 1731 "sid": 1731
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user/name", "label": "/system/authentication/user/name",
"sid": 1732 "sid": 1732
}, },
{ {
"type": "node", "type": "node",
"label": "/system/authentication/user/password", "label": "/system/authentication/user/password",
"sid": 1733 "sid": 1733
}, },
{ {
"type": "node", "type": "node",
"label": "/system/clock", "label": "/system/clock",
"sid": 1734 "sid": 1734
}, },
{ {
"type": "node", "type": "node",
"label": "/system/clock/timezone/timezone-name/timezone-name", "label": "/system/clock/timezone-name",
"sid": 1735 "sid": 1735
}, },
{ {
"type": "node", "type": "node",
"label": "/system/clock/timezone/timezone-utc-offset/timezone-utc-offset", "label": "/system/clock/timezone-utc-offset",
"sid": 1736 "sid": 1736
}, },
{ {
"type": "node", "type": "node",
"label": "/system/contact", "label": "/system/contact",
"sid": 1737 "sid": 1737
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver", "label": "/system/dns-resolver",
"sid": 1738 "sid": 1738
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/options", "label": "/system/dns-resolver/options",
"sid": 1739 "sid": 1739
},
{ },
{
"type": "node", "type": "node",
"label": "/system/dns-resolver/options/attempts", "label": "/system/dns-resolver/options/attempts",
"sid": 1740 "sid": 1740
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/options/timeout", "label": "/system/dns-resolver/options/timeout",
"sid": 1741 "sid": 1741
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/search", "label": "/system/dns-resolver/search",
"sid": 1742 "sid": 1742
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/server", "label": "/system/dns-resolver/server",
"sid": 1743 "sid": 1743
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/server/name", "label": "/system/dns-resolver/server/name",
"sid": 1744 "sid": 1744
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp", "label": "/system/dns-resolver/server/udp-and-tcp",
"sid": 1745 "sid": 1745
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp/address", "label": "/system/dns-resolver/server/udp-and-tcp/address",
"sid": 1746 "sid": 1746
}, },
{ {
"type": "node", "type": "node",
"label": "/system/dns-resolver/server/transport/udp-and-tcp/udp-and-tcp/port", "label": "/system/dns-resolver/server/udp-and-tcp/port",
"sid": 1747 "sid": 1747
}, },
{ {
"type": "node", "type": "node",
"label": "/system/hostname", "label": "/system/hostname",
"sid": 1748 "sid": 1748
}, },
{ {
"type": "node", "type": "node",
"label": "/system/location", "label": "/system/location",
"sid": 1749 "sid": 1749
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp", "label": "/system/ntp",
"sid": 1750 "sid": 1750
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/enabled", "label": "/system/ntp/enabled",
"sid": 1751 "sid": 1751
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server", "label": "/system/ntp/server",
"sid": 1752 "sid": 1752
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server/association-type", "label": "/system/ntp/server/association-type",
"sid": 1753 "sid": 1753
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server/iburst", "label": "/system/ntp/server/iburst",
"sid": 1754 "sid": 1754
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server/name", "label": "/system/ntp/server/name",
"sid": 1755 "sid": 1755
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server/prefer", "label": "/system/ntp/server/prefer",
"sid": 1756 "sid": 1756
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server/transport/udp/udp", "label": "/system/ntp/server/udp",
"sid": 1757 "sid": 1757
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server/transport/udp/udp/address", "label": "/system/ntp/server/udp/address",
"sid": 1758 "sid": 1758
}, },
{ {
"type": "node", "type": "node",
"label": "/system/ntp/server/transport/udp/udp/port", "label": "/system/ntp/server/udp/port",
"sid": 1759 "sid": 1759
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius", "label": "/system/radius",
"sid": 1760 "sid": 1760
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/options", "label": "/system/radius/options",
"sid": 1761 "sid": 1761
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/options/attempts", "label": "/system/radius/options/attempts",
"sid": 1762 "sid": 1762
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/options/timeout", "label": "/system/radius/options/timeout",
"sid": 1763 "sid": 1763
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/server", "label": "/system/radius/server",
"sid": 1764 "sid": 1764
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/server/authentication-type", "label": "/system/radius/server/authentication-type",
"sid": 1765 "sid": 1765
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/server/name", "label": "/system/radius/server/name",
"sid": 1766 "sid": 1766
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/server/transport/udp/udp", "label": "/system/radius/server/udp",
"sid": 1767 "sid": 1767
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/server/transport/udp/udp/address", "label": "/system/radius/server/udp/address",
"sid": 1768 "sid": 1768
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/server/transport/udp/udp/authentication-port", "label": "/system/radius/server/udp/authentication-port",
"sid": 1769 "sid": 1769
}, },
{ {
"type": "node", "type": "node",
"label": "/system/radius/server/transport/udp/udp/shared-secret", "label": "/system/radius/server/udp/shared-secret",
"sid": 1770 "sid": 1770
}, },
{ {
"type": "rpc", "type": "rpc",
"label": "/set-current-datetime", "label": "/set-current-datetime",
"sid": 1771 "sid": 1771
},
}, {
{
"type": "rpc", "type": "rpc",
"label": "/set-current-datetime/input/current-datetime", "label": "/set-current-datetime/input/current-datetime",
"sid": 1772 "sid": 1772
}, },
{ {
"type": "rpc", "type": "rpc",
"label": "/system-restart", "label": "/system-restart",
"sid": 1773 "sid": 1773
}, },
{ {
"type": "rpc", "type": "rpc",
"label": "/system-shutdown", "label": "/system-shutdown",
"sid": 1774 "sid": 1774
} }
] ]
} }
Authors' Addresses Authors' Addresses
Abhinav Somaraju (editor)
Tridonic GmbH & Co KG
Farbergasse 15
Dornbirn, Vorarlberg 6850
Austria
Phone: +43664808926169
Email: abhinav.somaraju@tridonic.com
Michel Veillette (editor) Michel Veillette (editor)
Trilliant Networks Inc. Trilliant Networks Inc.
610 Rue du Luxembourg 610 Rue du Luxembourg
Granby, Quebec J2J 2V2 Granby, Quebec J2J 2V2
Canada Canada
Phone: +14503750556 Phone: +14503750556
Email: michel.veillette@trilliantinc.com Email: michel.veillette@trilliantinc.com
Alexander Pelov (editor)
Alexander Pelov
Acklio Acklio
2bis rue de la Chataigneraie 2bis rue de la Chataigneraie
Cesson-Sevigne, Bretagne 35510 Cesson-Sevigne, Bretagne 35510
France France
Email: a@ackl.io Email: a@ackl.io
Randy Turner Randy Turner
Landis+Gyr Landis+Gyr
30000 Mill Creek Ave 30000 Mill Creek Ave
Suite 100 Suite 100
Alpharetta, GA 30022 Alpharetta, GA 30022
US US
Phone: ++16782581292 Phone: ++16782581292
Email: randy.turner@landisgyr.com Email: randy.turner@landisgyr.com
URI: http://www.landisgyr.com/ URI: http://www.landisgyr.com/
skipping to change at line 1015 skipping to change at page 24, line 30
Email: randy.turner@landisgyr.com Email: randy.turner@landisgyr.com
URI: http://www.landisgyr.com/ URI: http://www.landisgyr.com/
Ana Minaburo Ana Minaburo
Acklio Acklio
2bis rue de la chataigneraie 2bis rue de la chataigneraie
Cesson-Sevigne, Bretagne 35510 Cesson-Sevigne, Bretagne 35510
France France
Email: ana@ackl.io Email: ana@ackl.io
Abhinav Somaraju
Tridonic GmbH & Co KG
Farbergasse 15
Dornbirn, Vorarlberg 6850
Austria
Phone: +43664808926169
Email: abhinav.somaraju@tridonic.com
 End of changes. 158 change blocks. 
539 lines changed or deleted 611 lines changed or added

This html diff was produced by rfcdiff 1.45. The latest version is available from http://tools.ietf.org/tools/rfcdiff/