draft-ietf-teas-yang-te-topo-09.txt   draft-ietf-teas-yang-te-topo-10.txt 
skipping to change at page 1, line 15 skipping to change at page 1, line 15
Huawei Technologies Huawei Technologies
Vishnu Pavan Beeram Vishnu Pavan Beeram
Juniper Networks Juniper Networks
Tarek Saad Tarek Saad
Cisco Systems Inc Cisco Systems Inc
Himanshu Shah Himanshu Shah
Ciena Ciena
Oscar Gonzalez De Dios Oscar Gonzalez De Dios
Telefonica Telefonica
Expires: December 12, 2017 June 12, 2017 Expires: January 2, 2018 July 2, 2017
YANG Data Model for TE Topologies YANG Data Model for TE Topologies
draft-ietf-teas-yang-te-topo-09 draft-ietf-teas-yang-te-topo-10
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 December 12, 2017. This Internet-Draft will expire on January 2, 2018.
Copyright Notice Copyright Notice
Copyright (c) 2017 IETF Trust and the persons identified as the Copyright (c) 2017 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(http://trustee.ietf.org/license-info) in effect on the date of (http://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 30 skipping to change at page 2, line 30
Conventions used in this document Conventions used in this document
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC-2119 [RFC2119]. document are to be interpreted as described in RFC-2119 [RFC2119].
Table of Contents Table of Contents
1. Introduction...................................................3 1. Introduction...................................................3
1.1. Terminology...............................................3 1.1. Terminology...............................................4
1.2. Tree Structure - Legend...................................4 1.2. Tree Structure - Legend...................................4
1.3. Prefixes in Data Node Names...............................5 1.3. Prefixes in Data Node Names...............................5
2. Characterizing TE Topologies...................................5 2. Characterizing TE Topologies...................................5
3. Modeling Abstractions and Transformations......................7 3. Modeling Abstractions and Transformations......................7
3.1. TE Topology...............................................7 3.1. TE Topology...............................................7
3.2. TE Node...................................................7 3.2. TE Node...................................................7
3.3. TE Link...................................................8 3.3. TE Link...................................................8
3.4. Transitional TE Link for Multi-Layer Topologies...........8 3.4. Transitional TE Link for Multi-Layer Topologies...........8
3.5. TE Link Termination Point (LTP)...........................9 3.5. TE Link Termination Point (LTP)...........................9
3.6. TE Tunnel Termination Point (TTP)........................10 3.6. TE Tunnel Termination Point (TTP)........................10
skipping to change at page 3, line 20 skipping to change at page 3, line 20
5.3. Model Structure..........................................25 5.3. Model Structure..........................................25
5.4. Topology Identifiers.....................................26 5.4. Topology Identifiers.....................................26
5.5. Generic TE Link Attributes...............................26 5.5. Generic TE Link Attributes...............................26
5.6. Generic TE Node Attributes...............................27 5.6. Generic TE Node Attributes...............................27
5.7. TED Information Sources..................................29 5.7. TED Information Sources..................................29
5.8. Overlay/Underlay Relationship............................30 5.8. Overlay/Underlay Relationship............................30
5.9. Templates................................................31 5.9. Templates................................................31
5.10. Scheduling Parameters...................................32 5.10. Scheduling Parameters...................................32
5.11. Notifications...........................................32 5.11. Notifications...........................................32
6. Tree Structure................................................32 6. Tree Structure................................................32
7. TE Topology Yang Module.......................................66 7. TE Topology Yang Module.......................................68
8. Security Considerations......................................114 8. Security Considerations......................................116
9. IANA Considerations..........................................115 9. IANA Considerations..........................................116
10. References..................................................115 10. References..................................................116
10.1. Normative References...................................115 10.1. Normative References...................................116
10.2. Informative References.................................116 10.2. Informative References.................................117
11. Acknowledgments.............................................116 11. Acknowledgments.............................................117
Contributors....................................................116 Appendix A. Companion YANG Model for Non-NMDA Compliant
Authors' Addresses..............................................116 Implementations.................................................118
A.1. TE Topology State Yang Module...........................118
Contributors....................................................125
Authors' Addresses..............................................126
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 33, line 44 skipping to change at page 33, line 44
+--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 enabled? boolean | +--rw enabled? boolean
| +--rw primary-path | +--rw primary-path
| | +--rw network-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 index? uint32 | | +--rw index? uint32
| | +--rw (type)? | | +--rw (type)?
| | +--:(ip-address) | | +--:(numbered)
| | | +--rw ip-address-hop | | | +--rw numbered-hop
| | | +--rw address? inet:ip-address | | | +--rw address? te-types:te-tp-id
| | | +--rw hop-type? te-hop-type | | | +--rw hop-type? te-hop-type
| | +--:(as-number) | | +--:(as-number)
| | | +--rw as-number-hop | | | +--rw as-number-hop
| | | +--rw as-number? binary | | | +--rw as-number? binary
| | | +--rw hop-type? te-hop-type | | | +--rw hop-type? te-hop-type
| | +--:(unnumbered-link) | | +--:(unnumbered)
| | | +--rw unnumbered-hop | | | +--rw unnumbered-hop
| | | +--rw router-id? inet:ip- | | | +--rw node-id? te-types:te-
address node-id
| | | +--rw interface-id? uint32 | | | +--rw link-tp-id? te-types:te-tp-
| | | +--rw hop-type? te-hop-type id
| | | +--rw hop-type? te-hop-type
| | +--:(label) | | +--:(label)
| | | +--rw label-hop | | | +--rw label-hop
| | | +--rw value? rt-types:generalized- | | | +--rw value? rt-types:generalized-
label label
| | +--:(sid) | | +--:(sid)
| | +--rw sid-hop | | +--rw sid-hop
| | +--rw sid? rt-types:generalized- | | +--rw sid? rt-types:generalized-
label label
| +--rw backup-path* [index] | +--rw backup-path* [index]
| | +--rw index uint32 | | +--rw index uint32
| | +--rw network-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 index? uint32 | | +--rw index? uint32
| | +--rw (type)? | | +--rw (type)?
| | +--:(ip-address) | | +--:(numbered)
| | | +--rw ip-address-hop | | | +--rw numbered-hop
| | | +--rw address? inet:ip-address | | | +--rw address? te-types:te-tp-id
| | | +--rw hop-type? te-hop-type | | | +--rw hop-type? te-hop-type
| | +--:(as-number) | | +--:(as-number)
| | | +--rw as-number-hop | | | +--rw as-number-hop
| | | +--rw as-number? binary | | | +--rw as-number? binary
| | | +--rw hop-type? te-hop-type | | | +--rw hop-type? te-hop-type
| | +--:(unnumbered-link) | | +--:(unnumbered)
| | | +--rw unnumbered-hop | | | +--rw unnumbered-hop
| | | +--rw router-id? inet:ip- | | | +--rw node-id? te-types:te-
address node-id
| | | +--rw interface-id? uint32 | | | +--rw link-tp-id? te-types:te-tp-
| | | +--rw hop-type? te-hop-type id
| | | +--rw hop-type? te-hop-type
| | +--:(label) | | +--:(label)
| | | +--rw label-hop | | | +--rw label-hop
| | | +--rw value? rt-types:generalized- | | | +--rw value? rt-types:generalized-
label label
| | +--:(sid) | | +--:(sid)
| | +--rw sid-hop | | +--rw sid-hop
| | +--rw sid? rt-types:generalized- | | +--rw sid? rt-types:generalized-
label label
| +--rw protection-type? identityref | +--rw protection-type? identityref
| +--rw tunnel-termination-points | +--rw tunnel-termination-points
skipping to change at page 35, line 20 skipping to change at page 35, line 22
admin-status admin-status
+--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 encoding] capability encoding]
| +--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? te-bandwidth | +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-
ieee-float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw label-restriction* [inclusive-exclusive label-
start]
| +--rw inclusive-exclusive enumeration
| +--rw label-start rt-types:generalized-
label
| +--rw label-end? rt-types:generalized-
label
| +--rw range-bitmap? binary
+--rw link-protection-type? enumeration +--rw link-protection-type? enumeration
+--rw max-link-bandwidth? te-bandwidth +--rw max-link-bandwidth
+--rw max-resv-link-bandwidth? te-bandwidth | +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw max-resv-link-bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw unreserved-bandwidth* [priority] +--rw unreserved-bandwidth* [priority]
| +--rw priority uint8 | +--rw priority uint8
| +--rw bandwidth? te-bandwidth | +--rw bandwidth
| +--rw te-bandwidth
| +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-
ieee-float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw te-default-metric? uint32 +--rw te-default-metric? uint32
+--rw te-delay-metric? uint32 +--rw te-delay-metric? uint32
+--rw te-igp-metric? uint32
+--rw te-srlgs +--rw te-srlgs
| +--rw value* te-types:srlg | +--rw value* te-types:srlg
+--rw te-nsrlgs {nsrlg}? +--rw te-nsrlgs {nsrlg}?
+--rw id* uint32 +--rw id* uint32
augment /nw:networks/nw:network: augment /nw:networks/nw:network:
+--rw provider-id? te-types:te-global-id +--rw provider-id? te-types:te-global-id
+--rw client-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-topology-id? te-types:te-topology-id
+--rw te! +--rw te!
+--rw config +--rw preference? uint8
| +--rw preference? uint8 +--rw optimization-criterion? identityref
| +--rw optimization-criterion? identityref +--rw nsrlg* [id] {nsrlg}?
| +--rw nsrlg* [id] {nsrlg}? | +--rw id uint32
| +--rw id uint32 | +--rw disjointness? te-types:te-path-disjointness
| +--rw disjointness? te-path-disjointness +--ro geolocation
+--ro state +--ro altitude? int64
+--ro preference? uint8 +--ro latitude? geographic-coordinate-degree
+--ro optimization-criterion? identityref +--ro longitude? geographic-coordinate-degree
+--ro nsrlg* [id] {nsrlg}?
| +--ro id uint32
| +--ro disjointness? te-path-disjointness
+--ro geolocation
+--ro altitude? int64
+--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree
augment /nw:networks/nw:network/nw:node: augment /nw:networks/nw:network/nw:node:
+--rw te-node-id? te-types:te-node-id +--rw te-node-id? te-types:te-node-id
+--rw te! +--rw te!
+--rw config +--rw te-node-template* leafref {template}?
| +--rw te-node-template* leafref {template}? +--rw te-node-attributes
| +--rw te-node-attributes | +--rw admin-status? te-types:te-admin-status
| +--rw admin-status? te-types:te-admin-status | +--rw connectivity-matrices
| +--rw connectivity-matrices | | +--rw number-of-entries? uint16
| | +--rw number-of-entries? uint16 | | +--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 rt-types:generalized- | | | +--rw label-start rt-types:generalized-
label
| | | +--rw label-end? rt-types:generalized-
label label
| | | +--rw range-bitmap? binary | | | +--rw label-end? rt-types:generalized-
| | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--rw enabled? boolean
| | | +--rw primary-path
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(ip-address)
| | | | | +--rw ip-address-hop
| | | | | +--rw address? inet:ip-address
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--rw unnumbered-hop
| | | | | +--rw router-id? inet:ip-
address
| | | | | +--rw interface-id? uint32
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label label
| | | | +--:(sid) | | | +--rw range-bitmap? binary
| | | | +--rw sid-hop | | +--rw is-allowed? boolean
| | | | +--rw sid? rt-types:generalized- | | +--rw underlay {te-topology-hierarchy}?
| | | +--rw enabled? boolean
| | | +--rw primary-path
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(numbered)
| | | | | +--rw numbered-hop
| | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--rw unnumbered-hop
| | | | | +--rw node-id? te-types:te-node-id
| | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label label
| | | +--rw backup-path* [index] | | | | +--:(sid)
| | | | +--rw index uint32 | | | | +--rw sid-hop
| | | | +--rw network-ref? leafref | | | | +--rw sid? rt-types:generalized-label
| | | | +--rw path-element* [path-element-id] | | | +--rw backup-path* [index]
| | | | +--rw path-element-id uint32 | | | | +--rw index uint32
| | | | +--rw index? uint32 | | | | +--rw network-ref? leafref
| | | | +--rw (type)? | | | | +--rw path-element* [path-element-id]
| | | | +--:(ip-address) | | | | +--rw path-element-id uint32
| | | | | +--rw ip-address-hop | | | | +--rw index? uint32
| | | | | +--rw address? inet:ip-address | | | | +--rw (type)?
| | | | | +--rw hop-type? te-hop-type | | | | +--:(numbered)
| | | | +--:(as-number) | | | | | +--rw numbered-hop
| | | | | +--rw as-number-hop | | | | | +--rw address? te-types:te-tp-id
| | | | | +--rw as-number? binary | | | | | +--rw hop-type? te-hop-type
| | | | | +--rw hop-type? te-hop-type | | | | +--:(as-number)
| | | | +--:(unnumbered-link) | | | | | +--rw as-number-hop
| | | | | +--rw unnumbered-hop | | | | | +--rw as-number? binary
| | | | | +--rw router-id? inet:ip- | | | | | +--rw hop-type? te-hop-type
address | | | | +--:(unnumbered)
| | | | | +--rw interface-id? uint32 | | | | | +--rw unnumbered-hop
| | | | | +--rw hop-type? te-hop-type | | | | | +--rw node-id? te-types:te-node-id
| | | | +--:(label) | | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--rw label-hop | | | | | +--rw hop-type? te-hop-type
| | | | | +--rw value? rt-types:generalized- | | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-types:generalized-
label label
| | | | +--:(sid) | | | | +--:(sid)
| | | | +--rw sid-hop | | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized- | | | | +--rw sid? rt-types:generalized-label
| | | +--rw protection-type? identityref
| | | +--rw tunnel-termination-points
| | | | +--rw source? binary
| | | | +--rw destination? binary
| | | +--rw tunnels
| | | +--rw sharing? boolean
| | | +--rw tunnel* [tunnel-name]
| | | +--rw tunnel-name string
| | | +--rw sharing? boolean
| | +--rw path-constraints
| | | +--rw path-metric-bound* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw upper-bound? uint64
| | | +--rw topology-id? te-types:te-topology-id
| | | +--rw ignore-overload? boolean
| | | +--rw bandwidth-generic
| | | | +--rw te-bandwidth
| | | | +--rw (technology)?
| | | | +--:(psc)
| | | | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | | | +--:(otn)
| | | | | +--rw otn* [rate-type]
| | | | | +--rw rate-type identityref
| | | | | +--rw counter? uint16
| | | | +--:(lsc)
| | | | | +--rw wdm* [spectrum slot]
| | | | | +--rw spectrum identityref
| | | | | +--rw slot int16
| | | | | +--rw width? uint16
| | | | +--:(generic)
| | | | +--rw generic? te-bandwidth
| | | +--rw disjointness? te-types:te-path-
disjointness
| | | +--rw setup-priority? uint8
| | | +--rw hold-priority? uint8
| | | +--rw signaling-type? identityref
| | | +--rw path-affinities
| | | | +--rw constraint* [usage]
| | | | +--rw usage identityref
| | | | +--rw value? admin-groups
| | | +--rw path-srlgs
| | | +--rw usage? identityref
| | | +--rw values* srlg
| | +--rw optimizations
| | | +--rw (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--rw optimization-metric* [metric-type]
| | | | | +--rw metric-type identityref
| | | | | +--rw weight? uint8
| | | | +--rw tiebreakers
| | | | +--rw tiebreaker* [tiebreaker-type]
| | | | +--rw tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--rw objective-function
| | | +--rw objective-function-type? identityref
| | +--ro computed-path-properties
| | | +--ro path-metric* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro accumulative-value? uint64
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | | +--ro usage? identityref
| | | | +--ro values* srlg
| | | +--ro path-computed-route-objects
| | | +--ro path-computed-route-object* [index]
| | | +--ro index uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-
label label
| | | +--rw protection-type? identityref | | | +--:(sid)
| | | +--rw tunnel-termination-points | | | +--ro sid-hop
| | | | +--rw source? binary | | | +--ro sid? rt-types:generalized-label
| | | | +--rw destination? binary | | +--rw connectivity-matrix* [id]
| | | +--rw tunnels | | +--rw id uint32
| | | +--rw sharing? boolean | | +--rw from
| | | +--rw tunnel* [tunnel-name] | | | +--rw tp-ref? leafref
| | | +--rw tunnel-name string | | | +--rw label-restriction* [inclusive-exclusive
| | | +--rw sharing? boolean
| | +--rw max-lsp-bandwidth* [priority]
| | | +--rw priority uint8
| | | +--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
| | +--rw te-nsrlgs {nsrlg}?
| | | +--rw id* uint32
| | +--rw connectivity-matrix* [id]
| | +--rw id uint32
| | +--rw from
| | | +--rw tp-ref? leafref
| | | +--rw label-restriction* [inclusive-exclusive
label-start] label-start]
| | | +--rw inclusive-exclusive enumeration | | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt- | | | +--rw label-start rt-
types:generalized-label types:generalized-label
| | | +--rw label-end? rt- | | | +--rw label-end? rt-
types:generalized-label types:generalized-label
| | | +--rw range-bitmap? binary | | | +--rw range-bitmap? binary
| | +--rw to | | +--rw to
| | | +--rw tp-ref? leafref | | | +--rw tp-ref? leafref
| | | +--rw label-restriction* [inclusive-exclusive | | | +--rw label-restriction* [inclusive-exclusive
label-start] label-start]
| | | +--rw inclusive-exclusive enumeration | | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt- | | | +--rw label-start rt-
types:generalized-label
| | | +--rw label-end? rt-
types:generalized-label
| | | +--rw range-bitmap? binary
| | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--rw enabled? boolean
| | | +--rw primary-path
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(ip-address)
| | | | | +--rw ip-address-hop
| | | | | +--rw address? inet:ip-address
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--rw unnumbered-hop
| | | | | +--rw router-id? inet:ip-
address
| | | | | +--rw interface-id? uint32
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-
types:generalized-label
| | | +--rw backup-path* [index]
| | | | +--rw index uint32
| | | | +--rw network-ref? leafref
| | | | +--rw path-element* [path-element-id]
| | | | +--rw path-element-id uint32
| | | | +--rw index? uint32
| | | | +--rw (type)?
| | | | +--:(ip-address)
| | | | | +--rw ip-address-hop
| | | | | +--rw address? inet:ip-address
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--rw as-number-hop
| | | | | +--rw as-number? binary
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--rw unnumbered-hop
| | | | | +--rw router-id? inet:ip-
address
| | | | | +--rw interface-id? uint32
| | | | | +--rw hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--rw label-hop
| | | | | +--rw value? rt-
types:generalized-label types:generalized-label
| | | | +--:(sid) | | | +--rw label-end? rt-
| | | | +--rw sid-hop
| | | | +--rw sid? rt-
types:generalized-label types:generalized-label
| | | +--rw protection-type? identityref | | | +--rw range-bitmap? binary
| | | +--rw tunnel-termination-points | | +--rw is-allowed? boolean
| | | | +--rw source? binary | | +--rw underlay {te-topology-hierarchy}?
| | | | +--rw destination? binary | | | +--rw enabled? boolean
| | | +--rw tunnels | | | +--rw primary-path
| | | +--rw sharing? boolean | | | | +--rw network-ref? leafref
| | | +--rw tunnel* [tunnel-name] | | | | +--rw path-element* [path-element-id]
| | | +--rw tunnel-name string | | | | +--rw path-element-id uint32
| | | +--rw sharing? boolean | | | | +--rw index? uint32
| | +--rw max-lsp-bandwidth* [priority] | | | | +--rw (type)?
| | | +--rw priority uint8 | | | | +--:(numbered)
| | | +--rw bandwidth? te-bandwidth | | | | | +--rw numbered-hop
| | +--rw max-link-bandwidth? te-bandwidth | | | | | +--rw address? te-types:te-tp-id
| | +--rw max-resv-link-bandwidth? te-bandwidth | | | | | +--rw hop-type? te-hop-type
| | +--rw unreserved-bandwidth* [priority] | | | | +--:(as-number)
| | | +--rw priority uint8 | | | | | +--rw as-number-hop
| | | +--rw bandwidth? te-bandwidth | | | | | +--rw as-number? binary
| | +--rw te-default-metric? uint32 | | | | | +--rw hop-type? te-hop-type
| | +--rw te-delay-metric? uint32 | | | | +--:(unnumbered)
| | +--rw te-srlgs | | | | | +--rw unnumbered-hop
| | | +--rw value* te-types:srlg | | | | | +--rw node-id? te-types:te-
| | +--rw te-nsrlgs {nsrlg}? node-id
| | +--rw id* uint32 | | | | | +--rw link-tp-id? te-types:te-tp-
| +--rw domain-id? uint32 id
| +--rw is-abstract? empty | | | | | +--rw hop-type? te-hop-type
| +--rw name? inet:domain-name | | | | +--:(label)
| +--rw signaling-address* inet:ip-address | | | | | +--rw label-hop
| +--rw underlay-topology {te-topology-hierarchy}? | | | | | +--rw value? rt-types:generalized-
| +--rw network-ref? leafref
+--ro state
| +--ro te-node-template* leafref {template}?
| +--ro te-node-attributes
| | +--ro admin-status? te-types:te-admin-status
| | +--ro connectivity-matrices
| | | +--ro number-of-entries? uint16
| | | +--ro label-restriction* [inclusive-exclusive label-
start]
| | | | +--ro inclusive-exclusive enumeration
| | | | +--ro label-start rt-types:generalized-
label label
| | | | +--ro label-end? rt-types:generalized- | | | | +--:(sid)
| | | | +--rw sid-hop
| | | | +--rw sid? rt-types:generalized-
label label
| | | | +--ro range-bitmap? binary | | | +--rw backup-path* [index]
| | | +--ro is-allowed? boolean | | | | +--rw index uint32
| | | +--ro underlay {te-topology-hierarchy}? | | | | +--rw network-ref? leafref
| | | | +--ro enabled? boolean | | | | +--rw path-element* [path-element-id]
| | | | +--ro primary-path | | | | +--rw path-element-id uint32
| | | | | +--ro network-ref? leafref | | | | +--rw index? uint32
| | | | | +--ro path-element* [path-element-id] | | | | +--rw (type)?
| | | | | +--ro path-element-id uint32 | | | | +--:(numbered)
| | | | | +--ro index? uint32 | | | | | +--rw numbered-hop
| | | | | +--ro (type)? | | | | | +--rw address? te-types:te-tp-id
| | | | | +--:(ip-address) | | | | | +--rw hop-type? te-hop-type
| | | | | | +--ro ip-address-hop | | | | +--:(as-number)
| | | | | | +--ro address? inet:ip-address | | | | | +--rw as-number-hop
| | | | | | +--ro hop-type? te-hop-type | | | | | +--rw as-number? binary
| | | | | +--:(as-number) | | | | | +--rw hop-type? te-hop-type
| | | | | | +--ro as-number-hop | | | | +--:(unnumbered)
| | | | | | +--ro as-number? binary | | | | | +--rw unnumbered-hop
| | | | | | +--ro hop-type? te-hop-type | | | | | +--rw node-id? te-types:te-
| | | | | +--:(unnumbered-link) node-id
| | | | | | +--ro unnumbered-hop | | | | | +--rw link-tp-id? te-types:te-tp-
| | | | | | +--ro router-id? inet:ip- id
address | | | | | +--rw hop-type? te-hop-type
| | | | | | +--ro interface-id? uint32 | | | | +--:(label)
| | | | | | +--ro hop-type? te-hop-type | | | | | +--rw label-hop
| | | | | +--:(label) | | | | | +--rw value? rt-types:generalized-
| | | | | | +--ro label-hop
| | | | | | +--ro value? rt-types:generalized-
label label
| | | | | +--:(sid) | | | | +--:(sid)
| | | | | +--ro sid-hop | | | | +--rw sid-hop
| | | | | +--ro sid? rt-types:generalized- | | | | +--rw sid? rt-types:generalized-
label label
| | | | +--ro backup-path* [index] | | | +--rw protection-type? identityref
| | | | | +--ro index uint32 | | | +--rw tunnel-termination-points
| | | | | +--ro network-ref? leafref | | | | +--rw source? binary
| | | | | +--ro path-element* [path-element-id] | | | | +--rw destination? binary
| | | | | +--ro path-element-id uint32 | | | +--rw tunnels
| | | | | +--ro index? uint32 | | | +--rw sharing? boolean
| | | | | +--ro (type)? | | | +--rw tunnel* [tunnel-name]
| | | | | +--:(ip-address) | | | +--rw tunnel-name string
| | | | | | +--ro ip-address-hop | | | +--rw sharing? boolean
| | | | | | +--ro address? inet:ip-address | | +--rw path-constraints
| | | | | | +--ro hop-type? te-hop-type | | | +--rw path-metric-bound* [metric-type]
| | | | | +--:(as-number) | | | | +--rw metric-type identityref
| | | | | | +--ro as-number-hop | | | | +--rw upper-bound? uint64
| | | | | | +--ro as-number? binary | | | +--rw topology-id? te-types:te-topology-id
| | | | | | +--ro hop-type? te-hop-type | | | +--rw ignore-overload? boolean
| | | | | +--:(unnumbered-link) | | | +--rw bandwidth-generic
| | | | | | +--ro unnumbered-hop | | | | +--rw te-bandwidth
| | | | | | +--ro router-id? inet:ip- | | | | +--rw (technology)?
address | | | | +--:(psc)
| | | | | | +--ro interface-id? uint32 | | | | | +--rw psc? rt-types:bandwidth-
| | | | | | +--ro hop-type? te-hop-type ieee-float32
| | | | | +--:(label) | | | | +--:(otn)
| | | | | | +--ro label-hop | | | | | +--rw otn* [rate-type]
| | | | | | +--ro value? rt-types:generalized- | | | | | +--rw rate-type identityref
| | | | | +--rw counter? uint16
| | | | +--:(lsc)
| | | | | +--rw wdm* [spectrum slot]
| | | | | +--rw spectrum identityref
| | | | | +--rw slot int16
| | | | | +--rw width? uint16
| | | | +--:(generic)
| | | | +--rw generic? te-bandwidth
| | | +--rw disjointness? te-types:te-path-
disjointness
| | | +--rw setup-priority? uint8
| | | +--rw hold-priority? uint8
| | | +--rw signaling-type? identityref
| | | +--rw path-affinities
| | | | +--rw constraint* [usage]
| | | | +--rw usage identityref
| | | | +--rw value? admin-groups
| | | +--rw path-srlgs
| | | +--rw usage? identityref
| | | +--rw values* srlg
| | +--rw optimizations
| | | +--rw (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--rw optimization-metric* [metric-type]
| | | | | +--rw metric-type identityref
| | | | | +--rw weight? uint8
| | | | +--rw tiebreakers
| | | | +--rw tiebreaker* [tiebreaker-type]
| | | | +--rw tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--rw objective-function
| | | +--rw objective-function-type?
identityref
| | +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-
node-id
| | | +--ro link-tp-id? te-types:te-tp-
id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-
label label
| | | | | +--:(sid) | | +--:(sid)
| | | | | +--ro sid-hop | | +--ro sid-hop
| | | | | +--ro sid? rt-types:generalized- | | +--ro sid? rt-types:generalized-
label label
| | | | +--ro protection-type? identityref | +--rw domain-id? uint32
| | | | +--ro tunnel-termination-points | +--rw is-abstract? empty
| | | | | +--ro source? binary | +--rw name? inet:domain-name
| | | | | +--ro destination? binary | +--rw signaling-address* inet:ip-address
| | | | +--ro tunnels | +--rw underlay-topology {te-topology-hierarchy}?
| | | | +--ro sharing? boolean | +--rw network-ref? leafref
| | | | +--ro tunnel* [tunnel-name] +--ro oper-status? te-types:te-oper-status
| | | | +--ro tunnel-name string +--ro geolocation
| | | | +--ro sharing? boolean | +--ro altitude? int64
| | | +--ro max-lsp-bandwidth* [priority] | +--ro latitude? geographic-coordinate-degree
| | | | +--ro priority uint8 | +--ro longitude? geographic-coordinate-degree
| | | | +--ro bandwidth? te-bandwidth +--ro is-multi-access-dr? empty
| | | +--ro max-link-bandwidth? te-bandwidth +--ro information-source? te-info-source
| | | +--ro max-resv-link-bandwidth? te-bandwidth +--ro information-source-state
| | | +--ro unreserved-bandwidth* [priority] | +--ro credibility-preference? uint16
| | | | +--ro priority uint8 | +--ro logical-network-element? string
| | | | +--ro bandwidth? te-bandwidth | +--ro network-instance? string
| | | +--ro te-default-metric? uint32 | +--ro topology
| | | +--ro te-delay-metric? uint32 | +--ro node-ref? leafref
| | | +--ro te-srlgs | +--ro network-ref? leafref
| | | | +--ro value* te-types:srlg +--ro information-source-entry* [information-source]
| | | +--ro te-nsrlgs {nsrlg}? | +--ro information-source te-info-source
| | | | +--ro id* uint32
| | | +--ro connectivity-matrix* [id]
| | | +--ro id uint32
| | | +--ro from
| | | | +--ro tp-ref? leafref
| | | | +--ro label-restriction* [inclusive-exclusive
label-start]
| | | | +--ro inclusive-exclusive enumeration
| | | | +--ro label-start rt-
types:generalized-label
| | | | +--ro label-end? rt-
types:generalized-label
| | | | +--ro range-bitmap? binary
| | | +--ro to
| | | | +--ro tp-ref? leafref
| | | | +--ro label-restriction* [inclusive-exclusive
label-start]
| | | | +--ro inclusive-exclusive enumeration
| | | | +--ro label-start rt-
types:generalized-label
| | | | +--ro label-end? rt-
types:generalized-label
| | | | +--ro range-bitmap? binary
| | | +--ro is-allowed? boolean
| | | +--ro underlay {te-topology-hierarchy}?
| | | | +--ro enabled? boolean
| | | | +--ro primary-path
| | | | | +--ro network-ref? leafref
| | | | | +--ro path-element* [path-element-id]
| | | | | +--ro path-element-id uint32
| | | | | +--ro index? uint32
| | | | | +--ro (type)?
| | | | | +--:(ip-address)
| | | | | | +--ro ip-address-hop
| | | | | | +--ro address? inet:ip-address
| | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(as-number)
| | | | | | +--ro as-number-hop
| | | | | | +--ro as-number? binary
| | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(unnumbered-link)
| | | | | | +--ro unnumbered-hop
| | | | | | +--ro router-id? inet:ip-
address
| | | | | | +--ro interface-id? uint32
| | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(label)
| | | | | | +--ro label-hop
| | | | | | +--ro value? rt-
types:generalized-label
| | | | | +--:(sid)
| | | | | +--ro sid-hop
| | | | | +--ro sid? rt-
types:generalized-label
| | | | +--ro backup-path* [index]
| | | | | +--ro index uint32
| | | | | +--ro network-ref? leafref
| | | | | +--ro path-element* [path-element-id]
| | | | | +--ro path-element-id uint32
| | | | | +--ro index? uint32
| | | | | +--ro (type)?
| | | | | +--:(ip-address)
| | | | | | +--ro ip-address-hop
| | | | | | +--ro address? inet:ip-address
| | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(as-number)
| | | | | | +--ro as-number-hop
| | | | | | +--ro as-number? binary
| | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(unnumbered-link)
| | | | | | +--ro unnumbered-hop
| | | | | | +--ro router-id? inet:ip-
address
| | | | | | +--ro interface-id? uint32
| | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(label)
| | | | | | +--ro label-hop
| | | | | | +--ro value? rt-
types:generalized-label
| | | | | +--:(sid)
| | | | | +--ro sid-hop
| | | | | +--ro sid? rt-
types:generalized-label
| | | | +--ro protection-type? identityref
| | | | +--ro tunnel-termination-points
| | | | | +--ro source? binary
| | | | | +--ro destination? binary
| | | | +--ro tunnels
| | | | +--ro sharing? boolean
| | | | +--ro tunnel* [tunnel-name]
| | | | +--ro tunnel-name string
| | | | +--ro sharing? boolean
| | | +--ro max-lsp-bandwidth* [priority]
| | | | +--ro priority uint8
| | | | +--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 te-nsrlgs {nsrlg}?
| | | +--ro id* uint32
| | +--ro domain-id? uint32
| | +--ro is-abstract? empty
| | +--ro name? inet:domain-name
| | +--ro signaling-address* inet:ip-address
| | +--ro underlay-topology {te-topology-hierarchy}?
| | +--ro network-ref? leafref
| +--ro oper-status? te-types:te-oper-status
| +--ro geolocation
| | +--ro altitude? int64
| | +--ro latitude? geographic-coordinate-degree
| | +--ro longitude? geographic-coordinate-degree
| +--ro is-multi-access-dr? empty
| +--ro information-source? te-info-source
| +--ro information-source-state | +--ro information-source-state
| | +--ro credibility-preference? uint16 | | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string | | +--ro logical-network-element? string
| | +--ro network-instance? string | | +--ro network-instance? string
| | +--ro topology | | +--ro topology
| | +--ro network-ref? leafref
| | +--ro node-ref? leafref | | +--ro node-ref? leafref
| +--ro information-source-entry* [information-source] | | +--ro network-ref? leafref
| +--ro information-source te-info-source | +--ro connectivity-matrices
| +--ro information-source-state | | +--ro number-of-entries? uint16
| | +--ro credibility-preference? uint16 | | +--ro label-restriction* [inclusive-exclusive label-
| | +--ro logical-network-element? string
| | +--ro network-instance? string
| | +--ro topology
| | +--ro network-ref? leafref
| | +--ro node-ref? leafref
| +--ro connectivity-matrices
| | +--ro number-of-entries? uint16
| | +--ro label-restriction* [inclusive-exclusive label-
start] start]
| | | +--ro inclusive-exclusive enumeration | | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-types:generalized- | | | +--ro label-start rt-types:generalized-
label
| | | +--ro label-end? rt-types:generalized-
label label
| | | +--ro range-bitmap? binary | | | +--ro label-end? rt-types:generalized-
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(ip-address)
| | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--ro unnumbered-hop
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label label
| | | | +--:(sid) | | | +--ro range-bitmap? binary
| | | | +--ro sid-hop | | +--ro is-allowed? boolean
| | | | +--ro sid? rt-types:generalized- | | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-node-id
| | | | | +--ro link-tp-id? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label label
| | | +--ro backup-path* [index] | | | | +--:(sid)
| | | | +--ro index uint32 | | | | +--ro sid-hop
| | | | +--ro network-ref? leafref | | | | +--ro sid? rt-types:generalized-label
| | | | +--ro path-element* [path-element-id] | | | +--ro backup-path* [index]
| | | | +--ro path-element-id uint32 | | | | +--ro index uint32
| | | | +--ro index? uint32 | | | | +--ro network-ref? leafref
| | | | +--ro (type)? | | | | +--ro path-element* [path-element-id]
| | | | +--:(ip-address) | | | | +--ro path-element-id uint32
| | | | | +--ro ip-address-hop | | | | +--ro index? uint32
| | | | | +--ro address? inet:ip-address | | | | +--ro (type)?
| | | | | +--ro hop-type? te-hop-type | | | | +--:(numbered)
| | | | +--:(as-number) | | | | | +--ro numbered-hop
| | | | | +--ro as-number-hop | | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro as-number? binary | | | | | +--ro hop-type? te-hop-type
| | | | | +--ro hop-type? te-hop-type | | | | +--:(as-number)
| | | | +--:(unnumbered-link) | | | | | +--ro as-number-hop
| | | | | +--ro unnumbered-hop | | | | | +--ro as-number? binary
| | | | | +--ro router-id? inet:ip- | | | | | +--ro hop-type? te-hop-type
address | | | | +--:(unnumbered)
| | | | | +--ro interface-id? uint32 | | | | | +--ro unnumbered-hop
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro node-id? te-types:te-node-id
| | | | +--:(label) | | | | | +--ro link-tp-id? te-types:te-tp-id
| | | | | +--ro label-hop | | | | | +--ro hop-type? te-hop-type
| | | | | +--ro value? rt-types:generalized- | | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label label
| | | | +--:(sid) | | | | +--:(sid)
| | | | +--ro sid-hop | | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized- | | | | +--ro sid? rt-types:generalized-label
| | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels
| | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro path-constraints
| | | +--ro path-metric-bound* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro upper-bound? uint64
| | | +--ro topology-id? te-types:te-topology-id
| | | +--ro ignore-overload? boolean
| | | +--ro bandwidth-generic
| | | | +--ro te-bandwidth
| | | | +--ro (technology)?
| | | | +--:(psc)
| | | | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | | | +--:(otn)
| | | | | +--ro otn* [rate-type]
| | | | | +--ro rate-type identityref
| | | | | +--ro counter? uint16
| | | | +--:(lsc)
| | | | | +--ro wdm* [spectrum slot]
| | | | | +--ro spectrum identityref
| | | | | +--ro slot int16
| | | | | +--ro width? uint16
| | | | +--:(generic)
| | | | +--ro generic? te-bandwidth
| | | +--ro disjointness? te-types:te-path-
disjointness
| | | +--ro setup-priority? uint8
| | | +--ro hold-priority? uint8
| | | +--ro signaling-type? identityref
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro optimizations
| | | +--ro (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--ro optimization-metric* [metric-type]
| | | | | +--ro metric-type identityref
| | | | | +--ro weight? uint8
| | | | +--ro tiebreakers
| | | | +--ro tiebreaker* [tiebreaker-type]
| | | | +--ro tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--ro objective-function
| | | +--ro objective-function-type? identityref
| | +--ro computed-path-properties
| | | +--ro path-metric* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro accumulative-value? uint64
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | | +--ro usage? identityref
| | | | +--ro values* srlg
| | | +--ro path-computed-route-objects
| | | +--ro path-computed-route-object* [index]
| | | +--ro index uint32
| | | +--ro (type)?
| | | +--:(numbered)
| | | | +--ro numbered-hop
| | | | +--ro address? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--ro as-number-hop
| | | | +--ro as-number? binary
| | | | +--ro hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--ro unnumbered-hop
| | | | +--ro node-id? te-types:te-node-id
| | | | +--ro link-tp-id? te-types:te-tp-id
| | | | +--ro hop-type? te-hop-type
| | | +--:(label)
| | | | +--ro label-hop
| | | | +--ro value? rt-types:generalized-
label label
| | | +--ro protection-type? identityref | | | +--:(sid)
| | | +--ro tunnel-termination-points | | | +--ro sid-hop
| | | | +--ro source? binary | | | +--ro sid? rt-types:generalized-label
| | | | +--ro destination? binary | | +--ro connectivity-matrix* [id]
| | | +--ro tunnels | | +--ro id uint32
| | | +--ro sharing? boolean | | +--ro from
| | | +--ro tunnel* [tunnel-name] | | | +--ro tp-ref? leafref
| | | +--ro tunnel-name string | | | +--ro label-restriction* [inclusive-exclusive
| | | +--ro sharing? boolean
| | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8
| | | +--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 te-nsrlgs {nsrlg}?
| | | +--ro id* uint32
| | +--ro connectivity-matrix* [id]
| | +--ro id uint32
| | +--ro from
| | | +--ro tp-ref? leafref
| | | +--ro label-restriction* [inclusive-exclusive
label-start] label-start]
| | | +--ro inclusive-exclusive enumeration | | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt- | | | +--ro label-start rt-
types:generalized-label types:generalized-label
| | | +--ro label-end? rt- | | | +--ro label-end? rt-
types:generalized-label types:generalized-label
| | | +--ro range-bitmap? binary | | | +--ro range-bitmap? binary
| | +--ro to | | +--ro to
| | | +--ro tp-ref? leafref | | | +--ro tp-ref? leafref
| | | +--ro label-restriction* [inclusive-exclusive | | | +--ro label-restriction* [inclusive-exclusive
label-start] label-start]
| | | +--ro inclusive-exclusive enumeration | | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt- | | | +--ro label-start rt-
types:generalized-label
| | | +--ro label-end? rt-
types:generalized-label
| | | +--ro range-bitmap? binary
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(ip-address)
| | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--ro unnumbered-hop
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-
types:generalized-label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(ip-address)
| | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--ro unnumbered-hop
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-
types:generalized-label types:generalized-label
| | | | +--:(sid) | | | +--ro label-end? rt-
| | | | +--ro sid-hop
| | | | +--ro sid? rt-
types:generalized-label types:generalized-label
| | | +--ro protection-type? identityref | | | +--ro range-bitmap? binary
| | | +--ro tunnel-termination-points | | +--ro is-allowed? boolean
| | | | +--ro source? binary | | +--ro underlay {te-topology-hierarchy}?
| | | | +--ro destination? binary | | | +--ro enabled? boolean
| | | +--ro tunnels | | | +--ro primary-path
| | | +--ro sharing? boolean | | | | +--ro network-ref? leafref
| | | +--ro tunnel* [tunnel-name] | | | | +--ro path-element* [path-element-id]
| | | +--ro tunnel-name string | | | | +--ro path-element-id uint32
| | | +--ro sharing? boolean | | | | +--ro index? uint32
| | +--ro max-lsp-bandwidth* [priority] | | | | +--ro (type)?
| | | +--ro priority uint8 | | | | +--:(numbered)
| | | +--ro bandwidth? te-bandwidth | | | | | +--ro numbered-hop
| | +--ro max-link-bandwidth? te-bandwidth | | | | | +--ro address? te-types:te-tp-id
| | +--ro max-resv-link-bandwidth? te-bandwidth | | | | | +--ro hop-type? te-hop-type
| | +--ro unreserved-bandwidth* [priority] | | | | +--:(as-number)
| | | +--ro priority uint8 | | | | | +--ro as-number-hop
| | | +--ro bandwidth? te-bandwidth | | | | | +--ro as-number? binary
| | +--ro te-default-metric? uint32 | | | | | +--ro hop-type? te-hop-type
| | +--ro te-delay-metric? uint32 | | | | +--:(unnumbered)
| | +--ro te-srlgs | | | | | +--ro unnumbered-hop
| | | +--ro value* te-types:srlg | | | | | +--ro node-id? te-types:te-
| | +--ro te-nsrlgs {nsrlg}? node-id
| | +--ro id* uint32 | | | | | +--ro link-tp-id? te-types:te-tp-
| +--ro domain-id? uint32 id
| +--ro is-abstract? empty | | | | | +--ro hop-type? te-hop-type
| +--ro name? inet:domain-name | | | | +--:(label)
| +--ro signaling-address* inet:ip-address | | | | | +--ro label-hop
| +--ro underlay-topology {te-topology-hierarchy}? | | | | | +--ro value? rt-types:generalized-
| +--ro network-ref? leafref label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(numbered)
| | | | | +--ro numbered-hop
| | | | | +--ro address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop
| | | | | +--ro node-id? te-types:te-
node-id
| | | | | +--ro link-tp-id? te-types:te-tp-
id
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels
| | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro path-constraints
| | | +--ro path-metric-bound* [metric-type]
| | | | +--ro metric-type identityref
| | | | +--ro upper-bound? uint64
| | | +--ro topology-id? te-types:te-topology-id
| | | +--ro ignore-overload? boolean
| | | +--ro bandwidth-generic
| | | | +--ro te-bandwidth
| | | | +--ro (technology)?
| | | | +--:(psc)
| | | | | +--ro psc? rt-types:bandwidth-
ieee-float32
| | | | +--:(otn)
| | | | | +--ro otn* [rate-type]
| | | | | +--ro rate-type identityref
| | | | | +--ro counter? uint16
| | | | +--:(lsc)
| | | | | +--ro wdm* [spectrum slot]
| | | | | +--ro spectrum identityref
| | | | | +--ro slot int16
| | | | | +--ro width? uint16
| | | | +--:(generic)
| | | | +--ro generic? te-bandwidth
| | | +--ro disjointness? te-types:te-path-
disjointness
| | | +--ro setup-priority? uint8
| | | +--ro hold-priority? uint8
| | | +--ro signaling-type? identityref
| | | +--ro path-affinities
| | | | +--ro constraint* [usage]
| | | | +--ro usage identityref
| | | | +--ro value? admin-groups
| | | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro optimizations
| | | +--ro (algorithm)?
| | | +--:(metric) {path-optimization-metric}?
| | | | +--ro optimization-metric* [metric-type]
| | | | | +--ro metric-type identityref
| | | | | +--ro weight? uint8
| | | | +--ro tiebreakers
| | | | +--ro tiebreaker* [tiebreaker-type]
| | | | +--ro tiebreaker-type identityref
| | | +--:(objective-function) {path-optimization-
objective-function}?
| | | +--ro objective-function
| | | +--ro objective-function-type?
identityref
| | +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-
node-id
| | | +--ro link-tp-id? te-types:te-tp-
id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-
label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-
label
| +--ro domain-id? uint32
| +--ro is-abstract? empty
| +--ro name? inet:domain-name
| +--ro signaling-address* inet:ip-address
| +--ro underlay-topology {te-topology-hierarchy}?
| +--ro network-ref? leafref
+--ro statistics +--ro statistics
| +--ro discontinuity-time yang:date-and-time | +--ro discontinuity-time yang:date-and-time
| +--ro node | +--ro node
| | +--ro disables? yang:counter32 | | +--ro disables? yang:counter32
| | +--ro enables? yang:counter32 | | +--ro enables? yang:counter32
| | +--ro maintenance-sets? yang:counter32 | | +--ro maintenance-sets? yang:counter32
| | +--ro maintenance-clears? yang:counter32 | | +--ro maintenance-clears? yang:counter32
| | +--ro modifies? yang:counter32 | | +--ro modifies? yang:counter32
| +--ro connectivity-matrix-entry | +--ro connectivity-matrix-entry
| +--ro creates? yang:counter32 | +--ro creates? yang:counter32
| +--ro deletes? yang:counter32 | +--ro deletes? yang:counter32
| +--ro disables? yang:counter32 | +--ro disables? yang:counter32
| +--ro enables? yang:counter32 | +--ro enables? yang:counter32
| +--ro modifies? 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 admin-status? te-types:te-
| +--rw admin-status? te-types:te-admin- admin-status
status +--rw name? string
| +--rw name? string +--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 client-layer-adaptation
| +--rw client-layer-adaptation | +--rw switching-capability* [switching-capability
| | +--rw switching-capability* [switching-capability
encoding] encoding]
| | +--rw switching-capability identityref | +--rw switching-capability identityref
| | +--rw encoding identityref | +--rw encoding identityref
| | +--rw bandwidth? te-bandwidth | +--rw bandwidth
| +--rw local-link-connectivities | +--rw te-bandwidth
| +--rw number-of-entries? uint16 | +--rw (technology)?
| +--:(psc)
| | +--rw psc? rt-types:bandwidth-ieee-
float32
| +--:(otn)
| | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw local-link-connectivities
| +--rw number-of-entries? uint16
| +--rw label-restriction* [inclusive-exclusive label-
start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-
label
| | +--rw label-end? rt-types:generalized-
label
| | +--rw range-bitmap? binary
| +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(numbered)
| | | | +--rw numbered-hop
| | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered)
| | | | +--rw unnumbered-hop
| | | | +--rw node-id? te-types:te-node-id
| | | | +--rw link-tp-id? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw path-constraints
| | +--rw path-metric-bound* [metric-type]
| | | +--rw metric-type identityref
| | | +--rw upper-bound? uint64
| | +--rw topology-id? te-types:te-topology-id
| | +--rw ignore-overload? boolean
| | +--rw bandwidth-generic
| | | +--rw te-bandwidth
| | | +--rw (technology)?
| | | +--:(psc)
| | | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | | +--:(otn)
| | | | +--rw otn* [rate-type]
| | | | +--rw rate-type identityref
| | | | +--rw counter? uint16
| | | +--:(lsc)
| | | | +--rw wdm* [spectrum slot]
| | | | +--rw spectrum identityref
| | | | +--rw slot int16
| | | | +--rw width? uint16
| | | +--:(generic)
| | | +--rw generic? te-bandwidth
| | +--rw disjointness? te-types:te-path-
disjointness
| | +--rw setup-priority? uint8
| | +--rw hold-priority? uint8
| | +--rw signaling-type? identityref
| | +--rw path-affinities
| | | +--rw constraint* [usage]
| | | +--rw usage identityref
| | | +--rw value? admin-groups
| | +--rw path-srlgs
| | +--rw usage? identityref
| | +--rw values* srlg
| +--rw optimizations
| | +--rw (algorithm)?
| | +--:(metric) {path-optimization-metric}?
| | | +--rw optimization-metric* [metric-type]
| | | | +--rw metric-type identityref
| | | | +--rw weight? uint8
| | | +--rw tiebreakers
| | | +--rw tiebreaker* [tiebreaker-type]
| | | +--rw tiebreaker-type identityref
| | +--:(objective-function) {path-optimization-
objective-function}?
| | +--rw objective-function
| | +--rw objective-function-type? identityref
| +--ro computed-path-properties
| | +--ro path-metric* [metric-type]
| | | +--ro metric-type identityref
| | | +--ro accumulative-value? uint64
| | +--ro path-affinities
| | | +--ro constraint* [usage]
| | | +--ro usage identityref
| | | +--ro value? admin-groups
| | +--ro path-srlgs
| | | +--ro usage? identityref
| | | +--ro values* srlg
| | +--ro path-computed-route-objects
| | +--ro path-computed-route-object* [index]
| | +--ro index uint32
| | +--ro (type)?
| | +--:(numbered)
| | | +--ro numbered-hop
| | | +--ro address? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(as-number)
| | | +--ro as-number-hop
| | | +--ro as-number? binary
| | | +--ro hop-type? te-hop-type
| | +--:(unnumbered)
| | | +--ro unnumbered-hop
| | | +--ro node-id? te-types:te-node-id
| | | +--ro link-tp-id? te-types:te-tp-id
| | | +--ro hop-type? te-hop-type
| | +--:(label)
| | | +--ro label-hop
| | | +--ro value? rt-types:generalized-
label
| | +--:(sid)
| | +--ro sid-hop
| | +--ro sid? rt-types:generalized-label
| +--rw local-link-connectivity* [link-tp-ref]
| +--rw link-tp-ref leafref
| +--rw label-restriction* [inclusive-exclusive label- | +--rw label-restriction* [inclusive-exclusive label-
start] start]
| | +--rw inclusive-exclusive enumeration | | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized- | | +--rw label-start rt-types:generalized-
label label
| | +--rw label-end? rt-types:generalized- | | +--rw label-end? rt-types:generalized-
label label
| | +--rw range-bitmap? binary | | +--rw range-bitmap? binary
| +--rw is-allowed? boolean | +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}? | +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean | | +--rw enabled? boolean
| | +--rw primary-path | | +--rw primary-path
| | | +--rw network-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 index? uint32 | | | +--rw index? uint32
| | | +--rw (type)? | | | +--rw (type)?
| | | +--:(ip-address) | | | +--:(numbered)
| | | | +--rw ip-address-hop | | | | +--rw numbered-hop
| | | | +--rw address? inet:ip-address | | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | +--:(as-number) | | | +--:(as-number)
| | | | +--rw as-number-hop | | | | +--rw as-number-hop
| | | | +--rw as-number? binary | | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered-link) | | | +--:(unnumbered)
| | | | +--rw unnumbered-hop | | | | +--rw unnumbered-hop
| | | | +--rw router-id? inet:ip- | | | | +--rw node-id? te-types:te-
address node-id
| | | | +--rw interface-id? uint32 | | | | +--rw link-tp-id? te-types:te-tp-
| | | | +--rw hop-type? te-hop-type id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label) | | | +--:(label)
| | | | +--rw label-hop | | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized- | | | | +--rw value? rt-types:generalized-
label label
| | | +--:(sid) | | | +--:(sid)
| | | +--rw sid-hop | | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized- | | | +--rw sid? rt-types:generalized-
label label
| | +--rw backup-path* [index] | | +--rw backup-path* [index]
| | | +--rw index uint32 | | | +--rw index uint32
| | | +--rw network-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 index? uint32 | | | +--rw index? uint32
| | | +--rw (type)? | | | +--rw (type)?
| | | +--:(ip-address) | | | +--:(numbered)
| | | | +--rw ip-address-hop | | | | +--rw numbered-hop
| | | | +--rw address? inet:ip-address | | | | +--rw address? te-types:te-tp-id
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | +--:(as-number) | | | +--:(as-number)
| | | | +--rw as-number-hop | | | | +--rw as-number-hop
| | | | +--rw as-number? binary | | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered-link) | | | +--:(unnumbered)
| | | | +--rw unnumbered-hop | | | | +--rw unnumbered-hop
| | | | +--rw router-id? inet:ip- | | | | +--rw node-id? te-types:te-
address node-id
| | | | +--rw interface-id? uint32 | | | | +--rw link-tp-id? te-types:te-tp-
| | | | +--rw hop-type? te-hop-type id
| | | | +--rw hop-type? te-hop-type
| | | +--:(label) | | | +--:(label)
| | | | +--rw label-hop | | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized- | | | | +--rw value? rt-types:generalized-
label label
| | | +--:(sid) | | | +--:(sid)
| | | +--rw sid-hop | | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized- | | | +--rw sid? rt-types:generalized-
label label
| | +--rw protection-type? identityref | | +--rw protection-type? identityref
| | +--rw tunnel-termination-points | | +--rw tunnel-termination-points
| | | +--rw source? binary | | | +--rw source? binary
| | | +--rw destination? binary | | | +--rw destination? binary
| | +--rw tunnels | | +--rw tunnels
| | +--rw sharing? boolean | | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name] | | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string | | +--rw tunnel-name string
| | +--rw sharing? boolean | | +--rw sharing? boolean
| +--rw max-lsp-bandwidth* [priority] | +--rw path-constraints
| | +--rw priority uint8 | | +--rw path-metric-bound* [metric-type]
| | +--rw bandwidth? te-bandwidth | | | +--rw metric-type identityref
| +--rw max-link-bandwidth? te-bandwidth | | | +--rw upper-bound? uint64
| +--rw max-resv-link-bandwidth? te-bandwidth | | +--rw topology-id? te-types:te-topology-id
| +--rw unreserved-bandwidth* [priority] | | +--rw ignore-overload? boolean
| | +--rw priority uint8 | | +--rw bandwidth-generic
| | +--rw bandwidth? te-bandwidth | | | +--rw te-bandwidth
| +--rw te-default-metric? uint32 | | | +--rw (technology)?
| +--rw te-delay-metric? uint32 | | | +--:(psc)
| +--rw te-srlgs | | | | +--rw psc? rt-types:bandwidth-
| | +--rw value* te-types:srlg ieee-float32
| +--rw te-nsrlgs {nsrlg}? | | | +--:(otn)
| | +--rw id* uint32 | | | | +--rw otn* [rate-type]
| +--rw local-link-connectivity* [link-tp-ref] | | | | +--rw rate-type identityref
| +--rw link-tp-ref leafref | | | | +--rw counter? uint16
| +--rw label-restriction* [inclusive-exclusive | | | +--:(lsc)
label-start] | | | | +--rw wdm* [spectrum slot]
| | +--rw inclusive-exclusive enumeration | | | | +--rw spectrum identityref
| | +--rw label-start rt- | | | | +--rw slot int16
types:generalized-label | | | | +--rw width? uint16
| | +--rw label-end? rt- | | | +--:(generic)
types:generalized-label | | | +--rw generic? te-bandwidth
| | +--rw range-bitmap? binary | | +--rw disjointness? te-types:te-path-
| +--rw is-allowed? boolean disjointness
| +--rw underlay {te-topology-hierarchy}? | | +--rw setup-priority? uint8
| | +--rw enabled? boolean | | +--rw hold-priority? uint8
| | +--rw primary-path | | +--rw signaling-type? identityref
| | | +--rw network-ref? leafref | | +--rw path-affinities
| | | +--rw path-element* [path-element-id] | | | +--rw constraint* [usage]
| | | +--rw path-element-id uint32 | | | +--rw usage identityref
| | | +--rw index? uint32 | | | +--rw value? admin-groups
| | | +--rw (type)? | | +--rw path-srlgs
| | | +--:(ip-address) | | +--rw usage? identityref
| | | | +--rw ip-address-hop | | +--rw values* srlg
| | | | +--rw address? inet:ip-address | +--rw optimizations
| | | | +--rw hop-type? te-hop-type | | +--rw (algorithm)?
| | | +--:(as-number) | | +--:(metric) {path-optimization-metric}?
| | | | +--rw as-number-hop | | | +--rw optimization-metric* [metric-type]
| | | | +--rw as-number? binary | | | | +--rw metric-type identityref
| | | | +--rw hop-type? te-hop-type | | | | +--rw weight? uint8
| | | +--:(unnumbered-link) | | | +--rw tiebreakers
| | | | +--rw unnumbered-hop | | | +--rw tiebreaker* [tiebreaker-type]
| | | | +--rw router-id? inet:ip- | | | +--rw tiebreaker-type identityref
address | | +--:(objective-function) {path-optimization-
| | | | +--rw interface-id? uint32 objective-function}?
| | | | +--rw hop-type? te-hop-type | | +--rw objective-function
| | | +--:(label) | | +--rw objective-function-type?
| | | | +--rw label-hop identityref
| | | | +--rw value? rt- | +--ro computed-path-properties
types:generalized-label | +--ro path-metric* [metric-type]
| | | +--:(sid) | | +--ro metric-type identityref
| | | +--rw sid-hop | | +--ro accumulative-value? uint64
| | | +--rw sid? rt- | +--ro path-affinities
types:generalized-label | | +--ro constraint* [usage]
| | +--rw backup-path* [index] | | +--ro usage identityref
| | | +--rw index uint32 | | +--ro value? admin-groups
| | | +--rw network-ref? leafref | +--ro path-srlgs
| | | +--rw path-element* [path-element-id] | | +--ro usage? identityref
| | | +--rw path-element-id uint32 | | +--ro values* srlg
| | | +--rw index? uint32 | +--ro path-computed-route-objects
| | | +--rw (type)? | +--ro path-computed-route-object* [index]
| | | +--:(ip-address) | +--ro index uint32
| | | | +--rw ip-address-hop | +--ro (type)?
| | | | +--rw address? inet:ip-address | +--:(numbered)
| | | | +--rw hop-type? te-hop-type | | +--ro numbered-hop
| | | +--:(as-number) | | +--ro address? te-types:te-tp-id
| | | | +--rw as-number-hop | | +--ro hop-type? te-hop-type
| | | | +--rw as-number? binary | +--:(as-number)
| | | | +--rw hop-type? te-hop-type | | +--ro as-number-hop
| | | +--:(unnumbered-link) | | +--ro as-number? binary
| | | | +--rw unnumbered-hop | | +--ro hop-type? te-hop-type
| | | | +--rw router-id? inet:ip- | +--:(unnumbered)
address | | +--ro unnumbered-hop
| | | | +--rw interface-id? uint32 | | +--ro node-id? te-types:te-
| | | | +--rw hop-type? te-hop-type node-id
| | | +--:(label) | | +--ro link-tp-id? te-types:te-tp-
| | | | +--rw label-hop id
| | | | +--rw value? rt- | | +--ro hop-type? te-hop-type
types:generalized-label | +--:(label)
| | | +--:(sid) | | +--ro label-hop
| | | +--rw sid-hop | | +--ro value? rt-types:generalized-
| | | +--rw sid? rt-
types:generalized-label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8
| | +--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
| +--rw te-nsrlgs {nsrlg}?
| +--rw id* uint32
+--ro state
| +--ro admin-status? te-types:te-admin-
status
| +--ro name? string
| +--ro switching-capability? identityref
| +--ro encoding? identityref
| +--ro inter-layer-lock-id* uint32
| +--ro protection-type? identityref
| +--ro client-layer-adaptation
| | +--ro switching-capability* [switching-capability
encoding]
| | +--ro switching-capability identityref
| | +--ro encoding identityref
| | +--ro bandwidth? te-bandwidth
| +--ro local-link-connectivities
| | +--ro number-of-entries? uint16
| | +--ro label-restriction* [inclusive-exclusive label-
start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-types:generalized-
label
| | | +--ro label-end? rt-types:generalized-
label
| | | +--ro range-bitmap? binary
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(ip-address)
| | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--ro unnumbered-hop
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-
label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(ip-address)
| | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--ro unnumbered-hop
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized-
label label
| | | | +--:(sid) | +--:(sid)
| | | | +--ro sid-hop | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized- | +--ro sid? rt-types:generalized-
label label
| | | +--ro protection-type? identityref +--ro oper-status? te-types:te-
| | | +--ro tunnel-termination-points oper-status
| | | | +--ro source? binary +--ro geolocation
| | | | +--ro destination? binary | +--ro altitude? int64
| | | +--ro tunnels | +--ro latitude? geographic-coordinate-degree
| | | +--ro sharing? boolean | +--ro longitude? geographic-coordinate-degree
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8
| | | +--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 te-nsrlgs {nsrlg}?
| | | +--ro id* uint32
| | +--ro local-link-connectivity* [link-tp-ref]
| | +--ro link-tp-ref leafref
| | +--ro label-restriction* [inclusive-exclusive
label-start]
| | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-
types:generalized-label
| | | +--ro label-end? rt-
types:generalized-label
| | | +--ro range-bitmap? binary
| | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(ip-address)
| | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--ro unnumbered-hop
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-
types:generalized-label
| | | +--ro backup-path* [index]
| | | | +--ro index uint32
| | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32
| | | | +--ro index? uint32
| | | | +--ro (type)?
| | | | +--:(ip-address)
| | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(as-number)
| | | | | +--ro as-number-hop
| | | | | +--ro as-number? binary
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(unnumbered-link)
| | | | | +--ro unnumbered-hop
| | | | | +--ro router-id? inet:ip-
address
| | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type
| | | | +--:(label)
| | | | | +--ro label-hop
| | | | | +--ro value? rt-
types:generalized-label
| | | | +--:(sid)
| | | | +--ro sid-hop
| | | | +--ro sid? rt-
types:generalized-label
| | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels
| | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string
| | | +--ro sharing? boolean
| | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8
| | | +--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 te-nsrlgs {nsrlg}?
| | +--ro id* uint32
| +--ro oper-status? te-types:te-oper-
status
| +--ro geolocation
| +--ro altitude? int64
| +--ro latitude? geographic-coordinate-degree
| +--ro longitude? geographic-coordinate-degree
+--ro statistics +--ro statistics
| +--ro discontinuity-time yang:date-and-time | +--ro discontinuity-time yang:date-and-time
| +--ro tunnel-termination-point | +--ro tunnel-termination-point
| | +--ro disables? yang:counter32 | | +--ro disables? yang:counter32
| | +--ro enables? yang:counter32 | | +--ro enables? yang:counter32
| | +--ro maintenance-clears? yang:counter32 | | +--ro maintenance-clears? yang:counter32
| | +--ro maintenance-sets? yang:counter32 | | +--ro maintenance-sets? yang:counter32
| | +--ro modifies? yang:counter32 | | +--ro modifies? yang:counter32
| | +--ro downs? yang:counter32 | | +--ro downs? yang:counter32
| | +--ro ups? yang:counter32 | | +--ro ups? yang:counter32
skipping to change at page 59, line 19 skipping to change at page 61, line 21
| +--ro deletes? yang:counter32 | +--ro deletes? yang:counter32
| +--ro disables? yang:counter32 | +--ro disables? yang:counter32
| +--ro enables? yang:counter32 | +--ro enables? yang:counter32
| +--ro modifies? yang:counter32 | +--ro modifies? yang:counter32
+--rw supporting-tunnel-termination-point* [node-ref tunnel- +--rw supporting-tunnel-termination-point* [node-ref tunnel-
tp-ref] tp-ref]
+--rw node-ref inet:uri +--rw node-ref inet:uri
+--rw tunnel-tp-ref binary +--rw tunnel-tp-ref binary
augment /nw:networks/nw:network/nt:link: augment /nw:networks/nw:network/nt:link:
+--rw te! +--rw te!
+--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 access-type? te-types:te-link-
| +--rw access-type? te-types:te-link-
access-type
| +--rw external-domain
| | +--rw network-ref? leafref
| | +--rw remote-te-node-id? te-types:te-node-id
| | +--rw remote-te-link-tp-id? te-types:te-tp-id
| | +--rw plug-id? uint32
| +--rw is-abstract? empty
| +--rw name? string
| +--rw underlay {te-topology-hierarchy}?
| | +--rw enabled? boolean
| | +--rw primary-path
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(ip-address)
| | | | +--rw ip-address-hop
| | | | +--rw address? inet:ip-address
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered-link)
| | | | +--rw unnumbered-hop
| | | | +--rw router-id? inet:ip-address
| | | | +--rw interface-id? uint32
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw backup-path* [index]
| | | +--rw index uint32
| | | +--rw network-ref? leafref
| | | +--rw path-element* [path-element-id]
| | | +--rw path-element-id uint32
| | | +--rw index? uint32
| | | +--rw (type)?
| | | +--:(ip-address)
| | | | +--rw ip-address-hop
| | | | +--rw address? inet:ip-address
| | | | +--rw hop-type? te-hop-type
| | | +--:(as-number)
| | | | +--rw as-number-hop
| | | | +--rw as-number? binary
| | | | +--rw hop-type? te-hop-type
| | | +--:(unnumbered-link)
| | | | +--rw unnumbered-hop
| | | | +--rw router-id? inet:ip-address
| | | | +--rw interface-id? uint32
| | | | +--rw hop-type? te-hop-type
| | | +--:(label)
| | | | +--rw label-hop
| | | | +--rw value? rt-types:generalized-
label
| | | +--:(sid)
| | | +--rw sid-hop
| | | +--rw sid? rt-types:generalized-label
| | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? binary
| | | +--rw destination? binary
| | +--rw tunnels
| | +--rw sharing? boolean
| | +--rw tunnel* [tunnel-name]
| | +--rw tunnel-name string
| | +--rw sharing? boolean
| +--rw admin-status? te-types:te-
admin-status
| +--rw link-index? uint64
| +--rw administrative-group? te-types:admin-
groups
| +--rw interface-switching-capability* [switching-
capability encoding]
| | +--rw switching-capability identityref
| | +--rw encoding identityref
| | +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth? te-bandwidth
| +--rw link-protection-type? enumeration
| +--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
| +--rw te-nsrlgs {nsrlg}?
| +--rw id* uint32
+--ro state
| +--ro (bundle-stack-level)?
| | +--:(bundle)
| | | +--ro bundled-links
| | | +--ro bundled-link* [sequence]
| | | +--ro sequence uint32
| | | +--ro src-tp-ref? leafref
| | | +--ro des-tp-ref? leafref
| | +--:(component)
| | +--ro component-links
| | +--ro component-link* [sequence]
| | +--ro sequence uint32
| | +--ro src-interface-ref? string
| | +--ro des-interface-ref? string
| +--ro te-link-template* leafref {template}?
| +--ro te-link-attributes
| | +--ro access-type? te-types:te-link-
access-type access-type
| | +--ro external-domain | +--rw external-domain
| | | +--ro network-ref? leafref | | +--rw network-ref? leafref
| | | +--ro remote-te-node-id? te-types:te-node-id | | +--rw remote-te-node-id? te-types:te-node-id
| | | +--ro remote-te-link-tp-id? te-types:te-tp-id | | +--rw remote-te-link-tp-id? te-types:te-tp-id
| | | +--ro plug-id? uint32 | | +--rw plug-id? uint32
| | +--ro is-abstract? empty | +--rw is-abstract? empty
| | +--ro name? string | +--rw name? string
| | +--ro underlay {te-topology-hierarchy}? | +--rw underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean | | +--rw enabled? boolean
| | | +--ro primary-path | | +--rw primary-path
| | | | +--ro network-ref? leafref | | | +--rw network-ref? leafref
| | | | +--ro path-element* [path-element-id] | | | +--rw path-element* [path-element-id]
| | | | +--ro path-element-id uint32 | | | +--rw path-element-id uint32
| | | | +--ro index? uint32 | | | +--rw index? uint32
| | | | +--ro (type)? | | | +--rw (type)?
| | | | +--:(ip-address) | | | +--:(numbered)
| | | | | +--ro ip-address-hop | | | | +--rw numbered-hop
| | | | | +--ro address? inet:ip-address | | | | +--rw address? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | | +--:(as-number) | | | +--:(as-number)
| | | | | +--ro as-number-hop | | | | +--rw as-number-hop
| | | | | +--ro as-number? binary | | | | +--rw as-number? binary
| | | | | +--ro hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | | +--:(unnumbered-link) | | | +--:(unnumbered)
| | | | | +--ro unnumbered-hop | | | | +--rw unnumbered-hop
| | | | | +--ro router-id? inet:ip-address | | | | +--rw node-id? te-types:te-node-id
| | | | | +--ro interface-id? uint32 | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--ro hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | | +--:(label) | | | +--:(label)
| | | | | +--ro label-hop | | | | +--rw label-hop
| | | | | +--ro value? rt-types:generalized- | | | | +--rw value? rt-types:generalized-label
label | | | +--:(sid)
| | | | +--:(sid) | | | +--rw sid-hop
| | | | +--ro sid-hop | | | +--rw sid? rt-types:generalized-label
| | | | +--ro sid? rt-types:generalized-label | | +--rw backup-path* [index]
| | | +--ro backup-path* [index] | | | +--rw index uint32
| | | | +--ro index uint32 | | | +--rw network-ref? leafref
| | | | +--ro network-ref? leafref | | | +--rw path-element* [path-element-id]
| | | | +--ro path-element* [path-element-id] | | | +--rw path-element-id uint32
| | | | +--ro path-element-id uint32 | | | +--rw index? uint32
| | | | +--ro index? uint32 | | | +--rw (type)?
| | | | +--ro (type)? | | | +--:(numbered)
| | | | +--:(ip-address) | | | | +--rw numbered-hop
| | | | | +--ro ip-address-hop | | | | +--rw address? te-types:te-tp-id
| | | | | +--ro address? inet:ip-address | | | | +--rw hop-type? te-hop-type
| | | | | +--ro hop-type? te-hop-type | | | +--:(as-number)
| | | | +--:(as-number) | | | | +--rw as-number-hop
| | | | | +--ro as-number-hop | | | | +--rw as-number? binary
| | | | | +--ro as-number? binary | | | | +--rw hop-type? te-hop-type
| | | | | +--ro hop-type? te-hop-type | | | +--:(unnumbered)
| | | | +--:(unnumbered-link) | | | | +--rw unnumbered-hop
| | | | | +--ro unnumbered-hop | | | | +--rw node-id? te-types:te-node-id
| | | | | +--ro router-id? inet:ip-address | | | | +--rw link-tp-id? te-types:te-tp-id
| | | | | +--ro interface-id? uint32 | | | | +--rw hop-type? te-hop-type
| | | | | +--ro hop-type? te-hop-type | | | +--:(label)
| | | | +--:(label) | | | | +--rw label-hop
| | | | | +--ro label-hop | | | | +--rw value? rt-types:generalized-label
| | | | | +--ro value? rt-types:generalized- | | | +--:(sid)
label | | | +--rw sid-hop
| | | | +--:(sid) | | | +--rw sid? rt-types:generalized-label
| | | | +--ro sid-hop | | +--rw protection-type? identityref
| | | | +--ro sid? rt-types:generalized-label | | +--rw tunnel-termination-points
| | | +--ro protection-type? identityref | | | +--rw source? binary
| | | +--ro tunnel-termination-points | | | +--rw destination? binary
| | | | +--ro source? binary | | +--rw tunnels
| | | | +--ro destination? binary | | +--rw sharing? boolean
| | | +--ro tunnels | | +--rw tunnel* [tunnel-name]
| | | +--ro sharing? boolean | | +--rw tunnel-name string
| | | +--ro tunnel* [tunnel-name] | | +--rw sharing? boolean
| | | +--ro tunnel-name string | +--rw admin-status? te-types:te-admin-
| | | +--ro sharing? boolean status
| | +--ro admin-status? te-types:te- | +--rw link-index? uint64
admin-status | +--rw administrative-group? te-types:admin-
| | +--ro link-index? uint64
| | +--ro administrative-group? te-types:admin-
groups groups
| | +--ro interface-switching-capability* [switching- | +--rw interface-switching-capability* [switching-capability
capability encoding] encoding]
| | | +--ro switching-capability identityref | | +--rw switching-capability identityref
| | | +--ro encoding identityref | | +--rw encoding identityref
| | | +--ro max-lsp-bandwidth* [priority] | | +--rw max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | +--rw priority uint8
| | | +--ro bandwidth? te-bandwidth | | +--rw bandwidth
| | +--ro link-protection-type? enumeration | | +--rw te-bandwidth
| | +--ro max-link-bandwidth? te-bandwidth | | +--rw (technology)?
| | +--ro max-resv-link-bandwidth? te-bandwidth | | +--:(psc)
| | +--ro unreserved-bandwidth* [priority] | | | +--rw psc? rt-types:bandwidth-ieee-
| | | +--ro priority uint8 float32
| | | +--ro bandwidth? te-bandwidth | | +--:(otn)
| | +--ro te-default-metric? uint32 | | | +--rw otn* [rate-type]
| | +--ro te-delay-metric? uint32 | | | +--rw rate-type identityref
| | +--ro te-srlgs | | | +--rw counter? uint16
| | | +--ro value* te-types:srlg | | +--:(lsc)
| | +--ro te-nsrlgs {nsrlg}? | | | +--rw wdm* [spectrum slot]
| | +--ro id* uint32 | | | +--rw spectrum identityref
| +--ro oper-status? te-types:te-oper-status | | | +--rw slot int16
| +--ro is-transitional? empty | | | +--rw width? uint16
| +--ro information-source? te-info-source | | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw label-restriction* [inclusive-exclusive label-start]
| | +--rw inclusive-exclusive enumeration
| | +--rw label-start rt-types:generalized-label
| | +--rw label-end? rt-types:generalized-label
| | +--rw range-bitmap? binary
| +--rw link-protection-type? enumeration
| +--rw max-link-bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw max-resv-link-bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw unreserved-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth
| | +--rw te-bandwidth
| | +--rw (technology)?
| | +--:(psc)
| | | +--rw psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--rw otn* [rate-type]
| | | +--rw rate-type identityref
| | | +--rw counter? uint16
| | +--:(lsc)
| | | +--rw wdm* [spectrum slot]
| | | +--rw spectrum identityref
| | | +--rw slot int16
| | | +--rw width? uint16
| | +--:(generic)
| | +--rw generic? te-bandwidth
| +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32
| +--rw te-igp-metric? uint32
| +--rw te-srlgs
| | +--rw value* te-types:srlg
| +--rw te-nsrlgs {nsrlg}?
| +--rw id* uint32
+--ro oper-status? te-types:te-oper-status
+--ro is-transitional? empty
+--ro information-source? te-info-source
+--ro information-source-state
| +--ro credibility-preference? uint16
| +--ro logical-network-element? string
| +--ro network-instance? string
| +--ro topology
| +--ro link-ref? leafref
| +--ro network-ref? leafref
+--ro information-source-entry* [information-source]
| +--ro information-source te-info-source
| +--ro information-source-state | +--ro information-source-state
| | +--ro credibility-preference? uint16 | | +--ro credibility-preference? uint16
| | +--ro logical-network-element? string | | +--ro logical-network-element? string
| | +--ro network-instance? string | | +--ro network-instance? string
| | +--ro topology | | +--ro topology
| | +--ro network-ref? leafref
| | +--ro link-ref? leafref | | +--ro link-ref? leafref
| +--ro information-source-entry* [information-source] | | +--ro network-ref? leafref
| | +--ro information-source te-info-source | +--ro link-index? uint64
| | +--ro information-source-state | +--ro administrative-group? te-types:admin-
| | | +--ro credibility-preference? uint16
| | | +--ro logical-network-element? string
| | | +--ro network-instance? string
| | | +--ro topology
| | | +--ro network-ref? leafref
| | | +--ro link-ref? leafref
| | +--ro link-index? uint64
| | +--ro administrative-group? te-types:admin-
groups groups
| | +--ro interface-switching-capability* [switching- | +--ro interface-switching-capability* [switching-capability
capability encoding] encoding]
| | | +--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? te-bandwidth | | +--ro bandwidth
| | +--ro link-protection-type? enumeration | | +--ro te-bandwidth
| | +--ro max-link-bandwidth? te-bandwidth | | +--ro (technology)?
| | +--ro max-resv-link-bandwidth? te-bandwidth | | +--:(psc)
| | +--ro unreserved-bandwidth* [priority] | | | +--ro psc? rt-types:bandwidth-ieee-
| | | +--ro priority uint8 float32
| | | +--ro bandwidth? te-bandwidth | | +--:(otn)
| | +--ro te-default-metric? uint32 | | | +--ro otn* [rate-type]
| | +--ro te-delay-metric? uint32 | | | +--ro rate-type identityref
| | +--ro te-srlgs | | | +--ro counter? uint16
| | | +--ro value* te-types:srlg | | +--:(lsc)
| | +--ro te-nsrlgs {nsrlg}? | | | +--ro wdm* [spectrum slot]
| | +--ro id* uint32 | | | +--ro spectrum identityref
| +--ro recovery | | | +--ro slot int16
| | +--ro restoration-status? te-types:te-recovery-status | | | +--ro width? uint16
| | +--ro protection-status? te-types:te-recovery-status | | +--:(generic)
| +--ro underlay {te-topology-hierarchy}? | | +--ro generic? te-bandwidth
| +--ro dynamic? boolean | +--ro label-restriction* [inclusive-exclusive label-start]
| +--ro committed? boolean | | +--ro inclusive-exclusive enumeration
| | +--ro label-start rt-types:generalized-label
| | +--ro label-end? rt-types:generalized-label
| | +--ro range-bitmap? binary
| +--ro link-protection-type? enumeration
| +--ro max-link-bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro max-resv-link-bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro unreserved-bandwidth* [priority]
| | +--ro priority uint8
| | +--ro bandwidth
| | +--ro te-bandwidth
| | +--ro (technology)?
| | +--:(psc)
| | | +--ro psc? rt-types:bandwidth-ieee-
float32
| | +--:(otn)
| | | +--ro otn* [rate-type]
| | | +--ro rate-type identityref
| | | +--ro counter? uint16
| | +--:(lsc)
| | | +--ro wdm* [spectrum slot]
| | | +--ro spectrum identityref
| | | +--ro slot int16
| | | +--ro width? uint16
| | +--:(generic)
| | +--ro generic? te-bandwidth
| +--ro te-default-metric? uint32
| +--ro te-delay-metric? uint32
| +--ro te-igp-metric? uint32
| +--ro te-srlgs
| | +--ro value* te-types:srlg
| +--ro te-nsrlgs {nsrlg}?
| +--ro id* uint32
+--ro recovery
| +--ro restoration-status? te-types:te-recovery-status
| +--ro protection-status? te-types:te-recovery-status
+--ro underlay {te-topology-hierarchy}?
| +--ro dynamic? boolean
| +--ro committed? boolean
+--ro statistics +--ro statistics
+--ro discontinuity-time yang:date-and-time +--ro discontinuity-time yang:date-and-time
+--ro disables? yang:counter32 +--ro disables? yang:counter32
+--ro enables? yang:counter32 +--ro enables? yang:counter32
+--ro maintenance-clears? yang:counter32 +--ro maintenance-clears? yang:counter32
+--ro maintenance-sets? yang:counter32 +--ro maintenance-sets? yang:counter32
+--ro modifies? yang:counter32 +--ro modifies? yang:counter32
+--ro downs? yang:counter32 +--ro downs? yang:counter32
+--ro ups? yang:counter32 +--ro ups? yang:counter32
+--ro fault-clears? yang:counter32 +--ro fault-clears? yang:counter32
skipping to change at page 65, line 29 skipping to change at page 68, line 4
+--ro fault-clears? yang:counter32 +--ro fault-clears? yang:counter32
+--ro fault-detects? yang:counter32 +--ro fault-detects? yang:counter32
+--ro protection-switches? yang:counter32 +--ro protection-switches? yang:counter32
+--ro protection-reverts? yang:counter32 +--ro protection-reverts? yang:counter32
+--ro restoration-failures? yang:counter32 +--ro restoration-failures? yang:counter32
+--ro restoration-starts? yang:counter32 +--ro restoration-starts? yang:counter32
+--ro restoration-successes? yang:counter32 +--ro restoration-successes? yang:counter32
+--ro restoration-reversion-failures? yang:counter32 +--ro restoration-reversion-failures? yang:counter32
+--ro restoration-reversion-starts? yang:counter32 +--ro restoration-reversion-starts? yang:counter32
+--ro restoration-reversion-successes? yang:counter32 +--ro restoration-reversion-successes? yang:counter32
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-tp-id? te-types:te-tp-id
+--rw te! +--rw te!
+--rw config +--rw admin-status? te-types:te-admin-
| +--rw admin-status? te-types:te-admin-
status
| +--rw name? string
| +--rw interface-switching-capability* [switching-capability
encoding]
| | +--rw switching-capability identityref
| | +--rw encoding identityref
| | +--rw max-lsp-bandwidth* [priority]
| | +--rw priority uint8
| | +--rw bandwidth? te-bandwidth
| +--rw inter-layer-lock-id* uint32
+--ro state
+--ro admin-status? te-types:te-admin-
status status
+--ro name? string +--rw name? string
+--ro interface-switching-capability* [switching-capability +--rw interface-switching-capability* [switching-capability
encoding] encoding]
| +--ro switching-capability identityref | +--rw switching-capability identityref
| +--ro encoding identityref | +--rw encoding identityref
| +--ro max-lsp-bandwidth* [priority] | +--rw max-lsp-bandwidth* [priority]
| +--ro priority uint8 | +--rw priority uint8
| +--ro bandwidth? te-bandwidth | +--rw bandwidth
+--ro inter-layer-lock-id* uint32 | +--rw te-bandwidth
+--ro oper-status? te-types:te-oper- | +--rw (technology)?
status | +--:(psc)
+--ro geolocation | | +--rw psc? rt-types:bandwidth-ieee-
+--ro altitude? int64 float32
+--ro latitude? geographic-coordinate-degree | +--:(otn)
+--ro longitude? geographic-coordinate-degree | | +--rw otn* [rate-type]
| | +--rw rate-type identityref
| | +--rw counter? uint16
| +--:(lsc)
| | +--rw wdm* [spectrum slot]
| | +--rw spectrum identityref
| | +--rw slot int16
| | +--rw width? uint16
| +--:(generic)
| +--rw generic? te-bandwidth
+--rw inter-layer-lock-id* uint32
+--ro oper-status? te-types:te-oper-status
+--ro geolocation
+--ro altitude? int64
+--ro latitude? geographic-coordinate-degree
+--ro longitude? geographic-coordinate-degree
7. TE Topology Yang Module 7. TE Topology Yang Module
<CODE BEGINS> file "ietf-te-topology@2017-06-10.yang" <CODE BEGINS> file "ietf-te-topology@2017-07-02.yang"
module ietf-te-topology { module ietf-te-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology";
prefix "tet"; prefix "tet";
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
} }
import ietf-inet-types { import ietf-inet-types {
prefix "inet"; prefix "inet";
} }
import ietf-te-types { import ietf-te-types {
prefix "te-types"; prefix "te-types";
skipping to change at page 67, line 41 skipping to change at page 70, line 22
<mailto:tsaad@cisco.com> <mailto:tsaad@cisco.com>
Editor: Himanshu Shah Editor: Himanshu Shah
<mailto:hshah@ciena.com> <mailto:hshah@ciena.com>
Editor: Oscar Gonzalez De Dios Editor: Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>"; <mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology model"; description "TE topology model";
revision "2017-06-10" { revision "2017-07-02" {
description "Initial revision"; description "Initial revision";
reference "TBD"; reference "TBD";
} }
/* /*
* Features * Features
*/ */
feature nsrlg { feature nsrlg {
description description
"This feature indicates that the system supports NSRLG "This feature indicates that the system supports NSRLG
(Not Sharing Risk Link Group)."; (Not Sharing Risk Link Group).";
} }
feature te-topology-hierarchy { feature te-topology-hierarchy {
skipping to change at page 68, line 37 skipping to change at page 71, line 19
*/ */
typedef geographic-coordinate-degree { typedef geographic-coordinate-degree {
type decimal64 { type decimal64 {
fraction-digits 8; fraction-digits 8;
} }
description description
"Decimal degree (DD) used to express latitude and longitude "Decimal degree (DD) used to express latitude and longitude
geographic coordinates."; geographic coordinates.";
} // geographic-coordinate-degree } // 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 { typedef te-info-source {
type enumeration { type enumeration {
enum "unknown" { enum "unknown" {
description "The source is unknown."; description "The source is unknown.";
} }
enum "locally-configured" { enum "locally-configured" {
description "Configured entity."; description "Configured entity.";
} }
enum "ospfv2" { enum "ospfv2" {
description "OSPFv2."; description "OSPFv2.";
skipping to change at page 70, line 15 skipping to change at page 72, line 12
} }
enum "other" { enum "other" {
description "Other source."; description "Other source.";
} }
} }
description description
"Describining the type of source that has provided the "Describining the type of source that has provided the
related information, and the source credibility."; related information, and the source credibility.";
} // te-info-source } // te-info-source
typedef te-path-disjointness {
type bits {
bit node {
position 0;
description "Node disjoint.";
}
bit link {
position 1;
description "Link disjoint.";
}
bit srlg {
position 2;
description "SRLG (Shared Risk Link Group) disjoint.";
}
}
description
"Type of the resource disjointness for a TE tunnel path.";
reference
"RFC4872: RSVP-TE Extensions in Support of End-to-End
Generalized Multi-Protocol Label Switching (GMPLS)
Recovery";
} // te-path-disjointness
/* /*
* 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";
description description
skipping to change at page 72, line 4 skipping to change at page 73, line 21
specified."; specified.";
} }
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-restriction-list } // connectivity-label-restriction-list
grouping connectivity-matrix-entry-attributes { grouping connectivity-matrix-entry-path-attributes {
description description
"Attributes of connectivity matrix entry."; "Attributes of connectivity matrix entry.";
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.";
} }
container underlay { container underlay {
if-feature te-topology-hierarchy; if-feature te-topology-hierarchy;
description "Attributes of the te-link underlay."; description "Attributes of the 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)";
uses te-link-underlay-attributes; uses te-link-underlay-attributes;
} // underlay } // underlay
uses te-link-iscd-attributes;
uses te-link-connectivity-attributes; uses te-types:generic-path-constraints;
} // connectivity-matrix-entry-attributes uses te-types:generic-path-optimization;
uses te-types:generic-computed-path-properties;
} // connectivity-matrix-entry-path-attributes
grouping geolocation-container { grouping geolocation-container {
description description
"A container containing a GPS location."; "A container containing a GPS location.";
container geolocation{ container geolocation{
config false;
description description
"A container containing a GPS location."; "A container containing a GPS location.";
leaf altitude { leaf altitude {
type int64; type int64;
units millimeter; units millimeter;
description description
"Distance above the sea level."; "Distance above the sea level.";
} }
leaf latitude { leaf latitude {
type geographic-coordinate-degree { type geographic-coordinate-degree {
skipping to change at page 74, line 10 skipping to change at page 75, line 29
} // network-instance } // network-instance
} // information-source-state-attributes } // information-source-state-attributes
grouping information-source-per-link-attributes { grouping information-source-per-link-attributes {
description description
"Per node container of the attributes identifying source that "Per node container of the attributes identifying source that
has provided the related information, and the source has provided the related information, and the source
credibility."; credibility.";
leaf information-source { leaf information-source {
type te-info-source; type te-info-source;
config false;
description description
"Indicates the source of the information."; "Indicates the source of the information.";
} }
container information-source-state { container information-source-state {
config false;
description description
"The container contains state attributes related to "The container contains state attributes related to
the information source."; the information source.";
uses information-source-state-attributes; uses information-source-state-attributes;
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 nt:link-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
} // information-source-state } // information-source-state
} // information-source-per-link-attributes } // information-source-per-link-attributes
grouping information-source-per-node-attributes { grouping information-source-per-node-attributes {
description description
"Per node container of the attributes identifying source that "Per node container of the attributes identifying source that
has provided the related information, and the source has provided the related information, and the source
credibility."; credibility.";
leaf information-source { leaf information-source {
type te-info-source; type te-info-source;
config false;
description description
"Indicates the source of the information."; "Indicates the source of the information.";
} }
container information-source-state { container information-source-state {
config false;
description description
"The container contains state attributes related to "The container contains state attributes related to
the information source."; the information source.";
uses information-source-state-attributes; uses information-source-state-attributes;
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 nw:node-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 } // topology
} // information-source-state } // information-source-state
} // information-source-per-node-attributes } // 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 encoding"; key "switching-capability encoding";
description description
"List of Interface Switching Capabilities Descriptors (ISCD) "List of Interface Switching Capabilities Descriptors (ISCD)
for this link."; for this link.";
reference reference
"RFC3471: Generalized Multi-Protocol Label Switching (GMPLS) "RFC3471: Generalized Multi-Protocol Label Switching (GMPLS)
Signaling Functional Description. Signaling Functional Description.
RFC4203: OSPF Extensions in Support of Generalized RFC4203: OSPF Extensions in Support of Generalized
Multi-Protocol Label Switching (GMPLS)."; Multi-Protocol Label Switching (GMPLS).";
skipping to change at page 83, line 35 skipping to change at page 84, line 39
"Number of times that an LLCL entry was enabled."; "Number of times that an LLCL entry was enabled.";
} }
leaf modifies { leaf modifies {
type yang:counter32; type yang:counter32;
description description
"Number of times that an LLCL entry was modified."; "Number of times that an LLCL entry was modified.";
} }
} // local-link-connectivity } // local-link-connectivity
} // statistics-per-ttp } // statistics-per-ttp
grouping te-link-augment {
description
"Augmentation for TE link.";
uses te-link-config;
uses te-link-state-derived;
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-link;
} // statistics
} // 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 84, line 18 skipping to change at page 85, line 35
list bundled-link { list bundled-link {
key "sequence"; key "sequence";
description description
"Specify a bundled interface that is "Specify a bundled interface that is
further partitioned."; further partitioned.";
leaf sequence { leaf sequence {
type uint32; type uint32;
description description
"Identify the sequence in the bundle."; "Identify the sequence in the bundle.";
} }
leaf src-tp-ref {
type leafref {
path "../../../../../../nw:node[nw:node-id = "
+ "current()/../../../../../nt:source/"
+ "nt:source-node]/"
+ "nt:termination-point/nt:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same souruce node.";
}
leaf des-tp-ref {
type leafref {
path "../../../../../../nw:node[nw:node-id = "
+ "current()/../../../../../nt:destination/"
+ "nt:dest-node]/"
+ "nt:termination-point/nt:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same destination node.";
}
} // list bundled-link } // list bundled-link
} }
} }
case component { case component {
container component-links { container component-links {
description description
"A set of component links"; "A set of component links";
list component-link { list component-link {
key "sequence"; key "sequence";
description description
skipping to change at page 85, line 40 skipping to change at page 86, line 33
destinatioin node."; destinatioin node.";
} }
} }
} }
} }
} // bundle-stack-level } // bundle-stack-level
leaf-list te-link-template { leaf-list te-link-template {
if-feature template; if-feature template;
type leafref { type leafref {
path "../../../../../te/templates/link-template/name"; path "../../../../te/templates/link-template/name";
} }
description description
"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.";
skipping to change at page 86, line 23 skipping to change at page 87, line 16
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
local end."; local end.";
uses te-topology-ref; uses nw:network-ref;
leaf remote-te-node-id { leaf remote-te-node-id {
type te-types:te-node-id; type te-types:te-node-id;
description description
"Remote TE node identifier, used together with "Remote TE node identifier, used together with
remote-te-link-id to identify the remote link remote-te-link-id to identify the remote link
termination point in a different domain."; termination point in a different domain.";
} }
leaf remote-te-link-tp-id { leaf remote-te-link-tp-id {
type te-types:te-tp-id; type te-types:te-tp-id;
description description
skipping to change at page 87, line 37 skipping to change at page 88, line 30
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-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-info-attributes {
description description
"Advertised TE connectivity attributes."; "Advertised TE information attributes.";
leaf max-link-bandwidth { leaf link-index {
type te-bandwidth; type uint64;
description
"The link identifier. If OSPF is used, this represents an
ospfLsdbID. If IS-IS is used, this represents an isisLSPID.
If a locally configured link is used, this object represents
a unique value, which is locally defined in a router.";
}
leaf administrative-group {
type te-types:admin-groups;
description
"Administrative group or color of the link.
This attribute covers both administrative group (defined in
RFC3630, RFC5329, and RFC5305), and extended administrative
group (defined in RFC7308).";
}
uses interface-switching-capability-list;
uses connectivity-label-restriction-list;
leaf link-protection-type {
type enumeration {
enum "unprotected" {
description "Unprotected.";
}
enum "extra-traffic" {
description "Extra traffic.";
}
enum "shared" {
description "Shared.";
}
enum "1-for-1" {
description "One for one protection.";
}
enum "1-plus-1" {
description "One plus one protection.";
}
enum "enhanced" {
description "Enhanced protection.";
}
}
description
"Link Protection Type desired for this link.";
reference
"RFC4202: Routing Extensions in Support of
Generalized Multi-Protocol Label Switching (GMPLS).";
}
container max-link-bandwidth {
uses te-types:te-bandwidth;
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 { container max-resv-link-bandwidth {
type te-bandwidth; uses te-types:te-bandwidth;
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 88, line 36 skipping to change at page 90, line 36
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 priority { leaf priority {
type uint8 { type uint8 {
range "0..7"; range "0..7";
} }
description "Priority."; description "Priority.";
} }
leaf bandwidth { container bandwidth {
type te-bandwidth; uses te-types:te-bandwidth;
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.";
reference
"RFC3630: Traffic Engineering (TE) Extensions to OSPF
Version 2.
RFC5305: IS-IS Extensions for Traffic Engineering.";
} }
leaf te-delay-metric { leaf te-delay-metric {
type uint32; type uint32;
description description
"Traffic engineering delay metric."; "Traffic engineering delay metric.";
reference
"RFC7471: OSPF Traffic Engineering (TE) Metric Extensions.";
}
leaf te-igp-metric {
type uint32;
description
"IGP metric used for traffic engineering.";
reference
"RFC3785: Use of Interior Gateway Protocol (IGP) Metric as a
Second MPLS Traffic Engineering (TE) Metric.";
} }
container te-srlgs { container te-srlgs {
description description
"Containing a list of SLRGs."; "Containing 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 89, line 40 skipping to change at page 92, line 12
leaf-list id { leaf-list id {
type uint32; type uint32;
description description
"NSRLG ID, uniquely configured within a topology."; "NSRLG ID, uniquely configured within a topology.";
reference reference
"RFC4872: RSVP-TE Extensions in Support of End-to-End "RFC4872: RSVP-TE Extensions in Support of End-to-End
Generalized Multi-Protocol Label Switching (GMPLS) Generalized Multi-Protocol Label Switching (GMPLS)
Recovery"; Recovery";
} }
} }
} // te-link-connectivity-attributes
grouping te-link-info-attributes {
description
"Advertised TE information attributes.";
leaf link-index {
type uint64;
description
"The link identifier. If OSPF is used, this represents an
ospfLsdbID. If IS-IS is used, this represents an isisLSPID.
If a locally configured link is used, this object represents
a unique value, which is locally defined in a router.";
}
leaf administrative-group {
type te-types:admin-groups;
description
"Administrative group or color of the link.
This attribute covers both administrative group (defined in
RFC3630, RFC5329, and RFC5305), and extended administrative
group (defined in RFC7308).";
}
uses interface-switching-capability-list;
leaf link-protection-type {
type enumeration {
enum "unprotected" {
description "Unprotected.";
}
enum "extra-traffic" {
description "Extra traffic.";
}
enum "shared" {
description "Shared.";
}
enum "1-for-1" {
description "One for one protection.";
}
enum "1-plus-1" {
description "One plus one protection.";
}
enum "enhanced" {
description "Enhanced protection.";
}
}
description
"Link Protection Type desired for this link.";
reference
"RFC4202: Routing Extensions in Support of
Generalized Multi-Protocol Label Switching (GMPLS).";
}
uses te-link-connectivity-attributes;
} // te-link-info-attributes } // te-link-info-attributes
grouping te-link-iscd-attributes { grouping te-link-iscd-attributes {
description description
"TE link ISCD (Interface Switching Capability Descriptor) "TE link ISCD (Interface Switching Capability Descriptor)
attributes."; attributes.";
reference reference
"Sec 1.4, RFC4203: OSPF Extensions in Support of Generalized "Sec 1.4, RFC4203: OSPF Extensions in Support of Generalized
Multi-Protocol Label Switching (GMPLS). Section 1.4."; Multi-Protocol Label Switching (GMPLS). Section 1.4.";
list max-lsp-bandwidth { list max-lsp-bandwidth {
key "priority"; key "priority";
max-elements "8"; max-elements "8";
description description
"Maximum LSP Bandwidth at priorities 0-7."; "Maximum LSP Bandwidth at priorities 0-7.";
leaf priority { leaf priority {
type uint8 { type uint8 {
range "0..7"; range "0..7";
} }
description "Priority."; description "Priority.";
} }
leaf bandwidth { container bandwidth {
type te-bandwidth; uses te-types:te-bandwidth;
description description
"Max LSP Bandwidth for this level"; "Max LSP Bandwidth for this level";
} }
} }
} // te-link-iscd-attributes } // 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;
config false;
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;
config false;
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
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-per-link-attributes; uses information-source-per-link-attributes;
list information-source-entry { list information-source-entry {
key "information-source"; key "information-source";
config false;
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-per-link-attributes; uses information-source-per-link-attributes;
uses te-link-info-attributes; uses te-link-info-attributes;
} }
container recovery { container recovery {
config false;
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.";
} }
leaf protection-status { leaf protection-status {
type te-types:te-recovery-status; type te-types:te-recovery-status;
description description
skipping to change at page 92, line 36 skipping to change at page 94, line 4
"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.";
} }
leaf protection-status { leaf protection-status {
type te-types:te-recovery-status; type te-types:te-recovery-status;
description description
"Protection status."; "Protection status.";
} }
} }
container underlay { container underlay {
if-feature te-topology-hierarchy; if-feature te-topology-hierarchy;
config false;
description "State attributes for te-link underlay."; description "State attributes for te-link underlay.";
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.";
} }
} }
} // te-link-state-derived } // te-link-state-derived
grouping te-link-underlay-attributes { grouping te-link-underlay-attributes {
skipping to change at page 93, line 30 skipping to change at page 94, line 40
leaf enabled { leaf enabled {
type boolean; type boolean;
description description
"'true' if the underlay is enabled. "'true' if the underlay is enabled.
'false' if the underlay is disabled."; 'false' if the underlay is disabled.";
} }
container primary-path { container primary-path {
description description
"The service path on the underlay topology that "The service path on the underlay topology that
supports this link."; supports this link.";
uses te-topology-ref; uses nw:network-ref;
list path-element { list path-element {
key "path-element-id"; key "path-element-id";
description description
"A list of path elements describing the service path."; "A list of path elements describing the service path.";
leaf path-element-id { leaf path-element-id {
type uint32; type uint32;
description "To identify the element in a path."; description "To identify the element in a path.";
} }
uses te-path-element; uses te-path-element;
} }
skipping to change at page 94, line 13 skipping to change at page 95, line 23
"A list of backup service paths on the underlay topology that "A list of backup service paths on the underlay topology that
protect the underlay primary path. If the primary path is protect the underlay primary path. If the primary path is
not protected, the list contains zero elements. If the not protected, the list contains zero elements. If the
primary path is protected, the list contains one or more primary path is protected, the list contains one or more
elements."; elements.";
leaf index { leaf index {
type uint32; type uint32;
description description
"A sequence number to identify a backup path."; "A sequence number to identify a backup path.";
} }
uses te-topology-ref; uses nw:network-ref;
list path-element { list path-element {
key "path-element-id"; key "path-element-id";
description description
"A list of path elements describing the backup service "A list of path elements describing the backup service
path"; path";
leaf path-element-id { leaf path-element-id {
type uint32; type uint32;
description "To identify the element in a path."; description "To identify the element in a path.";
} }
uses te-path-element; uses te-path-element;
skipping to change at page 96, line 4 skipping to change at page 97, line 14
leaf sharing { leaf sharing {
type boolean; type boolean;
description description
"'true' if the underlay tunnel can be shared with other "'true' if the underlay tunnel can be shared with other
TE links; TE links;
'false' if the underlay tunnel is dedicated to this 'false' if the underlay tunnel is dedicated to this
TE link."; TE link.";
} }
} // tunnel } // tunnel
} // tunnels } // tunnels
} // te-link-underlay-attributes } // te-link-underlay-attributes
grouping te-node-augment {
description
"Augmentation for TE node.";
uses te-node-config;
uses te-node-state-derived;
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-node;
} // statistics
list tunnel-termination-point {
key "tunnel-tp-id";
description
"A termination point can terminate a tunnel.";
leaf tunnel-tp-id {
type binary;
description
"Tunnel termination point identifier.";
}
uses te-node-tunnel-termination-point-config;
leaf oper-status {
type te-types:te-oper-status;
config false;
description
"The current operational state of the tunnel
termination point.";
}
uses geolocation-container;
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-ttp;
} // statistics
// Relations to other tunnel termination points
list supporting-tunnel-termination-point {
key "node-ref tunnel-tp-ref";
description
"Identifies the tunnel termination points, that this
tunnel termination point is depending on.";
leaf node-ref {
type inet:uri;
description
"This leaf identifies the node in which the supporting
tunnel termination point is present.
This node is either the supporting node or a node in
an underlay topology.";
}
leaf tunnel-tp-ref {
type binary;
description
"Reference to a tunnel terminiation point, which is
either in the supporting node or a node in an
underlay topology.";
}
} // supporting-tunnel-termination-point
} // tunnel-termination-point
} // 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 {
path "../../../../../te/templates/node-template/name"; path "../../../../te/templates/node-template/name";
} }
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.";
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-matrices;
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-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.";
leaf admin-status { leaf admin-status {
skipping to change at page 97, line 4 skipping to change at page 99, line 35
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.";
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-matrices {
description "Connectivity matrix on a TE node."; description "Connectivity matrix on a TE node.";
container connectivity-matrices { container connectivity-matrices {
description description
"Containing connectivity matrix on a TE node."; "Containing connectivity matrix on a TE node.";
leaf number-of-entries { leaf number-of-entries {
type uint16; type uint16;
description description
"The number of connectivity matrix entries. "The number of connectivity matrix entries.
If this number is speficied in the configuration request, If this number is speficied in the configuration request,
the number is requested number of entries, which may not the number is requested number of entries, which may not
all be listed in the list; all be listed in the list;
if this number is reported in the state data, if this number is reported in the state data,
the number is the current number of operational entries."; the number is the current number of operational entries.";
} }
uses connectivity-label-restriction-list; uses connectivity-label-restriction-list;
uses connectivity-matrix-entry-attributes; uses connectivity-matrix-entry-path-attributes;
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
"RFC7579: General Network Element Constraint Encoding "RFC7579: General Network Element Constraint Encoding
for GMPLS-Controlled Networks."; for GMPLS-Controlled Networks.";
leaf id { leaf id {
type uint32; type uint32;
description "Identifies the connectivity-matrix entry."; description "Identifies the connectivity-matrix entry.";
} }
container from {
description
"Reference to source link termination point.";
leaf tp-ref {
type leafref {
path "../../../../../../../nt:termination-point/"+
"nt:tp-id";
}
description
"Relative reference to source termination point.";
}
uses connectivity-label-restriction-list;
}
container to {
description
"Reference to destination link termination point.";
leaf tp-ref {
type leafref {
path "../../../../../../../nt:termination-point/"+
"nt:tp-id";
}
description
"Relative reference to destination termination point.";
}
uses connectivity-label-restriction-list;
}
uses connectivity-matrix-entry-attributes;
} // connectivity-matrix } // connectivity-matrix
} // connectivity-matrices } // connectivity-matrices
} // te-node-connectivity-matrix } // te-node-connectivity-matrices
grouping te-node-connectivity-matrix-abs { grouping te-node-connectivity-matrix-attributes {
description description
"Connectivity matrix on a TE node, using absolute "Termination point references of a connectivity matrix entry.";
paths to reference termination points."; container from {
list connectivity-matrix {
key "id";
description description
"Represents node's switching limitations, i.e. limitations "Reference to source link termination point.";
in interconnecting network TE links across the node."; leaf tp-ref {
reference type leafref {
"RFC7579: General Network Element Constraint Encoding path "../../../../../../nt:termination-point/nt:tp-id";
for GMPLS-Controlled Networks."; }
leaf id {
type uint32;
description "Identifies the connectivity-matrix entry.";
}
container from {
uses nt:tp-ref;
description
"Reference to source NTP.";
}
container to {
uses nt:tp-ref;
description description
"Reference to destination NTP."; "Relative reference to a termination point.";
} }
leaf is-allowed { uses connectivity-label-restriction-list;
type boolean; }
container to {
description
"Reference to destination link termination point.";
leaf tp-ref {
type leafref {
path "../../../../../../nt:termination-point/nt:tp-id";
}
description description
"true - switching is allowed, "Relative reference to a termination point.";
false - switching is disallowed.";
} }
uses connectivity-label-restriction-list;
} }
} // te-node-connectivity-matrix-abs uses connectivity-matrix-entry-path-attributes;
} // te-node-connectivity-matrix-attributes
grouping te-node-info-attributes { grouping te-node-info-attributes {
description description
"Advertised TE information attributes."; "Advertised TE information attributes.";
leaf domain-id { leaf domain-id {
type uint32; type uint32;
description description
"Identifies the domain that this node belongs. "Identifies the domain that this node belongs.
This attribute is used to support inter-domain links."; This attribute is used to support inter-domain links.";
reference reference
skipping to change at page 100, line 15 skipping to change at page 102, line 15
} }
leaf-list signaling-address { leaf-list signaling-address {
type inet:ip-address; type inet:ip-address;
description "Node signaling address."; description "Node signaling address.";
} }
container underlay-topology { container underlay-topology {
if-feature te-topology-hierarchy; if-feature te-topology-hierarchy;
description description
"When an abstract node encapsulates a topology, "When an abstract node encapsulates a topology,
the attributes in this container point to said topology."; the attributes in this container point to said topology.";
uses te-topology-ref; uses nw:network-ref;
} }
} // 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;
config false;
description description
"The current operational state of the node."; "The current operational state of the node.";
} }
uses geolocation-container; uses geolocation-container;
leaf is-multi-access-dr { leaf is-multi-access-dr {
type empty; type empty;
config false;
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-per-node-attributes; uses information-source-per-node-attributes;
list information-source-entry { list information-source-entry {
key "information-source"; key "information-source";
config false;
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-per-node-attributes; uses information-source-per-node-attributes;
uses te-node-connectivity-matrix; uses te-node-connectivity-matrices;
uses te-node-info-attributes; uses te-node-info-attributes;
} }
} // te-node-state-derived } // te-node-state-derived
grouping te-node-tunnel-termination-attributes { grouping te-node-tunnel-termination-point-config {
description description
"Termination capability of a tunnel termination point on a "Termination capability of a tunnel termination point on a
TE node."; TE node.";
uses te-node-tunnel-termination-point-config-attributes;
container local-link-connectivities {
description
"Containing local link connectivity list for
a tunnel termination point on a TE node.";
leaf number-of-entries {
type uint16;
description
"The number of local link connectivity list entries.
If this number is speficied in the configuration request,
the number is requested number of entries, which may not
all be listed in the list;
if this number is reported in the state data,
the number is the current number of operational entries.";
}
uses connectivity-label-restriction-list;
uses connectivity-matrix-entry-path-attributes;
} // local-link-connectivities
} // te-node-tunnel-termination-point-config
grouping te-node-tunnel-termination-point-config-attributes {
description
"Configuration attributes of a tunnel termination point on a
TE node.";
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 tunnel termination point."; "The administrative state of the tunnel termination point.";
} }
leaf name { leaf name {
type string; type string;
description description
"A descriptive name for the tunnel termination point."; "A descriptive name for the tunnel termination point.";
} }
skipping to change at page 102, line 44 skipping to change at page 105, line 28
description description
"Switching Capability for the client layer adaption."; "Switching Capability for the client layer adaption.";
} }
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 the client layer adaption."; "Encoding supported by the client layer adaption.";
} }
leaf bandwidth { container bandwidth {
type te-bandwidth; uses te-types:te-bandwidth;
description description
"Bandwidth available for the client layer adaption."; "Bandwidth available for the client layer adaption.";
} }
} }
} }
} // te-node-tunnel-termination-point-config-attributes
container local-link-connectivities { grouping te-node-tunnel-termination-point-llc-list {
description
"Local link connectivity list of a tunnel termination
point on a TE node.";
list local-link-connectivity {
key "link-tp-ref";
description description
"Containing local link connectivity list for "The termination capabilities between
a tunnel termination point on a TE node."; tunnel-termination-point and link termination-point.
leaf number-of-entries { The capability information can be used to compute
type uint16; the tunnel path.
The Interface Adjustment Capability Descriptors (IACD)
[RFC6001] on each link-tp can be derived from this
local-link-connectivity list.";
reference
"RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN).";
leaf link-tp-ref {
type leafref {
path "../../../../../nt:termination-point/nt:tp-id";
}
description description
"The number of local link connectivity list entries. "Link termination point.";
If this number is speficied in the configuration request,
the number is requested number of entries, which may not
all be listed in the list;
if this number is reported in the state data,
the number is the current number of operational entries.";
} }
uses connectivity-label-restriction-list; uses connectivity-label-restriction-list;
uses connectivity-matrix-entry-attributes; uses connectivity-matrix-entry-path-attributes;
list local-link-connectivity { } // local-link-connectivity
key "link-tp-ref"; } // te-node-tunnel-termination-point-config
description
"The termination capabilities between
tunnel-termination-point and link termination-point.
The capability information can be used to compute
the tunnel path.
The Interface Adjustment Capability Descriptors (IACD)
[RFC6001] on each link-tp can be derived from this
local-link-connectivity list.";
reference
"RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN).";
leaf link-tp-ref {
type leafref {
path "../../../../../../nt:termination-point/nt:tp-id";
}
description
"Link termination point.";
}
uses connectivity-label-restriction-list;
uses connectivity-matrix-entry-attributes;
} // local-link-connectivity
} // local-link-connectivities
} // 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-hop_config; uses te-types:explicit-route-hop_config;
} // te-path-element } // te-path-element
grouping te-termination-point-augment {
description
"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 {
must "../te-tp-id";
presence "TE support.";
description
"Indicates TE support.";
uses te-termination-point-config;
leaf oper-status {
type te-types:te-oper-status;
config false;
description
"The current operational state of the link termination
point.";
}
uses geolocation-container;
} // te
} // 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.";
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 termination point."; "The administrative state of the link termination point.";
} }
leaf name { leaf name {
type string; type string;
skipping to change at page 105, line 4 skipping to change at page 107, line 44
type uint32; type uint32;
description description
"Inter layer lock ID, used for path computation in a TE "Inter layer lock ID, used for path computation in a TE
topology covering multiple layers or multiple regions."; topology covering multiple layers or multiple regions.";
reference reference
"RFC5212: Requirements for GMPLS-Based Multi-Region and "RFC5212: Requirements for GMPLS-Based Multi-Region and
Multi-Layer Networks (MRN/MLN). Multi-Layer Networks (MRN/MLN).
RFC6001: Generalized MPLS (GMPLS) Protocol Extensions RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN)."; for Multi-Layer and Multi-Region Networks (MLN/MRN).";
} }
} // te-termination-point-config } // te-termination-point-config
grouping te-topologies-augment {
description
"Augmentation for TE topologies.";
container te {
presence "TE support.";
description
"Indicates TE support.";
container templates {
description
"Configuration parameters for templates used for TE
topology.";
list node-template {
if-feature template;
key "name";
leaf name {
type te-types:te-template-name;
description
"The name to identify a TE node template.";
}
description
"The list of TE node templates used to define sharable
and reusable TE node attributes.";
uses template-attributes;
uses te-node-config-attributes-template;
} // node-template
list link-template {
if-feature template;
key "name";
leaf name {
type te-types:te-template-name;
description
"The name to identify a TE link template.";
}
description
"The list of TE link templates used to define sharable
and reusable TE link attributes.";
uses template-attributes;
uses te-link-config-attributes;
} // link-template
} // templates
} // te
} // te-topologies-augment
grouping te-topology-augment {
description
"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 {
must "../provider-id and ../client-id and ../te-topology-id";
presence "TE support.";
description
"Indicates TE support.";
uses te-topology-config;
uses geolocation-container;
} // te
} // te-topology-augment
grouping te-topology-config { grouping te-topology-config {
description description
"TE topology configuration grouping."; "TE topology configuration grouping.";
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 105, line 43 skipping to change at page 110, line 38
reference reference
"RFC4872: RSVP-TE Extensions in Support of End-to-End "RFC4872: RSVP-TE Extensions in Support of End-to-End
Generalized Multi-Protocol Label Switching (GMPLS) Generalized Multi-Protocol Label Switching (GMPLS)
Recovery"; Recovery";
leaf id { leaf id {
type uint32; type uint32;
description description
"Identify the NSRLG entry."; "Identify the NSRLG entry.";
} }
leaf disjointness { leaf disjointness {
type te-path-disjointness; type te-types:te-path-disjointness;
description description
"The type of resource disjointness."; "The type of resource disjointness.";
} }
} // nsrlg } // nsrlg
} // te-topology-config } // te-topology-config
grouping te-topology-ref {
description
"References a TE topology.";
leaf network-ref {
type leafref {
path "/nw:networks/nw:network/nw:network-id";
require-instance false;
}
description
"A reference to a network-id in base ietf-network module.";
}
} // te-topology-ref
grouping template-attributes { grouping template-attributes {
description description
"Common attributes for all templates."; "Common attributes for all templates.";
leaf priority { leaf priority {
type uint16; type uint16;
description description
"The preference value to resolve conflicts between different "The preference value to resolve conflicts between different
templates. When two or more templates specify values for templates. When two or more templates specify values for
one configuration attribute, the value from the template one configuration attribute, the value from the template
with the highest priority is used."; with the highest priority is used.";
} }
leaf reference-change-policy { leaf reference-change-policy {
type enumeration { type enumeration {
skipping to change at page 107, line 21 skipping to change at page 111, line 42
configuration."; configuration.";
} }
} }
description description
"This attribute specifies the action taken to a configuration "This attribute specifies the action taken to a configuration
node that has a reference to this template."; node that has a reference to this template.";
} }
} // template-attributes } // template-attributes
/* /*
* Configuration data nodes * Data nodes
*/ */
augment "/nw:networks/nw:network/nw:network-types" { augment "/nw:networks/nw:network/nw:network-types" {
description description
"Introduce new network type for TE topology."; "Introduce new network type for TE topology.";
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.";
} }
} }
augment "/nw:networks" { augment "/nw:networks" {
description description
"Augmentation parameters for TE topologies."; "Augmentation parameters for TE topologies.";
uses te-topologies-augment;
container te {
presence "TE support.";
description
"Indicates TE support.";
container templates {
description
"Configuration parameters for templates used for TE
topology.";
list node-template {
if-feature template;
key "name";
leaf name {
type te-types:te-template-name;
description
"The name to identify a TE node template.";
}
description
"The list of TE node templates used to define sharable
and reusable TE node attributes.";
uses template-attributes;
uses te-node-config-attributes-template;
} // node-template
list link-template {
if-feature template;
key "name";
leaf name {
type te-types:te-template-name;
description
"The name to identify a TE link template.";
}
description
"The list of TE link templates used to define sharable
and reusable TE link attributes.";
uses template-attributes;
uses te-link-config-attributes;
} // link-template
} // templates
} // te
} }
augment "/nw:networks/nw:network" { augment "/nw:networks/nw:network" {
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 topology."; "Configuration parameters for TE topology.";
uses te-topology-augment;
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 {
must "../provider-id and ../client-id and ../te-topology-id";
presence "TE support.";
description
"Indicates TE support.";
container config {
description
"Configuration data.";
uses te-topology-config;
} // config
container state {
config false;
description
"Operational state data.";
uses te-topology-config;
uses geolocation-container;
} // state
} // te
} }
augment "/nw:networks/nw:network/nw:node" { augment "/nw:networks/nw:network/nw:node" {
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 node level."; "Configuration parameters for TE at node level.";
leaf te-node-id { leaf te-node-id {
type te-types:te-node-id; type te-types:te-node-id;
description description
"The identifier of a node in the TE topology. "The identifier of a node in the TE topology.
A node is specific to a topology to which it belongs."; A node is specific to a topology to which it belongs.";
} }
container te { container te {
must "../te-node-id" { must "../te-node-id" {
description description
"te-node-id is mandatory."; "te-node-id is mandatory.";
} }
must "count(../nw:supporting-node)<=1" { must "count(../nw:supporting-node)<=1" {
description description
"For a node in a TE topology, there cannot be more "For a node in a TE topology, there cannot be more
than 1 supporting node. If multiple nodes are abstracted, than 1 supporting node. If multiple nodes are abstracted,
the underlay-topology is used."; the underlay-topology is used.";
skipping to change at page 110, line 34 skipping to change at page 113, line 17
} }
must "count(../nw:supporting-node)<=1" { must "count(../nw:supporting-node)<=1" {
description description
"For a node in a TE topology, there cannot be more "For a node in a TE topology, there cannot be more
than 1 supporting node. If multiple nodes are abstracted, than 1 supporting node. If multiple nodes are abstracted,
the underlay-topology is used."; the underlay-topology is used.";
} }
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
uses te-node-augment;
container config {
description
"Configuration data.";
uses te-node-config;
} // config
container state {
config false;
description
"Operational state data.";
uses te-node-config;
uses te-node-state-derived;
} // state
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-node;
} // statistics
list tunnel-termination-point {
key "tunnel-tp-id";
description
"A termination point can terminate a tunnel.";
leaf tunnel-tp-id {
type binary;
description
"Tunnel termination point identifier.";
}
container config {
description
"Configuration data.";
uses te-node-tunnel-termination-attributes;
}
container state {
config false;
description
"Operational state data.";
uses te-node-tunnel-termination-attributes;
leaf oper-status {
type te-types:te-oper-status;
description
"The current operational state of the tunnel
termination point.";
}
uses geolocation-container;
} // state
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-ttp;
} // statistics
// Relations to other tunnel termination points
list supporting-tunnel-termination-point {
key "node-ref tunnel-tp-ref";
description
"Identifies the tunnel termination points, that this
tunnel termination point is depending on.";
leaf node-ref {
type inet:uri;
description
"This leaf identifies the node in which the supporting
tunnel termination point is present.
This node is either the supporting node or a node in
an underlay topology.";
}
leaf tunnel-tp-ref {
type binary;
description
"Reference to a tunnel terminiation point, which is
either in the supporting node or a node in an
underlay topology.";
}
} // supporting-tunnel-termination-point
} // tunnel-termination-point
} // te } // te
} }
augment "/nw:networks/nw:network/nt:link" { augment "/nw:networks/nw:network/nt:link" {
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 link level"; "Configuration parameters for TE at link level.";
container te { container te {
must "count(../nt:supporting-link)<=1" { must "count(../nt:supporting-link)<=1" {
description description
"For a link in a TE topology, there cannot be more "For a link in a TE topology, there cannot be more
than 1 supporting link. If one or more link paths are than 1 supporting link. If one or more link paths are
abstracted, the underlay is used."; abstracted, the underlay is used.";
} }
presence "TE support."; presence "TE support.";
description description
"Indicates TE support."; "Indicates TE support.";
uses te-link-augment;
container config {
description
"Configuration data.";
uses te-link-config;
} // config
container state {
config false;
description
"Operational state data.";
uses te-link-config;
uses te-link-state-derived;
} // state
container statistics {
config false;
description
"Statistics data.";
uses statistics-per-link;
} // statistics
} // te } // te
} }
augment "/nw:networks/nw:network/nw:node/" augment "/nw:networks/nw:network/nw:node/"
+ "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;
}
leaf te-tp-id { augment
type te-types:te-tp-id; "/nw:networks/nw:network/nt:link/te/bundle-stack-level/"
+ "bundle/bundled-links/bundled-link" {
when "../../../../nw:network-types/te-topology" {
description description
"An identifier to uniquely identify a TE termination "Augmentation parameters apply only for networks with
point."; TE topology type.";
}
description
"Augment TE link bundled link.";
leaf src-tp-ref {
type leafref {
path "../../../../../nw:node[nw:node-id = "
+ "current()/../../../../nt:source/"
+ "nt:source-node]/"
+ "nt:termination-point/nt:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same souruce node.";
}
leaf des-tp-ref {
type leafref {
path "../../../../../nw:node[nw:node-id = "
+ "current()/../../../../nt:destination/"
+ "nt:dest-node]/"
+ "nt:termination-point/nt:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same destination node.";
} }
}
container te { augment
must "../te-tp-id"; "/nw:networks/nw:network/nw:node/te/"
presence "TE support."; + "information-source-entry/connectivity-matrices/"
+ "connectivity-matrix" {
when "../../../../../nw:network-types/te-topology" {
description description
"Indicates TE support."; "Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes;
}
container config { augment
description "/nw:networks/nw:network/nw:node/te/te-node-attributes/"
"Configuration data."; + "connectivity-matrices/connectivity-matrix" {
uses te-termination-point-config; when "../../../../../nw:network-types/te-topology" {
} // config description
container state { "Augmentation parameters apply only for networks with
config false; TE topology type.";
description }
"Operational state data."; description
uses te-termination-point-config; "Augment TE node connectivity-matrix.";
leaf oper-status { uses te-node-connectivity-matrix-attributes;
type te-types:te-oper-status; }
description
"The current operational state of the link termination augment
point."; "/nw:networks/nw:network/nw:node/te/"
} + "tunnel-termination-point/local-link-connectivities" {
uses geolocation-container; when "../../../../nw:network-types/te-topology" {
} // state description
} // te "Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node tunnel termination point LLCs
(Local Link Connectivities).";
uses te-node-tunnel-termination-point-llc-list;
} }
} }
<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 116, line 5 skipping to change at page 117, line 18
[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", [RFC5277bis] Clemm, A., "Subscribing to Event Notifications",
draft-ietf-netconf-rfc5277bis (Work in Progress). 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 (Work in
Progress). Progress).
[YANG-NMDA] Bjorklund, M., Schoenwaelder, J., Shafer, P.,
Watsen, K., and R. Wilton, "Network Management Datastore
Architecture", draft-ietf-netmod-revised-datastores (Work
in 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
The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam, The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam,
Cyril Margaria and Zafar Ali for participating in design discussions Cyril Margaria and Zafar Ali for participating in design discussions
and providing valuable insights. and providing valuable insights.
Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations
The YANG module ietf-te-topology defined in this document is designed
to be used in conjunction with implementations that support the
Network Management Datastore Architecture (NMDA) defined in [YANG-
NMDA]. In order to allow implementations to use the model even in
cases when NMDA is not supported, the following companion module
ietf-te-topology-state is defined as a state model, which mirrors the
module ietf-te-topology defined earlier in this document. However,
all data nodes in the companion module are non-configurable, to
represent the applied configuration or the derived operational
states.
The companion module, ietf-te-topology-state, is redundant and SHOULD
NOT be supported by implementations that support NMDA.
As the structure of the module ietf-te-topology-state mirrors that of
the module ietf-te-topology. The YANG tree of the module ietf-te-
topology-state is not depicted separately.
A.1. TE Topology State Yang Module
<CODE BEGINS> file "ietf-te-topology-state@2017-07-02.yang"
module ietf-te-topology-state {
yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state";
prefix "tet-s";
import ietf-te-types {
prefix "te-types";
}
import ietf-te-topology {
prefix "tet";
}
import ietf-network-state {
prefix "nw-s";
}
import ietf-network-topology-state {
prefix "nt-s";
}
organization
"Traffic Engineering Architecture and Signaling (TEAS)
Working Group";
contact
"WG Web: <http://tools.ietf.org/wg/teas/>
WG List: <mailto:teas@ietf.org>
WG Chair: Lou Berger
<mailto:lberger@labn.net>
WG Chair: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Xufeng Liu
<mailto:Xufeng_Liu@jabil.com>
Editor: Igor Bryskin
<mailto:Igor.Bryskin@huawei.com>
Editor: Vishnu Pavan Beeram
<mailto:vbeeram@juniper.net>
Editor: Tarek Saad
<mailto:tsaad@cisco.com>
Editor: Himanshu Shah
<mailto:hshah@ciena.com>
Editor: Oscar Gonzalez De Dios
<mailto:oscar.gonzalezdedios@telefonica.com>";
description "TE topology state model";
revision "2017-07-02" {
description "Initial revision";
reference "TBD";
}
/*
* Groupings
*/
grouping te-node-connectivity-matrix-attributes {
description
"Termination point references of a connectivity matrix entry.";
container from {
description
"Reference to source link termination point.";
leaf tp-ref {
type leafref {
path "../../../../../../nt-s:termination-point/nt-s:tp-id";
}
description
"Relative reference to a termination point.";
}
uses tet:connectivity-label-restriction-list;
}
container to {
description
"Reference to destination link termination point.";
leaf tp-ref {
type leafref {
path "../../../../../../nt-s:termination-point/nt-s:tp-id";
}
description
"Relative reference to a termination point.";
}
uses tet:connectivity-label-restriction-list;
}
uses tet:connectivity-matrix-entry-path-attributes;
} // te-node-connectivity-matrix-attributes
grouping te-node-tunnel-termination-point-llc-list {
description
"Local link connectivity list of a tunnel termination
point on a TE node.";
list local-link-connectivity {
key "link-tp-ref";
description
"The termination capabilities between
tunnel-termination-point and link termination-point.
The capability information can be used to compute
the tunnel path.
The Interface Adjustment Capability Descriptors (IACD)
[RFC6001] on each link-tp can be derived from this
local-link-connectivity list.";
reference
"RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN).";
leaf link-tp-ref {
type leafref {
path "../../../../../nt-s:termination-point/nt-s:tp-id";
}
description
"Link termination point.";
}
uses tet:connectivity-label-restriction-list;
uses tet:connectivity-matrix-entry-path-attributes;
} // local-link-connectivity
} // te-node-tunnel-termination-point-config
/*
* Data nodes
*/
augment "/nw-s:networks/nw-s:network/nw-s:network-types" {
description
"Introduce new network type for TE topology.";
container te-topology {
presence "Indicates TE topology.";
description
"Its presence identifies the TE topology type.";
}
}
augment "/nw-s:networks" {
description
"Augmentation parameters for TE topologies.";
uses tet:te-topologies-augment;
}
augment "/nw-s:networks/nw-s:network" {
when "nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE topology.";
uses tet:te-topology-augment;
}
augment "/nw-s:networks/nw-s:network/nw-s:node" {
when "../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE at node level.";
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 {
must "../te-node-id" {
description
"te-node-id is mandatory.";
}
must "count(../nw-s:supporting-node)<=1" {
description
"For a node in a TE topology, there cannot be more
than 1 supporting node. If multiple nodes are abstracted,
the underlay-topology is used.";
}
presence "TE support.";
description
"Indicates TE support.";
uses tet:te-node-augment;
} // te
}
augment "/nw-s:networks/nw-s:network/nt-s:link" {
when "../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE at link level.";
container te {
must "count(../nt-s:supporting-link)<=1" {
description
"For a link in a TE topology, there cannot be more
than 1 supporting link. If one or more link paths are
abstracted, the underlay is used.";
}
presence "TE support.";
description
"Indicates TE support.";
uses tet:te-link-augment;
} // te
}
augment "/nw-s:networks/nw-s:network/nw-s:node/"
+ "nt-s:termination-point" {
when "../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Configuration parameters for TE at termination point level.";
uses tet:te-termination-point-augment;
}
augment
"/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/"
+ "bundle/bundled-links/bundled-link" {
when "../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE link bundled link.";
leaf src-tp-ref {
type leafref {
path "../../../../../nw-s:node[nw-s:node-id = "
+ "current()/../../../../nt-s:source/"
+ "nt-s:source-node]/"
+ "nt-s:termination-point/nt-s:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same souruce node.";
}
leaf des-tp-ref {
type leafref {
path "../../../../../nw-s:node[nw-s:node-id = "
+ "current()/../../../../nt-s:destination/"
+ "nt-s:dest-node]/"
+ "nt-s:termination-point/nt-s:tp-id";
require-instance true;
}
description
"Reference to another TE termination point on the
same destination node.";
}
}
augment
"/nw-s:networks/nw-s:network/nw-s:node/te/"
+ "information-source-entry/connectivity-matrices/"
+ "connectivity-matrix" {
when "../../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes;
}
augment
"/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/"
+ "connectivity-matrices/connectivity-matrix" {
when "../../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node connectivity-matrix.";
uses te-node-connectivity-matrix-attributes;
}
augment
"/nw-s:networks/nw-s:network/nw-s:node/te/"
+ "tunnel-termination-point/local-link-connectivities" {
when "../../../../nw-s:network-types/te-topology" {
description
"Augmentation parameters apply only for networks with
TE topology type.";
}
description
"Augment TE node tunnel termination point LLCs
(Local Link Connectivities).";
uses te-node-tunnel-termination-point-llc-list;
}
}
<CODE ENDS>
Contributors Contributors
Sergio Belotti Sergio Belotti
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
 End of changes. 169 change blocks. 
1792 lines changed or deleted 2189 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/