draft-ietf-teas-yang-te-topo-05.txt   draft-ietf-teas-yang-te-topo-06.txt 
TEAS Working Group Xufeng Liu TEAS Working Group Xufeng Liu
Internet Draft Ericsson Internet Draft Kuatro Technologies
Intended status: Standards Track Igor Bryskin Intended status: Standards Track Igor Bryskin
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 8, 2017 July 8, 2016 Expires: April 28, 2017 October 28, 2016
YANG Data Model for TE Topologies YANG Data Model for TE Topologies
draft-ietf-teas-yang-te-topo-05 draft-ietf-teas-yang-te-topo-06
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 8, 2017. This Internet-Draft will expire on April 28, 2017.
Copyright Notice Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the Copyright (c) 2016 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
skipping to change at page 3, line 13 skipping to change at page 3, line 13
4.1. Native TE Topologies.....................................14 4.1. Native TE Topologies.....................................14
4.2. Customized TE Topologies.................................16 4.2. Customized TE Topologies.................................16
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.................................................22 Same Provider.................................................22
5. Modeling Considerations.......................................25 5. Modeling Considerations.......................................25
5.1. Generic network topology building blocks.................25 5.1. Generic network topology building blocks.................25
5.2. Technology agnostic TE Topology model....................25 5.2. Technology agnostic TE Topology model....................25
5.3. Model Structure..........................................26 5.3. Model Structure..........................................26
5.4. Topology Identifiers.....................................27 5.4. Topology Identifiers.....................................27
5.5. Generic TE Link Attributes...............................28 5.5. Generic TE Link Attributes...............................27
5.6. Generic TE Node Attributes...............................28 5.6. Generic TE Node Attributes...............................28
5.7. TED Information Sources..................................29 5.7. TED Information Sources..................................30
5.8. Overlay/Underlay Relationship............................30 5.8. Overlay/Underlay Relationship............................31
5.9. Scheduling Parameters....................................31 5.9. Templates................................................32
5.10. Templates...............................................31 5.10. Scheduling Parameters...................................33
5.11. Notifications...........................................32 5.11. Notifications...........................................33
5.12. Open Items..............................................33
6. Tree Structure................................................33 6. Tree Structure................................................33
7. TE Topology Yang Module.......................................62 7. TE Topology Yang Module.......................................52
8. Security Considerations......................................105 8. Security Considerations.......................................98
9. IANA Considerations..........................................105 9. IANA Considerations...........................................98
10. References..................................................106 10. References...................................................99
10.1. Normative References...................................106 10.1. Normative References....................................99
10.2. Informative References.................................106 10.2. Informative References..................................99
11. Acknowledgments.............................................107 11. Acknowledgments.............................................100
Contributors....................................................107 Contributors....................................................100
Authors' Addresses..............................................107 Authors' Addresses..............................................100
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
skipping to change at page 26, line 40 skipping to change at page 26, line 40
augment /nw:networks: augment /nw:networks:
+--rw te! +--rw te!
+--rw templates +--rw templates
+--rw node-template* [name] {template}? +--rw node-template* [name] {template}?
| ............ | ............
+--rw link-template* [name] {template}? +--rw link-template* [name] {template}?
............ ............
augment /nw:networks/nw:network: 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 te!
+--rw provider-id te-global-id
+--rw client-id te-global-id
+--rw te-topology-id te-topology-id
+--rw config +--rw config
| ............ | ............
+--ro state +--ro state
............ ............
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw te-node-id? te-types:te-node-id
+--rw te! +--rw te!
+--rw te-node-id te-node-id
+--rw config +--rw config
| ............ | ............
+--ro state +--ro state
| ............ | ............
+--rw tunnel-termination-point* [tunnel-tp-id] +--rw tunnel-termination-point* [tunnel-tp-id]
+--rw tunnel-tp-id binary +--rw tunnel-tp-id binary
+--rw config +--rw config
| ............ | ............
+--ro state +--ro state
augment /nw:networks/nw:network/nt:link: augment /nw:networks/nw:network/nt:link:
+--rw te! +--rw te!
+--rw config +--rw config
| .......... | ..........
+--ro state +--ro state
.......... ..........
augment /nw:networks/nw:network/nw:node/nt:termination-point: augment /nw:networks/nw:network/nw:node/nt:termination-point:
+--rw te-tp-id? te-types:te-tp-id
+--rw te! +--rw te!
+--rw te-tp-id te-tp-id
+--rw config +--rw config
| ............ | ............
+--ro state +--ro state
............ ............
notifications:
+---n te-node-event
| ............
+---n te-link-event
............
5.4. Topology Identifiers 5.4. Topology Identifiers
The TE-Topology is uniquely identified by a key that has 3 The TE-Topology is uniquely identified by a key that has 3
constituents - te-topology-id, provider-id and client-id. The constituents - te-topology-id, provider-id and client-id. The
combination of provider-id and te-topology-id uniquely identifies a combination of provider-id and te-topology-id uniquely identifies a
native TE Topology on a given provider. The client-id is used only native TE Topology on a given provider. The client-id is used only
when Customized TE Topologies come into play; a value of "0" is used when Customized TE Topologies come into play; a value of "0" is used
as the client-id for native TE Topologies. as the client-id for native TE Topologies.
augment /nw:networks/nw:network: augment /nw:networks/nw:network:
skipping to change at page 28, line 14 skipping to change at page 28, line 8
5.5. Generic TE Link Attributes 5.5. Generic TE Link Attributes
The model covers the definitions for generic TE Link attributes - The model covers the definitions for generic TE Link attributes -
bandwidth, admin groups, SRLGs, switching capabilities, TE metric bandwidth, admin groups, SRLGs, switching capabilities, TE metric
extensions etc. extensions etc.
+--rw te-link-attributes +--rw te-link-attributes
..................... .....................
+--rw admin-status? te-admin-status +--rw admin-status? te-admin-status
+--rw performance-metric-throttle {te-performance-metric}?
| ..................... | .....................
+--rw link-index? uint64 +--rw link-index? uint64
+--rw administrative-group? te-types:admin-groups +--rw administrative-group? te-types:admin-groups
+--rw max-link-bandwidth? decimal64 +--rw link-protection-type? enumeration
+--rw max-resv-link-bandwidth? decimal64 +--rw max-link-bandwidth? te-bandwidth
+--rw max-resv-link-bandwidth? te-bandwidth
+--rw unreserved-bandwidth* [priority] +--rw unreserved-bandwidth* [priority]
| ..................... | .....................
+--rw te-default-metric? uint32 +--rw te-default-metric? uint32
+--rw performance-metric {te-performance-metric}?
| .....................
+--rw link-protection-type? enumeration
+--rw interface-switching-capability* [switching-capability]
| ..................... | .....................
+--rw te-srlgs +--rw te-srlgs
..................... .....................
5.6. Generic TE Node Attributes 5.6. Generic TE Node Attributes
The model covers the definitions for generic TE Node attributes. The model covers the definitions for generic TE Node attributes.
The definition of a generic connectivity matrix is shown below: The definition of a generic connectivity matrix is shown below:
+--rw te-node-attributes +--rw te-node-attributes
........... ...........
+--rw connectivity-matrix* [id] +--rw connectivity-matrix* [id]
| +--rw id uint32 | +--rw id uint32
| +--rw from | +--rw from
| | +--rw tp-ref? leafref | | +--rw tp-ref? leafref
| +--rw to | +--rw to
| | +--rw tp-ref? leafref | | +--rw tp-ref? leafref
| +--rw is-allowed? boolean | +--rw is-allowed? boolean
| +--rw label-restriction* [inclusive-exclusive label-start]
...........
| +--rw underlay! {te-topology-hierarchy}?
...........
| +--rw max-link-bandwidth? te-bandwidth
| +--rw max-resv-link-bandwidth? te-bandwidth
| +--rw unreserved-bandwidth* [priority]
...........
| +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32
| +--rw te-srlgs
...........
The definition of a TTP Local Link Connectivity List is shown below: The definition of a TTP Local Link Connectivity List is shown below:
+--rw tunnel-termination-point* [tunnel-tp-id] +--rw tunnel-termination-point* [tunnel-tp-id]
+--rw tunnel-tp-id binary +--rw tunnel-tp-id binary
+--rw config +--rw config
| +--rw termination-capability* [link-tp] | +--rw switching-capability? identityref
| +--rw link-tp leafref | +--rw encoding? identityref
| +--rw inter-layer-lock-id? uint32
| +--rw protection-type? identityref
| +--rw local-link-connectivity* [link-tp-ref]
| +--rw link-tp-ref leafref
| +--rw label-restriction* [inclusive-exclusive label-start]
...........
| +--rw max-lsp-bandwidth* [priority]
...........
| +--rw max-link-bandwidth? te-bandwidth
| +--rw max-resv-link-bandwidth? te-bandwidth
| +--rw unreserved-bandwidth* [priority]
...........
| +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32
| +--rw te-srlgs
...........
+--ro state +--ro state
+--ro termination-capability* [link-tp] | +--ro switching-capability? identityref
| +--ro link-tp leafref | +--ro encoding? identityref
+--ro switching-capability identityref | +--ro inter-layer-lock-id? uint32
+--ro encoding identityref | +--ro protection-type? identityref
| +--ro local-link-connectivity* [link-tp-ref]
| | +--ro link-tp-ref leafref
| | +--ro label-restriction* [inclusive-exclusive label-start]
...........
| | +--ro max-lsp-bandwidth* [priority]
...........
| | +--ro max-link-bandwidth? te-bandwidth
| | +--ro max-resv-link-bandwidth? te-bandwidth
| | +--ro unreserved-bandwidth* [priority]
...........
| | +--ro te-default-metric? uint32
| | +--ro te-delay-metric? uint32
| | +--ro te-srlgs
...........
| | +--ro value* te-types:srlg
5.7. TED Information Sources 5.7. TED Information Sources
The model allows each TE topological element to have multiple TE The model allows each TE topological element to have multiple TE
information sources (OSPF-TE, ISIS-TE, BGP-LS, User-Configured, information sources (OSPF-TE, ISIS-TE, BGP-LS, User-Configured,
System-Processed, Other). Each information source is associated with System-Processed, Other). Each information source is associated with
a credibility preference to indicate precedence. In scenarios where a a credibility preference to indicate precedence. In scenarios where a
customized TE Topology is merged into a Client's native TE Topology, customized TE Topology is merged into a Client's native TE Topology,
the merged topological elements would point to the corresponding the merged topological elements would point to the corresponding
customized TE Topology as its information source. customized TE Topology as its information source.
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw te! +--rw te!
........... ...........
+--ro state +--ro state
........ ........
+--ro information-source? enumeration | +--ro information-source? te-info-source
+--ro information-source-state | +--ro information-source-state
+--ro credibility-preference? uint16 | | +--ro credibility-preference? uint16
+--ro topology | | +--ro logical-network-element? string
| +--ro provider-id-ref? leafref | | +--ro network-instance? string
| +--ro client-id-ref? leafref | | +--ro topology
| +--ro te-topology-id-ref? leafref | | +--ro provider-ref? leafref
| +--ro network-id-ref? leafref | | +--ro client-ref? leafref
+--ro routing-instance? string | | +--ro te-topology-ref? leafref
| | +--ro network-ref? leafref
| | +--ro node-ref? leafref
| +--ro information-source-entry* [information-source]
............
augment /nw:networks/nw:network/nt:link: augment /nw:networks/nw:network/nt:link:
+--rw te! +--rw te!
........... ...........
+--ro state +--ro state
......... .........
+--ro information-source? enumeration | +--ro information-source? te-info-source
+--ro information-source-state | +--ro information-source-state
| +--ro credibility-preference? uint16 | | +--ro credibility-preference? uint16
| +--ro topology | | +--ro logical-network-element? string
| | +--ro provider-id-ref? leafref | | +--ro network-instance? string
| | +--ro client-id-ref? leafref | | +--ro topology
| | +--ro te-topology-id-ref? leafref | | +--ro provider-ref? leafref
| | +--ro network-id-ref? leafref | | +--ro client-ref? leafref
| +--ro routing-instance? string | | +--ro te-topology-ref? leafref
+--ro alt-information-sources* [information-source] | | +--ro network-ref? leafref
| ............ | | +--ro link-ref? leafref
| +--ro information-source-entry* [information-source]
............
5.8. Overlay/Underlay Relationship 5.8. Overlay/Underlay Relationship
The model captures overlay and underlay relationship for TE The model captures overlay and underlay relationship for TE
nodes/links. For example - in networks where multiple TE Topologies nodes/links. For example - in networks where multiple TE Topologies
are built hierarchically, this model allows the user to start from a are built hierarchically, this model allows the user to start from a
specific topological element in the top most topology and traverse specific topological element in the top most topology and traverse
all the way down to the supporting topological elements in the bottom all the way down to the supporting topological elements in the bottom
most topology. most topology.
skipping to change at page 30, line 34 skipping to change at page 31, line 28
("te-topology-hierarchy"). ("te-topology-hierarchy").
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw te! +--rw te!
+--rw te-node-id te-node-id +--rw te-node-id te-node-id
+--rw config +--rw config
| +--rw te-node-template* leafref {template}? | +--rw te-node-template* leafref {template}?
| +--rw te-node-attributes | +--rw te-node-attributes
| .................... | ....................
| +--rw underlay-topology {te-topology-hierarchy}? | +--rw underlay-topology {te-topology-hierarchy}?
| +--rw provider-id-ref? leafref | +--rw provider-ref? leafref
| +--rw client-id-ref? leafref | +--rw client-ref? leafref
| +--rw te-topology-id-ref? leafref | +--rw te-topology-ref? leafref
| +--rw network-id-ref? leafref | +--rw network-ref? leafref
augment /nw:networks/nw:network/nt:link: augment /nw:networks/nw:network/nt:link:
+--rw te! +--rw te!
+--rw config +--rw config
| ......... | .........
| +--rw te-link-attributes | +--rw te-link-attributes
| .................... | ....................
| +--rw underlay! {te-topology-hierarchy}? | +--rw underlay! {te-topology-hierarchy}?
| | +--rw underlay-primary-path | | +--rw underlay-primary-path
| | | +--rw provider-id-ref? leafref | | | +--rw provider-ref? leafref
| | | +--rw client-id-ref? leafref | | | +--rw client-ref? leafref
| | | +--rw te-topology-id-ref? leafref | | | +--rw te-topology-ref? leafref
| | | +--rw network-id-ref? leafref | | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id] | | | +--rw path-element* [path-element-id]
| | | ............... | | | ...............
| | +--rw underlay-backup-path* [index] | | +--rw underlay-backup-path* [index]
| | | +--rw index uint32 | | | +--rw index uint32
| | | +--rw provider-id-ref? leafref | | | +--rw provider-ref? leafref
| | | +--rw client-id-ref? leafref | | | +--rw client-ref? leafref
| | | +--rw te-topology-id-ref? leafref | | | +--rw te-topology-ref? leafref
| | | +--rw network-id-ref? leafref | | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id] | | | +--rw path-element* [path-element-id]
| | | ............... | | | ...............
| | +--rw underlay-protection-type? uint16 | | +--rw underlay-protection-type? uint16
| | +--rw underlay-trail-src | | +--rw underlay-tunnel-src
| | | ........... | | | ...........
| | | +--rw network-ref? leafref
| | +--rw underlay-trail-des
| | ...........
5.9. Scheduling Parameters | | +--rw underlay-tunnel-des
| | ...........
The model allows time scheduling parameters to be specified for each
topological element or for the topology as a whole. These parameters
allow the provider to present different topological views to the
client at different time slots. The use of "scheduling parameters" is
optional and this functionality is tagged as a "feature"
("configuration-schedule"). The YANG data model for configuration
scheduling is defined in [YANG-SCHEDULE] and imported by the TE
Topology module.
5.10. Templates 5.9. Templates
The data model provides the users with the ability to define The data model provides the users with the ability to define
templates and apply them to link and node configurations. The use of templates and apply them to link and node configurations. The use of
"template" configuration is optional and this functionality is tagged "template" configuration is optional and this functionality is tagged
as a "feature" ("template"). as a "feature" ("template").
+--rw topology* [provider-id client-id te-topology-id] +--rw topology* [provider-id client-id te-topology-id]
| ........... | ...........
| +--rw node* [te-node-id] | +--rw node* [te-node-id]
| | +--rw te-node-template? leafref {template}? | | +--rw te-node-template? leafref {template}?
| | .......... | | ..........
| +--rw link* [source-te-node-id source-te-link-id dest-te-node-id | +--rw link* [source-te-node-id source-te-link-id dest-te-node-id
dest-te-link-id] dest-te-link-id]
| +--rw te-link-template? leafref {template}? | +--rw te-link-template? leafref {template}?
| .......... | ..........
+--rw node-template* [name] {template}? augment /nw:networks:
| +--rw name te-template-name +--rw te!
| +--rw priority? uint16 +--rw templates
| +--rw reference-change-policy? enumeration +--rw node-template* [name] {template}?
| +--rw te-node-attributes | +--rw name te-types:te-template-
| .......... name
+--rw link-template* [name] {template}? | +--rw priority? uint16
+--rw name te-template-name | +--rw reference-change-policy? enumeration
+--rw priority? uint16 | +--rw te-node-attributes
+--rw reference-change-policy? enumeration ..........
+--rw te-link-attributes +--rw link-template* [name] {template}?
.......... +--rw name te-types:te-template-
name
+--rw priority? uint16
+--rw reference-change-policy? enumeration
+--rw te-link-attributes
..........
Multiple templates can be specified to a configuration element. When Multiple templates can be specified to a configuration element. When
two or more templates specify values for the same configuration two or more templates specify values for the same configuration
field, the value from the template with the highest priority is used. field, the value from the template with the highest priority is used.
The reference-change-policy specifies the action that needs to be The reference-change-policy specifies the action that needs to be
taken when the template changes on a configuration element that has a taken when the template changes on a configuration element that has a
reference to this template. The choices of action include taking no reference to this template. The choices of action include taking no
action, rejecting the change to the template and applying the change action, rejecting the change to the template and applying the change
to the corresponding configuration. [Editor's Note: The notion of to the corresponding configuration. [Editor's Note: The notion of
"templates" has wider applicability. It is possible for this to be "templates" has wider applicability. It is possible for this to be
discussed in a separate document.] discussed in a separate document.]
5.10. Scheduling Parameters
The model allows time scheduling parameters to be specified for each
topological element or for the topology as a whole. These parameters
allow the provider to present different topological views to the
client at different time slots. The use of "scheduling parameters" is
optional.
The YANG data model for configuration scheduling is defined in [YANG-
SCHEDULE], which allows specifying configuration schedules without
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] defines a subscription and push mechanism for YANG [YANG-PUSH] and [RFC5277bis] define a subscription and push mechanism
datastores. This mechanism currently allows the user to: 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.
The authors would like to recommend the use of this mechanism for the
TE-Topology notifications. They would also like to suggest the
following extensions to [YANG-PUSH]
- Specify specific entities that will trigger the push
notifications. These entities can be specified by xpath, like the
way a filter is specified.
- Specify or limit the triggering event type, e.g. "add", "delete",
"modify", or "all". The system sends the push notifications only
when such events happen on the triggering entities.
- Have an option to request either "incremental" or "full"
notifications for an entity. For "incremental", the notification
will contain only the changed attributes.
5.12. Open Items
- Coordinating changes to [YANG-PUSH]: The changes to [YANG-PUSH]
discussed in Section 4.10 will need to be coordinated with the
authors of that draft.
6. Tree Structure 6. Tree Structure
module: ietf-te-topology module: ietf-te-topology
augment /nw:networks/nw:network/nw:network-types: augment /nw:networks/nw:network/nw:network-types:
+--rw te-topology! +--rw te-topology!
augment /nw:networks: augment /nw:networks:
+--rw te! +--rw te!
+--rw templates +--rw templates
+--rw node-template* [name] {template}? +--rw node-template* [name] {template}?
| +--rw name te-types:te-template- | +--rw name te-types:te-template-
name name
| +--rw priority? uint16 | +--rw priority? uint16
| +--rw reference-change-policy? enumeration | +--rw reference-change-policy? enumeration
| +--rw te-node-attributes | +--rw te-node-attributes
| +--rw schedules
| | +--rw schedule* [schedule-id]
| | +--rw schedule-id uint32
| | +--rw start? yang:date-and-time
| | +--rw schedule-duration? string
| | +--rw repeat-interval? string
| +--rw admin-status? te-types:te-admin-status | +--rw admin-status? te-types:te-admin-status
| +--rw domain-id? uint32 | +--rw domain-id? uint32
| +--rw is-abstract? empty | +--rw is-abstract? empty
| +--rw name? inet:domain-name | +--rw name? inet:domain-name
| +--rw signaling-address* inet:ip-address | +--rw signaling-address* inet:ip-address
| +--rw underlay-topology {te-topology-hierarchy}? | +--rw underlay-topology {te-topology-hierarchy}?
| +--rw provider-id-ref? leafref | +--rw provider-ref? leafref
| +--rw client-id-ref? leafref | +--rw client-ref? leafref
| +--rw te-topology-id-ref? leafref | +--rw te-topology-ref? leafref
| +--rw network-id-ref? leafref | +--rw network-ref? leafref
+--rw link-template* [name] {template}? +--rw link-template* [name] {template}?
+--rw name te-types:te-template- +--rw name te-types:te-template-
name name
+--rw priority? uint16 +--rw priority? uint16
+--rw reference-change-policy? enumeration +--rw reference-change-policy? enumeration
+--rw te-link-attributes +--rw te-link-attributes
+--rw schedules
| +--rw schedule* [schedule-id]
| +--rw schedule-id uint32
| +--rw start? yang:date-and-time
| +--rw schedule-duration? string
| +--rw repeat-interval? string
+--rw access-type? te-types:te- +--rw access-type? te-types:te-
link-access-type link-access-type
+--rw external-domain +--rw external-domain
| +--rw remote-te-node-id? te-types:te-node-id | +--rw remote-te-node-id? te-types:te-node-id
| +--rw remote-te-link-tp-id? te-types:te-tp-id | +--rw remote-te-link-tp-id? te-types:te-tp-id
| +--rw plug-id? uint32 | +--rw plug-id? uint32
+--rw is-abstract? empty +--rw is-abstract? empty
+--rw name? string +--rw name? string
+--rw underlay! {te-topology-hierarchy}? +--rw underlay! {te-topology-hierarchy}?
| +--rw underlay-primary-path | +--rw underlay-primary-path
| | +--rw provider-id-ref? leafref | | +--rw provider-ref? leafref
| | +--rw client-id-ref? leafref | | +--rw client-ref? leafref
| | +--rw te-topology-id-ref? leafref | | +--rw te-topology-ref? leafref
| | +--rw network-id-ref? leafref | | +--rw network-ref? leafref
| | +--rw path-element* [path-element-id] | | +--rw path-element* [path-element-id]
| | +--rw path-element-id uint32 | | +--rw path-element-id uint32
| | +--rw (type)? | | +--rw (type)?
| | +--:(ipv4-address) | | +--:(ipv4-address)
| | | +--rw v4-address? inet:ipv4- | | | +--rw v4-address? inet:ipv4-
address address
| | | +--rw v4-prefix-length? uint8 | | | +--rw v4-prefix-length? uint8
| | | +--rw v4-loose? boolean | | | +--rw v4-loose? boolean
| | +--:(ipv6-address) | | +--:(ipv6-address)
| | | +--rw v6-address? inet:ipv6- | | | +--rw v6-address? inet:ipv6-
skipping to change at page 35, line 5 skipping to change at page 35, line 17
| | | +--rw v6-loose? boolean | | | +--rw v6-loose? boolean
| | +--:(as-number) | | +--:(as-number)
| | | +--rw as-number? uint16 | | | +--rw as-number? uint16
| | +--:(unnumbered-link) | | +--:(unnumbered-link)
| | | +--rw router-id? inet:ip- | | | +--rw router-id? inet:ip-
address address
| | | +--rw interface-id? uint32 | | | +--rw interface-id? uint32
| | +--:(label) | | +--:(label)
| | +--rw value? uint32 | | +--rw value? uint32
| +--rw underlay-backup-path* [index] | +--rw underlay-backup-path* [index]
| | +--rw index uint32 | | +--rw index uint32
| | +--rw provider-id-ref? leafref | | +--rw provider-ref? leafref
| | +--rw client-id-ref? leafref | | +--rw client-ref? leafref
| | +--rw te-topology-id-ref? leafref | | +--rw te-topology-ref? leafref
| | +--rw network-id-ref? leafref | | +--rw network-ref? leafref
| | +--rw path-element* [path-element-id] | | +--rw path-element* [path-element-id]
| | +--rw path-element-id uint32 | | +--rw path-element-id uint32
| | +--rw (type)? | | +--rw (type)?
| | +--:(ipv4-address) | | +--:(ipv4-address)
| | | +--rw v4-address? inet:ipv4- | | | +--rw v4-address? inet:ipv4-
address address
| | | +--rw v4-prefix-length? uint8 | | | +--rw v4-prefix-length? uint8
| | | +--rw v4-loose? boolean | | | +--rw v4-loose? boolean
| | +--:(ipv6-address) | | +--:(ipv6-address)
| | | +--rw v6-address? inet:ipv6- | | | +--rw v6-address? inet:ipv6-
skipping to change at page 35, line 32 skipping to change at page 35, line 44
| | | +--rw v6-loose? boolean | | | +--rw v6-loose? boolean
| | +--:(as-number) | | +--:(as-number)
| | | +--rw as-number? uint16 | | | +--rw as-number? uint16
| | +--:(unnumbered-link) | | +--:(unnumbered-link)
| | | +--rw router-id? inet:ip- | | | +--rw router-id? inet:ip-
address address
| | | +--rw interface-id? uint32 | | | +--rw interface-id? uint32
| | +--:(label) | | +--:(label)
| | +--rw value? uint32 | | +--rw value? uint32
| +--rw underlay-protection-type? uint16 | +--rw underlay-protection-type? uint16
| +--rw underlay-trail-src | +--rw underlay-tunnel-src
| | +--rw tp-ref? leafref | | +--rw tp-ref? leafref
| | +--rw node-ref? leafref | | +--rw node-ref? leafref
| | +--rw network-ref? leafref | | +--rw network-ref? leafref
| +--rw underlay-trail-des | +--rw underlay-tunnel-des
| +--rw tp-ref? leafref | +--rw tp-ref? leafref
| +--rw node-ref? leafref | +--rw node-ref? leafref
| +--rw network-ref? leafref | +--rw network-ref? leafref
+--rw admin-status? te-types:te- +--rw admin-status? te-types:te-
admin-status admin-status
+--rw performance-metric-throttle {te-performance-
metric}?
| +--rw unidirectional-delay-offset? uint32
| +--rw measure-interval? uint32
| +--rw advertisement-interval? uint32
| +--rw suppression-interval? uint32
| +--rw threshold-out
| | +--rw unidirectional-delay?
uint32
| | +--rw unidirectional-min-delay?
uint32
| | +--rw unidirectional-max-delay?
uint32
| | +--rw unidirectional-delay-variation?
uint32
| | +--rw unidirectional-packet-loss?
decimal64
| | +--rw unidirectional-residual-bandwidth?
decimal64
| | +--rw unidirectional-available-bandwidth?
decimal64
| | +--rw unidirectional-utilized-bandwidth?
decimal64
| +--rw threshold-in
| | +--rw unidirectional-delay?
uint32
| | +--rw unidirectional-min-delay?
uint32
| | +--rw unidirectional-max-delay?
uint32
| | +--rw unidirectional-delay-variation?
uint32
| | +--rw unidirectional-packet-loss?
decimal64
| | +--rw unidirectional-residual-bandwidth?
decimal64
| | +--rw unidirectional-available-bandwidth?
decimal64
| | +--rw unidirectional-utilized-bandwidth?
decimal64
| +--rw threshold-accelerated-advertisement
| +--rw unidirectional-delay?
uint32
| +--rw unidirectional-min-delay?
uint32
| +--rw unidirectional-max-delay?
uint32
| +--rw unidirectional-delay-variation?
uint32
| +--rw unidirectional-packet-loss?
decimal64
| +--rw unidirectional-residual-bandwidth?
decimal64
| +--rw unidirectional-available-bandwidth?
decimal64
| +--rw unidirectional-utilized-bandwidth?
decimal64
+--rw link-index? uint64 +--rw link-index? uint64
+--rw administrative-group? te- +--rw administrative-group? te-
types:admin-groups types:admin-groups
+--rw interface-switching-capability* [switching- +--rw interface-switching-capability* [switching-
capability] capability]
| +--rw switching-capability | +--rw switching-capability identityref
identityref | +--rw encoding? identityref
| +--rw encoding?
identityref
| +--rw max-lsp-bandwidth* [priority] | +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8 | +--rw priority uint8
| | +--rw bandwidth? decimal64 | +--rw bandwidth? te-bandwidth
| +--rw time-division-multiplex-capable
| +--rw minimum-lsp-bandwidth? decimal64
| +--rw indication? enumeration
+--rw link-protection-type? enumeration +--rw link-protection-type? enumeration
+--rw max-link-bandwidth? decimal64 +--rw max-link-bandwidth? te-bandwidth
+--rw max-resv-link-bandwidth? decimal64 +--rw max-resv-link-bandwidth? te-bandwidth
+--rw unreserved-bandwidth* [priority] +--rw unreserved-bandwidth* [priority]
| +--rw priority uint8 | +--rw priority uint8
| +--rw bandwidth? decimal64 | +--rw bandwidth? te-bandwidth
+--rw te-default-metric? uint32 +--rw te-default-metric? uint32
+--rw performance-metric {te-performance-metric}? +--rw te-delay-metric? uint32
| +--rw measurement
| | +--rw unidirectional-delay?
uint32
| | +--rw unidirectional-min-delay?
uint32
| | +--rw unidirectional-max-delay?
uint32
| | +--rw unidirectional-delay-variation?
uint32
| | +--rw unidirectional-packet-loss?
decimal64
| | +--rw unidirectional-residual-bandwidth?
decimal64
| | +--rw unidirectional-available-bandwidth?
decimal64
| | +--rw unidirectional-utilized-bandwidth?
decimal64
| +--rw normality
| +--rw unidirectional-delay? te-
types:performance-metric-normality
| +--rw unidirectional-min-delay? te-
types:performance-metric-normality
| +--rw unidirectional-max-delay? te-
types:performance-metric-normality
| +--rw unidirectional-delay-variation? te-
types:performance-metric-normality
| +--rw unidirectional-packet-loss? te-
types:performance-metric-normality
| +--rw unidirectional-residual-bandwidth? te-
types:performance-metric-normality
| +--rw unidirectional-available-bandwidth? te-
types:performance-metric-normality
| +--rw unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
+--rw te-srlgs +--rw te-srlgs
+--rw value* te-types:srlg +--rw value* te-types:srlg
augment /nw:networks/nw:network: 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 te!
+--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 config +--rw config
| +--rw schedules
| | +--rw schedule* [schedule-id]
| | +--rw schedule-id uint32
| | +--rw start? yang:date-and-time
| | +--rw schedule-duration? string
| | +--rw repeat-interval? string
| +--rw preference? uint8 | +--rw preference? uint8
| +--rw optimization-criterion? identityref | +--rw optimization-criterion? identityref
+--ro state +--ro state
+--ro schedules
| +--ro schedule* [schedule-id]
| +--ro schedule-id uint32
| +--ro start? yang:date-and-time
| +--ro schedule-duration? string
| +--ro repeat-interval? string
+--ro preference? uint8 +--ro preference? uint8
+--ro optimization-criterion? identityref +--ro optimization-criterion? identityref
+--ro geolocation
+--ro altitude? int64
+--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw te-node-id? te-types:te-node-id
+--rw te! +--rw te!
+--rw te-node-id te-types:te-node-id
+--rw config +--rw config
| +--rw te-node-template* leafref {template}? | +--rw te-node-template* leafref {template}?
| +--rw te-node-attributes | +--rw te-node-attributes
| +--rw schedules
| | +--rw schedule* [schedule-id]
| | +--rw schedule-id uint32
| | +--rw start? yang:date-and-time
| | +--rw schedule-duration? string
| | +--rw repeat-interval? string
| +--rw admin-status? te-types:te-admin-status | +--rw admin-status? te-types:te-admin-status
| +--rw connectivity-matrix* [id] | +--rw connectivity-matrix* [id]
| | +--rw id uint32 | | +--rw id uint32
| | +--rw from | | +--rw from
| | | +--rw tp-ref? leafref | | | +--rw tp-ref? leafref
| | +--rw to | | +--rw to
| | | +--rw tp-ref? leafref | | | +--rw tp-ref? leafref
| | +--rw is-allowed? boolean | | +--rw is-allowed? boolean
| | +--rw label-restriction* [inclusive-exclusive label- | | +--rw label-restriction* [inclusive-exclusive label-
start] start]
| | | +--rw inclusive-exclusive enumeration | | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start te-types:generalized- | | | +--rw label-start te-types:generalized-
label label
| | | +--rw label-end? te-types:generalized- | | | +--rw label-end? te-types:generalized-
label label
| | | +--rw range-bitmap? binary | | | +--rw range-bitmap? binary
| | +--rw max-link-bandwidth? decimal64 | | +--rw underlay! {te-topology-hierarchy}?
| | +--rw max-resv-link-bandwidth? decimal64 | | | +--rw underlay-primary-path
| | | | +--rw provider-ref? leafref
| | | | +--rw client-ref? leafref
| | | | +--rw te-topology-ref? leafref
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw (type)?
| | | | +--:(ipv4-address)
| | | | | +--rw v4-address? inet:ipv4-
address
| | | | | +--rw v4-prefix-length? uint8
| | | | | +--rw v4-loose? boolean
| | | | +--:(ipv6-address)
| | | | | +--rw v6-address? inet:ipv6-
address
| | | | | +--rw v6-prefix-length? uint8
| | | | | +--rw v6-loose? boolean
| | | | +--:(as-number)
| | | | | +--rw as-number? uint16
| | | | +--:(unnumbered-link)
| | | | | +--rw router-id? inet:ip-
address
| | | | | +--rw interface-id? uint32
| | | | +--:(label)
| | | | +--rw value? uint32
| | | +--rw underlay-backup-path* [index]
| | | | +--rw index uint32
| | | | +--rw provider-ref? leafref
| | | | +--rw client-ref? leafref
| | | | +--rw te-topology-ref? leafref
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw (type)?
| | | | +--:(ipv4-address)
| | | | | +--rw v4-address? inet:ipv4-
address
| | | | | +--rw v4-prefix-length? uint8
| | | | | +--rw v4-loose? boolean
| | | | +--:(ipv6-address)
| | | | | +--rw v6-address? inet:ipv6-
address
| | | | | +--rw v6-prefix-length? uint8
| | | | | +--rw v6-loose? boolean
| | | | +--:(as-number)
| | | | | +--rw as-number? uint16
| | | | +--:(unnumbered-link)
| | | | | +--rw router-id? inet:ip-
address
| | | | | +--rw interface-id? uint32
| | | | +--:(label)
| | | | +--rw value? uint32
| | | +--rw underlay-protection-type? uint16
| | | +--rw underlay-tunnel-src
| | | | +--rw tp-ref? leafref
| | | | +--rw node-ref? leafref
| | | | +--rw network-ref? leafref
| | | +--rw underlay-tunnel-des
| | | +--rw tp-ref? leafref
| | | +--rw node-ref? leafref
| | | +--rw network-ref? leafref
| | +--rw max-link-bandwidth? te-bandwidth
| | +--rw max-resv-link-bandwidth? te-bandwidth
| | +--rw unreserved-bandwidth* [priority] | | +--rw unreserved-bandwidth* [priority]
| | | +--rw priority uint8 | | | +--rw priority uint8
| | | +--rw bandwidth? decimal64 | | | +--rw bandwidth? te-bandwidth
| | +--rw te-default-metric? uint32 | | +--rw te-default-metric? uint32
| | +--rw performance-metric {te-performance-metric}? | | +--rw te-delay-metric? uint32
| | | +--rw measurement
| | | | +--rw unidirectional-delay?
uint32
| | | | +--rw unidirectional-min-delay?
uint32
| | | | +--rw unidirectional-max-delay?
uint32
| | | | +--rw unidirectional-delay-variation?
uint32
| | | | +--rw unidirectional-packet-loss?
decimal64
| | | | +--rw unidirectional-residual-bandwidth?
decimal64
| | | | +--rw unidirectional-available-bandwidth?
decimal64
| | | | +--rw unidirectional-utilized-bandwidth?
decimal64
| | | +--rw normality
| | | +--rw unidirectional-delay? te-
types:performance-metric-normality
| | | +--rw unidirectional-min-delay? te-
types:performance-metric-normality
| | | +--rw unidirectional-max-delay? te-
types:performance-metric-normality
| | | +--rw unidirectional-delay-variation? te-
types:performance-metric-normality
| | | +--rw unidirectional-packet-loss? te-
types:performance-metric-normality
| | | +--rw unidirectional-residual-bandwidth? te-
types:performance-metric-normality
| | | +--rw unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | | +--rw unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| | +--rw te-srlgs | | +--rw te-srlgs
| | +--rw value* te-types:srlg | | +--rw value* te-types:srlg
| +--rw domain-id? uint32 | +--rw domain-id? uint32
| +--rw is-abstract? empty | +--rw is-abstract? empty
| +--rw name? inet:domain-name | +--rw name? inet:domain-name
| +--rw signaling-address* inet:ip-address | +--rw signaling-address* inet:ip-address
| +--rw underlay-topology {te-topology-hierarchy}? | +--rw underlay-topology {te-topology-hierarchy}?
| +--rw provider-id-ref? leafref | +--rw provider-ref? leafref
| +--rw client-id-ref? leafref | +--rw client-ref? leafref
| +--rw te-topology-id-ref? leafref | +--rw te-topology-ref? leafref
| +--rw network-id-ref? leafref | +--rw network-ref? leafref
+--ro state +--ro state
| +--ro te-node-template* leafref {template}? | +--ro te-node-template* leafref {template}?
| +--ro te-node-attributes | +--ro te-node-attributes
| | +--ro schedules
| | | +--ro schedule* [schedule-id]
| | | +--ro schedule-id uint32
| | | +--ro start? yang:date-and-time
| | | +--ro schedule-duration? string
| | | +--ro repeat-interval? string
| | +--ro admin-status? te-types:te-admin-status | | +--ro admin-status? te-types:te-admin-status
| | +--ro connectivity-matrix* [id] | | +--ro connectivity-matrix* [id]
| | | +--ro id uint32 | | | +--ro id uint32
| | | +--ro from | | | +--ro from
| | | | +--ro tp-ref? leafref | | | | +--ro tp-ref? leafref
| | | +--ro to | | | +--ro to
| | | | +--ro tp-ref? leafref | | | | +--ro tp-ref? leafref
| | | +--ro is-allowed? boolean | | | +--ro is-allowed? boolean
| | | +--ro label-restriction* [inclusive-exclusive label- | | | +--ro label-restriction* [inclusive-exclusive label-
start] start]
| | | | +--ro inclusive-exclusive enumeration | | | | +--ro inclusive-exclusive enumeration
| | | | +--ro label-start te-types:generalized- | | | | +--ro label-start te-types:generalized-
label label
| | | | +--ro label-end? te-types:generalized- | | | | +--ro label-end? te-types:generalized-
label label
| | | | +--ro range-bitmap? binary | | | | +--ro range-bitmap? binary
| | | +--ro max-link-bandwidth? decimal64 | | | +--ro underlay! {te-topology-hierarchy}?
| | | +--ro max-resv-link-bandwidth? decimal64 | | | | +--ro underlay-primary-path
| | | | | +--ro provider-ref? leafref
| | | | | +--ro client-ref? leafref
| | | | | +--ro te-topology-ref? leafref
| | | | | +--ro network-ref? leafref
| | | | | +--ro path-element* [path-element-id]
| | | | | +--ro path-element-id uint32
| | | | | +--ro (type)?
| | | | | +--:(ipv4-address)
| | | | | | +--ro v4-address? inet:ipv4-
address
| | | | | | +--ro v4-prefix-length? uint8
| | | | | | +--ro v4-loose? boolean
| | | | | +--:(ipv6-address)
| | | | | | +--ro v6-address? inet:ipv6-
address
| | | | | | +--ro v6-prefix-length? uint8
| | | | | | +--ro v6-loose? boolean
| | | | | +--:(as-number)
| | | | | | +--ro as-number? uint16
| | | | | +--:(unnumbered-link)
| | | | | | +--ro router-id? inet:ip-
address
| | | | | | +--ro interface-id? uint32
| | | | | +--:(label)
| | | | | +--ro value? uint32
| | | | +--ro underlay-backup-path* [index]
| | | | | +--ro index uint32
| | | | | +--ro provider-ref? leafref
| | | | | +--ro client-ref? leafref
| | | | | +--ro te-topology-ref? leafref
| | | | | +--ro network-ref? leafref
| | | | | +--ro path-element* [path-element-id]
| | | | | +--ro path-element-id uint32
| | | | | +--ro (type)?
| | | | | +--:(ipv4-address)
| | | | | | +--ro v4-address? inet:ipv4-
address
| | | | | | +--ro v4-prefix-length? uint8
| | | | | | +--ro v4-loose? boolean
| | | | | +--:(ipv6-address)
| | | | | | +--ro v6-address? inet:ipv6-
address
| | | | | | +--ro v6-prefix-length? uint8
| | | | | | +--ro v6-loose? boolean
| | | | | +--:(as-number)
| | | | | | +--ro as-number? uint16
| | | | | +--:(unnumbered-link)
| | | | | | +--ro router-id? inet:ip-
address
| | | | | | +--ro interface-id? uint32
| | | | | +--:(label)
| | | | | +--ro value? uint32
| | | | +--ro underlay-protection-type? uint16
| | | | +--ro underlay-tunnel-src
| | | | | +--ro tp-ref? leafref
| | | | | +--ro node-ref? leafref
| | | | | +--ro network-ref? leafref
| | | | +--ro underlay-tunnel-des
| | | | +--ro tp-ref? leafref
| | | | +--ro node-ref? leafref
| | | | +--ro network-ref? leafref
| | | +--ro max-link-bandwidth? te-bandwidth
| | | +--ro max-resv-link-bandwidth? te-bandwidth
| | | +--ro unreserved-bandwidth* [priority] | | | +--ro unreserved-bandwidth* [priority]
| | | | +--ro priority uint8 | | | | +--ro priority uint8
| | | | +--ro bandwidth? decimal64 | | | | +--ro bandwidth? te-bandwidth
| | | +--ro te-default-metric? uint32 | | | +--ro te-default-metric? uint32
| | | +--ro performance-metric {te-performance-metric}? | | | +--ro te-delay-metric? uint32
| | | | +--ro measurement
| | | | | +--ro unidirectional-delay?
uint32
| | | | | +--ro unidirectional-min-delay?
uint32
| | | | | +--ro unidirectional-max-delay?
uint32
| | | | | +--ro unidirectional-delay-variation?
uint32
| | | | | +--ro unidirectional-packet-loss?
decimal64
| | | | | +--ro unidirectional-residual-bandwidth?
decimal64
| | | | | +--ro unidirectional-available-bandwidth?
decimal64
| | | | | +--ro unidirectional-utilized-bandwidth?
decimal64
| | | | +--ro normality
| | | | +--ro unidirectional-delay? te-
types:performance-metric-normality
| | | | +--ro unidirectional-min-delay? te-
types:performance-metric-normality
| | | | +--ro unidirectional-max-delay? te-
types:performance-metric-normality
| | | | +--ro unidirectional-delay-variation? te-
types:performance-metric-normality
| | | | +--ro unidirectional-packet-loss? te-
types:performance-metric-normality
| | | | +--ro unidirectional-residual-bandwidth? te-
types:performance-metric-normality
| | | | +--ro unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | | | +--ro unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| | | +--ro te-srlgs | | | +--ro te-srlgs
| | | +--ro value* te-types:srlg | | | +--ro value* te-types:srlg
| | +--ro domain-id? uint32 | | +--ro domain-id? uint32
| | +--ro is-abstract? empty | | +--ro is-abstract? empty
| | +--ro name? inet:domain-name | | +--ro name? inet:domain-name
| | +--ro signaling-address* inet:ip-address | | +--ro signaling-address* inet:ip-address
| | +--ro underlay-topology {te-topology-hierarchy}? | | +--ro underlay-topology {te-topology-hierarchy}?
| | +--ro provider-id-ref? leafref | | +--ro provider-ref? leafref
| | +--ro client-id-ref? leafref | | +--ro client-ref? leafref
| | +--ro te-topology-id-ref? leafref | | +--ro te-topology-ref? leafref
| | +--ro network-id-ref? leafref | | +--ro network-ref? leafref
| +--ro oper-status? te-types:te-oper-status | +--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 is-multi-access-dr? empty
| +--ro information-source? enumeration | +--ro information-source? te-info-source
| +--ro information-source-state | +--ro information-source-state
| | +--ro credibility-preference? uint16 | | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string
| | +--ro network-instance? string
| | +--ro topology | | +--ro topology
| | | +--ro provider-id-ref? leafref | | +--ro provider-ref? leafref
| | | +--ro client-id-ref? leafref | | +--ro client-ref? leafref
| | | +--ro te-topology-id-ref? leafref | | +--ro te-topology-ref? leafref
| | | +--ro network-id-ref? leafref | | +--ro network-ref? leafref
| | +--ro routing-instance? string | | +--ro node-ref? leafref
| +--ro information-source-entry* [information-source] | +--ro information-source-entry* [information-source]
| +--ro information-source enumeration | +--ro information-source te-info-source
| +--ro information-source-state | +--ro information-source-state
| | +--ro credibility-preference? uint16 | | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string
| | +--ro network-instance? string
| | +--ro topology | | +--ro topology
| | | +--ro provider-id-ref? leafref | | +--ro provider-ref? leafref
| | | +--ro client-id-ref? leafref | | +--ro client-ref? leafref
| | | +--ro te-topology-id-ref? leafref | | +--ro te-topology-ref? leafref
| | | +--ro network-id-ref? leafref | | +--ro network-ref? leafref
| | +--ro routing-instance? string | | +--ro node-ref? leafref
| +--ro connectivity-matrix* [id] | +--ro connectivity-matrix* [id]
| | +--ro id uint32 | | +--ro id uint32
| | +--ro from | | +--ro from
| | | +--ro tp-ref? leafref | | | +--ro tp-ref? leafref
| | +--ro to | | +--ro to
| | | +--ro tp-ref? leafref | | | +--ro tp-ref? leafref
| | +--ro is-allowed? boolean | | +--ro is-allowed? boolean
| | +--ro label-restriction* [inclusive-exclusive label- | | +--ro label-restriction* [inclusive-exclusive label-
start] start]
| | | +--ro inclusive-exclusive enumeration | | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start te-types:generalized- | | | +--ro label-start te-types:generalized-
label label
| | | +--ro label-end? te-types:generalized- | | | +--ro label-end? te-types:generalized-
label label
| | | +--ro range-bitmap? binary | | | +--ro range-bitmap? binary
| | +--ro max-link-bandwidth? decimal64 | | +--ro underlay! {te-topology-hierarchy}?
| | +--ro max-resv-link-bandwidth? decimal64 | | | +--ro underlay-primary-path
| | | | +--ro provider-ref? leafref
| | | | +--ro client-ref? leafref
| | | | +--ro te-topology-ref? leafref
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro (type)?
| | | | +--:(ipv4-address)
| | | | | +--ro v4-address? inet:ipv4-
address
| | | | | +--ro v4-prefix-length? uint8
| | | | | +--ro v4-loose? boolean
| | | | +--:(ipv6-address)
| | | | | +--ro v6-address? inet:ipv6-
address
| | | | | +--ro v6-prefix-length? uint8
| | | | | +--ro v6-loose? boolean
| | | | +--:(as-number)
| | | | | +--ro as-number? uint16
| | | | +--:(unnumbered-link)
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | +--:(label)
| | | | +--ro value? uint32
| | | +--ro underlay-backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro provider-ref? leafref
| | | | +--ro client-ref? leafref
| | | | +--ro te-topology-ref? leafref
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro (type)?
| | | | +--:(ipv4-address)
| | | | | +--ro v4-address? inet:ipv4-
address
| | | | | +--ro v4-prefix-length? uint8
| | | | | +--ro v4-loose? boolean
| | | | +--:(ipv6-address)
| | | | | +--ro v6-address? inet:ipv6-
address
| | | | | +--ro v6-prefix-length? uint8
| | | | | +--ro v6-loose? boolean
| | | | +--:(as-number)
| | | | | +--ro as-number? uint16
| | | | +--:(unnumbered-link)
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | +--:(label)
| | | | +--ro value? uint32
| | | +--ro underlay-protection-type? uint16
| | | +--ro underlay-tunnel-src
| | | | +--ro tp-ref? leafref
| | | | +--ro node-ref? leafref
| | | | +--ro network-ref? leafref
| | | +--ro underlay-tunnel-des
| | | +--ro tp-ref? leafref
| | | +--ro node-ref? leafref
| | | +--ro network-ref? leafref
| | +--ro max-link-bandwidth? te-bandwidth
| | +--ro max-resv-link-bandwidth? te-bandwidth
| | +--ro unreserved-bandwidth* [priority] | | +--ro unreserved-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? decimal64 | | | +--ro bandwidth? te-bandwidth
| | +--ro te-default-metric? uint32 | | +--ro te-default-metric? uint32
| | +--ro performance-metric {te-performance-metric}? | | +--ro te-delay-metric? uint32
| | | +--ro measurement
| | | | +--ro unidirectional-delay?
uint32
| | | | +--ro unidirectional-min-delay?
uint32
| | | | +--ro unidirectional-max-delay?
uint32
| | | | +--ro unidirectional-delay-variation?
uint32
| | | | +--ro unidirectional-packet-loss?
decimal64
| | | | +--ro unidirectional-residual-bandwidth?
decimal64
| | | | +--ro unidirectional-available-bandwidth?
decimal64
| | | | +--ro unidirectional-utilized-bandwidth?
decimal64
| | | +--ro normality
| | | +--ro unidirectional-delay? te-
types:performance-metric-normality
| | | +--ro unidirectional-min-delay? te-
types:performance-metric-normality
| | | +--ro unidirectional-max-delay? te-
types:performance-metric-normality
| | | +--ro unidirectional-delay-variation? te-
types:performance-metric-normality
| | | +--ro unidirectional-packet-loss? te-
types:performance-metric-normality
| | | +--ro unidirectional-residual-bandwidth? te-
types:performance-metric-normality
| | | +--ro unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | | +--ro unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| | +--ro te-srlgs | | +--ro te-srlgs
| | +--ro value* te-types:srlg | | +--ro value* te-types:srlg
| +--ro domain-id? uint32 | +--ro domain-id? uint32
| +--ro is-abstract? empty | +--ro is-abstract? empty
| +--ro name? inet:domain-name | +--ro name? inet:domain-name
| +--ro signaling-address* inet:ip-address | +--ro signaling-address* inet:ip-address
| +--ro underlay-topology {te-topology-hierarchy}? | +--ro underlay-topology {te-topology-hierarchy}?
| +--ro provider-id-ref? leafref | +--ro provider-ref? leafref
| +--ro client-id-ref? leafref | +--ro client-ref? leafref
| +--ro te-topology-id-ref? leafref | +--ro te-topology-ref? leafref
| +--ro network-id-ref? leafref | +--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-termination-point* [tunnel-tp-id]
+--rw tunnel-tp-id binary +--rw tunnel-tp-id binary
+--rw config +--rw config
| +--rw switching-capability? identityref | +--rw switching-capability? identityref
| +--rw encoding? identityref | +--rw encoding? identityref
| +--rw inter-layer-lock-id? uint32 | +--rw inter-layer-lock-id? uint32
| +--rw protection-type? identityref | +--rw protection-type? identityref
| +--rw termination-capability* [link-tp] | +--rw local-link-connectivity* [link-tp-ref]
| +--rw link-tp leafref | +--rw link-tp-ref leafref
| +--rw label-restriction* [inclusive-exclusive label- | +--rw label-restriction* [inclusive-exclusive label-
start] start]
| | +--rw inclusive-exclusive enumeration | | +--rw inclusive-exclusive enumeration
| | +--rw label-start te-types:generalized- | | +--rw label-start te-types:generalized-
label label
| | +--rw label-end? te-types:generalized- | | +--rw label-end? te-types:generalized-
label label
| | +--rw range-bitmap? binary | | +--rw range-bitmap? binary
| +--rw max-lsp-bandwidth* [priority] | +--rw max-lsp-bandwidth* [priority]
| +--rw priority uint8 | | +--rw priority uint8
| +--rw bandwidth? decimal64 | | +--rw bandwidth? te-bandwidth
| +--rw max-link-bandwidth? te-bandwidth
| +--rw max-resv-link-bandwidth? te-bandwidth
| +--rw unreserved-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth? te-bandwidth
| +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32
| +--rw te-srlgs
| +--rw value* te-types:srlg
+--ro state +--ro state
+--ro switching-capability? identityref | +--ro switching-capability? identityref
+--ro encoding? identityref | +--ro encoding? identityref
+--ro inter-layer-lock-id? uint32 | +--ro inter-layer-lock-id? uint32
+--ro protection-type? identityref | +--ro protection-type? identityref
+--ro termination-capability* [link-tp] | +--ro local-link-connectivity* [link-tp-ref]
+--ro link-tp leafref | | +--ro link-tp-ref leafref
+--ro label-restriction* [inclusive-exclusive label- | | +--ro label-restriction* [inclusive-exclusive label-
start] start]
| +--ro inclusive-exclusive enumeration | | | +--ro inclusive-exclusive enumeration
| +--ro label-start te-types:generalized- | | | +--ro label-start te-types:generalized-
label label
| +--ro label-end? te-types:generalized- | | | +--ro label-end? te-types:generalized-
label label
| +--ro range-bitmap? binary | | | +--ro range-bitmap? binary
+--ro max-lsp-bandwidth* [priority] | | +--ro max-lsp-bandwidth* [priority]
+--ro priority uint8 | | | +--ro priority uint8
+--ro bandwidth? decimal64 | | | +--ro bandwidth? te-bandwidth
| | +--ro max-link-bandwidth? te-bandwidth
| | +--ro max-resv-link-bandwidth? te-bandwidth
| | +--ro unreserved-bandwidth* [priority]
| | | +--ro priority uint8
| | | +--ro bandwidth? te-bandwidth
| | +--ro te-default-metric? uint32
| | +--ro te-delay-metric? uint32
| | +--ro te-srlgs
| | +--ro value* te-types:srlg
| +--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
augment /nw:networks/nw:network/nt:link: augment /nw:networks/nw:network/nt:link:
+--rw te! +--rw te!
+--rw config +--rw config
| +--rw (bundle-stack-level)? | +--rw (bundle-stack-level)?
| | +--:(bundle) | | +--:(bundle)
| | | +--rw bundled-links | | | +--rw bundled-links
| | | +--rw bundled-link* [sequence] | | | +--rw bundled-link* [sequence]
| | | +--rw sequence uint32 | | | +--rw sequence uint32
| | | +--rw src-tp-ref? leafref | | | +--rw src-tp-ref? leafref
| | | +--rw des-tp-ref? leafref | | | +--rw des-tp-ref? leafref
| | +--:(component) | | +--:(component)
| | +--rw component-links | | +--rw component-links
| | +--rw component-link* [sequence] | | +--rw component-link* [sequence]
| | +--rw sequence uint32 | | +--rw sequence uint32
| | +--rw src-interface-ref? string | | +--rw src-interface-ref? string
| | +--rw des-interface-ref? string | | +--rw des-interface-ref? string
| +--rw te-link-template* leafref {template}? | +--rw te-link-template* leafref {template}?
| +--rw te-link-attributes | +--rw te-link-attributes
| +--rw schedules
| | +--rw schedule* [schedule-id]
| | +--rw schedule-id uint32
| | +--rw start? yang:date-and-time
| | +--rw schedule-duration? string
| | +--rw repeat-interval? string
| +--rw access-type? te-types:te-link- | +--rw access-type? te-types:te-link-
access-type access-type
| +--rw external-domain | +--rw external-domain
| | +--rw remote-te-node-id? te-types:te-node-id | | +--rw remote-te-node-id? te-types:te-node-id
| | +--rw remote-te-link-tp-id? te-types:te-tp-id | | +--rw remote-te-link-tp-id? te-types:te-tp-id
| | +--rw plug-id? uint32 | | +--rw plug-id? uint32
| +--rw is-abstract? empty | +--rw is-abstract? empty
| +--rw name? string | +--rw name? string
| +--rw underlay! {te-topology-hierarchy}? | +--rw underlay! {te-topology-hierarchy}?
| | +--rw underlay-primary-path | | +--rw underlay-primary-path
| | | +--rw provider-id-ref? leafref | | | +--rw provider-ref? leafref
| | | +--rw client-id-ref? leafref | | | +--rw client-ref? leafref
| | | +--rw te-topology-id-ref? leafref | | | +--rw te-topology-ref? leafref
| | | +--rw network-id-ref? leafref | | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id] | | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32 | | | +--rw path-element-id uint32
| | | +--rw (type)? | | | +--rw (type)?
| | | +--:(ipv4-address) | | | +--:(ipv4-address)
| | | | +--rw v4-address? inet:ipv4- | | | | +--rw v4-address? inet:ipv4-
address address
| | | | +--rw v4-prefix-length? uint8 | | | | +--rw v4-prefix-length? uint8
| | | | +--rw v4-loose? boolean | | | | +--rw v4-loose? boolean
| | | +--:(ipv6-address) | | | +--:(ipv6-address)
| | | | +--rw v6-address? inet:ipv6- | | | | +--rw v6-address? inet:ipv6-
skipping to change at page 46, line 21 skipping to change at page 47, line 11
| | | | +--rw v6-prefix-length? uint8 | | | | +--rw v6-prefix-length? uint8
| | | | +--rw v6-loose? boolean | | | | +--rw v6-loose? boolean
| | | +--:(as-number) | | | +--:(as-number)
| | | | +--rw as-number? uint16 | | | | +--rw as-number? uint16
| | | +--:(unnumbered-link) | | | +--:(unnumbered-link)
| | | | +--rw router-id? inet:ip-address | | | | +--rw router-id? inet:ip-address
| | | | +--rw interface-id? uint32 | | | | +--rw interface-id? uint32
| | | +--:(label) | | | +--:(label)
| | | +--rw value? uint32 | | | +--rw value? uint32
| | +--rw underlay-backup-path* [index] | | +--rw underlay-backup-path* [index]
| | | +--rw index uint32 | | | +--rw index uint32
| | | +--rw provider-id-ref? leafref | | | +--rw provider-ref? leafref
| | | +--rw client-id-ref? leafref | | | +--rw client-ref? leafref
| | | +--rw te-topology-id-ref? leafref | | | +--rw te-topology-ref? leafref
| | | +--rw network-id-ref? leafref | | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id] | | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32 | | | +--rw path-element-id uint32
| | | +--rw (type)? | | | +--rw (type)?
| | | +--:(ipv4-address) | | | +--:(ipv4-address)
| | | | +--rw v4-address? inet:ipv4- | | | | +--rw v4-address? inet:ipv4-
address address
| | | | +--rw v4-prefix-length? uint8 | | | | +--rw v4-prefix-length? uint8
| | | | +--rw v4-loose? boolean | | | | +--rw v4-loose? boolean
| | | +--:(ipv6-address) | | | +--:(ipv6-address)
| | | | +--rw v6-address? inet:ipv6- | | | | +--rw v6-address? inet:ipv6-
skipping to change at page 46, line 47 skipping to change at page 47, line 37
| | | | +--rw v6-prefix-length? uint8 | | | | +--rw v6-prefix-length? uint8
| | | | +--rw v6-loose? boolean | | | | +--rw v6-loose? boolean
| | | +--:(as-number) | | | +--:(as-number)
| | | | +--rw as-number? uint16 | | | | +--rw as-number? uint16
| | | +--:(unnumbered-link) | | | +--:(unnumbered-link)
| | | | +--rw router-id? inet:ip-address | | | | +--rw router-id? inet:ip-address
| | | | +--rw interface-id? uint32 | | | | +--rw interface-id? uint32
| | | +--:(label) | | | +--:(label)
| | | +--rw value? uint32 | | | +--rw value? uint32
| | +--rw underlay-protection-type? uint16 | | +--rw underlay-protection-type? uint16
| | +--rw underlay-trail-src | | +--rw underlay-tunnel-src
| | | +--rw tp-ref? leafref | | | +--rw tp-ref? leafref
| | | +--rw node-ref? leafref | | | +--rw node-ref? leafref
| | | +--rw network-ref? leafref | | | +--rw network-ref? leafref
| | +--rw underlay-trail-des | | +--rw underlay-tunnel-des
| | +--rw tp-ref? leafref | | +--rw tp-ref? leafref
| | +--rw node-ref? leafref | | +--rw node-ref? leafref
| | +--rw network-ref? leafref | | +--rw network-ref? leafref
| +--rw admin-status? te-types:te- | +--rw admin-status? te-types:te-
admin-status admin-status
| +--rw performance-metric-throttle {te-performance-
metric}?
| | +--rw unidirectional-delay-offset? uint32
| | +--rw measure-interval? uint32
| | +--rw advertisement-interval? uint32
| | +--rw suppression-interval? uint32
| | +--rw threshold-out
| | | +--rw unidirectional-delay? uint32
| | | +--rw unidirectional-min-delay? uint32
| | | +--rw unidirectional-max-delay? uint32
| | | +--rw unidirectional-delay-variation? uint32
| | | +--rw unidirectional-packet-loss?
decimal64
| | | +--rw unidirectional-residual-bandwidth?
decimal64
| | | +--rw unidirectional-available-bandwidth?
decimal64
| | | +--rw unidirectional-utilized-bandwidth?
decimal64
| | +--rw threshold-in
| | | +--rw unidirectional-delay? uint32
| | | +--rw unidirectional-min-delay? uint32
| | | +--rw unidirectional-max-delay? uint32
| | | +--rw unidirectional-delay-variation? uint32
| | | +--rw unidirectional-packet-loss?
decimal64
| | | +--rw unidirectional-residual-bandwidth?
decimal64
| | | +--rw unidirectional-available-bandwidth?
decimal64
| | | +--rw unidirectional-utilized-bandwidth?
decimal64
| | +--rw threshold-accelerated-advertisement
| | +--rw unidirectional-delay? uint32
| | +--rw unidirectional-min-delay? uint32
| | +--rw unidirectional-max-delay? uint32
| | +--rw unidirectional-delay-variation? uint32
| | +--rw unidirectional-packet-loss?
decimal64
| | +--rw unidirectional-residual-bandwidth?
decimal64
| | +--rw unidirectional-available-bandwidth?
decimal64
| | +--rw unidirectional-utilized-bandwidth?
decimal64
| +--rw link-index? uint64 | +--rw link-index? uint64
| +--rw administrative-group? te-types:admin- | +--rw administrative-group? te-types:admin-
groups groups
| +--rw interface-switching-capability* [switching- | +--rw interface-switching-capability* [switching-
capability] capability]
| | +--rw switching-capability identityref | | +--rw switching-capability identityref
| | +--rw encoding? identityref | | +--rw encoding? identityref
| | +--rw max-lsp-bandwidth* [priority] | | +--rw max-lsp-bandwidth* [priority]
| | | +--rw priority uint8 | | +--rw priority uint8
| | | +--rw bandwidth? decimal64 | | +--rw bandwidth? te-bandwidth
| | +--rw time-division-multiplex-capable
| | +--rw minimum-lsp-bandwidth? decimal64
| | +--rw indication? enumeration
| +--rw link-protection-type? enumeration | +--rw link-protection-type? enumeration
| +--rw max-link-bandwidth? decimal64 | +--rw max-link-bandwidth? te-bandwidth
| +--rw max-resv-link-bandwidth? decimal64 | +--rw max-resv-link-bandwidth? te-bandwidth
| +--rw unreserved-bandwidth* [priority] | +--rw unreserved-bandwidth* [priority]
| | +--rw priority uint8 | | +--rw priority uint8
| | +--rw bandwidth? decimal64 | | +--rw bandwidth? te-bandwidth
| +--rw te-default-metric? uint32 | +--rw te-default-metric? uint32
| +--rw performance-metric {te-performance-metric}? | +--rw te-delay-metric? uint32
| | +--rw measurement
| | | +--rw unidirectional-delay? uint32
| | | +--rw unidirectional-min-delay? uint32
| | | +--rw unidirectional-max-delay? uint32
| | | +--rw unidirectional-delay-variation? uint32
| | | +--rw unidirectional-packet-loss?
decimal64
| | | +--rw unidirectional-residual-bandwidth?
decimal64
| | | +--rw unidirectional-available-bandwidth?
decimal64
| | | +--rw unidirectional-utilized-bandwidth?
decimal64
| | +--rw normality
| | +--rw unidirectional-delay? te-
types:performance-metric-normality
| | +--rw unidirectional-min-delay? te-
types:performance-metric-normality
| | +--rw unidirectional-max-delay? te-
types:performance-metric-normality
| | +--rw unidirectional-delay-variation? te-
types:performance-metric-normality
| | +--rw unidirectional-packet-loss? te-
types:performance-metric-normality
| | +--rw unidirectional-residual-bandwidth? te-
types:performance-metric-normality
| | +--rw unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | +--rw unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| +--rw te-srlgs | +--rw te-srlgs
| +--rw value* te-types:srlg | +--rw value* te-types:srlg
+--ro state +--ro state
+--ro (bundle-stack-level)? | +--ro (bundle-stack-level)?
| +--:(bundle) | | +--:(bundle)
| | +--ro bundled-links | | | +--ro bundled-links
| | +--ro bundled-link* [sequence] | | | +--ro bundled-link* [sequence]
| | +--ro sequence uint32 | | | +--ro sequence uint32
| | +--ro src-tp-ref? leafref | | | +--ro src-tp-ref? leafref
| | +--ro des-tp-ref? leafref | | | +--ro des-tp-ref? leafref
| +--:(component) | | +--:(component)
| +--ro component-links | | +--ro component-links
| +--ro component-link* [sequence] | | +--ro component-link* [sequence]
| +--ro sequence uint32 | | +--ro sequence uint32
| +--ro src-interface-ref? string | | +--ro src-interface-ref? string
| +--ro des-interface-ref? string | | +--ro des-interface-ref? string
+--ro te-link-template* leafref {template}? | +--ro te-link-template* leafref {template}?
+--ro te-link-attributes | +--ro te-link-attributes
| +--ro schedules | | +--ro access-type? te-types:te-link-
| | +--ro schedule* [schedule-id]
| | +--ro schedule-id uint32
| | +--ro start? yang:date-and-time
| | +--ro schedule-duration? string
| | +--ro repeat-interval? string
| +--ro access-type? te-types:te-link-
access-type access-type
| +--ro external-domain | | +--ro external-domain
| | +--ro remote-te-node-id? te-types:te-node-id | | | +--ro remote-te-node-id? te-types:te-node-id
| | +--ro remote-te-link-tp-id? te-types:te-tp-id | | | +--ro remote-te-link-tp-id? te-types:te-tp-id
| | +--ro plug-id? uint32 | | | +--ro plug-id? uint32
| +--ro is-abstract? empty | | +--ro is-abstract? empty
| +--ro name? string | | +--ro name? string
| +--ro underlay! {te-topology-hierarchy}? | | +--ro underlay! {te-topology-hierarchy}?
| | +--ro underlay-primary-path | | | +--ro underlay-primary-path
| | | +--ro provider-id-ref? leafref | | | | +--ro provider-ref? leafref
| | | +--ro client-id-ref? leafref | | | | +--ro client-ref? leafref
| | | +--ro te-topology-id-ref? leafref | | | | +--ro te-topology-ref? leafref
| | | +--ro network-id-ref? leafref | | | | +--ro network-ref? leafref
| | | +--ro path-element* [path-element-id] | | | | +--ro path-element* [path-element-id]
| | | +--ro path-element-id uint32 | | | | +--ro path-element-id uint32
| | | +--ro (type)? | | | | +--ro (type)?
| | | +--:(ipv4-address) | | | | +--:(ipv4-address)
| | | | +--ro v4-address? inet:ipv4- | | | | | +--ro v4-address? inet:ipv4-
address address
| | | | +--ro v4-prefix-length? uint8 | | | | | +--ro v4-prefix-length? uint8
| | | | +--ro v4-loose? boolean | | | | | +--ro v4-loose? boolean
| | | +--:(ipv6-address) | | | | +--:(ipv6-address)
| | | | +--ro v6-address? inet:ipv6- | | | | | +--ro v6-address? inet:ipv6-
address address
| | | | +--ro v6-prefix-length? uint8 | | | | | +--ro v6-prefix-length? uint8
| | | | +--ro v6-loose? boolean | | | | | +--ro v6-loose? boolean
| | | +--:(as-number) | | | | +--:(as-number)
| | | | +--ro as-number? uint16 | | | | | +--ro as-number? uint16
| | | +--:(unnumbered-link) | | | | +--:(unnumbered-link)
| | | | +--ro router-id? inet:ip-address | | | | | +--ro router-id? inet:ip-address
| | | | +--ro interface-id? uint32 | | | | | +--ro interface-id? uint32
| | | +--:(label) | | | | +--:(label)
| | | +--ro value? uint32 | | | | +--ro value? uint32
| | +--ro underlay-backup-path* [index] | | | +--ro underlay-backup-path* [index]
| | | +--ro index uint32 | | | | +--ro index uint32
| | | +--ro provider-id-ref? leafref | | | | +--ro provider-ref? leafref
| | | +--ro client-id-ref? leafref | | | | +--ro client-ref? leafref
| | | +--ro te-topology-id-ref? leafref | | | | +--ro te-topology-ref? leafref
| | | +--ro network-id-ref? leafref | | | | +--ro network-ref? leafref
| | | +--ro path-element* [path-element-id] | | | | +--ro path-element* [path-element-id]
| | | +--ro path-element-id uint32 | | | | +--ro path-element-id uint32
| | | +--ro (type)? | | | | +--ro (type)?
| | | +--:(ipv4-address) | | | | +--:(ipv4-address)
| | | | +--ro v4-address? inet:ipv4- | | | | | +--ro v4-address? inet:ipv4-
address address
| | | | +--ro v4-prefix-length? uint8 | | | | | +--ro v4-prefix-length? uint8
| | | | +--ro v4-loose? boolean | | | | | +--ro v4-loose? boolean
| | | +--:(ipv6-address) | | | | +--:(ipv6-address)
| | | | +--ro v6-address? inet:ipv6- | | | | | +--ro v6-address? inet:ipv6-
address address
| | | | +--ro v6-prefix-length? uint8 | | | | | +--ro v6-prefix-length? uint8
| | | | +--ro v6-loose? boolean | | | | | +--ro v6-loose? boolean
| | | +--:(as-number) | | | | +--:(as-number)
| | | | +--ro as-number? uint16 | | | | | +--ro as-number? uint16
| | | +--:(unnumbered-link) | | | | +--:(unnumbered-link)
| | | | +--ro router-id? inet:ip-address | | | | | +--ro router-id? inet:ip-address
| | | | +--ro interface-id? uint32 | | | | | +--ro interface-id? uint32
| | | +--:(label) | | | | +--:(label)
| | | +--ro value? uint32 | | | | +--ro value? uint32
| | +--ro underlay-protection-type? uint16 | | | +--ro underlay-protection-type? uint16
| | +--ro underlay-trail-src | | | +--ro underlay-tunnel-src
| | | +--ro tp-ref? leafref | | | | +--ro tp-ref? leafref
| | | +--ro node-ref? leafref | | | | +--ro node-ref? leafref
| | | +--ro network-ref? leafref | | | | +--ro network-ref? leafref
| | +--ro underlay-trail-des | | | +--ro underlay-tunnel-des
| | +--ro tp-ref? leafref | | | +--ro tp-ref? leafref
| | +--ro node-ref? leafref | | | +--ro node-ref? leafref
| | +--ro network-ref? leafref | | | +--ro network-ref? leafref
| +--ro admin-status? te-types:te- | | +--ro admin-status? te-types:te-
admin-status admin-status
| +--ro performance-metric-throttle {te-performance- | | +--ro link-index? uint64
metric}? | | +--ro administrative-group? te-types:admin-
| | +--ro unidirectional-delay-offset? uint32
| | +--ro measure-interval? uint32
| | +--ro advertisement-interval? uint32
| | +--ro suppression-interval? uint32
| | +--ro threshold-out
| | | +--ro unidirectional-delay? uint32
| | | +--ro unidirectional-min-delay? uint32
| | | +--ro unidirectional-max-delay? uint32
| | | +--ro unidirectional-delay-variation? uint32
| | | +--ro unidirectional-packet-loss?
decimal64
| | | +--ro unidirectional-residual-bandwidth?
decimal64
| | | +--ro unidirectional-available-bandwidth?
decimal64
| | | +--ro unidirectional-utilized-bandwidth?
decimal64
| | +--ro threshold-in
| | | +--ro unidirectional-delay? uint32
| | | +--ro unidirectional-min-delay? uint32
| | | +--ro unidirectional-max-delay? uint32
| | | +--ro unidirectional-delay-variation? uint32
| | | +--ro unidirectional-packet-loss?
decimal64
| | | +--ro unidirectional-residual-bandwidth?
decimal64
| | | +--ro unidirectional-available-bandwidth?
decimal64
| | | +--ro unidirectional-utilized-bandwidth?
decimal64
| | +--ro threshold-accelerated-advertisement
| | +--ro unidirectional-delay? uint32
| | +--ro unidirectional-min-delay? uint32
| | +--ro unidirectional-max-delay? uint32
| | +--ro unidirectional-delay-variation? uint32
| | +--ro unidirectional-packet-loss?
decimal64
| | +--ro unidirectional-residual-bandwidth?
decimal64
| | +--ro unidirectional-available-bandwidth?
decimal64
| | +--ro unidirectional-utilized-bandwidth?
decimal64
| +--ro link-index? uint64
| +--ro administrative-group? te-types:admin-
groups groups
| +--ro interface-switching-capability* [switching- | | +--ro interface-switching-capability* [switching-
capability] capability]
| | +--ro switching-capability identityref | | | +--ro switching-capability identityref
| | +--ro encoding? identityref | | | +--ro encoding? identityref
| | +--ro max-lsp-bandwidth* [priority] | | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? decimal64 | | | +--ro bandwidth? te-bandwidth
| | +--ro time-division-multiplex-capable | | +--ro link-protection-type? enumeration
| | +--ro minimum-lsp-bandwidth? decimal64 | | +--ro max-link-bandwidth? te-bandwidth
| | +--ro indication? enumeration | | +--ro max-resv-link-bandwidth? te-bandwidth
| +--ro link-protection-type? enumeration | | +--ro unreserved-bandwidth* [priority]
| +--ro max-link-bandwidth? decimal64 | | | +--ro priority uint8
| +--ro max-resv-link-bandwidth? decimal64 | | | +--ro bandwidth? te-bandwidth
| +--ro unreserved-bandwidth* [priority] | | +--ro te-default-metric? uint32
| | +--ro priority uint8 | | +--ro te-delay-metric? uint32
| | +--ro bandwidth? decimal64 | | +--ro te-srlgs
| +--ro te-default-metric? uint32 | | +--ro value* te-types:srlg
| +--ro performance-metric {te-performance-metric}? | +--ro oper-status? te-types:te-oper-status
| | +--ro measurement | +--ro is-transitional? empty
| | | +--ro unidirectional-delay? uint32 | +--ro information-source? te-info-source
| | | +--ro unidirectional-min-delay? uint32 | +--ro information-source-state
| | | +--ro unidirectional-max-delay? uint32 | | +--ro credibility-preference? uint16
| | | +--ro unidirectional-delay-variation? uint32 | | +--ro logical-network-element? string
| | | +--ro unidirectional-packet-loss? | | +--ro network-instance? string
decimal64 | | +--ro topology
| | | +--ro unidirectional-residual-bandwidth? | | +--ro provider-ref? leafref
decimal64 | | +--ro client-ref? leafref
| | | +--ro unidirectional-available-bandwidth? | | +--ro te-topology-ref? leafref
decimal64 | | +--ro network-ref? leafref
| | | +--ro unidirectional-utilized-bandwidth? | | +--ro link-ref? leafref
decimal64 | +--ro information-source-entry* [information-source]
| | +--ro normality | | +--ro information-source te-info-source
| | +--ro unidirectional-delay? te- | | +--ro information-source-state
types:performance-metric-normality | | | +--ro credibility-preference? uint16
| | +--ro unidirectional-min-delay? te- | | | +--ro logical-network-element? string
types:performance-metric-normality | | | +--ro network-instance? string
| | +--ro unidirectional-max-delay? te- | | | +--ro topology
types:performance-metric-normality | | | +--ro provider-ref? leafref
| | +--ro unidirectional-delay-variation? te- | | | +--ro client-ref? leafref
types:performance-metric-normality | | | +--ro te-topology-ref? leafref
| | +--ro unidirectional-packet-loss? te- | | | +--ro network-ref? leafref
types:performance-metric-normality | | | +--ro link-ref? leafref
| | +--ro unidirectional-residual-bandwidth? te- | | +--ro link-index? uint64
types:performance-metric-normality | | +--ro administrative-group? te-types:admin-
| | +--ro unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | +--ro unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| +--ro te-srlgs
| +--ro value* te-types:srlg
+--ro oper-status? te-types:te-oper-status
+--ro is-transitional? empty
+--ro information-source? enumeration
+--ro information-source-state
| +--ro credibility-preference? uint16
| +--ro topology
| | +--ro provider-id-ref? leafref
| | +--ro client-id-ref? leafref
| | +--ro te-topology-id-ref? leafref
| | +--ro network-id-ref? leafref
| +--ro routing-instance? string
+--ro information-source-entry* [information-source]
| +--ro information-source enumeration
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro topology
| | | +--ro provider-id-ref? leafref
| | | +--ro client-id-ref? leafref
| | | +--ro te-topology-id-ref? leafref
| | | +--ro network-id-ref? leafref
| | +--ro routing-instance? string
| +--ro link-index? uint64
| +--ro administrative-group? te-types:admin-
groups groups
| +--ro interface-switching-capability* [switching- | | +--ro interface-switching-capability* [switching-
capability] capability]
| | +--ro switching-capability identityref | | | +--ro switching-capability identityref
| | +--ro encoding? identityref | | | +--ro encoding? identityref
| | +--ro max-lsp-bandwidth* [priority] | | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? decimal64 | | | +--ro bandwidth? te-bandwidth
| | +--ro time-division-multiplex-capable | | +--ro link-protection-type? enumeration
| | +--ro minimum-lsp-bandwidth? decimal64 | | +--ro max-link-bandwidth? te-bandwidth
| | +--ro indication? enumeration | | +--ro max-resv-link-bandwidth? te-bandwidth
| +--ro link-protection-type? enumeration | | +--ro unreserved-bandwidth* [priority]
| +--ro max-link-bandwidth? decimal64 | | | +--ro priority uint8
| +--ro max-resv-link-bandwidth? decimal64 | | | +--ro bandwidth? te-bandwidth
| +--ro unreserved-bandwidth* [priority] | | +--ro te-default-metric? uint32
| | +--ro priority uint8 | | +--ro te-delay-metric? uint32
| | +--ro bandwidth? decimal64 | | +--ro te-srlgs
| +--ro te-default-metric? uint32 | | +--ro value* te-types:srlg
| +--ro performance-metric {te-performance-metric}? | +--ro recovery
| | +--ro measurement | | +--ro restoration-status? te-types:te-recovery-status
| | | +--ro unidirectional-delay? uint32 | | +--ro protection-status? te-types:te-recovery-status
| | | +--ro unidirectional-min-delay? uint32 | +--ro underlay {te-topology-hierarchy}?
| | | +--ro unidirectional-max-delay? uint32 | +--ro dynamic? boolean
| | | +--ro unidirectional-delay-variation? uint32 | +--ro committed? boolean
| | | +--ro unidirectional-packet-loss? | +--ro tunnel-id? uint16
decimal64 +--ro statistics
| | | +--ro unidirectional-residual-bandwidth? +--ro discontinuity-time yang:date-and-time
decimal64 +--ro disables? yang:counter32
| | | +--ro unidirectional-available-bandwidth? +--ro enables? yang:counter32
decimal64 +--ro maintenance-clears? yang:counter32
| | | +--ro unidirectional-utilized-bandwidth? +--ro maintenance-sets? yang:counter32
decimal64 +--ro modifies? yang:counter32
| | +--ro normality +--ro downs? yang:counter32
| | +--ro unidirectional-delay? te- +--ro ups? yang:counter32
types:performance-metric-normality +--ro fault-clears? yang:counter32
| | +--ro unidirectional-min-delay? te- +--ro fault-detects? yang:counter32
types:performance-metric-normality +--ro protection-switches? yang:counter32
| | +--ro unidirectional-max-delay? te- +--ro protection-reverts? yang:counter32
types:performance-metric-normality +--ro restoration-failures? yang:counter32
| | +--ro unidirectional-delay-variation? te- +--ro restoration-starts? yang:counter32
types:performance-metric-normality +--ro restoration-successes? yang:counter32
| | +--ro unidirectional-packet-loss? te- +--ro restoration-reversion-failures? yang:counter32
types:performance-metric-normality +--ro restoration-reversion-starts? yang:counter32
| | +--ro unidirectional-residual-bandwidth? te- +--ro restoration-reversion-successes? yang:counter32
types:performance-metric-normality
| | +--ro unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | +--ro unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| +--ro te-srlgs
| +--ro value* te-types:srlg
+--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
augment /nw:networks/nw:network/nw:node/nt:termination-point: augment /nw:networks/nw:network/nw:node/nt:termination-point:
+--rw te-tp-id? te-types:te-tp-id
+--rw te! +--rw te!
+--rw te-tp-id te-types:te-tp-id
+--rw config +--rw config
| +--rw schedules
| | +--rw schedule* [schedule-id]
| | +--rw schedule-id uint32
| | +--rw start? yang:date-and-time
| | +--rw schedule-duration? string
| | +--rw repeat-interval? string
| +--rw interface-switching-capability* [switching-capability] | +--rw interface-switching-capability* [switching-capability]
| | +--rw switching-capability identityref | | +--rw switching-capability identityref
| | +--rw encoding? identityref | | +--rw encoding? identityref
| | +--rw max-lsp-bandwidth* [priority] | | +--rw max-lsp-bandwidth* [priority]
| | | +--rw priority uint8 | | +--rw priority uint8
| | | +--rw bandwidth? decimal64 | | +--rw bandwidth? te-bandwidth
| | +--rw time-division-multiplex-capable
| | +--rw minimum-lsp-bandwidth? decimal64
| | +--rw indication? enumeration
| +--rw inter-layer-lock-id? uint32 | +--rw inter-layer-lock-id? uint32
+--ro state +--ro state
+--ro schedules
| +--ro schedule* [schedule-id]
| +--ro schedule-id uint32
| +--ro start? yang:date-and-time
| +--ro schedule-duration? string
| +--ro repeat-interval? string
+--ro interface-switching-capability* [switching-capability] +--ro interface-switching-capability* [switching-capability]
| +--ro switching-capability identityref | +--ro switching-capability identityref
| +--ro encoding? identityref | +--ro encoding? identityref
| +--ro max-lsp-bandwidth* [priority] | +--ro max-lsp-bandwidth* [priority]
| | +--ro priority uint8 | +--ro priority uint8
| | +--ro bandwidth? decimal64 | +--ro bandwidth? te-bandwidth
| +--ro time-division-multiplex-capable
| +--ro minimum-lsp-bandwidth? decimal64
| +--ro indication? enumeration
+--ro inter-layer-lock-id? uint32 +--ro inter-layer-lock-id? uint32
notifications: +--ro geolocation
+---n te-node-event +--ro altitude? int64
| +--ro event-type? te-types:te-topology-event- +--ro latitude? geographic-coordinate-degree
type +--ro longitude? geographic-coordinate-degree
| +--ro node-ref? leafref
| +--ro network-ref? leafref
| +--ro te-topology!
| +--ro te-node-attributes
| | +--ro schedules
| | | +--ro schedule* [schedule-id]
| | | +--ro schedule-id uint32
| | | +--ro start? yang:date-and-time
| | | +--ro schedule-duration? string
| | | +--ro repeat-interval? string
| | +--ro admin-status? te-types:te-admin-status
| | +--ro connectivity-matrix* [id]
| | | +--ro id uint32
| | | +--ro from
| | | | +--ro tp-ref? leafref
| | | | +--ro node-ref? leafref
| | | | +--ro network-ref? leafref
| | | +--ro to
| | | | +--ro tp-ref? leafref
| | | | +--ro node-ref? leafref
| | | | +--ro network-ref? leafref
| | | +--ro is-allowed? boolean
| | +--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 provider-id-ref? leafref
| | +--ro client-id-ref? leafref
| | +--ro te-topology-id-ref? leafref
| | +--ro network-id-ref? leafref
| +--ro oper-status? te-types:te-oper-status
| +--ro is-multi-access-dr? empty
| +--ro information-source? enumeration
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro topology
| | | +--ro provider-id-ref? leafref
| | | +--ro client-id-ref? leafref
| | | +--ro te-topology-id-ref? leafref
| | | +--ro network-id-ref? leafref
| | +--ro routing-instance? string
| +--ro information-source-entry* [information-source]
| +--ro information-source enumeration
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro topology
| | | +--ro provider-id-ref? leafref
| | | +--ro client-id-ref? leafref
| | | +--ro te-topology-id-ref? leafref
| | | +--ro network-id-ref? leafref
| | +--ro routing-instance? string
| +--ro connectivity-matrix* [id]
| | +--ro id uint32
| | +--ro from
| | | +--ro tp-ref? leafref
| | | +--ro node-ref? leafref
| | | +--ro network-ref? leafref
| | +--ro to
| | | +--ro tp-ref? leafref
| | | +--ro node-ref? leafref
| | | +--ro network-ref? leafref
| | +--ro is-allowed? boolean
| +--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 provider-id-ref? leafref
| +--ro client-id-ref? leafref
| +--ro te-topology-id-ref? leafref
| +--ro network-id-ref? leafref
+---n te-link-event
+--ro event-type? te-types:te-topology-event-
type
+--ro link-ref? leafref
+--ro network-ref? leafref
+--ro te-topology!
+--ro te-link-attributes
| +--ro schedules
| | +--ro schedule* [schedule-id]
| | +--ro schedule-id uint32
| | +--ro start? yang:date-and-time
| | +--ro schedule-duration? string
| | +--ro repeat-interval? string
| +--ro access-type? te-types:te-link-
access-type
| +--ro external-domain
| | +--ro remote-te-node-id? te-types:te-node-id
| | +--ro remote-te-link-tp-id? te-types:te-tp-id
| | +--ro plug-id? uint32
| +--ro is-abstract? empty
| +--ro name? string
| +--ro underlay! {te-topology-hierarchy}?
| | +--ro underlay-primary-path
| | | +--ro provider-id-ref? leafref
| | | +--ro client-id-ref? leafref
| | | +--ro te-topology-id-ref? leafref
| | | +--ro network-id-ref? leafref
| | | +--ro path-element* [path-element-id]
| | | +--ro path-element-id uint32
| | | +--ro (type)?
| | | +--:(ipv4-address)
| | | | +--ro v4-address? inet:ipv4-address
| | | | +--ro v4-prefix-length? uint8
| | | | +--ro v4-loose? boolean
| | | +--:(ipv6-address)
| | | | +--ro v6-address? inet:ipv6-address
| | | | +--ro v6-prefix-length? uint8
| | | | +--ro v6-loose? boolean
| | | +--:(as-number)
| | | | +--ro as-number? uint16
| | | +--:(unnumbered-link)
| | | | +--ro router-id? inet:ip-address
| | | | +--ro interface-id? uint32
| | | +--:(label)
| | | +--ro value? uint32
| | +--ro underlay-backup-path* [index]
| | | +--ro index uint32
| | | +--ro provider-id-ref? leafref
| | | +--ro client-id-ref? leafref
| | | +--ro te-topology-id-ref? leafref
| | | +--ro network-id-ref? leafref
| | | +--ro path-element* [path-element-id]
| | | +--ro path-element-id uint32
| | | +--ro (type)?
| | | +--:(ipv4-address)
| | | | +--ro v4-address? inet:ipv4-address
| | | | +--ro v4-prefix-length? uint8
| | | | +--ro v4-loose? boolean
| | | +--:(ipv6-address)
| | | | +--ro v6-address? inet:ipv6-address
| | | | +--ro v6-prefix-length? uint8
| | | | +--ro v6-loose? boolean
| | | +--:(as-number)
| | | | +--ro as-number? uint16
| | | +--:(unnumbered-link)
| | | | +--ro router-id? inet:ip-address
| | | | +--ro interface-id? uint32
| | | +--:(label)
| | | +--ro value? uint32
| | +--ro underlay-protection-type? uint16
| | +--ro underlay-trail-src
| | | +--ro tp-ref? leafref
| | | +--ro node-ref? leafref
| | | +--ro network-ref? leafref
| | +--ro underlay-trail-des
| | | +--ro tp-ref? leafref
| | | +--ro node-ref? leafref
| | | +--ro network-ref? leafref
| | +--ro dynamic? boolean
| | +--ro committed? boolean
| +--ro admin-status? te-types:te-admin-
status
| +--ro performance-metric-throttle {te-performance-metric}?
| | +--ro unidirectional-delay-offset? uint32
| | +--ro measure-interval? uint32
| | +--ro advertisement-interval? uint32
| | +--ro suppression-interval? uint32
| | +--ro threshold-out
| | | +--ro unidirectional-delay? uint32
| | | +--ro unidirectional-min-delay? uint32
| | | +--ro unidirectional-max-delay? uint32
| | | +--ro unidirectional-delay-variation? uint32
| | | +--ro unidirectional-packet-loss? decimal64
| | | +--ro unidirectional-residual-bandwidth? decimal64
| | | +--ro unidirectional-available-bandwidth? decimal64
| | | +--ro unidirectional-utilized-bandwidth? decimal64
| | +--ro threshold-in
| | | +--ro unidirectional-delay? uint32
| | | +--ro unidirectional-min-delay? uint32
| | | +--ro unidirectional-max-delay? uint32
| | | +--ro unidirectional-delay-variation? uint32
| | | +--ro unidirectional-packet-loss? decimal64
| | | +--ro unidirectional-residual-bandwidth? decimal64
| | | +--ro unidirectional-available-bandwidth? decimal64
| | | +--ro unidirectional-utilized-bandwidth? decimal64
| | +--ro threshold-accelerated-advertisement
| | +--ro unidirectional-delay? uint32
| | +--ro unidirectional-min-delay? uint32
| | +--ro unidirectional-max-delay? uint32
| | +--ro unidirectional-delay-variation? uint32
| | +--ro unidirectional-packet-loss? decimal64
| | +--ro unidirectional-residual-bandwidth? decimal64
| | +--ro unidirectional-available-bandwidth? decimal64
| | +--ro unidirectional-utilized-bandwidth? decimal64
| +--ro link-index? uint64
| +--ro administrative-group? te-types:admin-
groups
| +--ro interface-switching-capability* [switching-capability]
| | +--ro switching-capability identityref
| | +--ro encoding? identityref
| | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8
| | | +--ro bandwidth? decimal64
| | +--ro time-division-multiplex-capable
| | +--ro minimum-lsp-bandwidth? decimal64
| | +--ro indication? enumeration
| +--ro link-protection-type? enumeration
| +--ro max-link-bandwidth? decimal64
| +--ro max-resv-link-bandwidth? decimal64
| +--ro unreserved-bandwidth* [priority]
| | +--ro priority uint8
| | +--ro bandwidth? decimal64
| +--ro te-default-metric? uint32
| +--ro performance-metric {te-performance-metric}?
| | +--ro measurement
| | | +--ro unidirectional-delay? uint32
| | | +--ro unidirectional-min-delay? uint32
| | | +--ro unidirectional-max-delay? uint32
| | | +--ro unidirectional-delay-variation? uint32
| | | +--ro unidirectional-packet-loss? decimal64
| | | +--ro unidirectional-residual-bandwidth? decimal64
| | | +--ro unidirectional-available-bandwidth? decimal64
| | | +--ro unidirectional-utilized-bandwidth? decimal64
| | +--ro normality
| | +--ro unidirectional-delay? te-
types:performance-metric-normality
| | +--ro unidirectional-min-delay? te-
types:performance-metric-normality
| | +--ro unidirectional-max-delay? te-
types:performance-metric-normality
| | +--ro unidirectional-delay-variation? te-
types:performance-metric-normality
| | +--ro unidirectional-packet-loss? te-
types:performance-metric-normality
| | +--ro unidirectional-residual-bandwidth? te-
types:performance-metric-normality
| | +--ro unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | +--ro unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| +--ro te-srlgs
| +--ro value* te-types:srlg
+--ro oper-status? te-types:te-oper-status
+--ro is-transitional? empty
+--ro information-source? enumeration
+--ro information-source-state
| +--ro credibility-preference? uint16
| +--ro topology
| | +--ro provider-id-ref? leafref
| | +--ro client-id-ref? leafref
| | +--ro te-topology-id-ref? leafref
| | +--ro network-id-ref? leafref
| +--ro routing-instance? string
+--ro information-source-entry* [information-source]
| +--ro information-source enumeration
| +--ro information-source-state
| | +--ro credibility-preference? uint16
| | +--ro topology
| | | +--ro provider-id-ref? leafref
| | | +--ro client-id-ref? leafref
| | | +--ro te-topology-id-ref? leafref
| | | +--ro network-id-ref? leafref
| | +--ro routing-instance? string
| +--ro link-index? uint64
| +--ro administrative-group? te-types:admin-
groups
| +--ro interface-switching-capability* [switching-capability]
| | +--ro switching-capability identityref
| | +--ro encoding? identityref
| | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8
| | | +--ro bandwidth? decimal64
| | +--ro time-division-multiplex-capable
| | +--ro minimum-lsp-bandwidth? decimal64
| | +--ro indication? enumeration
| +--ro link-protection-type? enumeration
| +--ro max-link-bandwidth? decimal64
| +--ro max-resv-link-bandwidth? decimal64
| +--ro unreserved-bandwidth* [priority]
| | +--ro priority uint8
| | +--ro bandwidth? decimal64
| +--ro te-default-metric? uint32
| +--ro performance-metric {te-performance-metric}?
| | +--ro measurement
| | | +--ro unidirectional-delay? uint32
| | | +--ro unidirectional-min-delay? uint32
| | | +--ro unidirectional-max-delay? uint32
| | | +--ro unidirectional-delay-variation? uint32
| | | +--ro unidirectional-packet-loss? decimal64
| | | +--ro unidirectional-residual-bandwidth? decimal64
| | | +--ro unidirectional-available-bandwidth? decimal64
| | | +--ro unidirectional-utilized-bandwidth? decimal64
| | +--ro normality
| | +--ro unidirectional-delay? te-
types:performance-metric-normality
| | +--ro unidirectional-min-delay? te-
types:performance-metric-normality
| | +--ro unidirectional-max-delay? te-
types:performance-metric-normality
| | +--ro unidirectional-delay-variation? te-
types:performance-metric-normality
| | +--ro unidirectional-packet-loss? te-
types:performance-metric-normality
| | +--ro unidirectional-residual-bandwidth? te-
types:performance-metric-normality
| | +--ro unidirectional-available-bandwidth? te-
types:performance-metric-normality
| | +--ro unidirectional-utilized-bandwidth? te-
types:performance-metric-normality
| +--ro te-srlgs
| +--ro value* te-types:srlg
+--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
7. TE Topology Yang Module 7. TE Topology Yang Module
<CODE BEGINS> file "ietf-te-topology@2016-07-08.yang" <CODE BEGINS> file "ietf-te-topology@2016-10-21.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";
// replace with IANA namespace when assigned
prefix "tet"; prefix "tet";
import ietf-yang-types {
prefix "yang";
}
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
} }
import ietf-schedule {
prefix "sch";
}
import ietf-te-types { import ietf-te-types {
prefix "te-types"; prefix "te-types";
} }
import ietf-network { import ietf-network {
prefix "nw"; prefix "nw";
} }
import ietf-network-topology { import ietf-network-topology {
prefix "nt"; prefix "nt";
skipping to change at page 64, line 25 skipping to change at page 54, line 19
<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 "2016-07-08" { revision "2016-10-21" {
description "Initial revision"; description "Initial revision";
reference "TBD"; reference "TBD";
} }
/* /*
* Features * Features
*/ */
feature configuration-schedule {
description
"This feature indicates that the system supports
configuration scheduling.";
}
feature te-topology-hierarchy { feature te-topology-hierarchy {
description description
"This feature indicates that the system allows underlay "This feature indicates that the system allows underlay
and/or overlay TE topology hierarchy."; and/or overlay TE topology hierarchy.";
}
feature te-performance-metric {
description
"This feature indicates that the system supports
TE performance metric.";
reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric
Extensions";
} }
feature template { feature template {
description description
"This feature indicates that the system supports "This feature indicates that the system supports
template configuration."; template configuration.";
} }
/* /*
* Typedefs * Typedefs
*/ */
typedef geographic-coordinate-degree {
type decimal64 {
fraction-digits 8;
/* }
* Identities description
*/ "Decimal degree (DD) used to express latitude and longitude
geographic coordinates.";
} // geographic-coordinate-degree
typedef te-bandwidth {
type string {
pattern
'0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
+ '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|'
+ '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+'
+ '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|'
+ '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|'
+ '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*';
}
description
"This is the generic bandwidth type that is a string containing
a list of numbers separated by commas, with each of these
number can be non-negative decimal, hex integer, or hex float:
(dec | hex | float)[*(','(dec | hex | float))]
For packet switching type, a float number is used, such as
0x1p10.
For OTN switching type, a list of integers can be used, such
as '0,2,3,1', indicating 2 odu0's and 1 odu3.
For DWDM, a list of pairs of slot number and width can be
used, such as '0, 2, 3, 3', indicating a frequency slot 0 with
slot width 2 and a frequency slot 3 with slot width 3.";
} // te-bandwidth
typedef te-info-source {
type enumeration {
enum "unknown" {
description "The source is unknown.";
}
enum "locally-configured" {
description "Configured entity.";
}
enum "ospfv2" {
description "OSPFv2.";
}
enum "ospfv3" {
description "OSPFv3.";
}
enum "isis" {
description "ISIS.";
}
enum "bgp-ls" {
description "BGP-LS.";
reference
"RFC7752: North-Bound Distribution of Link-State and
Traffic Engineering (TE) Information Using BGP";
}
enum "system-processed" {
description "System processed entity.";
}
enum "other" {
description "Other source.";
}
}
description
"Describining the type of source that has provided the
related information, and the source credibility.";
} // te-info-source
/* /*
* Groupings * Groupings
*/ */
grouping connectivity-label-restriction-list { grouping connectivity-label-restriction-list {
description description
"List of abel restrictions specifying what labels may or may "List of abel restrictions specifying what labels may or may
not be used on a link connectivity."; not be used on a link connectivity.";
list label-restriction { list label-restriction {
key "inclusive-exclusive label-start"; key "inclusive-exclusive label-start";
skipping to change at page 66, line 44 skipping to change at page 57, line 41
leaf range-bitmap { leaf range-bitmap {
type binary; type binary;
description description
"When there are gaps between label-start and label-end, "When there are gaps between label-start and label-end,
this attribute is used to specified the possitions this attribute is used to specified the possitions
of the used labels."; of the used labels.";
} }
} }
} // connectivity-label-restrictions } // connectivity-label-restrictions
grouping information-source-attributes { grouping geolocation-container {
description description
"The attributes identifying source that has provided the "A container containing a GPS location.";
related information, and the source credibility."; container geolocation{
leaf information-source { description
type enumeration { "A container containing a GPS location.";
enum "unknown" { leaf altitude {
description "The source is unknown."; type int64;
} units millimeter;
enum "locally-configured" { description
description "Configured entity."; "Distance above the sea level.";
} }
enum "ospfv2" { leaf latitude {
description "OSPFv2."; type geographic-coordinate-degree {
} range "-90..90";
enum "ospfv3" {
description "OSPFv3.";
}
enum "isis" {
description "ISIS.";
}
enum "system-processed" {
description "System processed entity.";
} }
enum "other" { description
description "Other source."; "Relative position north or south on the Earth's surface.";
}
leaf longitude {
type geographic-coordinate-degree {
range "-180..180";
} }
description
"Angular distance east or west on the Earth's surface.";
} }
} // gps-location
} // geolocation-container
grouping information-source-state-attributes {
description
"The attributes identifying source that has provided the
related information, and the source credibility.";
leaf credibility-preference {
type uint16;
description
"The preference value to calculate the traffic
engineering database credibility value used for
tie-break selection between different
information-source values.
Higher value is more preferable.";
}
leaf logical-network-element {
type string;
description
"When applicable, this is the name of a logical network
element from which the information is learned.";
} // logical-network-element
leaf network-instance {
type string;
description
"When applicable, this is the name of a network-instance
from which the information is learned.";
} // network-instance
} // information-source-state-attributes
grouping information-source-per-link-attributes {
description
"Per node container of the attributes identifying source that
has provided the related information, and the source
credibility.";
leaf information-source {
type te-info-source;
description description
"Indicates the source of the information."; "Indicates the source of the information.";
} }
container information-source-state { container information-source-state {
description description
"The container contains state attributes related to "The container contains state attributes related to
the information source."; the information source.";
leaf credibility-preference { uses information-source-state-attributes;
type uint16;
description
"The preference value to calculate the traffic
engineering database credibility value used for
tie-break selection between different
information-source values.
Higher value is more preferable.";
}
container topology { container topology {
description description
"When the information is processed by the system, "When the information is processed by the system,
the attributes in this container indicate which topology the attributes in this container indicate which topology
is used to process to generate the result information."; is used to process to generate the result information.";
uses te-topology-ref; uses te-topology-ref;
leaf link-ref {
type leafref {
path "/nw:networks/nw:network[nw:network-id = "
+ "current()/../network-ref]/nt:link/nt:link-id";
require-instance false;
}
description
"A reference to a link-id.";
}
} // topology } // topology
leaf routing-instance { } // information-source-state
type string; } // information-source-per-link-attributes
description
"When applicable, this is the name of a routing instance
from which the information is learned.";
} // routing-information
}
} // information-source-attributes
grouping information-source-per-node-attributes {
description
"Per node container of the attributes identifying source that
has provided the related information, and the source
credibility.";
leaf information-source {
type te-info-source;
description
"Indicates the source of the information.";
}
container information-source-state {
description
"The container contains state attributes related to
the information source.";
uses information-source-state-attributes;
container topology {
description
"When the information is processed by the system,
the attributes in this container indicate which topology
is used to process to generate the result information.";
uses te-topology-ref;
leaf node-ref {
type leafref {
path "/nw:networks/nw:network[nw:network-id = "
+ "current()/../network-ref]/nw:node/nw:node-id";
require-instance false;
}
description
"A reference to a node-id.";
}
} // topology
} // information-source-state
} // information-source-per-node-attributes
grouping interface-switching-capability-list { grouping interface-switching-capability-list {
description description
"List of Interface Switching Capabilities Descriptors (ISCD)"; "List of Interface Switching Capabilities Descriptors (ISCD)";
list interface-switching-capability { list interface-switching-capability {
key "switching-capability"; key "switching-capability";
description description
"List of Interface Switching Capabilities Descriptors (ISCD) "List of Interface Switching Capabilities Descriptors (ISCD)
for this link."; for this link.";
reference reference
skipping to change at page 69, line 11 skipping to change at page 61, line 32
description description
"Switching Capability for this interface."; "Switching Capability for this interface.";
} }
leaf encoding { leaf encoding {
type identityref { type identityref {
base te-types:lsp-encoding-types; base te-types:lsp-encoding-types;
} }
description description
"Encoding supported by this interface."; "Encoding supported by this interface.";
} }
list max-lsp-bandwidth { uses te-link-iscd-attributes;
key "priority";
max-elements "8";
description
"Maximum LSP Bandwidth at priorities 0-7.";
leaf priority {
type uint8 {
range "0..7";
}
description "Priority.";
}
leaf bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Max LSP Bandwidth for this level";
}
}
container time-division-multiplex-capable {
when "../switching-capability = 'TDM'" {
description "Valid only for TDM";
}
description
"Interface has time-division multiplex capabilities.";
leaf minimum-lsp-bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Minimum LSP Bandwidth. Units in bytes per second.";
}
leaf indication {
type enumeration {
enum "standard" {
description
"Indicates support of standard SONET/SDH.";
}
enum "arbitrary" {
description
"Indicates support of arbitrary SONET/SDH.";
}
}
description
"Indication whether the interface supports Standard or
Arbitrary SONET/SDH";
}
} // time-division-multiplex-capable
} // interface-switching-capability } // interface-switching-capability
} // interface-switching-capability-list } // interface-switching-capability-list
grouping performance-metric-attributes { grouping statistics-per-link {
description description
"Link performance information in real time."; "Statistics attributes per TE link.";
reference leaf discontinuity-time {
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. type yang:date-and-time;
RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. mandatory true;
RFC7823: Performance-Based Path Selection for Explicitly description
Routed Label Switched Paths (LSPs) Using TE Metric "The time on the most recent occasion at which any one or
Extensions"; more of this interface's counters suffered a
leaf unidirectional-delay { discontinuity. If no such discontinuities have occurred
type uint32 { since the last re-initialization of the local management
range 0..16777215; subsystem, then this node contains the time the local
} management subsystem re-initialized itself.";
description "Delay or latency in micro seconds.";
} }
leaf unidirectional-min-delay { /* Administrative attributes */
type uint32 { leaf disables {
range 0..16777215; type yang:counter32;
} description
description "Minimum delay or latency in micro seconds."; "Number of times that link was disabled.";
} }
leaf unidirectional-max-delay { leaf enables {
type uint32 { type yang:counter32;
range 0..16777215; description
} "Number of times that link was enabled.";
description "Maximum delay or latency in micro seconds.";
} }
leaf unidirectional-delay-variation { leaf maintenance-clears {
type uint32 { type yang:counter32;
range 0..16777215; description
} "Number of times that link was put out of maintenance.";
description "Delay variation in micro seconds.";
} }
leaf unidirectional-packet-loss { leaf maintenance-sets {
type decimal64 { type yang:counter32;
fraction-digits 6; description
range "0 .. 50.331642"; "Number of times that link was put in maintenance.";
} }
leaf modifies {
type yang:counter32;
description description
"Packet loss as a percentage of the total traffic sent "Number of times that link was modified.";
over a configurable interval. The finest precision is
0.000003%.";
} }
leaf unidirectional-residual-bandwidth { /* Operational attributes */
type decimal64 { leaf downs {
fraction-digits 2; type yang:counter32;
}
description description
"Residual bandwidth that subtracts tunnel "Number of times that link was set to operational down.";
reservations from Maximum Bandwidth (or link capacity)
[RFC3630] and provides an aggregated remainder across QoS
classes.";
} }
leaf unidirectional-available-bandwidth { leaf ups {
type decimal64 { type yang:counter32;
fraction-digits 2;
}
description description
"Available bandwidth that is defined to be residual "Number of times that link was set to operational up.";
bandwidth minus the measured bandwidth used for the
actual forwarding of non-RSVP-TE LSP packets. For a
bundled link, available bandwidth is defined to be the
sum of the component link available bandwidths.";
} }
leaf unidirectional-utilized-bandwidth { /* Recovery attributes */
type decimal64 { leaf fault-clears {
fraction-digits 2; type yang:counter32;
}
description description
"Bandwidth utilization that represents the actual "Number of times that link experienced fault clear event.";
utilization of the link (i.e. as measured in the router).
For a bundled link, bandwidth utilization is defined to
be the sum of the component link bandwidth
utilizations.";
} }
} // performance-metric-attributes leaf fault-detects {
type yang:counter32;
grouping performance-metric-normality-attributes { description
description "Number of times that link experienced fault detection.";
"Link performance metric normality attributes.";
reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric
Extensions";
leaf unidirectional-delay {
type te-types:performance-metric-normality;
description "Delay normality.";
} }
leaf unidirectional-min-delay { leaf protection-switches {
type te-types:performance-metric-normality; type yang:counter32;
description "Minimum delay or latency normality."; description
"Number of times that link experienced protection
switchover.";
} }
leaf unidirectional-max-delay { leaf protection-reverts {
type te-types:performance-metric-normality; type yang:counter32;
description "Maximum delay or latency normality."; description
"Number of times that link experienced protection
reversion.";
} }
leaf unidirectional-delay-variation { leaf restoration-failures {
type te-types:performance-metric-normality; type yang:counter32;
description "Delay variation normality."; description
"Number of times that link experienced restoration
failure.";
} }
leaf unidirectional-packet-loss { leaf restoration-starts {
type te-types:performance-metric-normality; type yang:counter32;
description "Packet loss normality."; description
"Number of times that link experienced restoration
start.";
} }
leaf unidirectional-residual-bandwidth { leaf restoration-successes {
type te-types:performance-metric-normality; type yang:counter32;
description "Residual bandwidth normality."; description
"Number of times that link experienced restoration
success.";
} }
leaf unidirectional-available-bandwidth { leaf restoration-reversion-failures {
type te-types:performance-metric-normality; type yang:counter32;
description "Available bandwidth normality."; description
"Number of times that link experienced restoration reversion
failure.";
} }
leaf unidirectional-utilized-bandwidth { leaf restoration-reversion-starts {
type te-types:performance-metric-normality; type yang:counter32;
description "Bandwidth utilization normality."; description
"Number of times that link experienced restoration reversion
start.";
} }
} // performance-metric-normality-attributes leaf restoration-reversion-successes {
type yang:counter32;
description
"Number of times that link experienced restoration reversion
success.";
}
} // statistics-per-link
grouping performance-metric-throttle-container { grouping statistics-per-node {
description description
"A container controlling performance metric throttle."; "Statistics attributes per TE node.";
container performance-metric-throttle { leaf discontinuity-time {
if-feature te-performance-metric; type yang:date-and-time;
must "suppression-interval >= measure-interval" { mandatory true;
error-message description
"suppression-interval cannot be less then "The time on the most recent occasion at which any one or
measure-interval."; more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
container node {
description
"Containing TE node level statistics attributes.";
leaf disables {
type yang:counter32;
description description
"Constraint on suppression-interval and "Number of times that node was disabled.";
measure-interval."; }
leaf enables {
type yang:counter32;
description
"Number of times that node was enabled.";
}
leaf maintenance-sets {
type yang:counter32;
description
"Number of times that node was put in maintenance.";
}
leaf maintenance-clears {
type yang:counter32;
description
"Number of times that node was put out of maintenance.";
}
leaf modifies {
type yang:counter32;
description
"Number of times that node was modified.";
} }
} // node
container connectivity-matrix-entry {
description description
"Link performance information in real time."; "Containing connectivity matrix entry level statistics
reference attributes.";
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. leaf creates {
RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. type yang:counter32;
RFC7823: Performance-Based Path Selection for Explicitly description
Routed Label Switched Paths (LSPs) Using TE Metric "Number of times that a connectivity matrix entry was
Extensions"; created.";
reference
"RFC6241. Section 7.2 for 'create' operation. ";
}
leaf deletes {
type yang:counter32;
description
"Number of times that a connectivity matrix entry was
deleted.";
reference
"RFC6241. Section 7.2 for 'delete' operation. ";
}
leaf disables {
type yang:counter32;
description
"Number of times that a connectivity matrix entry was
disabled.";
}
leaf enables {
type yang:counter32;
description
"Number of times that a connectivity matrix entry was
enabled.";
}
leaf modifies {
type yang:counter32;
description
"Number of times that a connectivity matrix entry was
modified.";
}
} // connectivity-matrix-entry
} // statistics-per-node
leaf unidirectional-delay-offset { grouping statistics-per-ttp {
type uint32 { description
range 0..16777215; "Statistics attributes per TE TTP (Tunnel Termination Point).";
} leaf discontinuity-time {
type yang:date-and-time;
mandatory true;
description
"The time on the most recent occasion at which any one or
more of this interface's counters suffered a
discontinuity. If no such discontinuities have occurred
since the last re-initialization of the local management
subsystem, then this node contains the time the local
management subsystem re-initialized itself.";
}
container tunnel-termination-point {
description
"Containing TE TTP (Tunnel Termination Point) level
statistics attributes.";
/* Administrative attributes */
leaf disables {
type yang:counter32;
description description
"Offset value to be added to the measured delay value."; "Number of times that TTP was disabled.";
} }
leaf measure-interval { leaf enables {
type uint32; type yang:counter32;
default 30;
description description
"Interval in seconds to measure the extended metric "Number of times that TTP was enabled.";
values.";
} }
leaf advertisement-interval { leaf maintenance-clears {
type uint32; type yang:counter32;
description description
"Interval in seconds to advertise the extended metric "Number of times that TTP was put out of maintenance.";
values.";
} }
leaf suppression-interval { leaf maintenance-sets {
type uint32 { type yang:counter32;
range "1 .. max";
}
default 120;
description description
"Interval in seconds to suppress advertising the extended "Number of times that TTP was put in maintenance.";
metric values.";
} }
container threshold-out { leaf modifies {
uses performance-metric-attributes; type yang:counter32;
description description
"If the measured parameter falls outside an upper bound "Number of times that TTP was modified.";
for all but the min delay metric (or lower bound for
min-delay metric only) and the advertised value is not
already outside that bound, anomalous announcement will be
triggered.";
} }
container threshold-in { /* Operational attributes */
uses performance-metric-attributes; leaf downs {
type yang:counter32;
description description
"If the measured parameter falls inside an upper bound "Number of times that TTP was set to operational down.";
for all but the min delay metric (or lower bound for
min-delay metric only) and the advertised value is not
already inside that bound, normal (anomalous-flag cleared)
announcement will be triggered.";
} }
container threshold-accelerated-advertisement { leaf ups {
type yang:counter32;
description description
"When the difference between the last advertised value and "Number of times that TTP was set to operational up.";
current measured value exceed this threshold, anomalous
announcement will be triggered.";
uses performance-metric-attributes;
} }
} leaf in-service-clears {
} // performance-metric-throttle-container type yang:counter32;
description
"Number of times that TTP was taken out of service
(TE tunnel was released).";
}
leaf in-service-sets {
type yang:counter32;
description
"Number of times that TTP was put in service by a TE
tunnel (TE tunnel was set up).";
}
} // tunnel-termination-point
container local-link-connectivity {
description
"Containing TE LLCL (Local Link Connectivity List) level
statistics attributes.";
leaf creates {
type yang:counter32;
description
"Number of times that an LLCL entry was created.";
reference
"RFC6241. Section 7.2 for 'create' operation. ";
}
leaf deletes {
type yang:counter32;
description
"Number of times that an LLCL entry was deleted.";
reference
"RFC6241. Section 7.2 for 'delete' operation.";
}
leaf disables {
type yang:counter32;
description
"Number of times that an LLCL entry was disabled.";
}
leaf enables {
type yang:counter32;
description
"Number of times that an LLCL entry was enabled.";
}
leaf modifies {
type yang:counter32;
description
"Number of times that an LLCL entry was modified.";
}
} // local-link-connectivity
} // statistics-per-ttp
grouping te-link-augment { grouping te-link-augment {
description description
"Augmentation for TE link."; "Augmentation for TE link.";
container te { container te {
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
skipping to change at page 75, line 42 skipping to change at page 69, line 38
"Configuration data."; "Configuration data.";
uses te-link-config; uses te-link-config;
} // config } // config
container state { container state {
config false; config false;
description description
"Operational state data."; "Operational state data.";
uses te-link-config; uses te-link-config;
uses te-link-state-derived; uses te-link-state-derived;
} // state } // state
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-link;
} // statistics
} // te } // te
} // te-link-augment } // te-link-augment
grouping te-link-config { grouping te-link-config {
description description
"TE link configuration grouping."; "TE link configuration grouping.";
choice bundle-stack-level { choice bundle-stack-level {
description description
"The TE link can be partitioned into bundled "The TE link can be partitioned into bundled
links, or component links."; links, or component links.";
case bundle { case bundle {
container bundled-links { container bundled-links {
description description
skipping to change at page 78, line 26 skipping to change at page 72, line 27
"The reference to a TE link template."; "The reference to a TE link template.";
} }
uses te-link-config-attributes; uses te-link-config-attributes;
} // te-link-config } // te-link-config
grouping te-link-config-attributes { grouping te-link-config-attributes {
description description
"Link configuration attributes in a TE topology."; "Link configuration attributes in a TE topology.";
container te-link-attributes { container te-link-attributes {
description "Link attributes in a TE topology."; description "Link attributes in a TE topology.";
uses sch:schedules;
leaf access-type { leaf access-type {
type te-types:te-link-access-type; type te-types:te-link-access-type;
description description
"Link access type, which can be point-to-point or "Link access type, which can be point-to-point or
multi-access."; multi-access.";
} }
container external-domain { container external-domain {
description description
"For an inter-domain link, specify the attributes of "For an inter-domain link, specify the attributes of
the remote end of link, to facilitate the signalling at the remote end of link, to facilitate the signalling at
skipping to change at page 80, line 9 skipping to change at page 74, line 10
Traffic Engineering (TE)"; Traffic Engineering (TE)";
uses te-link-underlay-attributes; uses te-link-underlay-attributes;
} // underlay } // underlay
leaf admin-status { leaf admin-status {
type te-types:te-admin-status; type te-types:te-admin-status;
description description
"The administrative state of the link."; "The administrative state of the link.";
} }
uses performance-metric-throttle-container;
uses te-link-info-attributes; uses te-link-info-attributes;
} // te-link-attributes } // te-link-attributes
} // te-link-config-attributes } // te-link-config-attributes
grouping te-link-connectivity-attributes { grouping te-link-connectivity-attributes {
description description
"Advertised TE connectivity attributes."; "Advertised TE connectivity attributes.";
leaf max-link-bandwidth { leaf max-link-bandwidth {
type decimal64 { type te-bandwidth;
fraction-digits 2;
}
description description
"Maximum bandwidth that can be seen on this link in this "Maximum bandwidth that can be seen on this link in this
direction. Units in bytes per second."; direction. Units in bytes per second.";
reference reference
"RFC3630: Traffic Engineering (TE) Extensions to OSPF "RFC3630: Traffic Engineering (TE) Extensions to OSPF
Version 2. Version 2.
RFC5305: IS-IS Extensions for Traffic Engineering."; RFC5305: IS-IS Extensions for Traffic Engineering.";
} }
leaf max-resv-link-bandwidth { leaf max-resv-link-bandwidth {
type decimal64 { type te-bandwidth;
fraction-digits 2;
}
description description
"Maximum amount of bandwidth that can be reserved in this "Maximum amount of bandwidth that can be reserved in this
direction in this link. Units in bytes per second."; direction in this link. Units in bytes per second.";
reference reference
"RFC3630: Traffic Engineering (TE) Extensions to OSPF "RFC3630: Traffic Engineering (TE) Extensions to OSPF
Version 2. Version 2.
RFC5305: IS-IS Extensions for Traffic Engineering."; RFC5305: IS-IS Extensions for Traffic Engineering.";
} }
list unreserved-bandwidth { list unreserved-bandwidth {
key "priority"; key "priority";
skipping to change at page 81, line 18 skipping to change at page 75, line 14
"RFC3630: Traffic Engineering (TE) Extensions to OSPF "RFC3630: Traffic Engineering (TE) Extensions to OSPF
Version 2. Version 2.
RFC5305: IS-IS Extensions for Traffic Engineering."; RFC5305: IS-IS Extensions for Traffic Engineering.";
leaf priority { leaf priority {
type uint8 { type uint8 {
range "0..7"; range "0..7";
} }
description "Priority."; description "Priority.";
} }
leaf bandwidth { leaf bandwidth {
type decimal64 { type te-bandwidth;
fraction-digits 2;
}
description description
"Unreserved bandwidth for this level."; "Unreserved bandwidth for this level.";
} }
} }
leaf te-default-metric { leaf te-default-metric {
type uint32; type uint32;
description description
"Traffic Engineering Metric."; "Traffic engineering metric.";
} }
container performance-metric { leaf te-delay-metric {
if-feature te-performance-metric; type uint32;
description description
"Link performance information in real time."; "Traffic engineering delay metric.";
reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.
RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions.
RFC7823: Performance-Based Path Selection for Explicitly
Routed Label Switched Paths (LSPs) Using TE Metric
Extensions";
container measurement {
description
"Measured performance metric values. Static configuration
and manual overrides of these measurements are also
allowed.";
uses performance-metric-attributes;
}
container normality
{
description
"Performance metric normality values.";
uses performance-metric-normality-attributes;
}
} }
container te-srlgs { container te-srlgs {
description description
"A list of SLRGs."; "A list of SLRGs.";
leaf-list value { leaf-list value {
type te-types:srlg; type te-types:srlg;
description "SRLG value."; description "SRLG value.";
reference reference
"RFC4202: Routing Extensions in Support of "RFC4202: Routing Extensions in Support of
Generalized Multi-Protocol Label Switching (GMPLS)."; Generalized Multi-Protocol Label Switching (GMPLS).";
skipping to change at page 83, line 37 skipping to change at page 77, line 12
} }
description description
"Link Protection Type desired for this link."; "Link Protection Type desired for this link.";
reference reference
"RFC4202: Routing Extensions in Support of "RFC4202: Routing Extensions in Support of
Generalized Multi-Protocol Label Switching (GMPLS)."; Generalized Multi-Protocol Label Switching (GMPLS).";
} }
uses te-link-connectivity-attributes; uses te-link-connectivity-attributes;
} // te-link-info-attributes } // te-link-info-attributes
grouping te-link-iscd-attributes {
description
"TE link ISCD (Interface Switching Capability Descriptor)
attributes.";
reference
"Sec 1.4, RFC4203: OSPF Extensions in Support of Generalized
Multi-Protocol Label Switching (GMPLS). Section 1.4.";
list max-lsp-bandwidth {
key "priority";
max-elements "8";
description
"Maximum LSP Bandwidth at priorities 0-7.";
leaf priority {
type uint8 {
range "0..7";
}
description "Priority.";
}
leaf bandwidth {
type te-bandwidth;
description
"Max LSP Bandwidth for this level";
}
}
} // te-link-iscd-attributes
grouping te-link-state-derived { grouping te-link-state-derived {
description description
"Link state attributes in a TE topology."; "Link state attributes in a TE topology.";
leaf oper-status { leaf oper-status {
type te-types:te-oper-status; type te-types:te-oper-status;
description description
"The current operational state of the link."; "The current operational state of the link.";
} }
leaf is-transitional { leaf is-transitional {
type empty; type empty;
description description
"Present if the link is transitional, used as an "Present if the link is transitional, used as an
alternative approach in lieu of inter-layer-lock-id alternative approach in lieu of inter-layer-lock-id
for path computation in a TE topology covering multiple for path computation in a TE topology covering multiple
layers or multiple regions."; layers or multiple regions.";
reference reference
"RFC5212: Requirements for GMPLS-Based Multi-Region and "RFC5212: Requirements for GMPLS-Based Multi-Region and
skipping to change at page 84, line 19 skipping to change at page 78, line 19
"Present if the link is transitional, used as an "Present if the link is transitional, used as an
alternative approach in lieu of inter-layer-lock-id alternative approach in lieu of inter-layer-lock-id
for path computation in a TE topology covering multiple for path computation in a TE topology covering multiple
layers or multiple regions."; 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).";
} }
uses information-source-attributes; uses information-source-per-link-attributes;
list information-source-entry { list information-source-entry {
key "information-source"; key "information-source";
description description
"A list of information sources learned, including the one "A list of information sources learned, including the one
used."; used.";
uses information-source-attributes; uses information-source-per-link-attributes;
uses te-link-info-attributes; uses te-link-info-attributes;
} }
container recovery { container recovery {
description description
"Status of the recovery process."; "Status of the recovery process.";
leaf restoration-status { leaf restoration-status {
type te-types:te-recovery-status; type te-types:te-recovery-status;
description description
"Restoration status."; "Restoration status.";
} }
skipping to change at page 85, line 20 skipping to change at page 79, line 21
leaf dynamic { leaf dynamic {
type boolean; type boolean;
description description
"true if the underlay is dynamically created."; "true if the underlay is dynamically created.";
} }
leaf committed { leaf committed {
type boolean; type boolean;
description description
"true if the underlay is committed."; "true if the underlay is committed.";
} }
leaf tunnel-id {
type uint16;
description
"Tunnel identifier used in the SESSION that remains constant
over the life of the tunnel.
This attribute is used together with underlay-tunnel-src
and underlay-tunnel-src.
The detailed information of this tunnel can be retrieved
from the ietf-te model.";
reference "RFC3209";
}
} // te-link-state-underlay-attributes } // te-link-state-underlay-attributes
grouping te-link-underlay-attributes { grouping te-link-underlay-attributes {
description "Attributes for te-link underlay."; description "Attributes for te-link underlay.";
reference reference
"RFC4206: Label Switched Paths (LSP) Hierarchy with "RFC4206: Label Switched Paths (LSP) Hierarchy with
Generalized Multi-Protocol Label Switching (GMPLS) Generalized Multi-Protocol Label Switching (GMPLS)
Traffic Engineering (TE)"; Traffic Engineering (TE)";
container underlay-primary-path { container underlay-primary-path {
description description
skipping to change at page 86, line 35 skipping to change at page 81, line 7
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 underlay-protection-type { leaf underlay-protection-type {
type uint16; type uint16;
description description
"Underlay protection type desired for this link"; "Underlay protection type desired for this link";
} }
container underlay-trail-src { container underlay-tunnel-src {
uses nt:tp-ref; uses nt:tp-ref;
description description
"Source TE link of the underlay trail."; "Source TE link of the underlay tunnel.";
} }
container underlay-trail-des { container underlay-tunnel-des {
uses nt:tp-ref; uses nt:tp-ref;
description description
"Destination TE link of the underlay trail."; "Destination TE link of the underlay tunnel.";
} }
} // te-link-underlay-attributes } // te-link-underlay-attributes
grouping te-node-augment { grouping te-node-augment {
description description
"Augmentation for TE node."; "Augmentation for TE node.";
leaf te-node-id {
type te-types:te-node-id;
description
"The identifier of a node in the TE topology.
A node is specific to a topology to which it belongs.";
}
container te { container te {
must "../te-node-id";
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
leaf te-node-id {
type te-types:te-node-id;
mandatory true;
description
"The identifier of a node in the TE topology.
A node is specific to a topology to which it belongs.";
}
container config { container config {
description description
"Configuration data."; "Configuration data.";
uses te-node-config; uses te-node-config;
} // config } // config
container state { container state {
config false; config false;
description description
"Operational state data."; "Operational state data.";
uses te-node-config; uses te-node-config;
uses te-node-state-derived; uses te-node-state-derived;
} // state } // state
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-node;
} // statistics
list tunnel-termination-point { list tunnel-termination-point {
key "tunnel-tp-id"; key "tunnel-tp-id";
description description
"A termination point can terminate a tunnel."; "A termination point can terminate a tunnel.";
leaf tunnel-tp-id { leaf tunnel-tp-id {
type binary; type binary;
description description
"Tunnel termination point identifier."; "Tunnel termination point identifier.";
} }
container config { container config {
description description
"Configuration data."; "Configuration data.";
uses te-node-tunnel-termination-capability; uses te-node-tunnel-termination-attributes;
} }
container state { container state {
config false; config false;
description description
"Operational state data."; "Operational state data.";
uses te-node-tunnel-termination-capability; uses te-node-tunnel-termination-attributes;
uses geolocation-container;
} // state } // state
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-ttp;
} // statistics
} // tunnel-termination-point } // tunnel-termination-point
} // te } // te
} // te-node-augment } // te-node-augment
grouping te-node-config { grouping te-node-config {
description "TE node configuration grouping."; description "TE node configuration grouping.";
leaf-list te-node-template { leaf-list te-node-template {
if-feature template; if-feature template;
type leafref { type leafref {
skipping to change at page 89, line 4 skipping to change at page 83, line 28
description description
"The reference to a TE node template."; "The reference to a TE node template.";
} }
uses te-node-config-attributes; uses te-node-config-attributes;
} // te-node-config } // te-node-config
grouping te-node-config-attributes { grouping te-node-config-attributes {
description "Configuration node attributes in a TE topology."; description "Configuration node attributes in a TE topology.";
container te-node-attributes { container te-node-attributes {
description "Containing node attributes in a TE topology."; description "Containing node attributes in a TE topology.";
uses sch:schedules;
leaf admin-status { leaf admin-status {
type te-types:te-admin-status; type te-types:te-admin-status;
description description
"The administrative state of the link."; "The administrative state of the link.";
} }
uses te-node-connectivity-matrix; uses te-node-connectivity-matrix;
uses te-node-info-attributes; uses te-node-info-attributes;
} // te-node-attributes } // te-node-attributes
} // te-node-config-attributes } // te-node-config-attributes
grouping te-node-config-attributes-notification {
description
"Configuration node attributes for template in a TE topology.";
container te-node-attributes {
description "Containing node attributes in a TE topology.";
uses sch:schedules;
leaf admin-status {
type te-types:te-admin-status;
description
"The administrative state of the link.";
}
uses te-node-connectivity-matrix-abs;
uses te-node-info-attributes;
} // te-node-attributes
} // te-node-config-attributes-notification
grouping te-node-config-attributes-template { grouping te-node-config-attributes-template {
description description
"Configuration node attributes for template in a TE topology."; "Configuration node attributes for template in a TE topology.";
container te-node-attributes { container te-node-attributes {
description "Containing node attributes in a TE topology."; description "Containing node attributes in a TE topology.";
uses sch:schedules;
leaf admin-status { leaf admin-status {
type te-types:te-admin-status; type te-types:te-admin-status;
description description
"The administrative state of the link."; "The administrative state of the link.";
} }
uses te-node-info-attributes; uses te-node-info-attributes;
} // te-node-attributes } // te-node-attributes
} // te-node-config-attributes-template } // te-node-config-attributes-template
grouping te-node-connectivity-matrix { grouping te-node-connectivity-matrix {
description "Connectivity matrix on a TE node."; description "Connectivity matrix on a TE node.";
list connectivity-matrix { list connectivity-matrix {
key "id"; key "id";
description description
"Represents node's switching limitations, i.e. limitations "Represents node's switching limitations, i.e. limitations
in interconnecting network TE links across the node."; in interconnecting network TE links across the node.";
reference reference
skipping to change at page 91, line 9 skipping to change at page 85, line 14
description description
"Reference to destination NTP."; "Reference to destination NTP.";
} }
leaf is-allowed { leaf is-allowed {
type boolean; type boolean;
description description
"true - switching is allowed, "true - switching is allowed,
false - switching is disallowed."; false - switching is disallowed.";
} }
uses connectivity-label-restriction-list; uses connectivity-label-restriction-list;
container underlay {
if-feature te-topology-hierarchy;
presence
"Indicates the underlay exists for this link.";
description "Attributes of the te-link underlay.";
reference
"RFC4206: Label Switched Paths (LSP) Hierarchy with
Generalized Multi-Protocol Label Switching (GMPLS)
Traffic Engineering (TE)";
uses te-link-underlay-attributes;
} // underlay
uses te-link-connectivity-attributes; uses te-link-connectivity-attributes;
} }
} // te-node-connectivity-matrix } // te-node-connectivity-matrix
grouping te-node-connectivity-matrix-abs { grouping te-node-connectivity-matrix-abs {
description description
"Connectivity matrix on a TE node, using absolute "Connectivity matrix on a TE node, using absolute
paths to reference termination points."; paths to reference termination points.";
list connectivity-matrix { list connectivity-matrix {
key "id"; key "id";
skipping to change at page 93, line 16 skipping to change at page 87, line 32
} }
} // te-node-info-attributes } // te-node-info-attributes
grouping te-node-state-derived { grouping te-node-state-derived {
description "Node state attributes in a TE topology."; description "Node state attributes in a TE topology.";
leaf oper-status { leaf oper-status {
type te-types:te-oper-status; type te-types:te-oper-status;
description description
"The current operational state of the node."; "The current operational state of the node.";
} }
uses geolocation-container;
leaf is-multi-access-dr { leaf is-multi-access-dr {
type empty; type empty;
description description
"The presence of this attribute indicates that this TE node "The presence of this attribute indicates that this TE node
is a pseudonode elected as a designated router."; is a pseudonode elected as a designated router.";
reference reference
"RFC3630: Traffic Engineering (TE) Extensions to OSPF "RFC3630: Traffic Engineering (TE) Extensions to OSPF
Version 2. Version 2.
RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual
Environments."; Environments.";
} }
uses information-source-attributes; uses information-source-per-node-attributes;
list information-source-entry { list information-source-entry {
key "information-source"; key "information-source";
description description
"A list of information sources learned, including the one "A list of information sources learned, including the one
used."; used.";
uses information-source-attributes; uses information-source-per-node-attributes;
uses te-node-connectivity-matrix; uses te-node-connectivity-matrix;
uses te-node-info-attributes; uses te-node-info-attributes;
} }
} // te-node-state-derived } // te-node-state-derived
grouping te-node-state-derived-notification { grouping te-node-state-derived-notification {
description "Node state attributes in a TE topology."; description "Node state attributes in a TE topology.";
leaf oper-status { leaf oper-status {
type te-types:te-oper-status; type te-types:te-oper-status;
description description
skipping to change at page 94, line 17 skipping to change at page 88, line 34
type empty; type empty;
description description
"The presence of this attribute indicates that this TE node "The presence of this attribute indicates that this TE node
is a pseudonode elected as a designated router."; is a pseudonode elected as a designated router.";
reference reference
"RFC3630: Traffic Engineering (TE) Extensions to OSPF "RFC3630: Traffic Engineering (TE) Extensions to OSPF
Version 2. Version 2.
RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual
Environments."; Environments.";
} }
uses information-source-attributes; uses information-source-per-node-attributes;
list information-source-entry { list information-source-entry {
key "information-source"; key "information-source";
description description
"A list of information sources learned, including the one "A list of information sources learned, including the one
used."; used.";
uses information-source-attributes; uses information-source-per-node-attributes;
uses te-node-connectivity-matrix-abs; uses te-node-connectivity-matrix-abs;
uses te-node-info-attributes; uses te-node-info-attributes;
} }
} // te-node-state-derived-notification } // te-node-state-derived-notification
grouping te-node-tunnel-termination-capability { grouping te-node-tunnel-termination-attributes {
description description
"Termination capability of a tunnel termination point on a "Termination capability of a tunnel termination point on a
TE node."; TE node.";
leaf switching-capability { leaf switching-capability {
type identityref { type identityref {
base te-types:switching-capabilities; base te-types:switching-capabilities;
} }
description description
"Switching Capability for this interface."; "Switching Capability for this interface.";
skipping to change at page 95, line 26 skipping to change at page 90, line 4
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-prot-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.";
} }
list local-link-connectivity {
list termination-capability { key "link-tp-ref";
key "link-tp";
description description
"The termination capabilities between "The termination capabilities between
tunnel-termination-point and link termination-point. tunnel-termination-point and link termination-point.
The capability information can be used to compute The capability information can be used to compute
the tunnel path. the tunnel path.
The Interface Adjustment Capability Descriptors (IACD) The Interface Adjustment Capability Descriptors (IACD)
[RFC6001] on each link-tp can be derived from this [RFC6001] on each link-tp can be derived from this
termination-capability list."; local-link-connectivity list.";
reference reference
"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 link-tp { leaf link-tp-ref {
type leafref { type leafref {
path "../../../../../nt:termination-point/nt:tp-id"; path "../../../../../nt:termination-point/nt:tp-id";
} }
description description
"Link termination point."; "Link termination point.";
} }
uses connectivity-label-restriction-list; uses connectivity-label-restriction-list;
uses te-link-iscd-attributes;
list max-lsp-bandwidth { uses te-link-connectivity-attributes;
key "priority";
max-elements "8";
description
"Maximum LSP Bandwidth at priorities 0-7.";
reference
"RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN).";
leaf priority {
type uint8 {
range "0..7";
}
description "Priority.";
}
leaf bandwidth {
type decimal64 {
fraction-digits 2;
}
description
"Max LSP Bandwidth for this level.";
}
} // max-lsp-bandwidth
} // termination-capability } // termination-capability
} // te-node-tunnel-termination-capability } // te-node-tunnel-termination-attributes
grouping te-path-element { grouping te-path-element {
description description
"A group of attributes defining an element in a TE path "A group of attributes defining an element in a TE path
such as TE node, TE link, TE atomic resource or label."; such as TE node, TE link, TE atomic resource or label.";
uses te-types:explicit-route-subobject; uses te-types:explicit-route-subobject;
} // te-path-element } // te-path-element
grouping te-termination-point-augment { grouping te-termination-point-augment {
description description
"Augmentation for TE termination point."; "Augmentation for TE termination point.";
leaf te-tp-id {
type te-types:te-tp-id;
description
"An identifier to uniquely identify a TE termination
point.";
}
container te { container te {
must "../te-tp-id";
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
leaf te-tp-id {
type te-types:te-tp-id;
mandatory true;
description
"An identifier to uniquely identify a TE termination
point.";
}
container config { container config {
description description
"Configuration data."; "Configuration data.";
uses te-termination-point-config; uses te-termination-point-config;
} // config } // config
container state { container state {
config false; config false;
description description
"Operational state data."; "Operational state data.";
uses te-termination-point-config; uses te-termination-point-config;
uses geolocation-container;
} // state } // state
} // te } // te
} // te-termination-point-augment } // te-termination-point-augment
grouping te-termination-point-config { grouping te-termination-point-config {
description description
"TE termination point configuration grouping."; "TE termination point configuration grouping.";
uses sch:schedules;
uses interface-switching-capability-list; uses interface-switching-capability-list;
leaf inter-layer-lock-id { leaf 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
skipping to change at page 99, line 22 skipping to change at page 93, line 20
uses te-link-config-attributes; uses te-link-config-attributes;
} // link-template } // link-template
} // templates } // templates
} // te } // te
} // te-topologies-augment } // te-topologies-augment
grouping te-topology-augment { grouping te-topology-augment {
description description
"Augmentation for TE topology."; "Augmentation for TE topology.";
leaf provider-id {
type te-types:te-global-id;
description
"An identifier to uniquely identify a provider.";
}
leaf client-id {
type te-types:te-global-id;
description
"An identifier to uniquely identify a client.";
}
leaf te-topology-id {
type te-types:te-topology-id;
description
"It is presumed that a datastore will contain many
topologies. To distinguish between topologies it is
vital to have UNIQUE topology identifiers.";
}
container te { container te {
must "../provider-id and ../client-id and ../te-topology-id";
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
leaf provider-id {
type te-types:te-global-id;
mandatory true;
description
"An identifier to uniquely identify a provider.";
}
leaf client-id {
type te-types:te-global-id;
mandatory true;
description
"An identifier to uniquely identify a client.";
}
leaf te-topology-id {
type te-types:te-topology-id;
mandatory true;
description
"It is presumed that a datastore will contain many
topologies. To distinguish between topologies it is
vital to have UNIQUE topology identifiers.";
}
container config { container config {
description description
"Configuration data."; "Configuration data.";
uses te-topology-config; uses te-topology-config;
} // config } // config
container state { container state {
config false; config false;
description description
"Operational state data."; "Operational state data.";
uses te-topology-config; uses te-topology-config;
uses geolocation-container;
} // state } // state
} // 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.";
uses sch:schedules;
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 101, line 4 skipping to change at page 94, line 39
leaf optimization-criterion { leaf optimization-criterion {
type identityref { type identityref {
base te-types:te-optimization-criterion; base te-types:te-optimization-criterion;
} }
description description
"Optimization criterion applied to this topology."; "Optimization criterion applied to this topology.";
reference reference
"RFC3272: Overview and Principles of Internet Traffic "RFC3272: Overview and Principles of Internet Traffic
Engineering."; Engineering.";
} }
} // te-topology-config } // te-topology-config
grouping te-topology-ref { grouping te-topology-ref {
description description
"References a TE topology."; "References a TE topology.";
leaf provider-id-ref {
leaf provider-ref {
type leafref { type leafref {
path "/nw:networks/nw:network[nw:network-id = " path "/nw:networks/nw:network[nw:network-id = "
+ "current()/../network-id-ref]/tet:te/tet:provider-id"; + "current()/../network-ref]/tet:provider-id";
require-instance false; require-instance false;
} }
description description
"A reference to a provider-id."; "A reference to a provider-id.";
} }
leaf client-id-ref { leaf client-ref {
type leafref { type leafref {
path "/nw:networks/nw:network[nw:network-id = " path "/nw:networks/nw:network[nw:network-id = "
+ "current()/../network-id-ref]/tet:te/tet:client-id"; + "current()/../network-ref]/tet:client-id";
require-instance false; require-instance false;
} }
description description
"A reference to a client-id."; "A reference to a client-id.";
} }
leaf te-topology-id-ref { leaf te-topology-ref {
type leafref { type leafref {
path "/nw:networks/nw:network[nw:network-id = " path "/nw:networks/nw:network[nw:network-id = "
+ "current()/../network-id-ref]/tet:te/tet:te-topology-id"; + "current()/../network-ref]/tet:te-topology-id";
require-instance false; require-instance false;
} }
description description
"A reference to a te-topology-id."; "A reference to a te-topology-id.";
} }
leaf network-id-ref { leaf network-ref {
type leafref { type leafref {
path "/nw:networks/nw:network/nw:network-id"; path "/nw:networks/nw:network/nw:network-id";
require-instance false; require-instance false;
} }
description description
"A reference to a network-id in base ietf-network module."; "A reference to a network-id in base ietf-network module.";
} }
} // te-topology-ref } // te-topology-ref
grouping te-topology-type { grouping te-topology-type {
description description
"Identifies the TE topology type."; "Identifies the TE topology type.";
container te-topology { container te-topology {
presence "Indicates TE topology."; presence "Indicates TE topology.";
description description
"Its presence identifies the TE topology type."; "Its presence identifies the TE topology type.";
} }
} // te-topology-type } // te-topology-type
grouping template-attributes { grouping template-attributes {
description description
"Common attributes for all templates."; "Common attributes for all templates.";
skipping to change at page 104, line 34 skipping to change at page 98, line 30
+ "nt:termination-point" { + "nt:termination-point" {
when "../../nw:network-types/te-topology" { when "../../nw:network-types/te-topology" {
description description
"Augmentation parameters apply only for networks with "Augmentation parameters apply only for networks with
TE topology type."; TE topology type.";
} }
description description
"Configuration parameters for TE at termination point level"; "Configuration parameters for TE at termination point level";
uses te-termination-point-augment; uses te-termination-point-augment;
} }
/*
* Operational state data nodes
*/
/*
* Notifications
*/
notification te-node-event {
description "Notification event for TE node.";
leaf event-type {
type te-types:te-topology-event-type;
description "Event type.";
}
uses nw:node-ref;
uses te-topology-type;
uses tet:te-node-config-attributes-notification;
uses tet:te-node-state-derived-notification;
}
notification te-link-event {
description "Notification event for TE link.";
leaf event-type {
type te-types:te-topology-event-type;
description "Event type";
}
uses nt:link-ref;
uses te-topology-type;
uses tet:te-link-config-attributes;
uses tet:te-link-state-derived;
}
augment "/te-link-event/te-link-attributes/underlay" {
description "Add state attributes to te-link underlay.";
uses te-link-state-underlay-attributes;
}
} }
<CODE ENDS> <CODE ENDS>
8. Security Considerations 8. Security Considerations
The transport protocol used for retrieving/manipulating the TE The transport protocol used for retrieving/manipulating the TE
topology data MUST support authentication and SHOULD support topology data MUST support authentication and SHOULD support
encryption. The data-model by itself does not create any security encryption. The data-model by itself does not create any security
implications. implications.
skipping to change at page 106, line 41 skipping to change at page 99, line 39
[RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching [RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching
(GMPLS) Architecture", October 2004. (GMPLS) Architecture", October 2004.
[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).
[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-clemm-netconf-yang-push (Work in Progress).
[RFC5277bis] Clemm, A., "Subscribing to Event Notifications",
draft-ietf-netconf-rfc5277bis (Work in Progress).
[YANG-SCHEDULE] Liu, X., " A YANG Data Model for Configuration [YANG-SCHEDULE] Liu, X., " A YANG Data Model for Configuration
Scheduling", draft-liu-netmod-yang-schedule-00 (Work in Scheduling", draft-liu-netmod-yang-schedule-00 (Work in
Progress). Progress).
10.2. Informative References 10.2. Informative References
[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.
11. Acknowledgments 11. Acknowledgments
skipping to change at page 107, line 24 skipping to change at page 100, line 25
Nokia Nokia
Email: sergio.belotti@nokia.com Email: sergio.belotti@nokia.com
Dieter Beller Dieter Beller
Nokia Nokia
Email: Dieter.Beller@nokia.com Email: Dieter.Beller@nokia.com
Authors' Addresses Authors' Addresses
Xufeng Liu Xufeng Liu
Ericsson Kuatro Technologies
Email: xliu@kuatrotech.com Email: xliu@kuatrotech.com
Igor Bryskin Igor Bryskin
Huawei Technologies Huawei Technologies
Email: Igor.Bryskin@huawei.com Email: Igor.Bryskin@huawei.com
Vishnu Pavan Beeram Vishnu Pavan Beeram
Juniper Networks Juniper Networks
Email: vbeeram@juniper.net Email: vbeeram@juniper.net
 End of changes. 241 change blocks. 
1613 lines changed or deleted 1277 lines changed or added

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