draft-ietf-teas-yang-te-topo-08.txt   draft-ietf-teas-yang-te-topo-09.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: September 13, 2017 March 13, 2017 Expires: December 12, 2017 June 12, 2017
YANG Data Model for TE Topologies YANG Data Model for TE Topologies
draft-ietf-teas-yang-te-topo-08 draft-ietf-teas-yang-te-topo-09
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 September 13, 2017. This Internet-Draft will expire on December 12, 2017.
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...............................................4 1.1. Terminology...............................................3
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)..........................10 3.5. TE Link Termination Point (LTP)...........................9
3.6. TE Tunnel Termination Point (TTP)........................10 3.6. TE Tunnel Termination Point (TTP)........................10
3.7. TE Node Connectivity Matrix..............................11 3.7. TE Node Connectivity Matrix..............................10
3.8. TTP Local Link Connectivity List (LLCL)..................11 3.8. TTP Local Link Connectivity List (LLCL)..................10
3.9. TE Path..................................................11 3.9. TE Path..................................................10
3.10. TE Inter-Layer Lock.....................................11 3.10. TE Inter-Layer Lock.....................................11
3.11. Underlay TE topology....................................13 3.11. Underlay TE topology....................................12
3.12. Overlay TE topology.....................................13 3.12. Overlay TE topology.....................................12
3.13. Abstract TE topology....................................13 3.13. Abstract TE topology....................................12
4. Model Applicability...........................................14 4. Model Applicability...........................................13
4.1. Native TE Topologies.....................................14 4.1. Native TE Topologies.....................................13
4.2. Customized TE Topologies.................................16 4.2. Customized TE Topologies.................................15
4.3. Merging TE Topologies Provided by Multiple Providers.....19 4.3. Merging TE Topologies Provided by Multiple Providers.....18
4.4. Dealing with Multiple Abstract TE Topologies Provided by the 4.4. Dealing with Multiple Abstract TE Topologies Provided by the
Same Provider.................................................22 Same Provider.................................................21
5. Modeling Considerations.......................................25 5. Modeling Considerations.......................................24
5.1. Generic network topology building blocks.................25 5.1. Network topology building blocks.........................24
5.2. Technology agnostic TE Topology model....................25 5.2. Technology agnostic TE Topology model....................24
5.3. Model Structure..........................................26 5.3. Model Structure..........................................25
5.4. Topology Identifiers.....................................27 5.4. Topology Identifiers.....................................26
5.5. Generic TE Link Attributes...............................27 5.5. Generic TE Link Attributes...............................26
5.6. Generic TE Node Attributes...............................28 5.6. Generic TE Node Attributes...............................27
5.7. TED Information Sources..................................30 5.7. TED Information Sources..................................29
5.8. Overlay/Underlay Relationship............................31 5.8. Overlay/Underlay Relationship............................30
5.9. Templates................................................32 5.9. Templates................................................31
5.10. Scheduling Parameters...................................33 5.10. Scheduling Parameters...................................32
5.11. Notifications...........................................33 5.11. Notifications...........................................32
6. Tree Structure................................................34 6. Tree Structure................................................32
7. TE Topology Yang Module.......................................66 7. TE Topology Yang Module.......................................66
8. Security Considerations......................................117 8. Security Considerations......................................114
9. IANA Considerations..........................................118 9. IANA Considerations..........................................115
10. References..................................................118 10. References..................................................115
10.1. Normative References...................................118 10.1. Normative References...................................115
10.2. Informative References.................................119 10.2. Informative References.................................116
11. Acknowledgments.............................................119 11. Acknowledgments.............................................116
Contributors....................................................119 Contributors....................................................116
Authors' Addresses..............................................119 Authors' Addresses..............................................116
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 25, line 7 skipping to change at page 24, line 7
It is important to note that each of the three native (merged) TE It is important to note that each of the three native (merged) TE
topologies could be used by the client for computing TE paths for any topologies could be used by the client for computing TE paths for any
of the multi-domain services. The choice as to which topology to use of the multi-domain services. The choice as to which topology to use
for a given service depends on the service parameters/requirements for a given service depends on the service parameters/requirements
and the topology's style, optimization criteria and the level of and the topology's style, optimization criteria and the level of
details. details.
5. Modeling Considerations 5. Modeling Considerations
5.1. Generic network topology building blocks 5.1. Network topology building blocks
The generic network topology building blocks are discussed in [YANG- The network topology building blocks are discussed in [YANG-NET-
NET-TOPO]. The TE Topology model proposed in this document augments TOPO]. The TE Topology model proposed in this document augments and
and uses the ietf-network-topology module defined in [YANG-NET-TOPO]. uses the ietf-network-topology module defined in [YANG-NET-TOPO].
+------------------------+ +------------------------+
| Generic | | |
| Network Topology Model | | Network Topology Model |
| (ietf-network-topology)| | (ietf-network-topology)|
+------------------------+ +------------------------+
| |
| |
| |
V V
+------------------------+ +------------------------+
| TE Topology | | TE Topology |
| Model | | Model |
| | | |
+------------------------+ +------------------------+
Figure 12: Augmenting the Generic Network Topology Model Figure 12: Augmenting the Network Topology Model
5.2. Technology agnostic TE Topology model 5.2. Technology agnostic TE Topology model
The TE Topology model proposed in this document is meant to be The TE Topology model proposed in this document is meant to be
technology agnostic. Other technology specific TE Topology models can network technology agnostic. Other technology specific TE Topology
augment and use the building blocks provided by the proposed model. models can augment and use the building blocks provided by the
proposed model.
+-------------------+ +-----------------------------+
| Generic | | TE Topology Model |
| TE Topology Model | | (Defined in This Document) |
+-------------------+ +-----------------------------+
| |
+-------------+-------------+-------------+ +-------------+-------------+-------------+
| | | | | | | |
V V V V V V V V
+------------+ +------------+ +------------+ +------------+
| Technology | | Technology | | Technology | | Technology |
| Specific | ...................... | Specific | | Specific | ...................... | Specific |
| TE Topology| | TE Topology| | TE Topology| | TE Topology|
| Model 1 | | Model n | | Model 1 | | Model n |
+------------+ +------------+ +------------+ +------------+
skipping to change at page 34, line 44 skipping to change at page 33, line 36
+--rw te-link-attributes +--rw te-link-attributes
+--rw access-type? te-types:te- +--rw access-type? te-types:te-
link-access-type link-access-type
+--rw external-domain +--rw external-domain
| +--rw network-ref? leafref | +--rw network-ref? leafref
| +--rw remote-te-node-id? te-types:te-node-id | +--rw remote-te-node-id? te-types:te-node-id
| +--rw remote-te-link-tp-id? te-types:te-tp-id | +--rw remote-te-link-tp-id? te-types:te-tp-id
| +--rw plug-id? uint32 | +--rw plug-id? uint32
+--rw is-abstract? empty +--rw is-abstract? empty
+--rw name? string +--rw name? string
+--rw underlay! {te-topology-hierarchy}? +--rw underlay {te-topology-hierarchy}?
| +--rw 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) | | +--:(ip-address)
| | | +--rw ip-address-hop | | | +--rw ip-address-hop
| | | +--rw address? inet:ip-address | | | +--rw address? inet:ip-address
| | | +--rw hop-type? te-hop-type | | | +--rw hop-type? te-hop-type
skipping to change at page 36, line 10 skipping to change at page 34, line 47
| | | +--rw interface-id? uint32 | | | +--rw interface-id? uint32
| | | +--rw hop-type? te-hop-type | | | +--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? uint16 | +--rw protection-type? identityref
| +--rw tunnel-termination-points
| | +--rw source? 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 admin-status? te-types:te- +--rw admin-status? te-types:te-
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
skipping to change at page 37, line 24 skipping to change at page 36, line 16
+--ro longitude? 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 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 is-allowed? boolean
| | +--rw label-restriction* [inclusive-exclusive label- | | +--rw label-restriction* [inclusive-exclusive label-
start] start]
| | | +--rw inclusive-exclusive enumeration | | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start 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 underlay! {te-topology-hierarchy}? | | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--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) | | | | +--:(ip-address)
| | | | | +--rw ip-address-hop | | | | | +--rw ip-address-hop
| | | | | +--rw address? inet:ip-address | | | | | +--rw address? inet:ip-address
| | | | | +--rw hop-type? te-hop-type | | | | | +--rw hop-type? te-hop-type
skipping to change at page 38, line 45 skipping to change at page 37, line 37
| | | | | +--rw interface-id? uint32 | | | | | +--rw interface-id? uint32
| | | | | +--rw hop-type? te-hop-type | | | | | +--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? uint16 | | | +--rw protection-type? identityref
| | | +--rw tunnel-termination-points
| | | | +--rw source? 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 max-lsp-bandwidth* [priority]
| | | +--rw priority uint8 | | | +--rw priority uint8
| | | +--rw bandwidth? te-bandwidth | | | +--rw bandwidth? te-bandwidth
| | +--rw max-link-bandwidth? te-bandwidth | | +--rw max-link-bandwidth? te-bandwidth
| | +--rw max-resv-link-bandwidth? te-bandwidth | | +--rw max-resv-link-bandwidth? te-bandwidth
skipping to change at page 39, line 22 skipping to change at page 38, line 16
| | | +--rw bandwidth? te-bandwidth | | | +--rw bandwidth? te-bandwidth
| | +--rw te-default-metric? uint32 | | +--rw te-default-metric? uint32
| | +--rw te-delay-metric? uint32 | | +--rw te-delay-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
| | +--rw connectivity-matrix* [id] | | +--rw connectivity-matrix* [id]
| | +--rw id uint32 | | +--rw id uint32
| | +--rw from | | +--rw from
| | | +--rw tp-ref? leafref | | | +--rw tp-ref? leafref
| | | +--rw label-restriction* [inclusive-exclusive
label-start]
| | | +--rw inclusive-exclusive enumeration
| | | +--rw label-start rt-
types:generalized-label
| | | +--rw label-end? rt-
types:generalized-label
| | | +--rw range-bitmap? binary
| | +--rw to | | +--rw to
| | | +--rw tp-ref? leafref | | | +--rw tp-ref? leafref
| | +--rw is-allowed? boolean | | | +--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 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 underlay! {te-topology-hierarchy}? | | +--rw is-allowed? boolean
| | +--rw underlay {te-topology-hierarchy}?
| | | +--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) | | | | +--:(ip-address)
| | | | | +--rw ip-address-hop | | | | | +--rw ip-address-hop
| | | | | +--rw address? inet:ip-address | | | | | +--rw address? inet:ip-address
| | | | | +--rw hop-type? te-hop-type | | | | | +--rw hop-type? te-hop-type
skipping to change at page 40, line 46 skipping to change at page 39, line 48
| | | | | +--rw interface-id? uint32 | | | | | +--rw interface-id? uint32
| | | | | +--rw hop-type? te-hop-type | | | | | +--rw hop-type? te-hop-type
| | | | +--:(label) | | | | +--:(label)
| | | | | +--rw label-hop | | | | | +--rw label-hop
| | | | | +--rw value? rt- | | | | | +--rw value? rt-
types:generalized-label types:generalized-label
| | | | +--:(sid) | | | | +--:(sid)
| | | | +--rw sid-hop | | | | +--rw sid-hop
| | | | +--rw sid? rt- | | | | +--rw sid? rt-
types:generalized-label types:generalized-label
| | | +--rw protection-type? uint16 | | | +--rw protection-type? identityref
| | | +--rw tunnel-termination-points
| | | | +--rw source? 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 max-lsp-bandwidth* [priority]
| | | +--rw priority uint8 | | | +--rw priority uint8
| | | +--rw bandwidth? te-bandwidth | | | +--rw bandwidth? te-bandwidth
| | +--rw max-link-bandwidth? te-bandwidth | | +--rw max-link-bandwidth? te-bandwidth
| | +--rw max-resv-link-bandwidth? te-bandwidth | | +--rw max-resv-link-bandwidth? te-bandwidth
skipping to change at page 41, line 32 skipping to change at page 40, line 36
| +--rw name? inet:domain-name | +--rw name? inet:domain-name
| +--rw signaling-address* inet:ip-address | +--rw signaling-address* inet:ip-address
| +--rw underlay-topology {te-topology-hierarchy}? | +--rw underlay-topology {te-topology-hierarchy}?
| +--rw network-ref? leafref | +--rw network-ref? leafref
+--ro state +--ro state
| +--ro te-node-template* leafref {template}? | +--ro te-node-template* leafref {template}?
| +--ro te-node-attributes | +--ro te-node-attributes
| | +--ro admin-status? te-types:te-admin-status | | +--ro admin-status? te-types:te-admin-status
| | +--ro connectivity-matrices | | +--ro connectivity-matrices
| | | +--ro number-of-entries? uint16 | | | +--ro number-of-entries? uint16
| | | +--ro is-allowed? boolean
| | | +--ro label-restriction* [inclusive-exclusive label- | | | +--ro label-restriction* [inclusive-exclusive label-
start] start]
| | | | +--ro inclusive-exclusive enumeration | | | | +--ro inclusive-exclusive enumeration
| | | | +--ro label-start rt-types:generalized- | | | | +--ro label-start rt-types:generalized-
label label
| | | | +--ro label-end? rt-types:generalized- | | | | +--ro label-end? rt-types:generalized-
label label
| | | | +--ro range-bitmap? binary | | | | +--ro range-bitmap? binary
| | | +--ro underlay! {te-topology-hierarchy}? | | | +--ro is-allowed? boolean
| | | +--ro underlay {te-topology-hierarchy}?
| | | | +--ro enabled? boolean
| | | | +--ro primary-path | | | | +--ro primary-path
| | | | | +--ro network-ref? leafref | | | | | +--ro network-ref? leafref
| | | | | +--ro path-element* [path-element-id] | | | | | +--ro path-element* [path-element-id]
| | | | | +--ro path-element-id uint32 | | | | | +--ro path-element-id uint32
| | | | | +--ro index? uint32 | | | | | +--ro index? uint32
| | | | | +--ro (type)? | | | | | +--ro (type)?
| | | | | +--:(ip-address) | | | | | +--:(ip-address)
| | | | | | +--ro ip-address-hop | | | | | | +--ro ip-address-hop
| | | | | | +--ro address? inet:ip-address | | | | | | +--ro address? inet:ip-address
| | | | | | +--ro hop-type? te-hop-type | | | | | | +--ro hop-type? te-hop-type
skipping to change at page 43, line 7 skipping to change at page 42, line 10
| | | | | | +--ro interface-id? uint32 | | | | | | +--ro interface-id? uint32
| | | | | | +--ro hop-type? te-hop-type | | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(label) | | | | | +--:(label)
| | | | | | +--ro label-hop | | | | | | +--ro label-hop
| | | | | | +--ro value? rt-types:generalized- | | | | | | +--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? uint16 | | | | +--ro protection-type? identityref
| | | | +--ro tunnel-termination-points
| | | | | +--ro source? binary
| | | | | +--ro destination? binary
| | | | +--ro tunnels | | | | +--ro tunnels
| | | | +--ro sharing? boolean | | | | +--ro sharing? boolean
| | | | +--ro tunnel* [tunnel-name] | | | | +--ro tunnel* [tunnel-name]
| | | | +--ro tunnel-name string | | | | +--ro tunnel-name string
| | | | +--ro sharing? boolean | | | | +--ro sharing? boolean
| | | +--ro max-lsp-bandwidth* [priority] | | | +--ro max-lsp-bandwidth* [priority]
| | | | +--ro priority uint8 | | | | +--ro priority uint8
| | | | +--ro bandwidth? te-bandwidth | | | | +--ro bandwidth? te-bandwidth
| | | +--ro max-link-bandwidth? te-bandwidth | | | +--ro max-link-bandwidth? te-bandwidth
| | | +--ro max-resv-link-bandwidth? te-bandwidth | | | +--ro max-resv-link-bandwidth? te-bandwidth
skipping to change at page 43, line 30 skipping to change at page 42, line 36
| | | | +--ro bandwidth? te-bandwidth | | | | +--ro bandwidth? te-bandwidth
| | | +--ro te-default-metric? uint32 | | | +--ro te-default-metric? uint32
| | | +--ro te-delay-metric? uint32 | | | +--ro te-delay-metric? uint32
| | | +--ro te-srlgs | | | +--ro te-srlgs
| | | | +--ro value* te-types:srlg | | | | +--ro value* te-types:srlg
| | | +--ro te-nsrlgs {nsrlg}? | | | +--ro te-nsrlgs {nsrlg}?
| | | | +--ro id* uint32 | | | | +--ro id* uint32
| | | +--ro connectivity-matrix* [id] | | | +--ro connectivity-matrix* [id]
| | | +--ro id uint32 | | | +--ro id uint32
| | | +--ro from | | | +--ro from
| | | | +--ro tp-ref? leafref | | | | +--ro tp-ref? leafref
| | | | +--ro 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 to
| | | | +--ro tp-ref? leafref | | | | +--ro tp-ref? leafref
| | | +--ro is-allowed? boolean | | | | +--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 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 underlay! {te-topology-hierarchy}? | | | +--ro is-allowed? boolean
| | | +--ro underlay {te-topology-hierarchy}?
| | | | +--ro enabled? boolean
| | | | +--ro primary-path | | | | +--ro primary-path
| | | | | +--ro network-ref? leafref | | | | | +--ro network-ref? leafref
| | | | | +--ro path-element* [path-element-id] | | | | | +--ro path-element* [path-element-id]
| | | | | +--ro path-element-id uint32 | | | | | +--ro path-element-id uint32
| | | | | +--ro index? uint32 | | | | | +--ro index? uint32
| | | | | +--ro (type)? | | | | | +--ro (type)?
| | | | | +--:(ip-address) | | | | | +--:(ip-address)
| | | | | | +--ro ip-address-hop | | | | | | +--ro ip-address-hop
| | | | | | +--ro address? inet:ip-address | | | | | | +--ro address? inet:ip-address
| | | | | | +--ro hop-type? te-hop-type | | | | | | +--ro hop-type? te-hop-type
skipping to change at page 45, line 8 skipping to change at page 44, line 22
| | | | | | +--ro interface-id? uint32 | | | | | | +--ro interface-id? uint32
| | | | | | +--ro hop-type? te-hop-type | | | | | | +--ro hop-type? te-hop-type
| | | | | +--:(label) | | | | | +--:(label)
| | | | | | +--ro label-hop | | | | | | +--ro label-hop
| | | | | | +--ro value? rt- | | | | | | +--ro value? rt-
types:generalized-label types:generalized-label
| | | | | +--:(sid) | | | | | +--:(sid)
| | | | | +--ro sid-hop | | | | | +--ro sid-hop
| | | | | +--ro sid? rt- | | | | | +--ro sid? rt-
types:generalized-label types:generalized-label
| | | | +--ro protection-type? uint16 | | | | +--ro protection-type? identityref
| | | | +--ro tunnel-termination-points
| | | | | +--ro source? binary
| | | | | +--ro destination? binary
| | | | +--ro tunnels | | | | +--ro tunnels
| | | | +--ro sharing? boolean | | | | +--ro sharing? boolean
| | | | +--ro tunnel* [tunnel-name] | | | | +--ro tunnel* [tunnel-name]
| | | | +--ro tunnel-name string | | | | +--ro tunnel-name string
| | | | +--ro sharing? boolean | | | | +--ro sharing? boolean
| | | +--ro max-lsp-bandwidth* [priority] | | | +--ro max-lsp-bandwidth* [priority]
| | | | +--ro priority uint8 | | | | +--ro priority uint8
| | | | +--ro bandwidth? te-bandwidth | | | | +--ro bandwidth? te-bandwidth
| | | +--ro max-link-bandwidth? te-bandwidth | | | +--ro max-link-bandwidth? te-bandwidth
| | | +--ro max-resv-link-bandwidth? te-bandwidth | | | +--ro max-resv-link-bandwidth? te-bandwidth
skipping to change at page 46, line 13 skipping to change at page 45, line 29
| +--ro information-source te-info-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 network-ref? leafref
| | +--ro node-ref? leafref | | +--ro node-ref? leafref
| +--ro connectivity-matrices | +--ro connectivity-matrices
| | +--ro number-of-entries? uint16 | | +--ro number-of-entries? uint16
| | +--ro is-allowed? boolean
| | +--ro label-restriction* [inclusive-exclusive label- | | +--ro label-restriction* [inclusive-exclusive label-
start] start]
| | | +--ro inclusive-exclusive enumeration | | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-types:generalized- | | | +--ro label-start rt-types:generalized-
label label
| | | +--ro label-end? rt-types:generalized- | | | +--ro label-end? rt-types:generalized-
label label
| | | +--ro range-bitmap? binary | | | +--ro range-bitmap? binary
| | +--ro underlay! {te-topology-hierarchy}? | | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path | | | +--ro primary-path
| | | | +--ro network-ref? leafref | | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id] | | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32 | | | | +--ro path-element-id uint32
| | | | +--ro index? uint32 | | | | +--ro index? uint32
| | | | +--ro (type)? | | | | +--ro (type)?
| | | | +--:(ip-address) | | | | +--:(ip-address)
| | | | | +--ro ip-address-hop | | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address | | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
skipping to change at page 47, line 35 skipping to change at page 46, line 50
| | | | | +--ro interface-id? uint32 | | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
| | | | +--:(label) | | | | +--:(label)
| | | | | +--ro label-hop | | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized- | | | | | +--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? uint16 | | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels | | | +--ro tunnels
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name] | | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string | | | +--ro tunnel-name string
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | +--ro max-lsp-bandwidth* [priority] | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? te-bandwidth | | | +--ro bandwidth? te-bandwidth
| | +--ro max-link-bandwidth? te-bandwidth | | +--ro max-link-bandwidth? te-bandwidth
| | +--ro max-resv-link-bandwidth? te-bandwidth | | +--ro max-resv-link-bandwidth? te-bandwidth
skipping to change at page 48, line 12 skipping to change at page 47, line 29
| | | +--ro bandwidth? te-bandwidth | | | +--ro bandwidth? te-bandwidth
| | +--ro te-default-metric? uint32 | | +--ro te-default-metric? uint32
| | +--ro te-delay-metric? uint32 | | +--ro te-delay-metric? uint32
| | +--ro te-srlgs | | +--ro te-srlgs
| | | +--ro value* te-types:srlg | | | +--ro value* te-types:srlg
| | +--ro te-nsrlgs {nsrlg}? | | +--ro te-nsrlgs {nsrlg}?
| | | +--ro id* uint32 | | | +--ro id* uint32
| | +--ro connectivity-matrix* [id] | | +--ro connectivity-matrix* [id]
| | +--ro id uint32 | | +--ro id uint32
| | +--ro from | | +--ro from
| | | +--ro tp-ref? leafref | | | +--ro tp-ref? leafref
| | | +--ro 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 to
| | | +--ro tp-ref? leafref | | | +--ro tp-ref? leafref
| | +--ro is-allowed? boolean | | | +--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 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 underlay! {te-topology-hierarchy}? | | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path | | | +--ro primary-path
| | | | +--ro network-ref? leafref | | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id] | | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32 | | | | +--ro path-element-id uint32
| | | | +--ro index? uint32 | | | | +--ro index? uint32
| | | | +--ro (type)? | | | | +--ro (type)?
| | | | +--:(ip-address) | | | | +--:(ip-address)
| | | | | +--ro ip-address-hop | | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address | | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
skipping to change at page 49, line 36 skipping to change at page 49, line 14
| | | | | +--ro interface-id? uint32 | | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
| | | | +--:(label) | | | | +--:(label)
| | | | | +--ro label-hop | | | | | +--ro label-hop
| | | | | +--ro value? rt- | | | | | +--ro value? rt-
types:generalized-label types:generalized-label
| | | | +--:(sid) | | | | +--:(sid)
| | | | +--ro sid-hop | | | | +--ro sid-hop
| | | | +--ro sid? rt- | | | | +--ro sid? rt-
types:generalized-label types:generalized-label
| | | +--ro protection-type? uint16 | | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels | | | +--ro tunnels
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name] | | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string | | | +--ro tunnel-name string
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | +--ro max-lsp-bandwidth* [priority] | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? te-bandwidth | | | +--ro bandwidth? te-bandwidth
| | +--ro max-link-bandwidth? te-bandwidth | | +--ro max-link-bandwidth? te-bandwidth
| | +--ro max-resv-link-bandwidth? te-bandwidth | | +--ro max-resv-link-bandwidth? te-bandwidth
skipping to change at page 50, line 33 skipping to change at page 50, line 13
| | +--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 config
| +--rw admin-status? te-types:te-admin-
status
| +--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? te-bandwidth
| +--rw local-link-connectivities | +--rw local-link-connectivities
| +--rw number-of-entries? uint16 | +--rw number-of-entries? uint16
| +--rw is-allowed? boolean
| +--rw label-restriction* [inclusive-exclusive label- | +--rw label-restriction* [inclusive-exclusive label-
start] start]
| | +--rw inclusive-exclusive enumeration | | +--rw inclusive-exclusive enumeration
| | +--rw label-start 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 underlay! {te-topology-hierarchy}? | +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}?
| | +--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) | | | +--:(ip-address)
| | | | +--rw ip-address-hop | | | | +--rw ip-address-hop
| | | | +--rw address? inet:ip-address | | | | +--rw address? inet:ip-address
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
skipping to change at page 52, line 21 skipping to change at page 51, line 49
| | | | +--rw interface-id? uint32 | | | | +--rw interface-id? uint32
| | | | +--rw hop-type? te-hop-type | | | | +--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? uint16 | | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? 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 max-lsp-bandwidth* [priority]
| | +--rw priority uint8 | | +--rw priority uint8
| | +--rw bandwidth? te-bandwidth | | +--rw bandwidth? te-bandwidth
| +--rw max-link-bandwidth? te-bandwidth | +--rw max-link-bandwidth? te-bandwidth
| +--rw max-resv-link-bandwidth? te-bandwidth | +--rw max-resv-link-bandwidth? te-bandwidth
skipping to change at page 52, line 43 skipping to change at page 52, line 27
| | +--rw priority uint8 | | +--rw priority uint8
| | +--rw bandwidth? te-bandwidth | | +--rw bandwidth? te-bandwidth
| +--rw te-default-metric? uint32 | +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32 | +--rw te-delay-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
| +--rw local-link-connectivity* [link-tp-ref] | +--rw local-link-connectivity* [link-tp-ref]
| +--rw link-tp-ref leafref | +--rw link-tp-ref leafref
| +--rw is-allowed? boolean
| +--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 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 underlay! {te-topology-hierarchy}? | +--rw is-allowed? boolean
| +--rw underlay {te-topology-hierarchy}?
| | +--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) | | | +--:(ip-address)
| | | | +--rw ip-address-hop | | | | +--rw ip-address-hop
| | | | +--rw address? inet:ip-address | | | | +--rw address? inet:ip-address
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
skipping to change at page 54, line 19 skipping to change at page 53, line 48
| | | | +--rw interface-id? uint32 | | | | +--rw interface-id? uint32
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
| | | +--:(label) | | | +--:(label)
| | | | +--rw label-hop | | | | +--rw label-hop
| | | | +--rw value? rt- | | | | +--rw value? rt-
types:generalized-label types:generalized-label
| | | +--:(sid) | | | +--:(sid)
| | | +--rw sid-hop | | | +--rw sid-hop
| | | +--rw sid? rt- | | | +--rw sid? rt-
types:generalized-label types:generalized-label
| | +--rw protection-type? uint16 | | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? 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 max-lsp-bandwidth* [priority]
| | +--rw priority uint8 | | +--rw priority uint8
| | +--rw bandwidth? te-bandwidth | | +--rw bandwidth? te-bandwidth
| +--rw max-link-bandwidth? te-bandwidth | +--rw max-link-bandwidth? te-bandwidth
| +--rw max-resv-link-bandwidth? te-bandwidth | +--rw max-resv-link-bandwidth? te-bandwidth
| +--rw unreserved-bandwidth* [priority] | +--rw unreserved-bandwidth* [priority]
| | +--rw priority uint8 | | +--rw priority uint8
| | +--rw bandwidth? te-bandwidth | | +--rw bandwidth? te-bandwidth
| +--rw te-default-metric? uint32 | +--rw te-default-metric? uint32
| +--rw te-delay-metric? uint32 | +--rw te-delay-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
+--ro state +--ro state
| +--ro admin-status? te-types:te-admin-
status
| +--ro name? string
| +--ro switching-capability? identityref | +--ro switching-capability? identityref
| +--ro encoding? identityref | +--ro encoding? identityref
| +--ro inter-layer-lock-id? uint32 | +--ro inter-layer-lock-id* uint32
| +--ro protection-type? identityref | +--ro protection-type? identityref
| +--ro client-layer-adaptation | +--ro client-layer-adaptation
| | +--ro switching-capability* [switching-capability | | +--ro switching-capability* [switching-capability
encoding] encoding]
| | +--ro switching-capability identityref | | +--ro switching-capability identityref
| | +--ro encoding identityref | | +--ro encoding identityref
| | +--ro bandwidth? te-bandwidth | | +--ro bandwidth? te-bandwidth
| +--ro local-link-connectivities | +--ro local-link-connectivities
| | +--ro number-of-entries? uint16 | | +--ro number-of-entries? uint16
| | +--ro is-allowed? boolean
| | +--ro label-restriction* [inclusive-exclusive label- | | +--ro label-restriction* [inclusive-exclusive label-
start] start]
| | | +--ro inclusive-exclusive enumeration | | | +--ro inclusive-exclusive enumeration
| | | +--ro label-start rt-types:generalized- | | | +--ro label-start rt-types:generalized-
label label
| | | +--ro label-end? rt-types:generalized- | | | +--ro label-end? rt-types:generalized-
label label
| | | +--ro range-bitmap? binary | | | +--ro range-bitmap? binary
| | +--ro underlay! {te-topology-hierarchy}? | | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path | | | +--ro primary-path
| | | | +--ro network-ref? leafref | | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id] | | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32 | | | | +--ro path-element-id uint32
| | | | +--ro index? uint32 | | | | +--ro index? uint32
| | | | +--ro (type)? | | | | +--ro (type)?
| | | | +--:(ip-address) | | | | +--:(ip-address)
| | | | | +--ro ip-address-hop | | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address | | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
skipping to change at page 56, line 27 skipping to change at page 56, line 14
| | | | | +--ro interface-id? uint32 | | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
| | | | +--:(label) | | | | +--:(label)
| | | | | +--ro label-hop | | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized- | | | | | +--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? uint16 | | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels | | | +--ro tunnels
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name] | | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string | | | +--ro tunnel-name string
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | +--ro max-lsp-bandwidth* [priority] | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? te-bandwidth | | | +--ro bandwidth? te-bandwidth
| | +--ro max-link-bandwidth? te-bandwidth | | +--ro max-link-bandwidth? te-bandwidth
| | +--ro max-resv-link-bandwidth? te-bandwidth | | +--ro max-resv-link-bandwidth? te-bandwidth
skipping to change at page 56, line 49 skipping to change at page 56, line 39
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? te-bandwidth | | | +--ro bandwidth? te-bandwidth
| | +--ro te-default-metric? uint32 | | +--ro te-default-metric? uint32
| | +--ro te-delay-metric? uint32 | | +--ro te-delay-metric? uint32
| | +--ro te-srlgs | | +--ro te-srlgs
| | | +--ro value* te-types:srlg | | | +--ro value* te-types:srlg
| | +--ro te-nsrlgs {nsrlg}? | | +--ro te-nsrlgs {nsrlg}?
| | | +--ro id* uint32 | | | +--ro id* uint32
| | +--ro local-link-connectivity* [link-tp-ref] | | +--ro local-link-connectivity* [link-tp-ref]
| | +--ro link-tp-ref leafref | | +--ro link-tp-ref leafref
| | +--ro is-allowed? boolean
| | +--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 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 underlay! {te-topology-hierarchy}? | | +--ro is-allowed? boolean
| | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path | | | +--ro primary-path
| | | | +--ro network-ref? leafref | | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id] | | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32 | | | | +--ro path-element-id uint32
| | | | +--ro index? uint32 | | | | +--ro index? uint32
| | | | +--ro (type)? | | | | +--ro (type)?
| | | | +--:(ip-address) | | | | +--:(ip-address)
| | | | | +--ro ip-address-hop | | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address | | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
skipping to change at page 58, line 24 skipping to change at page 58, line 13
| | | | | +--ro interface-id? uint32 | | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
| | | | +--:(label) | | | | +--:(label)
| | | | | +--ro label-hop | | | | | +--ro label-hop
| | | | | +--ro value? rt- | | | | | +--ro value? rt-
types:generalized-label types:generalized-label
| | | | +--:(sid) | | | | +--:(sid)
| | | | +--ro sid-hop | | | | +--ro sid-hop
| | | | +--ro sid? rt- | | | | +--ro sid? rt-
types:generalized-label types:generalized-label
| | | +--ro protection-type? uint16 | | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels | | | +--ro tunnels
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name] | | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string | | | +--ro tunnel-name string
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | +--ro max-lsp-bandwidth* [priority] | | +--ro max-lsp-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? te-bandwidth | | | +--ro bandwidth? te-bandwidth
| | +--ro max-link-bandwidth? te-bandwidth | | +--ro max-link-bandwidth? te-bandwidth
| | +--ro max-resv-link-bandwidth? te-bandwidth | | +--ro max-resv-link-bandwidth? te-bandwidth
| | +--ro unreserved-bandwidth* [priority] | | +--ro unreserved-bandwidth* [priority]
| | | +--ro priority uint8 | | | +--ro priority uint8
| | | +--ro bandwidth? te-bandwidth | | | +--ro bandwidth? te-bandwidth
| | +--ro te-default-metric? uint32 | | +--ro te-default-metric? uint32
| | +--ro te-delay-metric? uint32 | | +--ro te-delay-metric? uint32
| | +--ro te-srlgs | | +--ro te-srlgs
| | | +--ro value* te-types:srlg | | | +--ro value* te-types:srlg
| | +--ro te-nsrlgs {nsrlg}? | | +--ro te-nsrlgs {nsrlg}?
| | +--ro id* uint32 | | +--ro id* uint32
| +--ro oper-status? te-types:te-oper-
status
| +--ro geolocation | +--ro geolocation
| +--ro altitude? int64 | +--ro altitude? int64
| +--ro latitude? geographic-coordinate-degree | +--ro latitude? geographic-coordinate-degree
| +--ro longitude? 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
skipping to change at page 60, line 5 skipping to change at page 59, line 44
| +--rw te-link-attributes | +--rw te-link-attributes
| +--rw access-type? te-types:te-link- | +--rw access-type? te-types:te-link-
access-type access-type
| +--rw external-domain | +--rw external-domain
| | +--rw network-ref? leafref | | +--rw network-ref? leafref
| | +--rw remote-te-node-id? te-types:te-node-id | | +--rw remote-te-node-id? te-types:te-node-id
| | +--rw remote-te-link-tp-id? te-types:te-tp-id | | +--rw remote-te-link-tp-id? te-types:te-tp-id
| | +--rw plug-id? uint32 | | +--rw plug-id? uint32
| +--rw is-abstract? empty | +--rw is-abstract? empty
| +--rw name? string | +--rw name? string
| +--rw underlay! {te-topology-hierarchy}? | +--rw underlay {te-topology-hierarchy}?
| | +--rw 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) | | | +--:(ip-address)
| | | | +--rw ip-address-hop | | | | +--rw ip-address-hop
| | | | +--rw address? inet:ip-address | | | | +--rw address? inet:ip-address
| | | | +--rw hop-type? te-hop-type | | | | +--rw hop-type? te-hop-type
skipping to change at page 61, line 13 skipping to change at page 61, line 5
| | | | +--rw router-id? inet:ip-address | | | | +--rw router-id? inet:ip-address
| | | | +--rw interface-id? uint32 | | | | +--rw interface-id? uint32
| | | | +--rw hop-type? te-hop-type | | | | +--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-label | | | +--rw sid? rt-types:generalized-label
| | +--rw protection-type? uint16 | | +--rw protection-type? identityref
| | +--rw tunnel-termination-points
| | | +--rw source? 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 admin-status? te-types:te- | +--rw admin-status? te-types:te-
admin-status admin-status
| +--rw link-index? uint64 | +--rw link-index? uint64
| +--rw administrative-group? te-types:admin- | +--rw administrative-group? te-types:admin-
groups groups
skipping to change at page 62, line 22 skipping to change at page 62, line 16
| +--ro te-link-attributes | +--ro te-link-attributes
| | +--ro access-type? te-types:te-link- | | +--ro access-type? te-types:te-link-
access-type access-type
| | +--ro external-domain | | +--ro external-domain
| | | +--ro network-ref? leafref | | | +--ro network-ref? leafref
| | | +--ro remote-te-node-id? te-types:te-node-id | | | +--ro remote-te-node-id? te-types:te-node-id
| | | +--ro remote-te-link-tp-id? te-types:te-tp-id | | | +--ro remote-te-link-tp-id? te-types:te-tp-id
| | | +--ro plug-id? uint32 | | | +--ro plug-id? uint32
| | +--ro is-abstract? empty | | +--ro is-abstract? empty
| | +--ro name? string | | +--ro name? string
| | +--ro underlay! {te-topology-hierarchy}? | | +--ro underlay {te-topology-hierarchy}?
| | | +--ro enabled? boolean
| | | +--ro primary-path | | | +--ro primary-path
| | | | +--ro network-ref? leafref | | | | +--ro network-ref? leafref
| | | | +--ro path-element* [path-element-id] | | | | +--ro path-element* [path-element-id]
| | | | +--ro path-element-id uint32 | | | | +--ro path-element-id uint32
| | | | +--ro index? uint32 | | | | +--ro index? uint32
| | | | +--ro (type)? | | | | +--ro (type)?
| | | | +--:(ip-address) | | | | +--:(ip-address)
| | | | | +--ro ip-address-hop | | | | | +--ro ip-address-hop
| | | | | +--ro address? inet:ip-address | | | | | +--ro address? inet:ip-address
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
skipping to change at page 63, line 30 skipping to change at page 63, line 24
| | | | | +--ro router-id? inet:ip-address | | | | | +--ro router-id? inet:ip-address
| | | | | +--ro interface-id? uint32 | | | | | +--ro interface-id? uint32
| | | | | +--ro hop-type? te-hop-type | | | | | +--ro hop-type? te-hop-type
| | | | +--:(label) | | | | +--:(label)
| | | | | +--ro label-hop | | | | | +--ro label-hop
| | | | | +--ro value? rt-types:generalized- | | | | | +--ro value? rt-types:generalized-
label label
| | | | +--:(sid) | | | | +--:(sid)
| | | | +--ro sid-hop | | | | +--ro sid-hop
| | | | +--ro sid? rt-types:generalized-label | | | | +--ro sid? rt-types:generalized-label
| | | +--ro protection-type? uint16 | | | +--ro protection-type? identityref
| | | +--ro tunnel-termination-points
| | | | +--ro source? binary
| | | | +--ro destination? binary
| | | +--ro tunnels | | | +--ro tunnels
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | | +--ro tunnel* [tunnel-name] | | | +--ro tunnel* [tunnel-name]
| | | +--ro tunnel-name string | | | +--ro tunnel-name string
| | | +--ro sharing? boolean | | | +--ro sharing? boolean
| | +--ro admin-status? te-types:te- | | +--ro admin-status? te-types:te-
admin-status admin-status
| | +--ro link-index? uint64 | | +--ro link-index? uint64
| | +--ro administrative-group? te-types:admin- | | +--ro administrative-group? te-types:admin-
groups groups
skipping to change at page 65, line 38 skipping to change at page 65, line 33
+--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 config
| +--rw admin-status? te-types:te-admin-
status
| +--rw name? string
| +--rw interface-switching-capability* [switching-capability | +--rw interface-switching-capability* [switching-capability
encoding] 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? te-bandwidth
| +--rw inter-layer-lock-id? uint32 | +--rw inter-layer-lock-id* uint32
+--ro state +--ro state
+--ro admin-status? te-types:te-admin-
status
+--ro name? string
+--ro interface-switching-capability* [switching-capability +--ro interface-switching-capability* [switching-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? te-bandwidth
+--ro inter-layer-lock-id? uint32 +--ro inter-layer-lock-id* uint32
+--ro oper-status? te-types:te-oper-
status
+--ro geolocation +--ro geolocation
+--ro altitude? int64 +--ro altitude? int64
+--ro latitude? geographic-coordinate-degree +--ro latitude? geographic-coordinate-degree
+--ro longitude? 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-03-12.yang" <CODE BEGINS> file "ietf-te-topology@2017-06-10.yang"
module ietf-te-topology { module ietf-te-topology {
yang-version 1.1; yang-version 1.1;
namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology";
prefix "tet"; prefix "tet";
import ietf-yang-types { import ietf-yang-types {
prefix "yang"; prefix "yang";
} }
skipping to change at page 67, line 38 skipping to change at page 67, line 41
<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-03-12" { revision "2017-06-10" {
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).";
skipping to change at page 72, line 8 skipping to change at page 72, line 4
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-restrictions
} // connectivity-label-restriction-list
grouping connectivity-matrix-entry-attributes { grouping connectivity-matrix-entry-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.";
} }
uses connectivity-label-restriction-list;
container underlay { container underlay {
if-feature te-topology-hierarchy; if-feature te-topology-hierarchy;
presence
"Indicates the underlay exists for this link.";
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-iscd-attributes;
uses te-link-connectivity-attributes; uses te-link-connectivity-attributes;
skipping to change at page 84, line 4 skipping to change at page 83, line 26
} }
leaf disables { leaf disables {
type yang:counter32; type yang:counter32;
description description
"Number of times that an LLCL entry was disabled."; "Number of times that an LLCL entry was disabled.";
} }
leaf enables { leaf enables {
type yang:counter32; type yang:counter32;
description description
"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.";
container te {
must "count(../nt: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.";
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-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 88, line 37 skipping to change at page 87, line 19
leaf is-abstract { leaf is-abstract {
type empty; type empty;
description "Present if the link is abstract."; description "Present if the link is abstract.";
} }
leaf name { leaf name {
type string; type string;
description "Link Name."; description "Link Name.";
} }
container underlay { container underlay {
if-feature te-topology-hierarchy; if-feature te-topology-hierarchy;
presence
"Indicates the underlay exists for this link.";
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
leaf admin-status { leaf admin-status {
type te-types:te-admin-status; type te-types:te-admin-status;
skipping to change at page 94, line 26 skipping to change at page 92, line 41
} }
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;
description "State attributes for te-link underlay."; description "State attributes for te-link underlay.";
uses te-link-state-underlay-attributes; leaf dynamic {
type boolean;
description
"true if the underlay is dynamically created.";
}
leaf committed {
type boolean;
description
"true if the underlay is committed.";
}
} }
} // te-link-state-derived } // te-link-state-derived
grouping te-link-state-underlay-attributes {
description "State attributes for te-link underlay.";
leaf dynamic {
type boolean;
description
"true if the underlay is dynamically created.";
}
leaf committed {
type boolean;
description
"true if the underlay is committed.";
}
} // te-link-state-underlay-attributes
grouping te-link-underlay-attributes { grouping te-link-underlay-attributes {
description "Attributes for te-link underlay."; description "Attributes for te-link underlay.";
reference reference
"RFC4206: Label Switched Paths (LSP) Hierarchy with "RFC4206: Label Switched Paths (LSP) Hierarchy with
Generalized Multi-Protocol Label Switching (GMPLS) Generalized Multi-Protocol Label Switching (GMPLS)
Traffic Engineering (TE)"; Traffic Engineering (TE)";
leaf enabled {
type boolean;
description
"'true' if the underlay is enabled.
'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 te-topology-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 {
skipping to change at page 96, line 13 skipping to change at page 94, line 27
"A list of path elements describing the backup service "A list of path elements describing the backup service
path"; path";
leaf path-element-id { leaf path-element-id {
type uint32; type uint32;
description "To identify the element in a path."; description "To identify the element in a path.";
} }
uses te-path-element; uses te-path-element;
} }
} // underlay-backup-path } // underlay-backup-path
leaf protection-type { leaf protection-type {
type uint16; type identityref {
base te-types:lsp-prot-type;
}
description description
"Underlay protection type desired for this link"; "Underlay protection type desired for this link.";
}
container tunnel-termination-points {
description
"Underlay TTP(Tunnel Termination Points) desired for this
link.";
leaf source {
type binary;
description
"Source tunnel termination point identifier.";
}
leaf destination {
type binary;
description
"Destination tunnel termination point identifier.";
}
} }
container tunnels { container tunnels {
description description
"Underlay TE tunnels supporting this TE link."; "Underlay TE tunnels supporting this TE link.";
leaf sharing { leaf sharing {
type boolean; type boolean;
default true; default true;
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;
skipping to change at page 97, line 16 skipping to change at page 96, line 4
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
grouping te-node-augment {
description
"Augmentation for TE node.";
leaf te-node-id {
type te-types:te-node-id;
description
"The identifier of a node in the TE topology.
A node is specific to a topology to which it belongs.";
}
container te {
must "../te-node-id" {
description
"te-node-id is mandatory.";
}
must "count(../nw: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.";
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; } // te-link-underlay-attributes
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;
/* The followings are the intended valications
* but some Yang validation tools fail on them.
type union {
type leafref {
path "../../../../nw:supporting-node/nw:node-ref";
require-instance false;
}
type leafref {
path "/nw:networks/nw:network"+
"[nw:network-id="+
"current()/../../../../te/config/"+
"te-node-attributes/underlay-topology/"+
"network-ref]/nw:node/nw:node-id";
require-instance false;
}
type leafref {
path "/nw:networks/nw:network"+
"[nw:network-id="+
"current()/../../../../te/state/"+
"te-node-attributes/underlay-topology/"+
"network-ref]/nw:node/nw:node-id";
require-instance false;
}
}
***************************************************/
description
"This leaf identifies in which node the supporting
tunnel termination point is present.";
}
leaf tunnel-tp-ref {
type binary;
/* The followings are the intended valications
* but some Yang validation tools fail on them.
type union {
type leafref {
path "/nw:networks/nw:network"+
"[nw:network-id="+
"current()/../../../../nw:supporting-node/"+
"nw:network-ref]/"+
"nw:node[nw:node-id=current()/../node-ref]/te/"+
"tunnel-termination-point/tunnel-tp-id";
require-instance false;
}
type leafref {
path "/nw:networks/nw:network"+
"[nw:network-id="+
"current()/../../../../te/config/"+
"te-node-attributes/underlay-topology/"+
"network-ref]/"+
"nw:node[nw:node-id=current()/../node-ref]/te/"+
"tunnel-termination-point/tunnel-tp-id";
require-instance false;
}
type leafref {
path "/nw:networks/nw:network"+
"[nw:network-id="+
"current()/../../../../te/state/"+
"te-node-attributes/underlay-topology/"+
"network-ref]/"+
"nw:node[nw:node-id=current()/../node-ref]/te/"+
"tunnel-termination-point/tunnel-tp-id";
require-instance false;
}
}
***************************************************/
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-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
skipping to change at page 102, line 33 skipping to change at page 97, line 23
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-matrix-entry-attributes; uses connectivity-matrix-entry-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 { container from {
description
"Reference to source link termination point.";
leaf tp-ref { leaf tp-ref {
type leafref { type leafref {
path "../../../../../../../nt:termination-point/"+ path "../../../../../../../nt:termination-point/"+
"nt:tp-id"; "nt:tp-id";
} }
description description
"Relative reference to source termination point."; "Relative reference to source termination point.";
} }
description uses connectivity-label-restriction-list;
"Reference to source NTP.";
} }
container to { container to {
description
"Reference to destination link termination point.";
leaf tp-ref { leaf tp-ref {
type leafref { type leafref {
path "../../../../../../../nt:termination-point/"+ path "../../../../../../../nt:termination-point/"+
"nt:tp-id"; "nt:tp-id";
} }
description description
"Relative reference to destination termination point."; "Relative reference to destination termination point.";
} }
description uses connectivity-label-restriction-list;
"Reference to destination NTP.";
} }
uses connectivity-matrix-entry-attributes; uses connectivity-matrix-entry-attributes;
} // connectivity-matrix } // connectivity-matrix
} // connectivity-matrices } // connectivity-matrices
} // te-node-connectivity-matrix } // te-node-connectivity-matrix
grouping te-node-connectivity-matrix-abs { grouping te-node-connectivity-matrix-abs {
description description
"Connectivity matrix on a TE node, using absolute "Connectivity matrix on a TE node, using absolute
paths to reference termination points."; paths to reference termination points.";
skipping to change at page 106, line 21 skipping to change at page 101, line 9
key "information-source"; key "information-source";
description description
"A list of information sources learned, including the one "A list of information sources learned, including the one
used."; used.";
uses information-source-per-node-attributes; uses information-source-per-node-attributes;
uses te-node-connectivity-matrix; uses te-node-connectivity-matrix;
uses te-node-info-attributes; uses te-node-info-attributes;
} }
} // te-node-state-derived } // te-node-state-derived
grouping te-node-state-derived-notification {
description "Node state attributes in a TE topology.";
leaf oper-status {
type te-types:te-oper-status;
description
"The current operational state of the node.";
}
leaf is-multi-access-dr {
type empty;
description
"The presence of this attribute indicates that this TE node
is a pseudonode elected as a designated router.";
reference
"RFC3630: Traffic Engineering (TE) Extensions to OSPF
Version 2.
RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual
Environments.";
}
uses information-source-per-node-attributes;
list information-source-entry {
key "information-source";
description
"A list of information sources learned, including the one
used.";
uses information-source-per-node-attributes;
uses te-node-connectivity-matrix-abs;
uses te-node-info-attributes;
}
} // te-node-state-derived-notification
grouping te-node-tunnel-termination-attributes { grouping te-node-tunnel-termination-attributes {
description description
"Termination capability of a tunnel termination point on a "Termination capability of a tunnel termination point on a
TE node."; TE node.";
leaf admin-status {
type te-types:te-admin-status;
description
"The administrative state of the tunnel termination point.";
}
leaf name {
type string;
description
"A descriptive name for the tunnel termination point.";
}
leaf switching-capability { leaf switching-capability {
type identityref { type identityref {
base te-types:switching-capabilities; base te-types:switching-capabilities;
} }
description description
"Switching Capability for this interface."; "Switching Capability for this interface.";
} }
leaf encoding { leaf encoding {
type identityref { type identityref {
base te-types:lsp-encoding-types; base te-types:lsp-encoding-types;
} }
description description
"Encoding supported by this interface."; "Encoding supported by this interface.";
} }
leaf inter-layer-lock-id { leaf-list inter-layer-lock-id {
type uint32; type uint32;
description description
"Inter layer lock ID, used for path computation in a TE "Inter layer lock ID, used for path computation in a TE
topology covering multiple layers or multiple regions."; topology covering multiple layers or multiple regions.";
reference reference
"RFC5212: Requirements for GMPLS-Based Multi-Region and "RFC5212: Requirements for GMPLS-Based Multi-Region and
Multi-Layer Networks (MRN/MLN). Multi-Layer Networks (MRN/MLN).
RFC6001: Generalized MPLS (GMPLS) Protocol Extensions RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN)."; for Multi-Layer and Multi-Region Networks (MLN/MRN).";
} }
skipping to change at page 109, line 18 skipping to change at page 103, line 25
leaf number-of-entries { leaf number-of-entries {
type uint16; type uint16;
description description
"The number of local link connectivity list entries. "The number of local link connectivity list 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-matrix-entry-attributes; uses connectivity-matrix-entry-attributes;
list local-link-connectivity { list local-link-connectivity {
key "link-tp-ref"; key "link-tp-ref";
description description
"The termination capabilities between "The termination capabilities between
tunnel-termination-point and link termination-point. tunnel-termination-point and link termination-point.
The capability information can be used to compute The capability information can be used to compute
the tunnel path. the tunnel path.
The Interface Adjustment Capability Descriptors (IACD) The Interface Adjustment Capability Descriptors (IACD)
[RFC6001] on each link-tp can be derived from this [RFC6001] on each link-tp can be derived from this
skipping to change at page 109, line 40 skipping to change at page 104, line 7
"RFC6001: Generalized MPLS (GMPLS) Protocol Extensions "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN)."; for Multi-Layer and Multi-Region Networks (MLN/MRN).";
leaf link-tp-ref { leaf link-tp-ref {
type leafref { type leafref {
path "../../../../../../nt:termination-point/nt:tp-id"; path "../../../../../../nt:termination-point/nt:tp-id";
} }
description description
"Link termination point."; "Link termination point.";
} }
uses connectivity-label-restriction-list;
uses connectivity-matrix-entry-attributes; uses connectivity-matrix-entry-attributes;
} // local-link-connectivity } // local-link-connectivity
} // local-link-connectivities } // local-link-connectivities
} // te-node-tunnel-termination-attributes } // 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 { grouping te-termination-point-config {
description description
"Augmentation for TE termination point."; "TE termination point configuration grouping.";
leaf admin-status {
leaf te-tp-id { type te-types:te-admin-status;
type te-types:te-tp-id;
description description
"An identifier to uniquely identify a TE termination "The administrative state of the link termination point.";
point.";
} }
leaf name {
container te { type string;
must "../te-tp-id";
presence "TE support.";
description description
"Indicates TE support."; "A descriptive name for the link termination point.";
}
container config {
description
"Configuration data.";
uses te-termination-point-config;
} // config
container state {
config false;
description
"Operational state data.";
uses te-termination-point-config;
uses geolocation-container;
} // state
} // te
} // te-termination-point-augment
grouping te-termination-point-config {
description
"TE termination point configuration grouping.";
uses interface-switching-capability-list; uses interface-switching-capability-list;
leaf inter-layer-lock-id { leaf-list inter-layer-lock-id {
type uint32; type uint32;
description description
"Inter layer lock ID, used for path computation in a TE "Inter layer lock ID, used for path computation in a TE
topology covering multiple layers or multiple regions."; topology covering multiple layers or multiple regions.";
reference reference
"RFC5212: Requirements for GMPLS-Based Multi-Region and "RFC5212: Requirements for GMPLS-Based Multi-Region and
Multi-Layer Networks (MRN/MLN). Multi-Layer Networks (MRN/MLN).
RFC6001: Generalized MPLS (GMPLS) Protocol Extensions RFC6001: Generalized MPLS (GMPLS) Protocol Extensions
for Multi-Layer and Multi-Region Networks (MLN/MRN)."; for Multi-Layer and Multi-Region Networks (MLN/MRN).";
} }
} // 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 { } // te-termination-point-config
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
} // 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
skipping to change at page 115, line 8 skipping to change at page 106, line 22
leaf network-ref { leaf network-ref {
type leafref { type leafref {
path "/nw:networks/nw:network/nw:network-id"; path "/nw:networks/nw:network/nw:network-id";
require-instance false; require-instance false;
} }
description description
"A reference to a network-id in base ietf-network module."; "A reference to a network-id in base ietf-network module.";
} }
} // te-topology-ref } // te-topology-ref
grouping te-topology-type {
description
"Identifies the TE topology type.";
container te-topology {
presence "Indicates TE topology.";
description
"Its presence identifies the TE topology type.";
}
} // te-topology-type
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
skipping to change at page 116, line 23 skipping to change at page 107, line 26
node that has a reference to this template."; node that has a reference to this template.";
} }
} // template-attributes } // template-attributes
/* /*
* Configuration data nodes * Configuration 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.";
uses te-topology-type; container te-topology {
presence "Indicates TE topology.";
description
"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.";
uses te-node-augment;
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: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.";
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
} }
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";
uses te-link-augment;
container te {
must "count(../nt: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.";
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
} }
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 {
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.";
container config {
description
"Configuration data.";
uses te-termination-point-config;
} // config
container state {
config false;
description
"Operational state data.";
uses te-termination-point-config;
leaf oper-status {
type te-types:te-oper-status;
description
"The current operational state of the link termination
point.";
}
uses geolocation-container;
} // state
} // te
} }
} }
<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.
 End of changes. 111 change blocks. 
508 lines changed or deleted 528 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/