draft-ietf-teas-yang-te-topo-12.txt   draft-ietf-teas-yang-te-topo-13.txt 
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Huawei Technologies Huawei Technologies
Vishnu Pavan Beeram Vishnu Pavan Beeram
Juniper Networks Juniper Networks
Tarek Saad Tarek Saad
Cisco Systems Inc Cisco Systems Inc
Himanshu Shah Himanshu Shah
Ciena Ciena
Oscar Gonzalez De Dios Oscar Gonzalez De Dios
Telefonica Telefonica
Expires: January 17, 2018 July 17, 2017 Expires: April 29, 2018 October 29, 2017
YANG Data Model for TE Topologies YANG Data Model for Traffic Engineering (TE) Topologies
draft-ietf-teas-yang-te-topo-12 draft-ietf-teas-yang-te-topo-13
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), 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 41 skipping to change at page 1, line 41
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 January 17, 2018. This Internet-Draft will expire on April 29, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 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.
Abstract Abstract
This document defines a YANG data model for representing, retrieving This document defines a YANG data model for representing, retrieving
and manipulating TE Topologies. The model serves as a base model that and manipulating Traffic Engineering (TE) Topologies. The model
other technology specific TE Topology models can augment. serves as a base model that other technology specific TE Topology
models can augment.
Conventions used in this document 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 RFC-2119 [RFC2119]. document are to be interpreted as described in RFC-2119 [RFC2119].
Table of Contents Table of Contents
1. Introduction...................................................3 1. Introduction...................................................3
1.1. Terminology...............................................4 1.1. Terminology...............................................4
1.2. Tree Structure - Legend...................................4 1.2. Tree Structure............................................4
1.3. Prefixes in Data Node Names...............................5 1.3. Prefixes in Data Node Names...............................4
2. Characterizing TE Topologies...................................5 2. Characterizing TE Topologies...................................5
3. Modeling Abstractions and Transformations......................7 3. Modeling Abstractions and Transformations......................6
3.1. TE Topology...............................................7 3.1. TE Topology...............................................6
3.2. TE Node...................................................7 3.2. TE Node...................................................6
3.3. TE Link...................................................8 3.3. TE Link...................................................7
3.4. Transitional TE Link for Multi-Layer Topologies...........8 3.4. Transitional TE Link for Multi-Layer Topologies...........7
3.5. TE Link Termination Point (LTP)...........................9 3.5. TE Link Termination Point (LTP)...........................9
3.6. TE Tunnel Termination Point (TTP)........................10 3.6. TE Tunnel Termination Point (TTP).........................9
3.7. TE Node Connectivity Matrix..............................10 3.7. TE Node Connectivity Matrix..............................10
3.8. TTP Local Link Connectivity List (LLCL)..................10 3.8. TTP Local Link Connectivity List (LLCL)..................10
3.9. TE Path..................................................10 3.9. TE Path..................................................10
3.10. TE Inter-Layer Lock.....................................11 3.10. TE Inter-Layer Lock.....................................10
3.11. Underlay TE topology....................................12 3.11. Underlay TE topology....................................12
3.12. Overlay TE topology.....................................12 3.12. Overlay TE topology.....................................12
3.13. Abstract TE topology....................................12 3.13. Abstract TE topology....................................12
4. Model Applicability...........................................13 4. Model Applicability...........................................13
4.1. Native TE Topologies.....................................13 4.1. Native TE Topologies.....................................13
4.2. Customized TE Topologies.................................15 4.2. Customized TE Topologies.................................15
4.3. Merging TE Topologies Provided by Multiple Providers.....18 4.3. Merging TE Topologies Provided by Multiple Providers.....18
4.4. Dealing with Multiple Abstract TE Topologies Provided by the 4.4. Dealing with Multiple Abstract TE Topologies Provided by the
Same Provider.................................................21 Same Provider.................................................21
5. Modeling Considerations.......................................24 5. Modeling Considerations.......................................24
skipping to change at page 3, line 19 skipping to change at page 3, line 20
5.2. Technology agnostic TE Topology model....................24 5.2. Technology agnostic TE Topology model....................24
5.3. Model Structure..........................................25 5.3. Model Structure..........................................25
5.4. Topology Identifiers.....................................26 5.4. Topology Identifiers.....................................26
5.5. Generic TE Link Attributes...............................26 5.5. Generic TE Link Attributes...............................26
5.6. Generic TE Node Attributes...............................27 5.6. Generic TE Node Attributes...............................27
5.7. TED Information Sources..................................28 5.7. TED Information Sources..................................28
5.8. Overlay/Underlay Relationship............................29 5.8. Overlay/Underlay Relationship............................29
5.9. Templates................................................30 5.9. Templates................................................30
5.10. Scheduling Parameters...................................31 5.10. Scheduling Parameters...................................31
5.11. Notifications...........................................31 5.11. Notifications...........................................31
6. Tree Structure................................................32 6. Guidance for Writing Technology Specific TE Topology Augmentations
7. TE Topology Yang Module.......................................68 .................................................................32
8. Security Considerations......................................115 7. TE Topology Yang Module.......................................32
9. IANA Considerations..........................................115 8. Security Considerations.......................................80
10. References..................................................116 9. IANA Considerations...........................................80
10.1. Normative References...................................116 10. References...................................................81
10.2. Informative References.................................116 10.1. Normative References....................................81
11. Acknowledgments.............................................117 10.2. Informative References..................................81
Appendix A. Companion YANG Model for Non-NMDA Compliant 11. Acknowledgments..............................................82
Implementations.................................................118 Appendix A. Complete Model Tree Structure........................83
A.1. TE Topology State Yang Module...........................118 Appendix B. Companion YANG Model for Non-NMDA Compliant
Contributors....................................................125 Implementations.................................................126
Authors' Addresses..............................................126 A.1. TE Topology State Yang Module...........................126
Contributors....................................................133
Authors' Addresses..............................................134
1. Introduction 1. Introduction
The Traffic Engineering Database (TED) is an essential component of The Traffic Engineering Database (TED) is an essential component of
Traffic Engineered (TE) systems that are based on MPLS-TE [RFC2702] Traffic Engineered (TE) systems that are based on MPLS-TE [RFC2702]
and GMPLS [RFC3945]. The TED is a collection of all TE information and GMPLS [RFC3945]. The TED is a collection of all TE information
about all TE nodes and TE links in the network. The TE Topology is a about all TE nodes and TE links in the network. The TE Topology is a
schematic arrangement of TE nodes and TE links present in a given schematic arrangement of TE nodes and TE links present in a given
TED. There could be one or more TE Topologies present in a given TED. There could be one or more TE Topologies present in a given
Traffic Engineered system. The TE Topology is the topology on which Traffic Engineered system. The TE Topology is the topology on which
path computational algorithms are run to compute Traffic Engineered path computational algorithms are run to compute Traffic Engineered
Paths (TE Paths). Paths (TE Paths).
This document defines a YANG [RFC6020] data model for representing This document defines a YANG [RFC7950] data model for representing
and manipulating TE Topologies. This model contains technology and manipulating TE Topologies. This model contains technology
agnostic TE Topology building blocks that can be augmented and used agnostic TE Topology building blocks that can be augmented and used
by other technology-specific TE Topology models. by other technology-specific TE Topology models.
1.1. Terminology 1.1. Terminology
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
The reader is assumed to be familiar with general body of work
captured in currently available TE related RFCs. RFC7926 serves as a
good starting point for those who may be less familiar with Traffic
Engineering related RFCs.
Some of the key terms used in this document are:
TED: The Traffic Engineering Database is a collection of all TE TED: The Traffic Engineering Database is a collection of all TE
information about all TE nodes and TE links in a given network. information about all TE nodes and TE links in a given network.
TE-Topology: The TE Topology is a schematic arrangement of TE nodes TE-Topology: The TE Topology is a schematic arrangement of TE nodes
and TE links in a given TED. It forms the basis for a graph suitable and TE links in a given TED. It forms the basis for a graph suitable
for TE path computations. for TE path computations.
Native TE Topology: Native TE Topology is a topology that is native Native TE Topology: Native TE Topology is a topology that is native
to a given provider network. Native TE topology could be discovered to a given provider network. Native TE topology could be discovered
via various routing protocols and/or subscribe/publish techniques. via various routing protocols and/or subscribe/publish techniques.
This is the topology on which path computational algorithms are run This is the topology on which path computational algorithms are run
to compute TE Paths. to compute TE Paths.
Customized TE Topology: Customized TE Topology is a custom topology Customized TE Topology: Customized TE Topology is a custom topology
that is produced by a provider for a given Client. This topology that is produced by a provider for a given Client. This topology
typically augments the Client's Native TE Topology. Path typically augments the Client's Native TE Topology. Path
computational algorithms aren't typically run on the Customized TE computational algorithms aren't typically run on the Customized TE
Topology; they are run on the Client's augmented Native TE Topology. Topology; they are run on the Client's augmented Native TE Topology.
1.2. Tree Structure - Legend 1.2. Tree Structure
A simplified graphical representation of the data model is presented A simplified graphical representation of the data model is presented
in Section 6. of this document. The following notations are used for in Appendix A. of this document. The tree format defined in [YANG-
the YANG model data tree representation. TREE] is used for the YANG data model tree representation.
<status> <flags> <name> <opts> <type>
<status> is one of:
+ for current
x for deprecated
o for obsolete
<flags> is one of:
rw for read-write configuration data
ro for read-only non-configuration data
-x for execution rpcs
-n for notifications
<name> is the name of the node
If the node is augmented into the tree from another module, its
name is printed as <prefix>:<name>
<opts> is one of:
? for an optional leaf or node
! for a presence container
* for a leaf-list or list
Brackets [<keys>] for a list's keys
Curly braces {<condition>} for optional feature that make node
conditional
Colon : for marking case nodes
Ellipses ("...") subtree contents not shown
Parentheses enclose choice and case nodes, and case nodes are
also marked with a colon (":").
<type> is the name of the type for leafs and leaf-lists.
1.3. Prefixes in Data Node Names 1.3. Prefixes in Data Node Names
In this document, names of data nodes and other data model objects In this document, names of data nodes and other data model objects
are prefixed using the standard prefix associated with the are prefixed using the standard prefix associated with the
corresponding YANG imported modules, as shown in Table 1. corresponding YANG imported modules, as shown in Table 1.
+--------+-----------------+-----------+ +--------+-----------------+-----------+
| Prefix | YANG module | Reference | | Prefix | YANG module | Reference |
+--------+-----------------+-----------+ +--------+-----------------+-----------+
skipping to change at page 8, line 27 skipping to change at page 7, line 36
as remote node/link IDs, SRLGs, administrative colors, etc.). TE link as remote node/link IDs, SRLGs, administrative colors, etc.). TE link
is connected to TE node, terminating the TE link via exactly one TE is connected to TE node, terminating the TE link via exactly one TE
link termination point (LTP). link termination point (LTP).
In Figure 1, Link-12 and Link-23 are TE links. In Figure 1, Link-12 and Link-23 are TE links.
3.4. Transitional TE Link for Multi-Layer Topologies 3.4. Transitional TE Link for Multi-Layer Topologies
Networks are typically composed of multiple network layers where one Networks are typically composed of multiple network layers where one
or multiple signals in the client layer network can be multiplexed or multiple signals in the client layer network can be multiplexed
and encapsulated into a server layer signal. The server layer signal and encapsulated into a server layer signal [RFC5212] [G.805]. The
can be carried in the server layer network across multiple nodes server layer signal can be carried in the server layer network across
until the server layer signal is terminated and the client layer multiple nodes until the server layer signal is terminated and the
signals reappear in the node that terminates the server layer signal. client layer signals reappear in the node that terminates the server
Examples of multi-layer networks are: IP over MPLS over Ethernet, low layer signal. Examples of multi-layer networks are: IP over MPLS over
order ODUk signals multiplexed into a high order ODUl (l>k) carried Ethernet, low order Optical Data Unit-k (ODUk) signals multiplexed
over an OCh signal (optical transport network). into a high order ODUl (l>k) carried over an Optical Channel (OCh)
signal in an optical transport network as defined in [G.872] and
[G.709].
TE links as defined in 3.3. can be used to represent links within a TE links as defined in 3.3. can be used to represent links within a
network layer. In case of a multi-layer network, TE nodes and TE network layer. In case of a multi-layer network, TE nodes and TE
links only allow representation of each network layer as a separate links only allow representation of each network layer as a separate
TE topology Each of these single layer TE topologies would be TE topology Each of these single layer TE topologies would be
isolated from their client and their server layer TE topology, if isolated from their client and their server layer TE topology, if
present (the highest and the lowest network layer in the hierarchy present (the highest and the lowest network layer in the hierarchy
only have a single adjacent layer below or above, respectively). only have a single adjacent layer below or above, respectively).
Multiplexing of client layer signals and encapsulating them into a Multiplexing of client layer signals and encapsulating them into a
server layer signal requires a function that is provided inside a server layer signal requires a function that is provided inside a
skipping to change at page 9, line 8 skipping to change at page 8, line 20
One of the key requirements for path computation is to be able to One of the key requirements for path computation is to be able to
calculate a path between two endpoints across a multi-layer network calculate a path between two endpoints across a multi-layer network
based on the TE topology representing this multi-layer network. This based on the TE topology representing this multi-layer network. This
means that an additional TE construct is needed that represents means that an additional TE construct is needed that represents
potential layer transitions in the multi-layer TE-topology that potential layer transitions in the multi-layer TE-topology that
connects the TE-topologies representing each separate network layer. connects the TE-topologies representing each separate network layer.
The so-called transitional TE link is such a construct and it The so-called transitional TE link is such a construct and it
represents the layer transition function residing inside a node that represents the layer transition function residing inside a node that
is decomposed into multiple logical nodes that are represented as TE is decomposed into multiple logical nodes that are represented as TE
nodes. Hence, a transitional TE link connects a client layer node nodes (see also the transitional link definition in [G.8080] for the
with a server layer node. A TE link as defined in 3.3. has LTPs of optical transport network). Hence, a transitional TE link connects a
exactly the same kind on each link end whereas the transitional TE client layer node with a server layer node. A TE link as defined in
link has client layer LTPs on the client side of the transitional 3.3. has LTPs of exactly the same kind on each link end whereas the
link and in most cases a single server layer LTP on the server side. transitional TE link has client layer LTPs on the client side of the
It should be noted that transitional links are a helper construct in transitional link and in most cases a single server layer LTP on the
the multi-layer TE topology and they only exist as long as they are server side. It should be noted that transitional links are a helper
not in use (as they represent potential connectivity). When the construct in the multi-layer TE topology and they only exist as long
server layer trail has been established between the server layer LTP as they are not in use (as they represent potential connectivity).
of two transitional links in the server layer network, the resulting When the server layer trail has been established between the server
client layer link in the data plane will be represented as a normal layer LTP of two transitional links in the server layer network, the
TE link in the client layer topology. The transitional TE links will resulting client layer link in the data plane will be represented as
re-appear when the server layer trail has been torn down. a normal TE link in the client layer topology. The transitional TE
links will re-appear when the server layer trail has been torn down.
+------------------+ +------------------+
| +------+ | +------+ | +------+ | +------+
-----|Client|------+ | Client -----|Client| -----|Client|------+ | Client -----|Client|
| |Layer |---+ | | Layer |Layer | | |Layer |---+ | | Layer |Layer |
-----|Switch|-+ | | | Links -----|Node | -----|Switch|-+ | | | Links -----|Node |
| +------+ | | | | +------+ | +------+ | | | | +------+
| | | | | Client | | | | | | | | Client | | |
| | | ---_| Layer --- --- | | | ---_| Layer --- ---
***|**********|*| \ /*|***************************\ /*\ /**** ***|**********|*| \ /*|***************************\ /*\ /****
skipping to change at page 11, line 18 skipping to change at page 11, line 4
3.10. TE Inter-Layer Lock 3.10. TE Inter-Layer Lock
TE inter-layer lock is a modeling concept describing client-server TE inter-layer lock is a modeling concept describing client-server
layer adaptation relationships and hence important for the multi- layer adaptation relationships and hence important for the multi-
layer traffic engineering. It is an association of M client layer layer traffic engineering. It is an association of M client layer
LTPs and N server layer TTPs, within which data arriving at any of LTPs and N server layer TTPs, within which data arriving at any of
the client layer LTPs could be adopted onto any of the server layer the client layer LTPs could be adopted onto any of the server layer
TTPs. TE inter-layer lock is identified by inter-layer lock ID, which TTPs. TE inter-layer lock is identified by inter-layer lock ID, which
is unique across all TE topologies provided by the same provider. The is unique across all TE topologies provided by the same provider. The
client layer LIPs and the server layer TTPs associated within a given client layer LIPs and the server layer TTPs associated within a given
TE inter-layer lock are decorated with the same inter-layer lock ID TE inter-layer lock are annotated with the same inter-layer lock ID
attribute. attribute.
(IL-1) C-LTP-1 +------------+ C-LTP-2 (IL-1) (IL-1) C-LTP-1 +------------+ C-LTP-2 (IL-1)
--------O (IL-1) O-------- --------O (IL-1) O--------
(IL-1) C-LTP-3 | S-TTP-1 | C-LTP-4 (IL-1) (IL-1) C-LTP-3 | S-TTP-1 | C-LTP-4 (IL-1)
--------O __ 0-------- --------O __ 0--------
(IL-1) C-LTP-5 | *\/* | C-LTP-5 (IL-1) (IL-1) C-LTP-5 | *\/* | C-LTP-5 (IL-1)
--------O * * O-------- --------O * * O--------
| *(IL-1)* | | *(IL-1)* |
S-LTP-3 | * S-TTP-2* | S-LTP-4 S-LTP-3 | * S-TTP-2* | S-LTP-4
skipping to change at page 20, line 20 skipping to change at page 20, line 20
shown on the upper part of the Figure. shown on the upper part of the Figure.
As mentioned, one way to inter-connect the open-ended inter-domain TE As mentioned, one way to inter-connect the open-ended inter-domain TE
links of neighboring domains is to mandate the providers to specify links of neighboring domains is to mandate the providers to specify
remote nodeID/linkID attribute in the provided inter-domain TE links. remote nodeID/linkID attribute in the provided inter-domain TE links.
This, however, may prove to be not flexible. For example, the This, however, may prove to be not flexible. For example, the
providers may not know the respective remote nodeIDs/ linkIDs. More providers may not know the respective remote nodeIDs/ linkIDs. More
importantly, this option does not allow for the client to mix-n-match importantly, this option does not allow for the client to mix-n-match
multiple (more than one) topologies catered by the same providers multiple (more than one) topologies catered by the same providers
(see below). Another, more flexible, option to resolve the open-ended (see below). Another, more flexible, option to resolve the open-ended
inter-domain TE links is by decorating them with the inter-domain inter-domain TE links is by annotating them with the inter-domain
plug ID attribute. Inter-domain plug ID is a network-wide unique plug ID attribute. Inter-domain plug ID is a network-wide unique
number that identifies on the network a connectivity supporting a number that identifies on the network a connectivity supporting a
given inter-domain TE link. Instead of specifying remote node ID/link given inter-domain TE link. Instead of specifying remote node ID/link
ID, an inter-domain TE link may provide a non-zero inert-domain plug ID, an inter-domain TE link may provide a non-zero inert-domain plug
ID. It is expected that two neighboring domain TE topologies ID. It is expected that two neighboring domain TE topologies
(provided by separate providers) will have each at least one open- (provided by separate providers) will have each at least one open-
ended inter-domain TE link with an inter-domain plug ID matching to ended inter-domain TE link with an inter-domain plug ID matching to
one provided by its neighbor. For example, the inter-domain TE link one provided by its neighbor. For example, the inter-domain TE link
originating from node S5 of the Domain 1 TE topology (Figure 1) and originating from node S5 of the Domain 1 TE topology (Figure 1) and
the inter-domain TE link coming from node S3 of Domain2 TE topology the inter-domain TE link coming from node S3 of Domain2 TE topology
skipping to change at page 31, line 46 skipping to change at page 31, line 46
optional. optional.
The YANG data model for configuration scheduling is defined in [YANG- The YANG data model for configuration scheduling is defined in [YANG-
SCHEDULE], which allows specifying configuration schedules without SCHEDULE], which allows specifying configuration schedules without
altering this data model. altering this data model.
5.11. Notifications 5.11. Notifications
Notifications are a key component of any topology data model. Notifications are a key component of any topology data model.
[YANG-PUSH] and [RFC5277bis] define a subscription and push mechanism [YANG-PUSH] and [NETCONF-NOTIF] define a subscription and push
for YANG datastores. This mechanism currently allows the user to: mechanism for YANG datastores. This mechanism currently allows the
user to:
- Subscribe notifications on a per client basis - Subscribe notifications on a per client basis
- Specify subtree filters or xpath filters so that only interested - Specify subtree filters or xpath filters so that only interested
contents will be sent. contents will be sent.
- Specify either periodic or on-demand notifications. - Specify either periodic or on-demand notifications.
6. Tree Structure 6. Guidance for Writing Technology Specific TE Topology Augmentations
module: ietf-te-topology The TE topology model defined in this document (basic TE topology
augment /nw:networks/nw:network/nw:network-types: model) is technology agnostic in a sense that it defines concepts,
+--rw te-topology! abstractions and attributes that are common across all or, at least,
augment /nw:networks: multiple network technologies and layer networks defined by them. It
+--rw te! is envisioned that the model will be widely used when defining
+--rw templates technology specific TE topology models for various layer networks,
+--rw node-template* [name] {template}? such as WDM, radio, ODUk, Ethernet and IP/MPLS. Writers of such
| +--rw name te-types:te-template- models are encouraged to augment the basic TE topology model's
name containers, such as TE Topology, TE Node, TE Link, Link Termination
| +--rw priority? uint16 Point (LTP), Tunnel Termination Point (TTP) and Label with the layer
| +--rw reference-change-policy? enumeration specific attributes instead of/before defining new containers. For
| +--rw te-node-attributes example, the tunability range and granularity of a WDM tunable
| +--rw admin-status? te-types:te-admin-status transponder could be defined by augmenting in the WDM TE topology
| +--rw domain-id? uint32 model the TTP container defined in the basic TE topology model.
| +--rw is-abstract? empty Likewise, supported wavelength grids and optical impairment s
| +--rw name? inet:domain-name information (e.g. OSNR contribution) of a WDM layer link could be
| +--rw signaling-address* inet:ip-address modeled via augmentation of the basic TE topology's TE link
| +--rw underlay-topology {te-topology-hierarchy}? container, B100 bandwidth units of the TDM/ODUk technology could be
| +--rw network-ref? leafref defined via augmenting the basic TE Topology Label container, local
+--rw link-template* [name] {template}? climate related information important for the radio network
+--rw name te-types:te-template- technologies could be modeled via augmenting the basic model's TE
name Topology container, and so forth. [YANG-TOPO-WSON], [YANG-TOPO-OTN],
+--rw priority? uint16 and [YANG-TOPO-L3TE] are such examples.
+--rw reference-change-policy? enumeration
+--rw te-link-attributes
+--rw access-type? te-types:te-
link-access-type
+--rw external-domain
| +--rw network-ref? leafref
| +--rw remote-te-node-id? te-types:te-node-id
| +--rw remote-te-link-tp-id? te-types:te-tp-id
| +--rw plug-id? uint32
+--rw is-abstract? empty
+--rw name? string
+--rw underlay {te-topology-hierarchy}?
| +--rw enabled? boolean
| +--rw primary-path
| | +--rw network-ref? leafref
| | +--rw path-element* [path-element-id]
| | +--rw path-element-id uint32
| | +--rw index? uint32
| | +--rw (type)?
| | +--:(numbered)
| | | +--rw numbered-hop
| | | +--rw address? te-types:te-tp-id
| | | +--rw hop-type? te-hop-type
| | +--:(as-number)
| | | +--rw as-number-hop
| | | +--rw as-number? binary
| | | +--rw hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--rw unnumbered-hop
| | | +--rw node-id? te-types:te-
node-id
| | | +--rw link-tp-id? te-types:te-tp-
id
| | | +--rw hop-type? te-hop-type
| | +--:(label)
| | | +--rw label-hop
| | | +--rw value? rt-types:generalized-
label
| | +--:(sid)
| | +--rw sid-hop
| | +--rw sid? rt-types:generalized-
label
| +--rw backup-path* [index]
| | +--rw index uint32
| | +--rw network-ref? leafref
| | +--rw path-element* [path-element-id]
| | +--rw path-element-id uint32
| | +--rw index? uint32
| | +--rw (type)?
| | +--:(numbered)
| | | +--rw numbered-hop
| | | +--rw address? te-types:te-tp-id
| | | +--rw hop-type? te-hop-type
| | +--:(as-number)
| | | +--rw as-number-hop
| | | +--rw as-number? binary
| | | +--rw hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--rw unnumbered-hop
| | | +--rw node-id? te-types:te-
node-id
| | | +--rw link-tp-id? te-types:te-tp-
id
| | | +--rw hop-type? te-hop-type
| | +--:(label)
| | | +--rw label-hop
| | | +--rw value? rt-types:generalized-
label
| | +--:(sid)
| | +--rw sid-hop
| | +--rw sid? rt-types:generalized-
label
| +--rw protection-type? identityref
| +--rw tunnel-termination-points
| | +--rw source? binary
| | +--rw destination? binary
| +--rw tunnels
| +--rw sharing? boolean
| +--rw tunnel* [tunnel-name]
| +--rw tunnel-name string
| +--rw sharing? boolean
+--rw admin-status? te-types:te-
admin-status
+--rw link-index? uint64
+--rw administrative-group? te-
types:admin-groups
+--rw interface-switching-capability* [switching-
capability encoding]
| +--rw switching-capability identityref
| +--rw encoding identityref
| +--rw max-lsp-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-
ieee-float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw label-restriction* [inclusive-exclusive label-
start]
| +--rw inclusive-exclusive enumeration
| +--rw label-start rt-types:generalized-
label
| +--rw label-end? rt-types:generalized-
label
| +--rw range-bitmap? binary
+--rw link-protection-type? enumeration
+--rw max-link-bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw max-resv-link-bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw unreserved-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-
ieee-float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw te-default-metric? uint32
+--rw te-delay-metric? uint32
+--rw te-igp-metric? uint32
+--rw te-srlgs
| +--rw value* te-types:srlg
+--rw te-nsrlgs {nsrlg}?
+--rw id* uint32
augment /nw:networks/nw:network:
+--rw provider-id? te-types:te-global-id
+--rw client-id? te-types:te-global-id
+--rw te-topology-id? te-types:te-topology-id
+--rw te!
+--rw preference? uint8
+--rw optimization-criterion? identityref
+--rw nsrlg* [id] {nsrlg}?
| +--rw id uint32
| +--rw disjointness? te-types:te-path-disjointness
+--ro geolocation
+--ro altitude? int64
+--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree
augment /nw:networks/nw:network/nw:node:
+--rw te-node-id? te-types:te-node-id
+--rw te!
+--rw te-node-template* leafref {template}?
+--rw te-node-attributes
| +--rw admin-status? te-types:te-admin-status
| +--rw connectivity-matrices
| | +--rw number-of-entries? uint16
| | +--rw label-restriction* [inclusive-exclusive label-
start]
| | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt-types:generalized-
label
| | | +--rw label-end? rt-types:generalized-
label
| | | +--rw range-bitmap? binary
| | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--rw enabled? boolean
| | | +--rw primary-path
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-node-id
| | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-label
| | | +--rw backup-path* [index]
| | | | +--rw index uint32
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-node-id
| | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-label
| | | +--rw protection-type? identityref
| | | +--rw tunnel-termination-points
| | | | +--rw source? binary
| | | | +--rw destination? binary
| | | +--rw tunnels
| | | +--rw sharing? boolean
| | | +--rw tunnel* [tunnel-name]
| | | +--rw tunnel-name string
| | | +--rw sharing? boolean
| | +--rw path-constraints
| | | +--rw path-metric-bound* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw upper-bound? uint64
| | | +--rw topology-id? te-types:te-topology-id
| | | +--rw ignore-overload? boolean
| | | +--rw bandwidth-generic
| | | | +--rw te-bandwidth
| | | | +--rw (technology)?
| | | | +--:(psc)
| | | | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | | | +--:(otn)
| | | | | +--rw otn* [rate-type]
| | | | | +--rw rate-type identityref
| | | | | +--rw counter? uint16
| | | | +--:(lsc)
| | | | | +--rw wdm* [spectrum slot]
| | | | | +--rw spectrum identityref
| | | | | +--rw slot int16
| | | | | +--rw width? uint16
| | | | +--:(generic)
| | | | +--rw generic? te-bandwidth
| | | +--rw disjointness? te-types:te-path-
disjointness
| | | +--rw setup-priority? uint8
| | | +--rw hold-priority? uint8
| | | +--rw signaling-type? identityref
| | | +--rw path-affinities
| | | | +--rw constraint* [usage]
| | | | +--rw usage identityref
| | | | +--rw value? admin-groups
| | | +--rw path-srlgs
| | | +--rw usage? identityref
| | | +--rw values* srlg
| | +--rw optimizations
| | | +--rw (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--rw optimization-metric* [metric-type]
| | | | | +--rw metric-type identityref
| | | | | +--rw weight? uint8
| | | | +--rw tiebreakers
| | | | +--rw tiebreaker* [tiebreaker-type]
| | | | +--rw tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--rw objective-function
| | | +--rw objective-function-type? identityref
| | +--ro computed-path-properties
| | | +--ro path-metric* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro accumulative-value? uint64
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | | +--ro usage? identityref
| | | | +--ro values* srlg
| | | +--ro path-computed-route-objects
| | | +--ro path-computed-route-object* [index]
| | | +--ro index uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--ro sid-hop
| | | +--ro sid? rt-types:generalized-label
| | +--rw connectivity-matrix* [id]
| | +--rw id uint32
| | +--rw from
| | | +--rw tp-ref? leafref
| | | +--rw label-restriction* [inclusive-exclusive
label-start]
| | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt-
types:generalized-label
| | | +--rw label-end? rt-
types:generalized-label
| | | +--rw range-bitmap? binary
| | +--rw to
| | | +--rw tp-ref? leafref
| | | +--rw label-restriction* [inclusive-exclusive
label-start]
| | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt-
types:generalized-label
| | | +--rw label-end? rt-
types:generalized-label
| | | +--rw range-bitmap? binary
| | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--rw enabled? boolean
| | | +--rw primary-path
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-
node-id
| | | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-
label
| | | +--rw backup-path* [index]
| | | | +--rw index uint32
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-
node-id
| | | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-
label
| | | +--rw protection-type? identityref
| | | +--rw tunnel-termination-points
| | | | +--rw source? binary
| | | | +--rw destination? binary
| | | +--rw tunnels
| | | +--rw sharing? boolean
| | | +--rw tunnel* [tunnel-name]
| | | +--rw tunnel-name string
| | | +--rw sharing? boolean
| | +--rw path-constraints
| | | +--rw path-metric-bound* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw upper-bound? uint64
| | | +--rw topology-id? te-types:te-topology-id
| | | +--rw ignore-overload? boolean
| | | +--rw bandwidth-generic
| | | | +--rw te-bandwidth
| | | | +--rw (technology)?
| | | | +--:(psc)
| | | | | +--rw psc? rt-types:bandwidth-
ieee-float32
| | | | +--:(otn)
| | | | | +--rw otn* [rate-type]
| | | | | +--rw rate-type identityref
| | | | | +--rw counter? uint16
| | | | +--:(lsc)
| | | | | +--rw wdm* [spectrum slot]
| | | | | +--rw spectrum identityref
| | | | | +--rw slot int16
| | | | | +--rw width? uint16
| | | | +--:(generic)
| | | | +--rw generic? te-bandwidth
| | | +--rw disjointness? te-types:te-path-
disjointness
| | | +--rw setup-priority? uint8
| | | +--rw hold-priority? uint8
| | | +--rw signaling-type? identityref
| | | +--rw path-affinities
| | | | +--rw constraint* [usage]
| | | | +--rw usage identityref
| | | | +--rw value? admin-groups
| | | +--rw path-srlgs
| | | +--rw usage? identityref
| | | +--rw values* srlg
| | +--rw optimizations
| | | +--rw (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--rw optimization-metric* [metric-type]
| | | | | +--rw metric-type identityref
| | | | | +--rw weight? uint8
| | | | +--rw tiebreakers
| | | | +--rw tiebreaker* [tiebreaker-type]
| | | | +--rw tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--rw objective-function
| | | +--rw objective-function-type?
identityref
| | +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-
node-id
| | | +--ro link-tp-id? te-types:te-tp-
id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-
label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-
label
| +--rw domain-id? uint32
| +--rw is-abstract? empty
| +--rw name? inet:domain-name
| +--rw signaling-address* inet:ip-address
| +--rw underlay-topology {te-topology-hierarchy}?
| +--rw network-ref? leafref
+--ro oper-status? te-types:te-oper-status
+--ro geolocation
| +--ro altitude? int64
| +--ro latitude? geographic-coordinate-degree
| +--ro longitude? geographic-coordinate-degree
+--ro is-multi-access-dr? empty
+--ro information-source? te-info-source
+--ro information-source-state
| +--ro credibility-preference? uint16
| +--ro logical-network-element? string
| +--ro network-instance? string
| +--ro topology
| +--ro node-ref? leafref
| +--ro network-ref? leafref
+--ro information-source-entry* [information-source]
| +--ro information-source te-info-source
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string
| | +--ro network-instance? string
| | +--ro topology
| | +--ro node-ref? leafref
| | +--ro network-ref? leafref
| +--ro connectivity-matrices
| | +--ro number-of-entries? uint16
| | +--ro label-restriction* [inclusive-exclusive label-
start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-types:generalized-
label
| | | +--ro label-end? rt-types:generalized-
label
| | | +--ro range-bitmap? binary
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-node-id
| | | | | +--ro link-tp-id? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-node-id
| | | | | +--ro link-tp-id? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-label
| | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels
| | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro path-constraints
| | | +--ro path-metric-bound* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro upper-bound? uint64
| | | +--ro topology-id? te-types:te-topology-id
| | | +--ro ignore-overload? boolean
| | | +--ro bandwidth-generic
| | | | +--ro te-bandwidth
| | | | +--ro (technology)?
| | | | +--:(psc)
| | | | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | | | +--:(otn)
| | | | | +--ro otn* [rate-type]
| | | | | +--ro rate-type identityref
| | | | | +--ro counter? uint16
| | | | +--:(lsc)
| | | | | +--ro wdm* [spectrum slot]
| | | | | +--ro spectrum identityref
| | | | | +--ro slot int16
| | | | | +--ro width? uint16
| | | | +--:(generic)
| | | | +--ro generic? te-bandwidth
| | | +--ro disjointness? te-types:te-path-
disjointness
| | | +--ro setup-priority? uint8
| | | +--ro hold-priority? uint8
| | | +--ro signaling-type? identityref
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro optimizations
| | | +--ro (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--ro optimization-metric* [metric-type]
| | | | | +--ro metric-type identityref
| | | | | +--ro weight? uint8
| | | | +--ro tiebreakers
| | | | +--ro tiebreaker* [tiebreaker-type]
| | | | +--ro tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--ro objective-function
| | | +--ro objective-function-type? identityref
| | +--ro computed-path-properties
| | | +--ro path-metric* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro accumulative-value? uint64
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | | +--ro usage? identityref
| | | | +--ro values* srlg
| | | +--ro path-computed-route-objects
| | | +--ro path-computed-route-object* [index]
| | | +--ro index uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--ro sid-hop
| | | +--ro sid? rt-types:generalized-label
| | +--ro connectivity-matrix* [id]
| | +--ro id uint32
| | +--ro from
| | | +--ro tp-ref? leafref
| | | +--ro label-restriction* [inclusive-exclusive
label-start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-
types:generalized-label
| | | +--ro label-end? rt-
types:generalized-label
| | | +--ro range-bitmap? binary
| | +--ro to
| | | +--ro tp-ref? leafref
| | | +--ro label-restriction* [inclusive-exclusive
label-start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-
types:generalized-label
| | | +--ro label-end? rt-
types:generalized-label
| | | +--ro range-bitmap? binary
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-
node-id
| | | | | +--ro link-tp-id? te-types:te-tp-
id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-
node-id
| | | | | +--ro link-tp-id? te-types:te-tp-
id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels
| | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro path-constraints
| | | +--ro path-metric-bound* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro upper-bound? uint64
| | | +--ro topology-id? te-types:te-topology-id
| | | +--ro ignore-overload? boolean
| | | +--ro bandwidth-generic
| | | | +--ro te-bandwidth
| | | | +--ro (technology)?
| | | | +--:(psc)
| | | | | +--ro psc? rt-types:bandwidth-
ieee-float32
| | | | +--:(otn)
| | | | | +--ro otn* [rate-type]
| | | | | +--ro rate-type identityref
| | | | | +--ro counter? uint16
| | | | +--:(lsc)
| | | | | +--ro wdm* [spectrum slot]
| | | | | +--ro spectrum identityref
| | | | | +--ro slot int16
| | | | | +--ro width? uint16
| | | | +--:(generic)
| | | | +--ro generic? te-bandwidth
| | | +--ro disjointness? te-types:te-path-
disjointness
| | | +--ro setup-priority? uint8
| | | +--ro hold-priority? uint8
| | | +--ro signaling-type? identityref
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro optimizations
| | | +--ro (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--ro optimization-metric* [metric-type]
| | | | | +--ro metric-type identityref
| | | | | +--ro weight? uint8
| | | | +--ro tiebreakers
| | | | +--ro tiebreaker* [tiebreaker-type]
| | | | +--ro tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--ro objective-function
| | | +--ro objective-function-type?
identityref
| | +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-
node-id
| | | +--ro link-tp-id? te-types:te-tp-
id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-
label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-
label
| +--ro domain-id? uint32
| +--ro is-abstract? empty
| +--ro name? inet:domain-name
| +--ro signaling-address* inet:ip-address
| +--ro underlay-topology {te-topology-hierarchy}?
| +--ro network-ref? leafref
+--ro statistics
| +--ro discontinuity-time yang:date-and-time
| +--ro node
| | +--ro disables? yang:counter32
| | +--ro enables? yang:counter32
| | +--ro maintenance-sets? yang:counter32
| | +--ro maintenance-clears? yang:counter32
| | +--ro modifies? yang:counter32
| +--ro connectivity-matrix-entry
| +--ro creates? yang:counter32
| +--ro deletes? yang:counter32
| +--ro disables? yang:counter32
| +--ro enables? yang:counter32
| +--ro modifies? yang:counter32
+--rw tunnel-termination-point* [tunnel-tp-id]
+--rw tunnel-tp-id binary
+--rw admin-status? te-types:te-
admin-status
+--rw name? string
+--rw switching-capability? identityref
+--rw encoding? identityref
+--rw inter-layer-lock-id* uint32
+--rw protection-type? identityref
+--rw client-layer-adaptation
| +--rw switching-capability* [switching-capability
encoding]
| +--rw switching-capability identityref
| +--rw encoding identityref
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw local-link-connectivities
| +--rw number-of-entries? uint16
| +--rw label-restriction* [inclusive-exclusive label-
start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-
label
| | +--rw label-end? rt-types:generalized-
label
| | +--rw range-bitmap? binary
| +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw path-constraints
| | +--rw path-metric-bound* [metric-type]
| | | +--rw metric-type identityref
| | | +--rw upper-bound? uint64
| | +--rw topology-id? te-types:te-topology-id
| | +--rw ignore-overload? boolean
| | +--rw bandwidth-generic
| | | +--rw te-bandwidth
| | | +--rw (technology)?
| | | +--:(psc)
| | | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | | +--:(otn)
| | | | +--rw otn* [rate-type]
| | | | +--rw rate-type identityref
| | | | +--rw counter? uint16
| | | +--:(lsc)
| | | | +--rw wdm* [spectrum slot]
| | | | +--rw spectrum identityref
| | | | +--rw slot int16
| | | | +--rw width? uint16
| | | +--:(generic)
| | | +--rw generic? te-bandwidth
| | +--rw disjointness? te-types:te-path-
disjointness
| | +--rw setup-priority? uint8
| | +--rw hold-priority? uint8
| | +--rw signaling-type? identityref
| | +--rw path-affinities
| | | +--rw constraint* [usage]
| | | +--rw usage identityref
| | | +--rw value? admin-groups
| | +--rw path-srlgs
| | +--rw usage? identityref
| | +--rw values* srlg
| +--rw optimizations
| | +--rw (algorithm)?
| | +--:(metric) {path-optimization-metric}?
| | | +--rw optimization-metric* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw weight? uint8
| | | +--rw tiebreakers
| | | +--rw tiebreaker* [tiebreaker-type]
| | | +--rw tiebreaker-type identityref
| | +--:(objective-function) {path-optimization-
objective-function}?
| | +--rw objective-function
| | +--rw objective-function-type? identityref
| +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-
label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-label
| +--rw local-link-connectivity* [link-tp-ref]
| +--rw link-tp-ref leafref
| +--rw label-restriction* [inclusive-exclusive label-
start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-
label
| | +--rw label-end? rt-types:generalized-
label
| | +--rw range-bitmap? binary
| +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-
node-id
| | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-
label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-
node-id
| | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-
label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw path-constraints
| | +--rw path-metric-bound* [metric-type]
| | | +--rw metric-type identityref
| | | +--rw upper-bound? uint64
| | +--rw topology-id? te-types:te-topology-id
| | +--rw ignore-overload? boolean
| | +--rw bandwidth-generic
| | | +--rw te-bandwidth
| | | +--rw (technology)?
| | | +--:(psc)
| | | | +--rw psc? rt-types:bandwidth-
ieee-float32
| | | +--:(otn)
| | | | +--rw otn* [rate-type]
| | | | +--rw rate-type identityref
| | | | +--rw counter? uint16
| | | +--:(lsc)
| | | | +--rw wdm* [spectrum slot]
| | | | +--rw spectrum identityref
| | | | +--rw slot int16
| | | | +--rw width? uint16
| | | +--:(generic)
| | | +--rw generic? te-bandwidth
| | +--rw disjointness? te-types:te-path-
disjointness
| | +--rw setup-priority? uint8
| | +--rw hold-priority? uint8
| | +--rw signaling-type? identityref
| | +--rw path-affinities
| | | +--rw constraint* [usage]
| | | +--rw usage identityref
| | | +--rw value? admin-groups
| | +--rw path-srlgs
| | +--rw usage? identityref
| | +--rw values* srlg
| +--rw optimizations
| | +--rw (algorithm)?
| | +--:(metric) {path-optimization-metric}?
| | | +--rw optimization-metric* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw weight? uint8
| | | +--rw tiebreakers
| | | +--rw tiebreaker* [tiebreaker-type]
| | | +--rw tiebreaker-type identityref
| | +--:(objective-function) {path-optimization-
objective-function}?
| | +--rw objective-function
| | +--rw objective-function-type?
identityref
| +--ro computed-path-properties
| +--ro path-metric* [metric-type]
| | +--ro metric-type identityref
| | +--ro accumulative-value? uint64
| +--ro path-affinities
| | +--ro constraint* [usage]
| | +--ro usage identityref
| | +--ro value? admin-groups
| +--ro path-srlgs
| | +--ro usage? identityref
| | +--ro values* srlg
| +--ro path-computed-route-objects
| +--ro path-computed-route-object* [index]
| +--ro index uint32
| +--ro (type)?
| +--:(numbered)
| | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(as-number)
| | +--ro as-number-hop
| | +--ro as-number? binary
| | +--ro hop-type? te-hop-type
| +--:(unnumbered)
| | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-
node-id
| | +--ro link-tp-id? te-types:te-tp-
id
| | +--ro hop-type? te-hop-type
| +--:(label)
| | +--ro label-hop
| | +--ro value? rt-types:generalized-
label
| +--:(sid)
| +--ro sid-hop
| +--ro sid? rt-types:generalized-
label
+--ro oper-status? te-types:te-
oper-status
+--ro geolocation
| +--ro altitude? int64
| +--ro latitude? geographic-coordinate-degree
| +--ro longitude? geographic-coordinate-degree
+--ro statistics
| +--ro discontinuity-time yang:date-and-time
| +--ro tunnel-termination-point
| | +--ro disables? yang:counter32
| | +--ro enables? yang:counter32
| | +--ro maintenance-clears? yang:counter32
| | +--ro maintenance-sets? yang:counter32
| | +--ro modifies? yang:counter32
| | +--ro downs? yang:counter32
| | +--ro ups? yang:counter32
| | +--ro in-service-clears? yang:counter32
| | +--ro in-service-sets? yang:counter32
| +--ro local-link-connectivity
| +--ro creates? yang:counter32
| +--ro deletes? yang:counter32
| +--ro disables? yang:counter32
| +--ro enables? yang:counter32
| +--ro modifies? yang:counter32
+--rw supporting-tunnel-termination-point* [node-ref tunnel-
tp-ref]
+--rw node-ref inet:uri
+--rw tunnel-tp-ref binary
augment /nw:networks/nw:network/nt:link:
+--rw te!
+--rw (bundle-stack-level)?
| +--:(bundle)
| | +--rw bundled-links
| | +--rw bundled-link* [sequence]
| | +--rw sequence uint32
| | +--rw src-tp-ref? leafref
| | +--rw des-tp-ref? leafref
| +--:(component)
| +--rw component-links
| +--rw component-link* [sequence]
| +--rw sequence uint32
| +--rw src-interface-ref? string
| +--rw des-interface-ref? string
+--rw te-link-template* leafref {template}?
+--rw te-link-attributes
| +--rw access-type? te-types:te-link-
access-type
| +--rw external-domain
| | +--rw network-ref? leafref
| | +--rw remote-te-node-id? te-types:te-node-id
| | +--rw remote-te-link-tp-id? te-types:te-tp-id
| | +--rw plug-id? uint32
| +--rw is-abstract? empty
| +--rw name? string
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw admin-status? te-types:te-admin-
status
| +--rw link-index? uint64
| +--rw administrative-group? te-types:admin-
groups
| +--rw interface-switching-capability* [switching-capability
encoding]
| | +--rw switching-capability identityref
| | +--rw encoding identityref
| | +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw label-restriction* [inclusive-exclusive label-start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-label
| | +--rw label-end? rt-types:generalized-label
| | +--rw range-bitmap? binary
| +--rw link-protection-type? enumeration
| +--rw max-link-bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw max-resv-link-bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw unreserved-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32
| +--rw te-igp-metric? uint32
| +--rw te-srlgs
| | +--rw value* te-types:srlg
| +--rw te-nsrlgs {nsrlg}?
| +--rw id* uint32
+--ro oper-status? te-types:te-oper-status
+--ro is-transitional? empty
+--ro information-source? te-info-source
+--ro information-source-state
| +--ro credibility-preference? uint16
| +--ro logical-network-element? string
| +--ro network-instance? string
| +--ro topology
| +--ro link-ref? leafref
| +--ro network-ref? leafref
+--ro information-source-entry* [information-source]
| +--ro information-source te-info-source
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string
| | +--ro network-instance? string
| | +--ro topology
| | +--ro link-ref? leafref
| | +--ro network-ref? leafref
| +--ro link-index? uint64
| +--ro administrative-group? te-types:admin-
groups
| +--ro interface-switching-capability* [switching-capability
encoding]
| | +--ro switching-capability identityref
| | +--ro encoding identityref
| | +--ro max-lsp-bandwidth* [priority]
| | +--ro priority uint8
| | +--ro bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro label-restriction* [inclusive-exclusive label-start]
| | +--ro inclusive-exclusive enumeration
| | +--ro label-start rt-types:generalized-label
| | +--ro label-end? rt-types:generalized-label
| | +--ro range-bitmap? binary
| +--ro link-protection-type? enumeration
| +--ro max-link-bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro max-resv-link-bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro unreserved-bandwidth* [priority]
| | +--ro priority uint8
| | +--ro bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro te-default-metric? uint32
| +--ro te-delay-metric? uint32
| +--ro te-igp-metric? uint32
| +--ro te-srlgs
| | +--ro value* te-types:srlg
| +--ro te-nsrlgs {nsrlg}?
| +--ro id* uint32
+--ro recovery
| +--ro restoration-status? te-types:te-recovery-status
| +--ro protection-status? te-types:te-recovery-status
+--ro underlay {te-topology-hierarchy}?
| +--ro dynamic? boolean
| +--ro committed? boolean
+--ro statistics
+--ro discontinuity-time yang:date-and-time
+--ro disables? yang:counter32
+--ro enables? yang:counter32
+--ro maintenance-clears? yang:counter32
+--ro maintenance-sets? yang:counter32
+--ro modifies? yang:counter32
+--ro downs? yang:counter32
+--ro ups? yang:counter32
+--ro fault-clears? yang:counter32
+--ro fault-detects? yang:counter32
+--ro protection-switches? yang:counter32
+--ro protection-reverts? yang:counter32
+--ro restoration-failures? yang:counter32
+--ro restoration-starts? yang:counter32
+--ro restoration-successes? yang:counter32
+--ro restoration-reversion-failures? yang:counter32
+--ro restoration-reversion-starts? yang:counter32
+--ro restoration-reversion-successes? yang:counter32
augment /nw:networks/nw:network/nw:node/nt:termination-point:
+--rw te-tp-id? te-types:te-tp-id
+--rw te!
+--rw admin-status? te-types:te-admin-
status
+--rw name? string
+--rw interface-switching-capability* [switching-capability
encoding]
| +--rw switching-capability identityref
| +--rw encoding identityref
| +--rw max-lsp-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw inter-layer-lock-id* uint32
+--ro oper-status? te-types:te-oper-status
+--ro geolocation
+--ro altitude? int64
+--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree
7. TE Topology Yang Module 7. TE Topology Yang Module
<CODE BEGINS> file "ietf-te-topology@2017-07-12.yang" <CODE BEGINS> file "ietf-te-topology@2017-10-25.yang"
module ietf-te-topology { module ietf-te-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology";
prefix "tet"; prefix "tet";
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
} }
skipping to change at page 69, line 30 skipping to change at page 34, line 16
<mailto:tsaad@cisco.com> <mailto:tsaad@cisco.com>
Editor: Himanshu Shah Editor: Himanshu Shah
<mailto:hshah@ciena.com> <mailto:hshah@ciena.com>
Editor: Oscar Gonzalez De Dios Editor: Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>"; <mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology model"; description "TE topology model";
revision "2017-07-12" { revision "2017-10-25" {
description "Initial revision"; description "Initial revision";
reference "RFC XXXX: YANG Data Model for TE Topologies"; reference "RFC XXXX: YANG Data Model for TE Topologies";
// RFC Ed.: replace XXXX with actual RFC number and remove // RFC Ed.: replace XXXX with actual RFC number and remove
// this note // this note
} }
/* /*
* Features * Features
*/ */
feature nsrlg { feature nsrlg {
skipping to change at page 86, line 43 skipping to change at page 51, line 27
remote-te-link-id to identify the remote link remote-te-link-id to identify the remote link
termination point in a different domain."; termination point in a different domain.";
} }
leaf remote-te-link-tp-id { leaf remote-te-link-tp-id {
type te-types:te-tp-id; type te-types:te-tp-id;
description description
"Remote TE link termination point identifier, used "Remote TE link termination point identifier, used
together with remote-te-node-id to identify the remote together with remote-te-node-id to identify the remote
link termination point in a different domain."; link termination point in a different domain.";
} }
leaf plug-id {
type uint32;
description
"A topology-wide unique number that identifies on the
network a connectivity supporting a given inter-domain
TE link. This is more flexible alternative to specifying
remote-te-node-id and remote-te-link-tp-id, when the
provider does not know remote-te-node-id and
remote-te-link-tp-id or need to give client the
flexibility to mix-n-match multiple topologies.";
}
} }
leaf is-abstract { leaf is-abstract {
type empty; type empty;
description "Present if the link is abstract."; description "Present if the link is abstract.";
} }
leaf name { leaf name {
type string; type string;
description "Link Name."; description "Link Name.";
} }
container underlay { container underlay {
skipping to change at page 95, line 4 skipping to change at page 59, line 19
list path-element { list path-element {
key "path-element-id"; key "path-element-id";
description description
"A list of path elements describing the backup service "A list of path elements describing the backup service
path"; path";
leaf path-element-id { leaf path-element-id {
type uint32; type uint32;
description "To identify the element in a path."; description "To identify the element in a path.";
} }
uses te-path-element; uses te-path-element;
} }
} // underlay-backup-path } // underlay-backup-path
leaf protection-type { leaf protection-type {
type identityref { type identityref {
base te-types:lsp-prot-type; base te-types:lsp-protection-type;
} }
description description
"Underlay protection type desired for this link."; "Underlay protection type desired for this link.";
} }
container tunnel-termination-points { container tunnel-termination-points {
description description
"Underlay TTP(Tunnel Termination Points) desired for this "Underlay TTP(Tunnel Termination Points) desired for this
link."; link.";
leaf source { leaf source {
type binary; type binary;
skipping to change at page 101, line 13 skipping to change at page 65, line 28
RFC5316: ISIS Extensions in Support of Inter-Autonomous RFC5316: ISIS Extensions in Support of Inter-Autonomous
System (AS) MPLS and GMPLS Traffic Engineering."; System (AS) MPLS and GMPLS Traffic Engineering.";
} }
leaf is-abstract { leaf is-abstract {
type empty; type empty;
description description
"Present if the node is abstract, not present if the node "Present if the node is abstract, not present if the node
is actual."; is actual.";
} }
leaf name { leaf name {
type inet:domain-name; type string;
description "Node name."; description "Node name.";
} }
leaf-list signaling-address { leaf-list signaling-address {
type inet:ip-address; type inet:ip-address;
description "Node signaling address."; description "Node signaling address.";
} }
container underlay-topology { container underlay-topology {
if-feature te-topology-hierarchy; if-feature te-topology-hierarchy;
description description
"When an abstract node encapsulates a topology, "When an abstract node encapsulates a topology,
skipping to change at page 104, line 5 skipping to change at page 68, line 20
"Inter layer lock ID, used for path computation in a TE "Inter layer lock ID, used for path computation in a TE
topology covering multiple layers or multiple regions."; topology covering multiple layers or multiple regions.";
reference reference
"RFC5212: Requirements for GMPLS-Based Multi-Region and "RFC5212: Requirements for GMPLS-Based Multi-Region and
Multi-Layer Networks (MRN/MLN). Multi-Layer Networks (MRN/MLN).
RFC6001: Generalized MPLS (GMPLS) Protocol Extensions RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN)."; for Multi-Layer and Multi-Region Networks (MLN/MRN).";
} }
leaf protection-type { leaf protection-type {
type identityref { type identityref {
base te-types:lsp-prot-type; base te-types:lsp-protection-type;
} }
description description
"The protection type that this tunnel termination point "The protection type that this tunnel termination point
is capable of."; is capable of.";
} }
container client-layer-adaptation { container client-layer-adaptation {
description description
"Containing capability information to support a client layer "Containing capability information to support a client layer
adaption in multi-layer topology."; adaption in multi-layer topology.";
skipping to change at page 106, line 44 skipping to change at page 71, line 18
type te-types:te-admin-status; type te-types:te-admin-status;
description description
"The administrative state of the link termination point."; "The administrative state of the link termination point.";
} }
leaf name { leaf name {
type string; type string;
description description
"A descriptive name for the link termination point."; "A descriptive name for the link termination point.";
} }
uses interface-switching-capability-list; uses interface-switching-capability-list;
leaf inter-domain-plug-id {
type binary;
description
"A topology-wide unique number that identifies on the
network a connectivity supporting a given inter-domain
TE link. This is more flexible alternative to specifying
remote-te-node-id and remote-te-link-tp-id on a TE link,
when the provider does not know remote-te-node-id and
remote-te-link-tp-id or need to give client the
flexibility to mix-n-match multiple topologies.";
}
leaf-list inter-layer-lock-id { leaf-list inter-layer-lock-id {
type uint32; type uint32;
description description
"Inter layer lock ID, used for path computation in a TE "Inter layer lock ID, used for path computation in a TE
topology covering multiple layers or multiple regions."; topology covering multiple layers or multiple regions.";
reference reference
"RFC5212: Requirements for GMPLS-Based Multi-Region and "RFC5212: Requirements for GMPLS-Based Multi-Region and
Multi-Layer Networks (MRN/MLN). Multi-Layer Networks (MRN/MLN).
RFC6001: Generalized MPLS (GMPLS) Protocol Extensions RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN)."; for Multi-Layer and Multi-Region Networks (MLN/MRN).";
skipping to change at page 109, line 15 skipping to change at page 73, line 42
"Indicates TE support."; "Indicates TE support.";
uses te-topology-config; uses te-topology-config;
uses geolocation-container; uses geolocation-container;
} // te } // te
} // te-topology-augment } // te-topology-augment
grouping te-topology-config { grouping te-topology-config {
description description
"TE topology configuration grouping."; "TE topology configuration grouping.";
leaf name {
type string;
description
"Name of the TE topology. This attribute is optional and can
be specified by the operator to describe the TE topology,
which can be useful when network-id is not descriptive
and not modifiable because of being generated by the
system.";
}
leaf preference { leaf preference {
type uint8 { type uint8 {
range "1..255"; range "1..255";
} }
description description
"Specifies a preference for this topology. A lower number "Specifies a preference for this topology. A lower number
indicates a higher preference."; indicates a higher preference.";
} }
leaf optimization-criterion { leaf optimization-criterion {
type identityref { type identityref {
skipping to change at page 115, line 43 skipping to change at page 80, line 36
[RFC3688]. Following the format in [RFC3688], the following [RFC3688]. Following the format in [RFC3688], the following
registration is requested to be made. registration is requested to be made.
URI: urn:ietf:params:xml:ns:yang:ietf-te-topology URI: urn:ietf:params:xml:ns:yang:ietf-te-topology
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-state URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-state
XML: N/A, the requested URI is an XML namespace. XML: N/A, the requested URI is an XML namespace.
This document registers a YANG module in the YANG Module Names This document registers a YANG module in the YANG Module Names
registry [RFC6020]. registry [RFC7950].
name: ietf-te-topology name: ietf-te-topology
namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology
prefix: tet prefix: tet
name: ietf-te-topology-state name: ietf-te-topology-state
namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-state namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-state
prefix: tet-s prefix: tet-s
10. References 10. References
10.1. Normative References 10.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, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
skipping to change at page 116, line 18 skipping to change at page 81, line 15
10. References 10. References
10.1. Normative References 10.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, March 1997. Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688,
January 2004. January 2004.
[RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the [RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching
Network Configuration Protocol (NETCONF)", RFC 6020, (GMPLS) Architecture", October 2004.
October 2010.
[RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991,
July 2013. July 2013.
[RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling
(GMPLS) Architecture", October 2004. Language", RFC 7950, August 2016.
[YANG-NET-TOPO] Clemm, A., "A Data Model for Network Topologies", [YANG-NET-TOPO] Clemm, A., "A Data Model for Network Topologies",
draft-ietf-i2rs-yang-network-topo (Work in Progress). draft-ietf-i2rs-yang-network-topo (Work in Progress),
October 2017.
[YANG-PUSH] Clemm, A., "Subscribing to YANG datastore push updates", [YANG-PUSH] Clemm, A., "Subscribing to YANG datastore push updates",
draft-clemm-netconf-yang-push (Work in Progress). draft-ietf-netconf-yang-push (work in progress), October
2017.
[RFC5277bis] Clemm, A., "Subscribing to Event Notifications",
draft-ietf-netconf-rfc5277bis (Work in Progress).
[YANG-SCHEDULE] Liu, X., "A YANG Data Model for Configuration [NETCONF-NOTIF] Voit, E., "Custom Subscription to Event
Scheduling", draft-liu-netmod-yang-schedule (Work in Notifications", draft-ietf-netconf-subscribed-
Progress). notifications-05 (work in progress), October 2017.
[YANG-NMDA] Bjorklund, M., Schoenwaelder, J., Shafer, P., [YANG-NMDA] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K.,
Watsen, K., and R. Wilton, "Network Management Datastore and R. Wilton, "Network Management Datastore
Architecture", draft-ietf-netmod-revised-datastores (Work Architecture", draft-ietf-netmod-revised-datastores (Work
in Progress). in Progress), August 2017.
10.2. Informative References 10.2. Informative References
[G.709] ITU-T, "Interfaces for the optical transport network",
ITU-T Recommendation G.709, June 2016.
[G.805] ITU-T, "Generic functional architecture of transport
networks", ITU-T Recommendation G.805, March 2000.
[G.872] ITU-T, "Architecture of optical transport networks", ITU-
T Recommendation G.872, January 2017.
[G.8080] ITU-T, "Architecture for the automatically switched
optical network", ITU-T Recommendation G.8080, February
2012.
[RFC2702] Awduche, D., "Requirements for Traffic Engineering Over [RFC2702] Awduche, D., "Requirements for Traffic Engineering Over
MPLS", RFC 2702, September 1999. MPLS", RFC 2702, September 1999.
[YANG-TREE] Bjorklund, M. and L. Berger, "YANG Tree Diagrams", draft-
ietf-netmod-yang-tree-diagrams (work in progress), June
2017.
[YANG-SCHEDULE] Liu, X., "A YANG Data Model for Configuration
Scheduling", draft-liu-netmod-yang-schedule (Work in
Progress), September 2017.
[YANG-TOPO-WSON] Lee, Y., "A Yang Data Model for WSON Optical
Networks", draft-ietf-ccamp-wson-yang, (work in
progress), October 2017.
[YANG-TOPO-OTN] Zheng, H., "A YANG Data Model for Optical Transport
Network Topology", draft-ietf-ccamp-otn-topo-yang-01,
work in progress), September 2017.
[YANG-TOPO-L3TE] Liu, X., "YANG Data Model for Layer 3 TE
Topologies", draft-liu-teas-yang-l3-te-topo, (work in
progress), July 2017.
11. Acknowledgments 11. Acknowledgments
The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam, The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam,
Cyril Margaria and Zafar Ali for participating in design discussions Cyril Margaria and Zafar Ali for participating in design discussions
and providing valuable insights. and providing valuable insights.
Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations Appendix A. Complete Model Tree Structure
module: ietf-te-topology
augment /nw:networks/nw:network/nw:network-types:
+--rw te-topology!
augment /nw:networks:
+--rw te!
+--rw templates
+--rw node-template* [name] {template}?
| +--rw name te-types:te-template-
name
| +--rw priority? uint16
| +--rw reference-change-policy? enumeration
| +--rw te-node-attributes
| +--rw admin-status? te-types:te-admin-status
| +--rw domain-id? uint32
| +--rw is-abstract? empty
| +--rw name? string
| +--rw signaling-address* inet:ip-address
| +--rw underlay-topology {te-topology-hierarchy}?
| +--rw network-ref? ->
/nw:networks/network/network-id
+--rw link-template* [name] {template}?
+--rw name te-types:te-template-
name
+--rw priority? uint16
+--rw reference-change-policy? enumeration
+--rw te-link-attributes
+--rw access-type? te-types:te-
link-access-type
+--rw external-domain
| +--rw network-ref? ->
/nw:networks/network/network-id
| +--rw remote-te-node-id? te-types:te-node-id
| +--rw remote-te-link-tp-id? te-types:te-tp-id
+--rw is-abstract? empty
+--rw name? string
+--rw underlay {te-topology-hierarchy}?
| +--rw enabled? boolean
| +--rw primary-path
| | +--rw network-ref? ->
/nw:networks/network/network-id
| | +--rw path-element* [path-element-id]
| | +--rw path-element-id uint32
| | +--rw index? uint32
| | +--rw (type)?
| | +--:(numbered)
| | | +--rw numbered-hop
| | | +--rw address? te-types:te-tp-id
| | | +--rw hop-type? te-hop-type
| | +--:(as-number)
| | | +--rw as-number-hop
| | | +--rw as-number? binary
| | | +--rw hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--rw unnumbered-hop
| | | +--rw node-id? te-types:te-
node-id
| | | +--rw link-tp-id? te-types:te-tp-
id
| | | +--rw hop-type? te-hop-type
| | +--:(label)
| | | +--rw label-hop
| | | +--rw value? rt-
types:generalized-label
| | +--:(sid)
| | +--rw sid-hop
| | +--rw sid? rt-types:generalized-
label
| +--rw backup-path* [index]
| | +--rw index uint32
| | +--rw network-ref? ->
/nw:networks/network/network-id
| | +--rw path-element* [path-element-id]
| | +--rw path-element-id uint32
| | +--rw index? uint32
| | +--rw (type)?
| | +--:(numbered)
| | | +--rw numbered-hop
| | | +--rw address? te-types:te-tp-id
| | | +--rw hop-type? te-hop-type
| | +--:(as-number)
| | | +--rw as-number-hop
| | | +--rw as-number? binary
| | | +--rw hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--rw unnumbered-hop
| | | +--rw node-id? te-types:te-
node-id
| | | +--rw link-tp-id? te-types:te-tp-
id
| | | +--rw hop-type? te-hop-type
| | +--:(label)
| | | +--rw label-hop
| | | +--rw value? rt-
types:generalized-label
| | +--:(sid)
| | +--rw sid-hop
| | +--rw sid? rt-types:generalized-
label
| +--rw protection-type? identityref
| +--rw tunnel-termination-points
| | +--rw source? binary
| | +--rw destination? binary
| +--rw tunnels
| +--rw sharing? boolean
| +--rw tunnel* [tunnel-name]
| +--rw tunnel-name string
| +--rw sharing? boolean
+--rw admin-status? te-types:te-
admin-status
+--rw link-index? uint64
+--rw administrative-group? te-
types:admin-groups
+--rw interface-switching-capability* [switching-
capability encoding]
| +--rw switching-capability identityref
| +--rw encoding identityref
| +--rw max-lsp-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-
types:bandwidth-ieee-float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw label-restriction* [inclusive-exclusive label-
start]
| +--rw inclusive-exclusive enumeration
| +--rw label-start rt-types:generalized-
label
| +--rw label-end? rt-types:generalized-
label
| +--rw range-bitmap? binary
+--rw link-protection-type? enumeration
+--rw max-link-bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw max-resv-link-bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw unreserved-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-
ieee-float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw te-default-metric? uint32
+--rw te-delay-metric? uint32
+--rw te-igp-metric? uint32
+--rw te-srlgs
| +--rw value* te-types:srlg
+--rw te-nsrlgs {nsrlg}?
+--rw id* uint32
augment /nw:networks/nw:network:
+--rw provider-id? te-types:te-global-id
+--rw client-id? te-types:te-global-id
+--rw te-topology-id? te-types:te-topology-id
+--rw te!
+--rw name? string
+--rw preference? uint8
+--rw optimization-criterion? identityref
+--rw nsrlg* [id] {nsrlg}?
| +--rw id uint32
| +--rw disjointness? te-types:te-path-disjointness
+--ro geolocation
+--ro altitude? int64
+--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree
augment /nw:networks/nw:network/nw:node:
+--rw te-node-id? te-types:te-node-id
+--rw te!
+--rw te-node-template* ->
../../../../te/templates/node-template/name {template}?
+--rw te-node-attributes
| +--rw admin-status? te-types:te-admin-status
| +--rw connectivity-matrices
| | +--rw number-of-entries? uint16
| | +--rw label-restriction* [inclusive-exclusive label-
start]
| | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt-types:generalized-
label
| | | +--rw label-end? rt-types:generalized-
label
| | | +--rw range-bitmap? binary
| | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--rw enabled? boolean
| | | +--rw primary-path
| | | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-node-
id
| | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-
label
| | | +--rw backup-path* [index]
| | | | +--rw index uint32
| | | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-node-
id
| | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-
label
| | | +--rw protection-type? identityref
| | | +--rw tunnel-termination-points
| | | | +--rw source? binary
| | | | +--rw destination? binary
| | | +--rw tunnels
| | | +--rw sharing? boolean
| | | +--rw tunnel* [tunnel-name]
| | | +--rw tunnel-name string
| | | +--rw sharing? boolean
| | +--rw path-constraints
| | | +--rw path-metric-bound* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw upper-bound? uint64
| | | +--rw topology-id? te-types:te-topology-id
| | | +--rw bandwidth-generic
| | | | +--rw te-bandwidth
| | | | +--rw (technology)?
| | | | +--:(psc)
| | | | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | | | +--:(otn)
| | | | | +--rw otn* [rate-type]
| | | | | +--rw rate-type identityref
| | | | | +--rw counter? uint16
| | | | +--:(lsc)
| | | | | +--rw wdm* [spectrum slot]
| | | | | +--rw spectrum identityref
| | | | | +--rw slot int16
| | | | | +--rw width? uint16
| | | | +--:(generic)
| | | | +--rw generic? te-bandwidth
| | | +--rw disjointness? te-types:te-path-
disjointness
| | | +--rw setup-priority? uint8
| | | +--rw hold-priority? uint8
| | | +--rw signaling-type? identityref
| | | +--rw path-affinities
| | | | +--rw constraint* [usage]
| | | | +--rw usage identityref
| | | | +--rw value? admin-groups
| | | +--rw path-srlgs
| | | +--rw usage? identityref
| | | +--rw values* srlg
| | +--rw optimizations
| | | +--rw (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--rw optimization-metric* [metric-type]
| | | | | +--rw metric-type identityref
| | | | | +--rw weight? uint8
| | | | +--rw tiebreakers
| | | | +--rw tiebreaker* [tiebreaker-type]
| | | | +--rw tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--rw objective-function
| | | +--rw objective-function-type? identityref
| | +--ro computed-path-properties
| | | +--ro path-metric* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro accumulative-value? uint64
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | | +--ro usage? identityref
| | | | +--ro values* srlg
| | | +--ro path-computed-route-objects
| | | +--ro path-computed-route-object* [index]
| | | +--ro index uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-
id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--ro sid-hop
| | | +--ro sid? rt-types:generalized-
label
| | +--rw connectivity-matrix* [id]
| | +--rw id uint32
| | +--rw from
| | | +--rw tp-ref? ->
../../../../../../nt:termination-point/tp-id
| | | +--rw label-restriction* [inclusive-exclusive
label-start]
| | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt-
types:generalized-label
| | | +--rw label-end? rt-
types:generalized-label
| | | +--rw range-bitmap? binary
| | +--rw to
| | | +--rw tp-ref? ->
../../../../../../nt:termination-point/tp-id
| | | +--rw label-restriction* [inclusive-exclusive
label-start]
| | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt-
types:generalized-label
| | | +--rw label-end? rt-
types:generalized-label
| | | +--rw range-bitmap? binary
| | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--rw enabled? boolean
| | | +--rw primary-path
| | | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-
node-id
| | | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-
label
| | | +--rw backup-path* [index]
| | | | +--rw index uint32
| | | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-
node-id
| | | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-
label
| | | +--rw protection-type? identityref
| | | +--rw tunnel-termination-points
| | | | +--rw source? binary
| | | | +--rw destination? binary
| | | +--rw tunnels
| | | +--rw sharing? boolean
| | | +--rw tunnel* [tunnel-name]
| | | +--rw tunnel-name string
| | | +--rw sharing? boolean
| | +--rw path-constraints
| | | +--rw path-metric-bound* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw upper-bound? uint64
| | | +--rw topology-id? te-types:te-topology-id
| | | +--rw bandwidth-generic
| | | | +--rw te-bandwidth
| | | | +--rw (technology)?
| | | | +--:(psc)
| | | | | +--rw psc? rt-types:bandwidth-
ieee-float32
| | | | +--:(otn)
| | | | | +--rw otn* [rate-type]
| | | | | +--rw rate-type identityref
| | | | | +--rw counter? uint16
| | | | +--:(lsc)
| | | | | +--rw wdm* [spectrum slot]
| | | | | +--rw spectrum identityref
| | | | | +--rw slot int16
| | | | | +--rw width? uint16
| | | | +--:(generic)
| | | | +--rw generic? te-bandwidth
| | | +--rw disjointness? te-types:te-path-
disjointness
| | | +--rw setup-priority? uint8
| | | +--rw hold-priority? uint8
| | | +--rw signaling-type? identityref
| | | +--rw path-affinities
| | | | +--rw constraint* [usage]
| | | | +--rw usage identityref
| | | | +--rw value? admin-groups
| | | +--rw path-srlgs
| | | +--rw usage? identityref
| | | +--rw values* srlg
| | +--rw optimizations
| | | +--rw (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--rw optimization-metric* [metric-type]
| | | | | +--rw metric-type identityref
| | | | | +--rw weight? uint8
| | | | +--rw tiebreakers
| | | | +--rw tiebreaker* [tiebreaker-type]
| | | | +--rw tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--rw objective-function
| | | +--rw objective-function-type?
identityref
| | +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-
node-id
| | | +--ro link-tp-id? te-types:te-tp-
id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-
types:generalized-label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-
label
| +--rw domain-id? uint32
| +--rw is-abstract? empty
| +--rw name? string
| +--rw signaling-address* inet:ip-address
| +--rw underlay-topology {te-topology-hierarchy}?
| +--rw network-ref? -> /nw:networks/network/network-id
+--ro oper-status? te-types:te-oper-status
+--ro geolocation
| +--ro altitude? int64
| +--ro latitude? geographic-coordinate-degree
| +--ro longitude? geographic-coordinate-degree
+--ro is-multi-access-dr? empty
+--ro information-source? te-info-source
+--ro information-source-state
| +--ro credibility-preference? uint16
| +--ro logical-network-element? string
| +--ro network-instance? string
| +--ro topology
| +--ro node-ref? -> /nw:networks/network[nw:network-
id=current()/../network-ref]/node/node-id
| +--ro network-ref? -> /nw:networks/network/network-id
+--ro information-source-entry* [information-source]
| +--ro information-source te-info-source
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string
| | +--ro network-instance? string
| | +--ro topology
| | +--ro node-ref? ->
/nw:networks/network[nw:network-id=current()/../network-
ref]/node/node-id
| | +--ro network-ref? -> /nw:networks/network/network-
id
| +--ro connectivity-matrices
| | +--ro number-of-entries? uint16
| | +--ro label-restriction* [inclusive-exclusive label-
start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-types:generalized-
label
| | | +--ro label-end? rt-types:generalized-
label
| | | +--ro range-bitmap? binary
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? ->
/nw:networks/network/network-id
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-node-
id
| | | | | +--ro link-tp-id? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? ->
/nw:networks/network/network-id
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-node-
id
| | | | | +--ro link-tp-id? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels
| | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro path-constraints
| | | +--ro path-metric-bound* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro upper-bound? uint64
| | | +--ro topology-id? te-types:te-topology-id
| | | +--ro bandwidth-generic
| | | | +--ro te-bandwidth
| | | | +--ro (technology)?
| | | | +--:(psc)
| | | | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | | | +--:(otn)
| | | | | +--ro otn* [rate-type]
| | | | | +--ro rate-type identityref
| | | | | +--ro counter? uint16
| | | | +--:(lsc)
| | | | | +--ro wdm* [spectrum slot]
| | | | | +--ro spectrum identityref
| | | | | +--ro slot int16
| | | | | +--ro width? uint16
| | | | +--:(generic)
| | | | +--ro generic? te-bandwidth
| | | +--ro disjointness? te-types:te-path-
disjointness
| | | +--ro setup-priority? uint8
| | | +--ro hold-priority? uint8
| | | +--ro signaling-type? identityref
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro optimizations
| | | +--ro (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--ro optimization-metric* [metric-type]
| | | | | +--ro metric-type identityref
| | | | | +--ro weight? uint8
| | | | +--ro tiebreakers
| | | | +--ro tiebreaker* [tiebreaker-type]
| | | | +--ro tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--ro objective-function
| | | +--ro objective-function-type? identityref
| | +--ro computed-path-properties
| | | +--ro path-metric* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro accumulative-value? uint64
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | | +--ro usage? identityref
| | | | +--ro values* srlg
| | | +--ro path-computed-route-objects
| | | +--ro path-computed-route-object* [index]
| | | +--ro index uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-
id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--ro sid-hop
| | | +--ro sid? rt-types:generalized-
label
| | +--ro connectivity-matrix* [id]
| | +--ro id uint32
| | +--ro from
| | | +--ro tp-ref? ->
../../../../../../nt:termination-point/tp-id
| | | +--ro label-restriction* [inclusive-exclusive
label-start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-
types:generalized-label
| | | +--ro label-end? rt-
types:generalized-label
| | | +--ro range-bitmap? binary
| | +--ro to
| | | +--ro tp-ref? ->
../../../../../../nt:termination-point/tp-id
| | | +--ro label-restriction* [inclusive-exclusive
label-start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-
types:generalized-label
| | | +--ro label-end? rt-
types:generalized-label
| | | +--ro range-bitmap? binary
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? ->
/nw:networks/network/network-id
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-
node-id
| | | | | +--ro link-tp-id? te-types:te-tp-
id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? ->
/nw:networks/network/network-id
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-
node-id
| | | | | +--ro link-tp-id? te-types:te-tp-
id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels
| | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro path-constraints
| | | +--ro path-metric-bound* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro upper-bound? uint64
| | | +--ro topology-id? te-types:te-topology-id
| | | +--ro bandwidth-generic
| | | | +--ro te-bandwidth
| | | | +--ro (technology)?
| | | | +--:(psc)
| | | | | +--ro psc? rt-types:bandwidth-
ieee-float32
| | | | +--:(otn)
| | | | | +--ro otn* [rate-type]
| | | | | +--ro rate-type identityref
| | | | | +--ro counter? uint16
| | | | +--:(lsc)
| | | | | +--ro wdm* [spectrum slot]
| | | | | +--ro spectrum identityref
| | | | | +--ro slot int16
| | | | | +--ro width? uint16
| | | | +--:(generic)
| | | | +--ro generic? te-bandwidth
| | | +--ro disjointness? te-types:te-path-
disjointness
| | | +--ro setup-priority? uint8
| | | +--ro hold-priority? uint8
| | | +--ro signaling-type? identityref
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro optimizations
| | | +--ro (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--ro optimization-metric* [metric-type]
| | | | | +--ro metric-type identityref
| | | | | +--ro weight? uint8
| | | | +--ro tiebreakers
| | | | +--ro tiebreaker* [tiebreaker-type]
| | | | +--ro tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--ro objective-function
| | | +--ro objective-function-type?
identityref
| | +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-
node-id
| | | +--ro link-tp-id? te-types:te-tp-
id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-
types:generalized-label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-
label
| +--ro domain-id? uint32
| +--ro is-abstract? empty
| +--ro name? string
| +--ro signaling-address* inet:ip-address
| +--ro underlay-topology {te-topology-hierarchy}?
| +--ro network-ref? -> /nw:networks/network/network-id
+--ro statistics
| +--ro discontinuity-time yang:date-and-time
| +--ro node
| | +--ro disables? yang:counter32
| | +--ro enables? yang:counter32
| | +--ro maintenance-sets? yang:counter32
| | +--ro maintenance-clears? yang:counter32
| | +--ro modifies? yang:counter32
| +--ro connectivity-matrix-entry
| +--ro creates? yang:counter32
| +--ro deletes? yang:counter32
| +--ro disables? yang:counter32
| +--ro enables? yang:counter32
| +--ro modifies? yang:counter32
+--rw tunnel-termination-point* [tunnel-tp-id]
+--rw tunnel-tp-id binary
+--rw admin-status? te-types:te-
admin-status
+--rw name? string
+--rw switching-capability? identityref
+--rw encoding? identityref
+--rw inter-layer-lock-id* uint32
+--rw protection-type? identityref
+--rw client-layer-adaptation
| +--rw switching-capability* [switching-capability
encoding]
| +--rw switching-capability identityref
| +--rw encoding identityref
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw local-link-connectivities
| +--rw number-of-entries? uint16
| +--rw label-restriction* [inclusive-exclusive label-
start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-
label
| | +--rw label-end? rt-types:generalized-
label
| | +--rw range-bitmap? binary
| +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-
id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-
label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-
id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-
label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw path-constraints
| | +--rw path-metric-bound* [metric-type]
| | | +--rw metric-type identityref
| | | +--rw upper-bound? uint64
| | +--rw topology-id? te-types:te-topology-id
| | +--rw bandwidth-generic
| | | +--rw te-bandwidth
| | | +--rw (technology)?
| | | +--:(psc)
| | | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | | +--:(otn)
| | | | +--rw otn* [rate-type]
| | | | +--rw rate-type identityref
| | | | +--rw counter? uint16
| | | +--:(lsc)
| | | | +--rw wdm* [spectrum slot]
| | | | +--rw spectrum identityref
| | | | +--rw slot int16
| | | | +--rw width? uint16
| | | +--:(generic)
| | | +--rw generic? te-bandwidth
| | +--rw disjointness? te-types:te-path-
disjointness
| | +--rw setup-priority? uint8
| | +--rw hold-priority? uint8
| | +--rw signaling-type? identityref
| | +--rw path-affinities
| | | +--rw constraint* [usage]
| | | +--rw usage identityref
| | | +--rw value? admin-groups
| | +--rw path-srlgs
| | +--rw usage? identityref
| | +--rw values* srlg
| +--rw optimizations
| | +--rw (algorithm)?
| | +--:(metric) {path-optimization-metric}?
| | | +--rw optimization-metric* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw weight? uint8
| | | +--rw tiebreakers
| | | +--rw tiebreaker* [tiebreaker-type]
| | | +--rw tiebreaker-type identityref
| | +--:(objective-function) {path-optimization-
objective-function}?
| | +--rw objective-function
| | +--rw objective-function-type? identityref
| +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-
id
| | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-
label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-
label
| +--rw local-link-connectivity* [link-tp-ref]
| +--rw link-tp-ref ->
../../../../../nt:termination-point/tp-id
| +--rw label-restriction* [inclusive-exclusive label-
start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-
label
| | +--rw label-end? rt-types:generalized-
label
| | +--rw range-bitmap? binary
| +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-
node-id
| | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-
types:generalized-label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-
label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-
node-id
| | | | +--rw link-tp-id? te-types:te-tp-
id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-
types:generalized-label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-
label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw path-constraints
| | +--rw path-metric-bound* [metric-type]
| | | +--rw metric-type identityref
| | | +--rw upper-bound? uint64
| | +--rw topology-id? te-types:te-topology-id
| | +--rw bandwidth-generic
| | | +--rw te-bandwidth
| | | +--rw (technology)?
| | | +--:(psc)
| | | | +--rw psc? rt-types:bandwidth-
ieee-float32
| | | +--:(otn)
| | | | +--rw otn* [rate-type]
| | | | +--rw rate-type identityref
| | | | +--rw counter? uint16
| | | +--:(lsc)
| | | | +--rw wdm* [spectrum slot]
| | | | +--rw spectrum identityref
| | | | +--rw slot int16
| | | | +--rw width? uint16
| | | +--:(generic)
| | | +--rw generic? te-bandwidth
| | +--rw disjointness? te-types:te-path-
disjointness
| | +--rw setup-priority? uint8
| | +--rw hold-priority? uint8
| | +--rw signaling-type? identityref
| | +--rw path-affinities
| | | +--rw constraint* [usage]
| | | +--rw usage identityref
| | | +--rw value? admin-groups
| | +--rw path-srlgs
| | +--rw usage? identityref
| | +--rw values* srlg
| +--rw optimizations
| | +--rw (algorithm)?
| | +--:(metric) {path-optimization-metric}?
| | | +--rw optimization-metric* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw weight? uint8
| | | +--rw tiebreakers
| | | +--rw tiebreaker* [tiebreaker-type]
| | | +--rw tiebreaker-type identityref
| | +--:(objective-function) {path-optimization-
objective-function}?
| | +--rw objective-function
| | +--rw objective-function-type?
identityref
| +--ro computed-path-properties
| +--ro path-metric* [metric-type]
| | +--ro metric-type identityref
| | +--ro accumulative-value? uint64
| +--ro path-affinities
| | +--ro constraint* [usage]
| | +--ro usage identityref
| | +--ro value? admin-groups
| +--ro path-srlgs
| | +--ro usage? identityref
| | +--ro values* srlg
| +--ro path-computed-route-objects
| +--ro path-computed-route-object* [index]
| +--ro index uint32
| +--ro (type)?
| +--:(numbered)
| | +--ro numbered-hop
| | +--ro address? te-types:te-tp-id
| | +--ro hop-type? te-hop-type
| +--:(as-number)
| | +--ro as-number-hop
| | +--ro as-number? binary
| | +--ro hop-type? te-hop-type
| +--:(unnumbered)
| | +--ro unnumbered-hop
| | +--ro node-id? te-types:te-
node-id
| | +--ro link-tp-id? te-types:te-tp-
id
| | +--ro hop-type? te-hop-type
| +--:(label)
| | +--ro label-hop
| | +--ro value? rt-
types:generalized-label
| +--:(sid)
| +--ro sid-hop
| +--ro sid? rt-types:generalized-
label
+--ro oper-status? te-types:te-
oper-status
+--ro geolocation
| +--ro altitude? int64
| +--ro latitude? geographic-coordinate-degree
| +--ro longitude? geographic-coordinate-degree
+--ro statistics
| +--ro discontinuity-time yang:date-and-time
| +--ro tunnel-termination-point
| | +--ro disables? yang:counter32
| | +--ro enables? yang:counter32
| | +--ro maintenance-clears? yang:counter32
| | +--ro maintenance-sets? yang:counter32
| | +--ro modifies? yang:counter32
| | +--ro downs? yang:counter32
| | +--ro ups? yang:counter32
| | +--ro in-service-clears? yang:counter32
| | +--ro in-service-sets? yang:counter32
| +--ro local-link-connectivity
| +--ro creates? yang:counter32
| +--ro deletes? yang:counter32
| +--ro disables? yang:counter32
| +--ro enables? yang:counter32
| +--ro modifies? yang:counter32
+--rw supporting-tunnel-termination-point* [node-ref
tunnel-tp-ref]
+--rw node-ref inet:uri
+--rw tunnel-tp-ref binary
augment /nw:networks/nw:network/nt:link:
+--rw te!
+--rw (bundle-stack-level)?
| +--:(bundle)
| | +--rw bundled-links
| | +--rw bundled-link* [sequence]
| | +--rw sequence uint32
| | +--rw src-tp-ref? ->
../../../../../nw:node[nw:node-id =
current()/../../../../nt:source/source-node]/termination-point/tp-id
| | +--rw des-tp-ref? ->
../../../../../nw:node[nw:node-id =
current()/../../../../nt:destination/dest-node]/termination-point/tp-
id
| +--:(component)
| +--rw component-links
| +--rw component-link* [sequence]
| +--rw sequence uint32
| +--rw src-interface-ref? string
| +--rw des-interface-ref? string
+--rw te-link-template* ->
../../../../te/templates/link-template/name {template}?
+--rw te-link-attributes
| +--rw access-type? te-types:te-link-
access-type
| +--rw external-domain
| | +--rw network-ref? ->
/nw:networks/network/network-id
| | +--rw remote-te-node-id? te-types:te-node-id
| | +--rw remote-te-link-tp-id? te-types:te-tp-id
| +--rw is-abstract? empty
| +--rw name? string
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? ->
/nw:networks/network/network-id
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw admin-status? te-types:te-admin-
status
| +--rw link-index? uint64
| +--rw administrative-group? te-types:admin-
groups
| +--rw interface-switching-capability* [switching-capability
encoding]
| | +--rw switching-capability identityref
| | +--rw encoding identityref
| | +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw label-restriction* [inclusive-exclusive label-start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-label
| | +--rw label-end? rt-types:generalized-label
| | +--rw range-bitmap? binary
| +--rw link-protection-type? enumeration
| +--rw max-link-bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw max-resv-link-bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw unreserved-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32
| +--rw te-igp-metric? uint32
| +--rw te-srlgs
| | +--rw value* te-types:srlg
| +--rw te-nsrlgs {nsrlg}?
| +--rw id* uint32
+--ro oper-status? te-types:te-oper-status
+--ro is-transitional? empty
+--ro information-source? te-info-source
+--ro information-source-state
| +--ro credibility-preference? uint16
| +--ro logical-network-element? string
| +--ro network-instance? string
| +--ro topology
| +--ro link-ref? -> /nw:networks/network[nw:network-
id=current()/../network-ref]/nt:link/link-id
| +--ro network-ref? -> /nw:networks/network/network-id
+--ro information-source-entry* [information-source]
| +--ro information-source te-info-source
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string
| | +--ro network-instance? string
| | +--ro topology
| | +--ro link-ref? ->
/nw:networks/network[nw:network-id=current()/../network-
ref]/nt:link/link-id
| | +--ro network-ref? -> /nw:networks/network/network-
id
| +--ro link-index? uint64
| +--ro administrative-group? te-types:admin-
groups
| +--ro interface-switching-capability* [switching-capability
encoding]
| | +--ro switching-capability identityref
| | +--ro encoding identityref
| | +--ro max-lsp-bandwidth* [priority]
| | +--ro priority uint8
| | +--ro bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro label-restriction* [inclusive-exclusive label-start]
| | +--ro inclusive-exclusive enumeration
| | +--ro label-start rt-types:generalized-label
| | +--ro label-end? rt-types:generalized-label
| | +--ro range-bitmap? binary
| +--ro link-protection-type? enumeration
| +--ro max-link-bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro max-resv-link-bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro unreserved-bandwidth* [priority]
| | +--ro priority uint8
| | +--ro bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro te-default-metric? uint32
| +--ro te-delay-metric? uint32
| +--ro te-igp-metric? uint32
| +--ro te-srlgs
| | +--ro value* te-types:srlg
| +--ro te-nsrlgs {nsrlg}?
| +--ro id* uint32
+--ro recovery
| +--ro restoration-status? te-types:te-recovery-status
| +--ro protection-status? te-types:te-recovery-status
+--ro underlay {te-topology-hierarchy}?
| +--ro dynamic? boolean
| +--ro committed? boolean
+--ro statistics
+--ro discontinuity-time yang:date-and-time
+--ro disables? yang:counter32
+--ro enables? yang:counter32
+--ro maintenance-clears? yang:counter32
+--ro maintenance-sets? yang:counter32
+--ro modifies? yang:counter32
+--ro downs? yang:counter32
+--ro ups? yang:counter32
+--ro fault-clears? yang:counter32
+--ro fault-detects? yang:counter32
+--ro protection-switches? yang:counter32
+--ro protection-reverts? yang:counter32
+--ro restoration-failures? yang:counter32
+--ro restoration-starts? yang:counter32
+--ro restoration-successes? yang:counter32
+--ro restoration-reversion-failures? yang:counter32
+--ro restoration-reversion-starts? yang:counter32
+--ro restoration-reversion-successes? yang:counter32
augment /nw:networks/nw:network/nw:node/nt:termination-point:
+--rw te-tp-id? te-types:te-tp-id
+--rw te!
+--rw admin-status? te-types:te-admin-
status
+--rw name? string
+--rw interface-switching-capability* [switching-capability
encoding]
| +--rw switching-capability identityref
| +--rw encoding identityref
| +--rw max-lsp-bandwidth* [priority]
| +--rw priority uint8
| +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw inter-domain-plug-id? binary
+--rw inter-layer-lock-id* uint32
+--ro oper-status? te-types:te-oper-
status
+--ro geolocation
+--ro altitude? int64
+--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree
Appendix B. Companion YANG Model for Non-NMDA Compliant Implementations
The YANG module ietf-te-topology defined in this document is designed The YANG module ietf-te-topology defined in this document is designed
to be used in conjunction with implementations that support the to be used in conjunction with implementations that support the
Network Management Datastore Architecture (NMDA) defined in [YANG- Network Management Datastore Architecture (NMDA) defined in [YANG-
NMDA]. In order to allow implementations to use the model even in NMDA]. In order to allow implementations to use the model even in
cases when NMDA is not supported, the following companion module cases when NMDA is not supported, the following companion module
ietf-te-topology-state is defined as a state model, which mirrors the ietf-te-topology-state is defined as a state model, which mirrors the
module ietf-te-topology defined earlier in this document. However, module ietf-te-topology defined earlier in this document. However,
all data nodes in the companion module are non-configurable, to all data nodes in the companion module are non-configurable, to
represent the applied configuration or the derived operational represent the applied configuration or the derived operational
skipping to change at page 118, line 27 skipping to change at page 126, line 27
The companion module, ietf-te-topology-state, is redundant and SHOULD The companion module, ietf-te-topology-state, is redundant and SHOULD
NOT be supported by implementations that support NMDA. NOT be supported by implementations that support NMDA.
As the structure of the module ietf-te-topology-state mirrors that of As the structure of the module ietf-te-topology-state mirrors that of
the module ietf-te-topology. The YANG tree of the module ietf-te- the module ietf-te-topology. The YANG tree of the module ietf-te-
topology-state is not depicted separately. topology-state is not depicted separately.
A.1. TE Topology State Yang Module A.1. TE Topology State Yang Module
<CODE BEGINS> file "ietf-te-topology-state@2017-07-12.yang" <CODE BEGINS> file "ietf-te-topology-state@2017-10-25.yang"
module ietf-te-topology-state { module ietf-te-topology-state {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state";
prefix "tet-s"; prefix "tet-s";
import ietf-te-types { import ietf-te-types {
prefix "te-types"; prefix "te-types";
} }
skipping to change at page 119, line 38 skipping to change at page 127, line 38
<mailto:tsaad@cisco.com> <mailto:tsaad@cisco.com>
Editor: Himanshu Shah Editor: Himanshu Shah
<mailto:hshah@ciena.com> <mailto:hshah@ciena.com>
Editor: Oscar Gonzalez De Dios Editor: Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>"; <mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology state model"; description "TE topology state model";
revision "2017-07-12" { revision "2017-10-25" {
description "Initial revision"; description "Initial revision";
reference "RFC XXXX: YANG Data Model for TE Topologies"; reference "RFC XXXX: YANG Data Model for TE Topologies";
// RFC Ed.: replace XXXX with actual RFC number and remove // RFC Ed.: replace XXXX with actual RFC number and remove
// this note // this note
} }
/* /*
* Groupings * Groupings
*/ */
grouping te-node-connectivity-matrix-attributes { grouping te-node-connectivity-matrix-attributes {
description description
 End of changes. 43 change blocks. 
1809 lines changed or deleted 1915 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/