idnits 2.17.1 draft-ietf-teas-yang-te-topo-17.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 1111 has weird spacing: '...l-tp-id bin...' == Line 1223 has weird spacing: '...-tp-ref bin...' == Line 2933 has weird spacing: '...tes for te-li...' == Line 4322 has weird spacing: '...el-name str...' == Line 4331 has weird spacing: '...ability ide...' == (36 more instances...) -- The document date (June 23, 2018) is 2134 days in the past. Is this intentional? -- Found something which looks like a code comment -- if you have code sections in the document, please surround them with '' and '' lines. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'R1' is mentioned on line 775, but not defined == Missing Reference: 'R2' is mentioned on line 781, but not defined == Missing Reference: 'R3' is mentioned on line 775, but not defined == Missing Reference: 'R4' is mentioned on line 781, but not defined == Missing Reference: 'R5' is mentioned on line 694, but not defined == Missing Reference: 'R6' is mentioned on line 698, but not defined == Missing Reference: 'R7' is mentioned on line 698, but not defined == Missing Reference: 'R8' is mentioned on line 698, but not defined == Missing Reference: 'R9' is mentioned on line 698, but not defined == Missing Reference: 'A' is mentioned on line 775, but not defined == Missing Reference: 'E' is mentioned on line 775, but not defined == Missing Reference: 'B' is mentioned on line 781, but not defined == Missing Reference: 'F' is mentioned on line 781, but not defined == Unused Reference: 'I-D.ietf-netconf-yang-push' is defined on line 4178, but no explicit reference was found in the text == Unused Reference: 'I-D.liu-netmod-yang-schedule' is defined on line 4184, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-ccamp-wson-yang' is defined on line 4190, but no explicit reference was found in the text == Unused Reference: 'I-D.ietf-teas-yang-l3-te-topo' is defined on line 4203, but no explicit reference was found in the text ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-15 -- Obsolete informational reference (is this intentional?): RFC 3272 (Obsoleted by RFC 9522) -- Obsolete informational reference (is this intentional?): RFC 5316 (Obsoleted by RFC 9346) -- Obsolete informational reference (is this intentional?): RFC 7752 (Obsoleted by RFC 9552) == Outdated reference: A later version (-26) exists of draft-ietf-netconf-subscribed-notifications-12 == Outdated reference: A later version (-25) exists of draft-ietf-netconf-yang-push-16 == Outdated reference: A later version (-28) exists of draft-ietf-ccamp-wson-yang-10 == Outdated reference: A later version (-18) exists of draft-ietf-ccamp-otn-topo-yang-03 == Outdated reference: A later version (-16) exists of draft-ietf-teas-yang-l3-te-topo-01 Summary: 2 errors (**), 0 flaws (~~), 30 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TEAS Working Group Xufeng Liu 2 Internet Draft Volta Networks 3 Intended status: Standards Track Igor Bryskin 4 Huawei Technologies 5 Vishnu Pavan Beeram 6 Juniper Networks 7 Tarek Saad 8 Cisco Systems Inc 9 Himanshu Shah 10 Ciena 11 Oscar Gonzalez De Dios 12 Telefonica 14 Expires: December 23, 2018 June 23, 2018 16 YANG Data Model for Traffic Engineering (TE) Topologies 17 draft-ietf-teas-yang-te-topo-17 19 Status of this Memo 21 This Internet-Draft is submitted in full conformance with the 22 provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as Internet- 27 Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six months 30 and may be updated, replaced, or obsoleted by other documents at any 31 time. It is inappropriate to use Internet-Drafts as reference 32 material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html 40 This Internet-Draft will expire on December 23, 2018. 42 Copyright Notice 44 Copyright (c) 2018 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with respect 52 to this document. Code Components extracted from this document must 53 include Simplified BSD License text as described in Section 4.e of 54 the Trust Legal Provisions and are provided without warranty as 55 described in the Simplified BSD License. 57 Abstract 59 This document defines a YANG data model for representing, retrieving 60 and manipulating Traffic Engineering (TE) Topologies. The model 61 serves as a base model that other technology specific TE Topology 62 models can augment. 64 Conventions used in this document 66 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 67 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 68 "OPTIONAL" in this document are to be interpreted as described in BCP 69 14 [RFC2119] [RFC8174] when, and only when, they appear in all 70 capitals, as shown here. 72 Table of Contents 74 1. Introduction...................................................3 75 1.1. Terminology...............................................4 76 1.2. Tree Structure............................................4 77 1.3. Prefixes in Data Node Names...............................5 78 2. Characterizing TE Topologies...................................5 79 3. Modeling Abstractions and Transformations......................7 80 3.1. TE Topology...............................................7 81 3.2. TE Node...................................................7 82 3.3. TE Link...................................................8 83 3.4. Transitional TE Link for Multi-Layer Topologies...........8 84 3.5. TE Link Termination Point (LTP)..........................10 85 3.6. TE Tunnel Termination Point (TTP)........................10 86 3.7. TE Node Connectivity Matrix..............................11 87 3.8. TTP Local Link Connectivity List (LLCL)..................11 88 3.9. TE Path..................................................11 89 3.10. TE Inter-Layer Lock.....................................12 90 3.11. Underlay TE topology....................................13 91 3.12. Overlay TE topology.....................................13 92 3.13. Abstract TE topology....................................13 94 4. Model Applicability...........................................14 95 4.1. Native TE Topologies.....................................14 96 4.2. Customized TE Topologies.................................16 97 4.3. Merging TE Topologies Provided by Multiple Providers.....19 98 4.4. Dealing with Multiple Abstract TE Topologies Provided by the 99 Same Provider.................................................22 100 5. Modeling Considerations.......................................25 101 5.1. Network topology building blocks.........................25 102 5.2. Technology agnostic TE Topology model....................25 103 5.3. Model Structure..........................................26 104 5.4. Topology Identifiers.....................................27 105 5.5. Generic TE Link Attributes...............................27 106 5.6. Generic TE Node Attributes...............................28 107 5.7. TED Information Sources..................................29 108 5.8. Overlay/Underlay Relationship............................30 109 5.9. Templates................................................31 110 5.10. Scheduling Parameters...................................32 111 5.11. Notifications...........................................32 112 6. Guidance for Writing Technology Specific TE Topology Augmentations 113 .................................................................33 114 7. TE Topology YANG Module.......................................45 115 8. Security Considerations.......................................92 116 9. IANA Considerations...........................................94 117 10. References...................................................95 118 10.1. Normative References....................................95 119 10.2. Informative References..................................96 120 11. Acknowledgments.............................................100 121 Appendix A. Complete Model Tree Structure.......................101 122 Appendix B. Companion YANG Model for Non-NMDA Compliant 123 Implementations.................................................150 124 Appendix C. Example: YANG Model for Technology Specific Augmentations 125 ................................................................158 126 Contributors....................................................196 127 Authors' Addresses..............................................196 129 1. Introduction 131 The Traffic Engineering Database (TED) is an essential component of 132 Traffic Engineered (TE) systems that are based on MPLS-TE [RFC2702] 133 and GMPLS [RFC3945]. The TED is a collection of all TE information 134 about all TE nodes and TE links in the network. The TE Topology is a 135 schematic arrangement of TE nodes and TE links present in a given 136 TED. There could be one or more TE Topologies present in a given 137 Traffic Engineered system. A TE Topology is the topology on which 138 path computational algorithms are run to compute Traffic Engineered 139 Paths (TE Paths). 141 This document defines a YANG [RFC7950] data model for representing 142 and manipulating TE Topologies. This model contains technology 143 agnostic TE Topology building blocks that can be augmented and used 144 by other technology-specific TE Topology models. 146 1.1. Terminology 148 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 149 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 150 "OPTIONAL" in this document are to be interpreted as described in BCP 151 14 [RFC2119] [RFC8174] when, and only when, they appear in all 152 capitals, as shown here. 154 The reader is assumed to be familiar with general body of work 155 captured in currently available TE related RFCs. [RFC7926] serves as 156 a good starting point for those who may be less familiar with Traffic 157 Engineering related RFCs. 159 Some of the key terms used in this document are: 161 TED: The Traffic Engineering Database is a collection of all TE 162 information about all TE nodes and TE links in a given network. 164 TE-Topology: The TE Topology is a schematic arrangement of TE nodes 165 and TE links in a given TED. It forms the basis for a graph suitable 166 for TE path computations. 168 Native TE Topology: Native TE Topology is a topology that is native 169 to a given provider network. Native TE topology could be discovered 170 via various routing protocols and/or subscribe/publish techniques. 171 This is the topology on which path computational algorithms are run 172 to compute TE Paths. 174 Customized TE Topology: Customized TE Topology is a custom topology 175 that is produced by a provider for a given client. This topology 176 typically makes abstractions on the provider's Native TE Topology, 177 and is provided to the client. The client receives the Customized TE 178 Topology, and merges it into the client's Native TE Topology. The 179 client's path computational algorithms aren't typically run on the 180 Customized TE Topology; they are run on the client's Native TE 181 Topology after the merge. 183 1.2. Tree Structure 185 A simplified graphical representation of the data model is presented 186 in Appendix A. of this document. The tree format defined in [RFC8340] 187 is used for the YANG data model tree representation. 189 1.3. Prefixes in Data Node Names 191 In this document, names of data nodes and other data model objects 192 are prefixed using the standard prefix associated with the 193 corresponding YANG imported modules, as shown in Table 1. 195 +----------+-----------------------+-------------------------+ 196 | Prefix | YANG module | Reference | 197 +----------+-----------------------+-------------------------+ 198 | yang | ietf-yang-types | [RFC6991] | 199 | inet | ietf-inet-types | [RFC6991] | 200 | nw | ietf-network | [RFC6991] | 201 | nt | ietf-network-topology | [RFC8345] | 202 | te-types | ietf-te-types | [I-D.ietf-teas-yang-te] | 203 +----------+-----------------------+-------------------------+ 205 Table 1: Prefixes and corresponding YANG modules 207 2. Characterizing TE Topologies 209 The data model proposed by this document takes the following 210 characteristics of TE Topologies into account: 212 - TE Topology is an abstract control-plane representation of the 213 data-plane topology. Hence attributes specific to the data-plane 214 must make their way into the corresponding TE Topology modeling. 215 The TE Topology comprises of dynamic auto-discovered data as well 216 as fairly static data associated with data-plane nodes and links. 217 The dynamic data may change frequently, such as unreserved 218 bandwidth available on data-plane links. The static data rarely 219 changes, such as layer network identification, switching and 220 adaptation capabilities and limitations, fate sharing, and 221 administrative colors. It is possible for a single TE Topology to 222 encompass TE information at multiple switching layers. 224 - TE Topologies are protocol independent. Information about 225 topological elements may be learnt via link-state protocols, but 226 the topology can exist without being dependent on any particular 227 protocol. 229 - TE Topology may not be congruent to the routing topology in a 230 given TE System. The routing topology is constructed based on 231 routing adjacencies. There isn't always a one-to-one association 232 between a TE-link and a routing adjacency. For example, the 233 presence of a TE link between a pair of nodes doesn't necessarily 234 imply the existence of a routing-adjacency between these nodes. 236 - Each TE Topological element has at least one information source 237 associated with it. In some scenarios, there could be more than 238 one information source associated with any given topological 239 element. 241 - TE Topologies can be hierarchical. Each node and link of a given 242 TE Topology can be associated with respective underlay topology. 243 This means that each node and link of a given TE Topology can be 244 associated with an independent stack of supporting TE Topologies. 246 - TE Topologies can be customized. TE topologies of a given network 247 presented by the network provider to its client could be 248 customized on per-client request basis. This customization could 249 be performed by provider, by client or by provider/client 250 negotiation. The relationship between a customized topology and 251 provider's native topology could be captured as hierarchical 252 (overlay-underlay), but otherwise the two topologies are decoupled 253 from each other. A customized topology is presented to the client, 254 while provider's native topology is known in its entirety to the 255 provider itself. 257 3. Modeling Abstractions and Transformations 259 | +---+ __ 260 | | | TE Node \/ TTP o LTP 261 | +---+ 262 | 263 | ----- TE Link 264 | ***** Node Connectivity Matrix, 265 | TTP Local Link Connectivity 266 | @@@@@ TE Tunnel 267 o---------------------------------- 269 Node-1 Node-3 270 +------------+ +------------+ 271 | TTP-1 | | TTP-1 | 272 |LTP __ | TE-Tunel-1 | __ | 273 |-6 \/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\/ | 274 o * * oLTP-1 Node-2 LTP-6o * * o 275 | * * | +------------+ | * * | 276 | * TTP-2* | | | | * TTP-2* | 277 | * __ * |LTP-2 LTP-6| |LTP-1 LTP-5| * __ * | 278 o* \/ *o-----------o************o-----------o* \/ *o 279 |LTP * * | Link-12 | * | Link-23 | * * | 280 |-5 * * | LTP-5| * |LTP-2 | * * | 281 +--o------o--+ o************o +--o------o--+ 282 LTP-4 LTP-3 | * * * | LTP-4 LTP-3 283 | ** * | 284 +--o------o--+ 285 LTP-4 LTP-3 287 Figure 1: TE Topology Modeling Abstractions 289 3.1. TE Topology 291 TE topology is a traffic engineering representation of one or more 292 layers of network topologies. TE topology is comprised of TE nodes 293 (TE graph vertices) interconnected via TE links (TE graph edges). A 294 TE topology is mapped to a TE graph. 296 3.2. TE Node 298 TE node is an element of a TE topology, presented as a vertex on TE 299 graph. TE node represents one or several nodes, or a fraction of a 300 node, which can be a switch or router that is physical or virtual. TE 301 node belongs to and is fully defined in exactly one TE topology. TE 302 node is assigned a unique ID within the TE topology scope. TE node 303 attributes include information related to the data plane aspects of 304 the associated node(s) (e.g. connectivity matrix), as well as 305 configuration data (such as TE node name). A given TE node can be 306 reached on the TE graph over one of TE links terminated by the TE 307 node. 309 Multi-layer TE nodes providing switching functions at multiple 310 network layers are an example where a physical node can be decomposed 311 into multiple logical TE nodes, which are fractions of the physical 312 node. Some of these (logical) TE nodes may reside in the client layer 313 TE topology while the remaining TE nodes belong to the server layer 314 TE topology. 316 In Figure 1, Node-1, Node-2, and Node-3 are TE nodes. 318 3.3. TE Link 320 TE link is an element of a TE topology, presented as an edge on TE 321 graph. The arrows on an edge indicate one or both directions of the 322 TE link. When there are a pair of parallel links of opposite 323 directions, an edge without arrows is also used. TE link represents 324 one or several (physical) links or a fraction of a link. TE link 325 belongs to and is fully defined in exactly one TE topology. TE link 326 is assigned a unique ID within the TE topology scope. TE link 327 attributes include parameters related to the data plane aspects of 328 the associated link(s) (e.g. unreserved bandwidth, resource 329 maps/pools, etc.), as well as the configuration data (such as remote 330 node/link IDs, SRLGs, administrative colors, etc.). TE link is 331 connected to TE node, terminating the TE link via exactly one TE link 332 termination point (LTP). 334 In Figure 1, Link-12 and Link-23 are TE links. 336 3.4. Transitional TE Link for Multi-Layer Topologies 338 Networks are typically composed of multiple network layers where one 339 or multiple signals in the client layer network can be multiplexed 340 and encapsulated into a server layer signal [RFC5212] [G.805]. The 341 server layer signal can be carried in the server layer network across 342 multiple nodes until the server layer signal is terminated and the 343 client layer signals reappear in the node that terminates the server 344 layer signal. Examples of multi-layer networks are: IP over MPLS over 345 Ethernet, low order Optical Data Unit-k (ODUk) signals multiplexed 346 into a high order ODUl (l>k) carried over an Optical Channel (OCh) 347 signal in an optical transport network as defined in [G.872] and 348 [G.709]. 350 TE links as defined in 3.3. can be used to represent links within a 351 network layer. In case of a multi-layer network, TE nodes and TE 352 links only allow representation of each network layer as a separate 353 TE topology. Each of these single layer TE topologies would be 354 isolated from their client and their server layer TE topology, if 355 present. The highest and the lowest network layer in the hierarchy 356 only have a single adjacent layer below or above, respectively. 357 Multiplexing of client layer signals and encapsulating them into a 358 server layer signal requires a function that is provided inside a 359 node (typically realized in hardware). This function is also called 360 layer transition. 362 One of the key requirements for path computation is to be able to 363 calculate a path between two endpoints across a multi-layer network 364 based on the TE topology representing this multi-layer network. This 365 means that an additional TE construct is needed that represents 366 potential layer transitions in the multi-layer TE-topology that 367 connects the TE-topologies representing each separate network layer. 368 The so-called transitional TE link is such a construct and it 369 represents the layer transition function residing inside a node that 370 is decomposed into multiple logical nodes that are represented as TE 371 nodes (see also the transitional link definition in [G.8080] for the 372 optical transport network). Hence, a transitional TE link connects a 373 client layer node with a server layer node. A TE link as defined in 374 3.3. has LTPs of exactly the same kind on each link end whereas the 375 transitional TE link has client layer LTPs on the client side of the 376 transitional link and in most cases a single server layer LTP on the 377 server side. It should be noted that transitional links are a helper 378 construct in the multi-layer TE topology and they only exist as long 379 as they are not in use, as they represent potential connectivity. 380 When the server layer trail has been established between the server 381 layer LTP of two transitional links in the server layer network, the 382 resulting client layer link in the data plane will be represented as 383 a normal TE link in the client layer topology. The transitional TE 384 links will re-appear when the server layer trail has been torn down. 386 | | 387 | +---+ --- 388 | | | TE Node \ / Transitional 389 | +---+ | Link 390 | 391 | ----- Client Layer Link 392 | ===== Server Layer Link 393 | ***** Layer Boundary 394 o---------------------------------- 396 +------------------+ 397 | +------+ | +------+ 398 -----|Client|------+ | Client -----|Client| 399 | |Layer |---+ | | Layer |Layer | 400 -----|Switch|-+ | | | Links -----|Node | 401 | +------+ | | | | +------+ 402 | | | | | Client | | | 403 | | | ---_| Layer --- --- 404 ***|**********|*| \ /*|***************************\ /*\ /**** 405 | --- | | Server Transitional | | 406 | Layer \ / | | Layer Links | | 407 | Term. | | | | | 408 | | | | | | 409 | +------+ | +------+ 410 =============|Server|===== Server ====|Server|==== 411 | |Layer | | Layer |Layer | 412 =============|Switch|===== Links ====|Node |==== 413 | +------+ | +------+ 414 +------------------+ 416 Physical Node View TE-Topology View 418 Figure 2: Modeling a Multi-Layer Node (Dual-Layer Example) 420 3.5. TE Link Termination Point (LTP) 422 TE link termination point (LTP) is a conceptual point of connection 423 of a TE node to one of the TE links, terminated by the TE node. 424 Cardinality between an LTP and the associated TE link is 1:0..1. 426 In Figure 1, Node-2 has six LTPs: LTP-1 to LTP-6. 428 3.6. TE Tunnel Termination Point (TTP) 430 TE tunnel termination point (TTP) is an element of TE topology 431 representing one or several of potential transport service 432 termination points (i.e. service client adaptation points such as 433 WDM/OCh transponder). TTP is associated with (hosted by) exactly one 434 TE node. TTP is assigned a unique ID within the TE node scope. 435 Depending on the TE node's internal constraints, a given TTP hosted 436 by the TE node could be accessed via one, several or all TE links 437 terminated by the TE node. 439 In Figure 1, Node-1 has two TTPs: TTP-1 and TTP-2. 441 3.7. TE Node Connectivity Matrix 443 TE node connectivity matrix is a TE node's attribute describing the 444 TE node's switching limitations in a form of valid switching 445 combinations of the TE node's LTPs (see below). From the point of 446 view of a potential TE path arriving at the TE node at a given 447 inbound LTP, the node's connectivity matrix describes valid 448 (permissible) outbound LTPs for the TE path to leave the TE node 449 from. 451 In Figure 1, the connectivity matrix on Node-2 is: 452 {, , , , 453 } 455 3.8. TTP Local Link Connectivity List (LLCL) 457 TTP Local Link Connectivity List (LLCL) is a List of TE links 458 terminated by the TTP hosting TE node (i.e. list of the TE link 459 LTPs), which the TTP could be connected to. From the point of view of 460 a potential TE path, LLCL provides a list of valid TE links the TE 461 path needs to start/stop on for the connection, taking the TE path, 462 to be successfully terminated on the TTP in question. 464 In Figure 1, the LLCL on Node-1 is: 465 {, , , } 467 3.9. TE Path 469 TE path is an ordered list of TE links and/or TE nodes on the TE 470 topology graph, inter-connecting a pair of TTPs to be taken by a 471 potential connection. TE paths, for example, could be a product of 472 successful path computation performed for a given transport service. 474 In Figure 1, the TE Path for TE-Tunnel-1 is: 475 {Node-1:TTP-1, Link-12, Node-2, Link-23, Node-3:TTP1} 477 3.10. TE Inter-Layer Lock 479 TE inter-layer lock is a modeling concept describing client-server 480 layer adaptation relationships and hence important for the multi- 481 layer traffic engineering. It is an association of M client layer 482 LTPs and N server layer TTPs, within which data arriving at any of 483 the client layer LTPs could be adopted onto any of the server layer 484 TTPs. TE inter-layer lock is identified by inter-layer lock ID, which 485 is unique across all TE topologies provided by the same provider. The 486 client layer LTPs and the server layer TTPs associated within a given 487 TE inter-layer lock are annotated with the same inter-layer lock ID 488 attribute. 490 | +---+ __ 491 | | | TE Node \/ TTP o LTP 492 | +---+ 493 | 494 | ----- TE Link 495 | ***** TTP Local Link Connectivity 496 o---------------------------------- 498 (IL-1) C-LTP-1 +------------+ C-LTP-2 (IL-1) 499 --------O (IL-1) O-------- 500 (IL-1) C-LTP-3 | S-TTP-1 | C-LTP-4 (IL-1) 501 --------O __ 0-------- 502 (IL-1) C-LTP-5 | *\/* | C-LTP-5 (IL-1) 503 --------O * * O-------- 504 | *(IL-1)* | 505 S-LTP-3 | * S-TTP-2* | S-LTP-4 506 --------o* __ *o-------- 507 | *\/* | 508 | * * | 509 +--o------o--+ 510 S-LTP-1 | | S-LTP-2 512 Figure 3: TE Inter-Layer Lock ID Associations 514 On the picture above a TE inter-layer lock with IL_1 ID associates 6 515 client layer LTPs (C-LTP-1 - C-LTP-6) with two server layer TTPs (S- 516 TTP-1 and S-TTP-2). They all have the same attribute - TE inter-layer 517 lock ID: IL-1, which is the only thing that indicates the 518 association. A given LTP may have 0, 1 or more inter-layer lock IDs. 519 In the latter case this means that the data arriving at the LTP may 520 be adopted onto any of TTPs associated with all specified inter-layer 521 locks. For example, C-LTP-1 could have two inter-layer lock IDs - IL- 522 1 and IL-2. This would mean that C-LTP-1 for adaptation purposes 523 could use not just TTPs associated with inter-layer lock IL-1 (i.e. 525 S-TTP-1 and S-TTP-2 on the picture), but any of TTPs associated with 526 inter-layer lock IL-2 as well. Likewise, a given TTP may have one or 527 more inter-layer lock IDs, meaning that it can offer the adaptation 528 service to any of client layer LTPs with inter-layer lock ID matching 529 one of its own. Additionally, each TTP has an attribute - Unreserved 530 Adaptation Bandwidth, which announces its remaining adaptation 531 resources sharable between all potential client LTPs. 533 LTPs and TTPs associated within the same TE inter-layer lock may be 534 hosted by the same (hybrid, multi-layer) TE node or multiple TE nodes 535 located in the same or separate TE topologies. The latter is 536 especially important since TE topologies of different layer networks 537 could be modeled by separate augmentations of the basic (common to 538 all layers) TE topology model. 540 3.11. Underlay TE topology 542 Underlay TE topology is a TE topology that serves as a base for 543 constructing of overlay TE topologies 545 3.12. Overlay TE topology 547 Overlay TE topology is a TE topology constructed based on one or more 548 underlay TE topologies. Each TE node of the overlay TE topology 549 represents an arbitrary segment of an underlay TE topology; each TE 550 link of the overlay TE topology represents an arbitrary TE path in 551 one of the underlay TE topologies. The overlay TE topology and the 552 supporting underlay TE topologies may represent distinct layer 553 networks (e.g. OTN/ODUk and WDM/OCh respectively) or the same layer 554 network. 556 3.13. Abstract TE topology 558 Abstract TE topology is a topology that contains abstract topological 559 elements (nodes, links, tunnel termination points). Abstract TE 560 topology is an overlay TE topology created by a topology provider and 561 customized for a topology provider's client based on one or more of 562 the provider's native TE topologies (underlay TE topologies), the 563 provider's policies and the client's preferences. For example, a 564 first level topology provider (such as Domain Controller) can create 565 an abstract TE topology for its client (e.g. Multi-Domain Service 566 Coordinator) based on the provider's one or more native TE 567 topologies, local policies/profiles and the client's TE topology 568 configuration requests 570 Figure 4 shows an example of abstract TE topology. 572 | +---+ 573 | | | TE Node 574 | +---+ 575 | ----- TE Link 576 o---------------------------------- 578 +---+ +---+ 579 |s31|--------------|S5 | 580 +---+\ / +---+ 581 \ / 582 \ / 583 \+---+/ +---+ 584 /|AN1|\----------------|S8 | 585 / +---+ \ +---+ 586 +---+ / \ +---+ 587 |S9 |-------------|S11| 588 +---+ +---+ 589 Abstract TE Topology 591 +---+ +---+ 592 |S1 |--------------------|S2 | 593 +---+ +---+ 594 / \ 595 / \ 596 +---+ / +---+ \ +---+ 597 |s3 |--------------------|S4 |---------|S5 | 598 +---+\ +---+ +---+ 599 \ \ \ 600 \ \ \ 601 \+---+ +---+ +---+ 602 /|S6 |\ |S7 |---------|S8 | 603 / +---+ \ +---+\ /+---+ 604 +---+ / \ +---+ +---+ / 605 |S9 |-------------|S10|--------------|S11|/ 606 +---+ +---+ +---+ 607 Native TE Topology 609 Figure 4: Abstract TE Topology 611 4. Model Applicability 613 4.1. Native TE Topologies 615 The model discussed in this draft can be used to represent and 616 retrieve native TE topologies on a given TE system. 618 | +---+ 619 | | | TE Node 620 | +---+ 621 | ----- TE Link 622 o---------------------------------- 624 +---+ +---+ +---+ +---+ +---+ 625 | R1|-------| R2|--------| R3|---------| R4|---------| R5| 626 +---+ +---+ +---+ +---+ +---+ 627 | / \ / \ / 628 | / \ / \ / 629 | / \ / \ / 630 | / \ / \ / 631 | / \ / \ / 632 +---+ +---+ +---+ +---+ 633 | R6|-------------| R7| | R8|---------| R9| 634 +---+ +---+ +---+ +---+ 636 Figure 5a: Example Network Topology 638 Consider the network topology depicted in Figure 5a. R1 .. R9 are 639 nodes representing routers. An implementation MAY choose to construct 640 a native TE Topology using all nodes and links present in the given 641 TED as depicted in Figure 5b. The data model proposed in this 642 document can be used to retrieve/represent this TE topology. 644 --------------- 645 | Native | | [ ] TE Node 646 | TE-Topology | | +++ TE Link 647 --------------- o-------------- 649 [R1] ++++ [R2] ++++ [R3] ++++ [R4] ++++ [R5] 650 + + + + + + 651 + + + + + + 652 + + ++ ++ 653 [R6] +++++++++ [R7] [R8] ++++ [R9] 655 Figure 5b: Native TE Topology as seen on Node R3 657 Consider the case of the topology being split in a way that some 658 nodes participate in OSPF-TE while others participate in ISIS-TE 659 (Figure 6a). An implementation MAY choose to construct separate TE 660 Topologies based on the information source. The native TE Topologies 661 constructed using only nodes and links that were learnt via a 662 specific information source are depicted in Figure 6b. The data model 663 proposed in this document can be used to retrieve/represent these TE 664 topologies. 666 Similarly, the data model can be used to represent/retrieve a TE 667 Topology that is constructed using only nodes and links that belong 668 to a particular technology layer. The data model is flexible enough 669 to retrieve and represent many such native TE Topologies. 671 : 672 TE info distributed via ISIS-TE : TE info distributed via OSPF-TE 673 : 674 +---+ +---+ +---+ +---+ +---+ 675 | R1|-------| R2|--------| R3|---------| R4|---------| R5| 676 +---+ +---+ +---+ +---+ +---+ 677 | / : \ / \ / 678 | / : \ / \ / 679 | / : \ / \ / 680 | / : \ / \ / 681 | / : \ / \ / 682 +---+ +---+ : +---+ +---+ 683 | R6|-------------| R7| : | R8|---------| R9| 684 +---+ +---+ : +---+ +---+ 685 : 687 Figure 6a: Example Network Topology 689 ----------------------- : ----------------------- 690 |Native TE Topology | : |Native TE Topology | 691 |Info-Source: ISIS-TE | : |Info-Source: OSPF-TE | 692 ----------------------- : ----------------------- 693 : 694 [R1] ++++ [R2] ++++ [R3] : [R3'] ++++ [R4] ++++ [R5] 695 + + : + + + + 696 + + : + + + + 697 + + : ++ ++ 698 [R6] +++++++++ [R7] : [R8] ++++ [R9] 700 Figure 6b: Native TE Topologies as seen on Node R3 702 4.2. Customized TE Topologies 704 Customized TE topology is a topology that was modified by the 705 provider to honor a particular client's requirements or preferences. 706 The model discussed in this draft can be used to represent, retrieve 707 and manipulate customized TE Topologies. The model allows the 708 provider to present the network in abstract TE Terms on a per client 709 basis. These customized topologies contain sufficient information for 710 the path computing client to select paths according to its policies. 712 | +---+ /-\ 713 | | | Router ( ) WDM 714 | +---+ Node \-/ node 715 | 716 o---------------------------- 718 +---+ /-\ /-\ /-\ +---+ 719 | R1|-------( A )--------( C )---------( E )---------| R3| 720 +---+ \-/ \-/ \-/ +---+ 721 / \ / \ 722 / \ / \ 723 / \ / \ 724 / \ / \ 725 / \ / \ 726 +---+ /-\ /-\ /-\ +---+ 727 | R2|---------( B )---------( D )---------( F )---------| R4| 728 +---+ \-/ \-/ \-/ +---+ 730 Figure 7: Example packet optical topology 732 Consider the network topology depicted in Figure 7. This is a typical 733 packet optical transport deployment scenario where the WDM layer 734 network domain serves as a Server Network Domain providing transport 735 connectivity to the packet layer network Domain (Client Network 736 Domain). Nodes R1, R2, R3 and R4 are IP routers that are connected to 737 an Optical WDM transport network. A, B, C, D, E and F are WDM nodes 738 that constitute the Server Network Domain. 740 | ***** B-F WDM Path 741 | @@@@@ B-E WDM Path 742 | $$$$$ A-E WDM Path 743 o-------------------- 745 +---+ /-\ $$$$$$$$ /-\ $$$$$$$$$ /-\ +---+ 746 | R1|-------( A )--------( C )---------( E )---------| R3| 747 +---+ \-/ @\-/ @@@@@@@@@ \-/ +---+ 748 @/ \ / \ 749 @/ \ / \ 750 @/ \ / \ 751 @/ \ / \ 752 @/ \ / \ 753 +---+ /-\ ********* /-\ ********* /-\ +---+ 754 | R2|---------( B )---------( D )---------( F )---------| R4| 755 +---+ \-/ \-/ \-/ +---+ 756 Figure 8a: Paths within the provider domain 758 ++++++++ [A] ++++++++++++++++++++ [E] +++++++++ 759 +++++ 760 ++++ 761 ++++ 762 ++++ 763 ++++ 764 ++++++++ [B] ++++++++++++++++++++ [F] +++++++++ 766 Figure 8b: Customized TE Topology provided to the Client 768 The goal here is to augment the Client TE Topology with a customized 769 TE Topology provided by the WDM network. Given the availability of 770 the paths A-E, B-F and B-E (Figure 8a), a customized TE Topology as 771 depicted in Figure 8b is provided to the Client. This customized TE 772 Topology is merged with the Client's Native TE Topology and the 773 resulting topology is depicted in Figure 8c. 775 [R1] ++++++++ [A] ++++++++++++++++++++ [E] +++++++++ [R3] 776 +++++ 777 ++++ 778 ++++ 779 ++++ 780 ++++ 781 [R2] ++++++++ [B] ++++++++++++++++++++ [F] +++++++++ [R4] 783 Figure 8c: Customized TE Topology merged with the Client's Native TE 784 Topology 786 The data model proposed in this document can be used to 787 retrieve/represent/manipulate the customized TE Topology depicted in 788 Figure 8b. 790 A customized TE topology is not necessarily an abstract TE topology. 791 The provider may produce, for example, an abstract TE topology of 792 certain type (e.g. single-abstract-node-with-connectivit-matrix 793 topology, a border_nodes_connected_via_mesh_of_abstract_links 794 topology, etc.) and expose it to all/some clients in expectation that 795 the clients will use it without customization. 796 On the other hand, a client may request a customized version of the 797 provider's native TE topology (e.g. by requesting removal of TE links 798 which belong to certain layers, are too slow, not protected and/or 799 have a certain affinity). Note that the resulting TE topology will 800 not be abstract (because it will not contain abstract elements), but 801 customized (modified upon client's instructions). 803 The client ID field in the TE topology identifier (Section 5.4. ) 804 indicates which client the TE topology is customized for. Although a 805 authorized client MAY receive a TE topology with the client ID field 806 matching some other client, the client can customize only TE 807 topologies with the client ID field either 0 or matching the ID of 808 the client in question. If the client starts reconfiguration of a 809 topology its client ID will be automatically set in the topology ID 810 field for all future configurations and updates wrt. the topology in 811 question. 813 The provider MAY tell the client that a given TE topology cannot be 814 re-negotiated, by setting its own (provider's) ID in the client ID 815 field of the topology ID. 817 4.3. Merging TE Topologies Provided by Multiple Providers 819 A client may receive TE topologies provided by multiple providers, 820 each of which managing a separate domain of multi-domain network. In 821 order to make use of said topologies, the client is expected to merge 822 the provided TE topologies into one or more client's native TE 823 topologies, each of which homogeneously representing the multi-domain 824 network. This makes it possible for the client to select end-to-end 825 TE paths for its services traversing multiple domains. 827 In particular, the process of merging TE topologies includes: 829 - Identifying neighboring domains and locking their topologies 830 horizontally by connecting their inter-domain open-ended TE links; 831 - Renaming TE node, link, and SRLG IDs to ones allocated from a 832 separate name space; this is necessary because all TE topologies 833 are considered to be, generally speaking, independent with a 834 possibility of clashes among TE node, link or SRLG IDs; 835 - Locking, vertically, TE topologies associated with different layer 836 networks, according to provided topology inter-layer locks; this is 837 to facilitate inter-layer path computations across multiple TE 838 topologies provided by the same topology provider. 840 /---\ +---+ +---+ +---+ +---+ /---\ 841 |s3 |------|S13|----|S15|------|S23|----|S25|------|C21| 842 \---/ +---+\ +---+ +---+ /+---+ \---/ 843 \ / 844 \ / 845 \+---+ +---+/ +---+ /---\ 846 |S18|------|S24| |S28|------|C22| 847 +---+ +---+\ /+---+ \---/ 848 \/ 849 /\ 850 /---\ +---+ +---+ +---+/ \+---+ /---\ 851 |C12|------|S19|----|S17|------|S29|----|S27|------|C23| 852 \---/ +---+ +---+ +---+ +---+ \---/ 854 Domain 1 TE Topology Domain 2 TE Topology 856 +---+ +---+ +---+ +---+ 857 -----|S13|----|S15|---- ----|S23|----|S25|---- 858 +---+\ +---+ +---+ /+---+ 859 \ / 860 \ / 861 \+---+ +---+/ +---+ 862 |S18|---- ----|S24| |S28|---- 863 +---+ +---+\ /+---+ 864 \/ 865 /\ 866 +---+ +---+ +---+/ \+---+ 867 -----|S19|----|S17|---- ----|S29|----|S27|---- 868 +---+ +---+ +---+ +---+ 870 Figure 9: Merging Domain TE Topologies 872 Figure 9 illustrates the process of merging, by the client, of TE 873 topologies provided by the client's providers. In the Figure, each of 874 the two providers caters to the client (abstract or native) TE 875 topology, describing the network domain under the respective 876 provider's control. The client, by consulting the attributes of the 877 inter-domain TE links - such as inter-domain plug IDs or remote TE 878 node/link IDs (as defined by the TE Topology model) - is able to 879 determine that: 881 a) the two domains are adjacent and are inter-connected via three 882 inter-domain TE links, and; 884 b) each domain is connected to a separate customer site, connecting 885 the left domain in the Figure to customer devices C-11 and C-12, 886 and the right domain to customer devices C-21, C-22 and C-23. 888 Therefore, the client inter-connects the open-ended TE links, as 889 shown on the upper part of the Figure. 891 As mentioned, one way to inter-connect the open-ended inter-domain TE 892 links of neighboring domains is to mandate the providers to specify 893 remote nodeID/linkID attribute in the provided inter-domain TE links. 894 This, however, may prove to be not flexible. For example, the 895 providers may not know the respective remote nodeIDs/ linkIDs. More 896 importantly, this option does not allow for the client to mix-n-match 897 multiple (more than one) topologies catered by the same providers 898 (see below). Another, more flexible, option to resolve the open-ended 899 inter-domain TE links is by annotating them with the inter-domain 900 plug ID attribute. Inter-domain plug ID is a network-wide unique 901 number that identifies on the network a connectivity supporting a 902 given inter-domain TE link. Instead of specifying remote node ID/link 903 ID, an inter-domain TE link may provide a non-zero inter-domain plug 904 ID. It is expected that two neighboring domain TE topologies 905 (provided by separate providers) will have each at least one open- 906 ended inter-domain TE link with an inter-domain plug ID matching to 907 one provided by its neighbor. For example, the inter-domain TE link 908 originating from node S15 of the Domain 1 TE topology (Figure 9) and 909 the inter-domain TE link coming from node S23 of Domain 2 TE topology 910 may specify matching inter-domain plug ID (e.g. 175344). This allows 911 for the client to identify adjacent nodes in the separate neighboring 912 TE topologies and resolve the inter-domain TE links connecting them 913 regardless of their respective nodeIDs/linkIDs (which, as mentioned, 914 could be allocated from independent name spaces). Inter-domain plug 915 IDs may be assigned and managed by a central network authority. 916 Alternatively, inter-domain plug IDs could be dynamically auto- 917 discovered (e.g. via LMP protocol). 919 Furthermore, the client renames the TE nodes, links and SRLGs offered 920 in the abstract TE topologies by assigning to them IDs allocated from 921 a separate name space managed by the client. Such renaming is 922 necessary, because the two abstract TE topologies may have their own 923 name spaces, generally speaking, independent one from another; hence, 924 ID overlaps/clashes are possible. For example, both TE topologies 925 have TE nodes named S7, which, after renaming, appear in the merged 926 TE topology as S17 and S27, respectively. 928 Once the merging process is complete, the client can use the merged 929 TE topology for path computations across both domains, for example, 930 to compute a TE path connecting C-11 to C-23. 932 4.4. Dealing with Multiple Abstract TE Topologies Provided by the Same 933 Provider 935 Domain 1 Abstract TE Topology 1 Domain 2 Abstract TE Topology 1 937 +---+ +---+ +---+ +---+ 938 -----|S13|----|S15|---- ----|S23|----|S25|---- 939 +---+\ +---+ +---+ /+---+ 940 \ / 941 \ / 942 \+---+ +---+/ +---+ 943 |S18|---- ----|S24| |S28|---- 944 +---+ +---+\ /+---+ 945 \/ 946 /\ 947 +---+ +---+ +---+/ \+---+ 948 -----|S19|----|S17|---- ----|S29|----|S27|---- 949 +---+ +---+ +---+ +---+ 951 Domain 1 Abstract TE Topology 1 Domain 2 Abstract TE Topology 1 953 +------------+ +------------+ 954 -----| |---- ----| |---- 955 | | | | 956 | AN1 |---- ----| AN1 |---- 957 | | | | 958 -----| |---- ----| |---- 959 +------------+ +------------+ 961 Figure 10: Merging Domain TE Topologies 963 Based on local configuration, templates and/or policies pushed by the 964 client, a given provider may expose more than one abstract TE 965 topology to the client. For example, one abstract TE topology could 966 be optimized based on a lowest-cost criterion, while another one 967 could be based on best possible delay metrics, while yet another one 968 could be based on maximum bandwidth availability for the client 969 services. Furthermore, the client may request all or some providers 970 to expose additional abstract TE topologies, possibly of a different 971 type and/or optimized differently, as compared to already-provided TE 972 topologies. In any case, the client should be prepared for a provider 973 to offer to the client more than one abstract TE topology. 975 It should be up to the client (based on the client's local 976 configuration and/or policies conveyed to the client by the client's 977 clients) to decide how to mix-and-match multiple abstract TE 978 topologies provided by each or some of the providers, as well as how 979 to merge them into the client's native TE topologies. The client also 980 decides how many such merged TE topologies it needs to produce and 981 maintain. For example, in addition to the merged TE topology depicted 982 in the upper part of Figure 9, the client may merge the abstract TE 983 topologies received from the two providers, as shown in Figure 10, 984 into the client's additional native TE topologies, as shown in Figure 985 11. 987 Note that allowing for the client mix-n-matching of multiple TE 988 topologies assumes that inter-domain plug IDs (rather than remote 989 nodeID/linkID) option is used for identifying neighboring domains and 990 inter-domain TE link resolution. 992 Client's Merged TE Topology 2 994 /---\ +------------+ +------------+ /---\ 995 |s3 |------| |------| |------|C21| 996 \---/ | | | | \---/ 997 | | | | 998 | | | | 999 | | | | /---\ 1000 | AN11 |------| AN21 |------|C22| 1001 | | | | \---/ 1002 | | | | 1003 | | | | 1004 /---\ | | | | /---\ 1005 |C12|------| |------| |------|C23| 1006 \---/ +------------+ +------------+ \---/ 1008 Client's Merged TE Topology 3 1010 /---\ +------------+ +---+ +---+ /---\ 1011 |s3 |------| |------|S23|----|S25|------|C21| 1012 \---/ | | +---+ /+---+ \---/ 1013 | | / 1014 | | / 1015 | | +---+/ +---+ /---\ 1016 | AN11 |------|S24| |S28|------|C22| 1017 | | +---+\ /+---+ \---/ 1018 | | \/ 1019 | | /\ 1020 /---\ | | +---+/ \+---+ /---\ 1021 |C12|------| |------|S29|----|S27|------|C23| 1022 \---/ +------------+ +---+ +---+ \---/ 1024 Figure 11: Multiple Native (Merged) Client's TE Topologies 1026 It is important to note that each of the three native (merged) TE 1027 topologies could be used by the client for computing TE paths for any 1028 of the multi-domain services. The choice as to which topology to use 1029 for a given service depends on the service parameters/requirements 1030 and the topology's style, optimization criteria and the level of 1031 details. 1033 5. Modeling Considerations 1035 5.1. Network topology building blocks 1037 The network topology building blocks are discussed in [RFC8345]. The 1038 TE Topology model proposed in this document augments and uses the 1039 ietf-network-topology module defined in [RFC8345]. 1041 +------------------------+ 1042 | | 1043 | Network Topology Model | 1044 | (ietf-network-topology)| 1045 +------------------------+ 1046 | 1047 | 1048 | 1049 V 1050 +------------------------+ 1051 | TE Topology | 1052 | Model | 1053 | | 1054 +------------------------+ 1056 Figure 12: Augmenting the Network Topology Model 1058 5.2. Technology agnostic TE Topology model 1060 The TE Topology model proposed in this document is meant to be 1061 network technology agnostic. Other technology specific TE Topology 1062 models can augment and use the building blocks provided by the 1063 proposed model. 1065 +-----------------------------+ 1066 | TE Topology Model | 1067 | (Defined in This Document) | 1068 +-----------------------------+ 1069 | 1070 +-------------+-------------+-------------+ 1071 | | | | 1072 V V V V 1073 +------------+ +------------+ 1074 | Technology | | Technology | 1075 | Specific | ...................... | Specific | 1076 | TE Topology| | TE Topology| 1077 | Model 1 | | Model n | 1078 +------------+ +------------+ 1080 Figure 13: Augmenting the Technology agnostic TE Topology model 1082 5.3. Model Structure 1084 The high-level model structure proposed by this document is as shown 1085 below: 1087 module: ietf-te-topology 1088 augment /nw:networks/nw:network/nw:network-types: 1089 +--rw te-topology! 1091 augment /nw:networks: 1092 +--rw te! 1093 +--rw templates 1094 +--rw node-template* [name] {template}? 1095 | ............ 1096 +--rw link-template* [name] {template}? 1097 ............ 1099 augment /nw:networks/nw:network: 1100 +--rw provider-id? te-types:te-global-id 1101 +--rw client-id? te-types:te-global-id 1102 +--rw te-topology-id? te-types:te-topology-id 1103 +--rw te! 1104 | ............ 1106 augment /nw:networks/nw:network/nw:node: 1107 +--rw te-node-id? te-types:te-node-id 1108 +--rw te! 1109 | ............ 1110 +--rw tunnel-termination-point* [tunnel-tp-id] 1111 +--rw tunnel-tp-id binary 1112 | ............ 1113 +--rw supporting-tunnel-termination-point* [node-ref tunnel- 1114 tp-ref] 1115 | ............ 1117 augment /nw:networks/nw:network/nt:link: 1118 +--rw te! 1119 | .......... 1121 augment /nw:networks/nw:network/nw:node/nt:termination-point: 1122 +--rw te-tp-id? te-types:te-tp-id 1123 +--rw te! 1124 | ............ 1126 5.4. Topology Identifiers 1128 The TE-Topology is uniquely identified by a key that has 3 1129 constituents - te-topology-id, provider-id and client-id. The 1130 combination of provider-id and te-topology-id uniquely identifies a 1131 native TE Topology on a given provider. The client-id is used only 1132 when Customized TE Topologies come into play; a value of "0" is used 1133 as the client-id for native TE Topologies. 1135 augment /nw:networks/nw:network: 1136 +--rw provider-id? te-types:te-global-id 1137 +--rw client-id? te-types:te-global-id 1138 +--rw te-topology-id? te-types:te-topology-id 1139 +--rw te! 1140 | ............ 1142 5.5. Generic TE Link Attributes 1144 The model covers the definitions for generic TE Link attributes - 1145 bandwidth, admin groups, SRLGs, switching capabilities, TE metric 1146 extensions etc. 1148 +--rw te-link-attributes 1149 ..................... 1150 +--rw admin-status? te-admin-status 1151 | ..................... 1152 +--rw link-index? uint64 1153 +--rw administrative-group? te-types:admin-groups 1154 +--rw link-protection-type? enumeration 1155 +--rw max-link-bandwidth? te-bandwidth 1156 +--rw max-resv-link-bandwidth? te-bandwidth 1157 +--rw unreserved-bandwidth* [priority] 1158 | ..................... 1159 +--rw te-default-metric? uint32 1160 | ..................... 1161 +--rw te-srlgs 1162 +--rw te-nsrlgs {nsrlg}? ..................... 1164 5.6. Generic TE Node Attributes 1166 The model covers the definitions for generic TE Node attributes. 1168 The definition of a generic connectivity matrix is shown below: 1170 +--rw te-node-attributes 1171 ........... 1172 +--rw connectivity-matrices 1173 ........... 1174 | +--rw connectivity-matrix* [id] 1175 | | +--rw id uint32 1176 | | +--rw from 1177 | | | +--rw tp-ref? leafref 1178 | | | +--rw label-restrictions 1179 | | +--rw to 1180 | | | +--rw tp-ref? leafref 1181 | | | +--rw label-restrictions 1182 | | +--rw is-allowed? boolean 1183 ........... 1184 | | +--rw underlay! {te-topology-hierarchy}? 1185 ........... 1186 | | +--rw path-constraints 1187 ........... 1188 | | +--rw optimizations 1189 ........... 1190 | | +--ro path-properties 1191 ........... 1193 The definition of a TTP Local Link Connectivity List is shown below: 1195 +--rw tunnel-termination-point* [tunnel-tp-id] 1196 +--rw tunnel-tp-id binary 1197 +--rw admin-status? te-types:te-admin-status 1198 +--rw name? string 1199 +--rw switching-capability? identityref 1200 +--rw encoding? identityref 1201 +--rw inter-layer-lock-id* uint32 1202 +--rw protection-type? Identityref 1203 +--rw client-layer-adaptation 1204 ........... 1205 +--rw local-link-connectivities 1206 ........... 1207 | +--rw local-link-connectivity* [link-tp-ref] 1208 | +--rw link-tp-ref leafref 1209 | +--rw label-restrictions 1210 ........... 1211 | +--rw is-allowed? boolean 1212 | +--rw underlay {te-topology-hierarchy}? 1213 ........... 1214 | +--rw path-constraints 1215 ........... 1216 | +--rw optimizations 1217 ........... 1218 | +--ro path-properties 1219 ........... 1220 +--rw supporting-tunnel-termination-point* [node-ref tunnel-tp- 1221 ref] 1222 +--rw node-ref inet:uri 1223 +--rw tunnel-tp-ref binary 1225 The attributes directly under container connectivity-matrices are the 1226 default attributes for all connectivity-matrix entries when the per 1227 entry corresponding attribute is not specified. When a per entry 1228 attribute is specified, it overrides the cooresponding attribute 1229 directly under the container connectivity-matrices. The same rule 1230 applies to the attributes directly under container local-link- 1231 connectivities. 1233 Each TTP (Tunnel Termination Point) MAY be supported by one or more 1234 supporting TTPs. If the TE node hosting the TTP in question refers to 1235 a supporting TE node, then the supporting TTPs are hosted by the 1236 supporting TE node. If the TE node refers to an underlay TE topology, 1237 the supporting TTPs are hosted by one or more specified TE nodes of 1238 the underlay TE topology. 1240 5.7. TED Information Sources 1242 The model allows each TE topological element to have multiple TE 1243 information sources (OSPF-TE, ISIS-TE, BGP-LS, User-Configured, 1244 System-Processed, Other). Each information source is associated with 1245 a credibility preference to indicate precedence. In scenarios where a 1246 customized TE Topology is merged into a Client's native TE Topology, 1247 the merged topological elements would point to the corresponding 1248 customized TE Topology as its information source. 1250 augment /nw:networks/nw:network/nw:node: 1252 +--rw te! 1253 ........... 1254 +--ro information-source? te-info-source 1255 +--ro information-source-state 1256 | +--ro credibility-preference? uint16 1257 | +--ro logical-network-element? string 1258 | +--ro network-instance? string 1259 | +--ro topology 1260 | +--ro node-ref? leafref 1261 | +--ro network-ref? leafref 1262 +--ro information-source-entry* [information-source] 1263 | +--ro information-source te-info-source 1264 ............ 1266 augment /nw:networks/nw:network/nt:link: 1267 +--rw te! 1268 ........... 1269 +--ro information-source? te-info-source 1270 +--ro information-source-state 1271 | +--ro credibility-preference? uint16 1272 | +--ro logical-network-element? string 1273 | +--ro network-instance? string 1274 | +--ro topology 1275 | +--ro link-ref? leafref 1276 | +--ro network-ref? leafref 1277 +--ro information-source-entry* [information-source] 1278 | +--ro information-source te-info-source 1279 ............ 1281 5.8. Overlay/Underlay Relationship 1283 The model captures overlay and underlay relationship for TE 1284 nodes/links. For example - in networks where multiple TE Topologies 1285 are built hierarchically, this model allows the user to start from a 1286 specific topological element in the top most topology and traverse 1287 all the way down to the supporting topological elements in the bottom 1288 most topology. 1290 This relationship is captured via the "underlay-topology" field for 1291 the node and via the "underlay" field for the link. The use of these 1292 fields is optional and this functionality is tagged as a "feature" 1293 ("te-topology-hierarchy"). 1295 augment /nw:networks/nw:network/nw:node: 1296 +--rw te-node-id? te-types:te-node-id 1297 +--rw te! 1298 +--rw te-node-template* leafref {template}? 1299 +--rw te-node-attributes 1300 | +--rw admin-status? te-types:te-admin-status 1301 | | .................... 1302 | +--rw underlay-topology {te-topology-hierarchy}? 1303 | +--rw network-ref? leafref 1305 augment /nw:networks/nw:network/nt:link: 1306 +--rw te! 1307 +--rw te-link-attributes 1308 | .................... 1309 | +--rw underlay {te-topology-hierarchy}? 1310 | | +--rw enabled? boolean 1311 | | +--rw primary-path 1312 | | | +--rw network-ref? leafref 1313 | | | .................... 1314 | | +--rw backup-path* [index] 1315 | | | +--rw index uint32 1316 | | | +--rw network-ref? leafref 1317 | | | .................... 1318 | | +--rw protection-type? identityref 1319 | | +--rw tunnel-termination-points 1320 | | | +--rw source? binary 1321 | | | +--rw destination? binary 1322 | | +--rw tunnels 1323 | | | .................... 1325 5.9. Templates 1327 The data model provides the users with the ability to define 1328 templates and apply them to link and node configurations. The use of 1329 "template" configuration is optional and this functionality is tagged 1330 as a "feature" ("template"). 1332 augment /nw:networks/nw:network/nw:node: 1333 +--rw te-node-id? te-types:te-node-id 1334 +--rw te! 1335 +--rw te-node-template* 1336 | -> ../../../../te/templates/node-template/name 1337 | {template}? 1339 augment /nw:networks/nw:network/nt:link: 1340 +--rw te! 1341 +--rw te-link-template* 1342 | -> ../../../../te/templates/link-template/name 1343 | {template}? 1345 augment /nw:networks: 1347 +--rw te! 1348 +--rw templates 1349 +--rw node-template* [name] {template}? 1350 | +--rw name 1351 | | te-types:te-template-name 1352 | +--rw priority? uint16 1353 | +--rw reference-change-policy? enumeration 1354 | +--rw te-node-attributes 1355 .......... 1356 +--rw link-template* [name] {template}? 1357 +--rw name 1358 | te-types:te-template-name 1359 +--rw priority? uint16 1360 +--rw reference-change-policy? enumeration 1361 +--rw te-link-attributes 1362 .......... 1364 Multiple templates can be specified to a configuration element. When 1365 two or more templates specify values for the same configuration 1366 field, the value from the template with the highest priority is used. 1367 The reference-change-policy specifies the action that needs to be 1368 taken when the template changes on a configuration element that has a 1369 reference to this template. The choices of action include taking no 1370 action, rejecting the change to the template and applying the change 1371 to the corresponding configuration. 1373 5.10. Scheduling Parameters 1375 The model allows time scheduling parameters to be specified for each 1376 topological element or for the topology as a whole. These parameters 1377 allow the provider to present different topological views to the 1378 client at different time slots. The use of "scheduling parameters" is 1379 optional. 1381 The YANG data model for configuration scheduling is defined in [I- 1382 D.liu-netmod-yang-schedule], which allows specifying configuration 1383 schedules without altering this data model. 1385 5.11. Notifications 1387 Notifications are a key component of any topology data model. 1389 [I-D.ietf-netconf-subscribed-notifications] and [I-D.ietf-netconf- 1390 yang-push] define a subscription and push mechanism for YANG 1391 datastores. This mechanism currently allows the user to: 1393 - Subscribe notifications on a per client basis 1394 - Specify subtree filters or xpath filters so that only interested 1395 contents will be sent. 1396 - Specify either periodic or on-demand notifications. 1398 6. Guidance for Writing Technology Specific TE Topology Augmentations 1400 The TE topology model defined in this document is technology agnostic 1401 as it defines concepts, abstractions and attributes that are common 1402 across multiple network technologies. It is envisioned that this base 1403 model will be widely used when defining technology specific TE 1404 topology models for various layer networks. [I-D.ietf-ccamp-wson- 1405 yang], [I-D.ietf-ccamp-otn-topo-yang], and [I-D.ietf-teas-yang-l3-te- 1406 topo] are some examples of technology specific TE Topology models. 1407 Writers of such models are encouraged to augment the basic TE 1408 topology model's containers, such as TE Topology, TE Node, TE Link, 1409 Link Termination Point (LTP), Tunnel Termination Point (TTP), 1410 Bandwidth and Label with the layer specific attributes instead of 1411 defining new containers. 1413 Consider the following technology specific example-topology model: 1415 module: example-topology 1416 augment /nw:networks/nw:network/nw:network-types/tet:te-topology: 1417 +--rw example-topology! 1418 augment /nw:networks/nw:network/tet:te: 1419 +--rw attributes 1420 +--rw attribute-1? uint8 1421 augment /nw:networks/nw:network/nw:node/tet:te 1422 /tet:te-node-attributes: 1423 +--rw attributes 1424 +--rw attribute-2? uint8 1425 augment /nw:networks/nw:network/nw:node/tet:te 1426 /tet:te-node-attributes/tet:connectivity-matrices: 1427 +--rw attributes 1428 +--rw attribute-3? uint8 1429 augment /nw:networks/nw:network/nw:node/tet:te 1430 /tet:te-node-attributes/tet:connectivity-matrices 1431 /tet:connectivity-matrix: 1432 +--rw attributes 1433 +--rw attribute-3? uint8 1434 augment /nw:networks/nw:network/nw:node/tet:te 1435 /tet:tunnel-termination-point: 1436 +--rw attributes 1437 +--rw attribute-4? uint8 1438 augment /nw:networks/nw:network/nw:node/nt:termination-point 1439 /tet:te: 1440 +--rw attributes 1441 +--rw attribute-5? uint8 1442 augment /nw:networks/nw:network/nt:link/tet:te 1443 /tet:te-link-attributes: 1444 +--rw attributes 1445 +--rw attribute-6? uint8 1447 The technology specific TE bandwidth for this example topology can be 1448 specified using the following augment statements: 1450 augment /nw:networks/tet:te/tet:templates/tet:link-template 1451 /tet:te-link-attributes 1452 /tet:interface-switching-capability/tet:max-lsp-bandwidth 1453 /tet:te-bandwidth/tet:technology: 1454 +--:(example) 1455 +--rw example 1456 +--rw bandwidth-1? uint32 1457 augment /nw:networks/tet:te/tet:templates/tet:link-template 1458 /tet:te-link-attributes/tet:max-link-bandwidth 1459 /tet:te-bandwidth/tet:technology: 1460 +--:(example) 1461 +--rw example 1462 +--rw bandwidth-1? uint32 1463 augment /nw:networks/tet:te/tet:templates/tet:link-template 1464 /tet:te-link-attributes/tet:max-resv-link-bandwidth 1465 /tet:te-bandwidth/tet:technology: 1466 +--:(example) 1467 +--rw example 1468 +--rw bandwidth-1? uint32 1469 augment /nw:networks/tet:te/tet:templates/tet:link-template 1470 /tet:te-link-attributes/tet:unreserved-bandwidth 1471 /tet:te-bandwidth/tet:technology: 1472 +--:(example) 1473 +--rw example 1474 +--rw bandwidth-1? uint32 1475 augment /nw:networks/nw:network/nw:node/tet:te 1476 /tet:te-node-attributes/tet:connectivity-matrices 1477 /tet:path-constraints/tet:te-bandwidth/tet:technology: 1478 +--:(example) 1479 +--rw example 1480 +--rw bandwidth-1? uint32 1481 augment /nw:networks/nw:network/nw:node/tet:te 1482 /tet:te-node-attributes/tet:connectivity-matrices 1483 /tet:connectivity-matrix/tet:path-constraints 1484 /tet:te-bandwidth/tet:technology: 1485 +--:(example) 1486 +--rw example 1487 +--rw bandwidth-1? uint32 1488 augment /nw:networks/nw:network/nw:node/tet:te 1489 /tet:information-source-entry/tet:connectivity-matrices 1490 /tet:path-constraints/tet:te-bandwidth/tet:technology: 1491 +--:(example) 1492 +--ro example 1493 +--ro bandwidth-1? uint32 1494 augment /nw:networks/nw:network/nw:node/tet:te 1495 /tet:information-source-entry/tet:connectivity-matrices 1496 /tet:connectivity-matrix/tet:path-constraints 1497 /tet:te-bandwidth/tet:technology: 1498 +--:(example) 1499 +--ro example 1500 +--ro bandwidth-1? uint32 1501 augment /nw:networks/nw:network/nw:node/tet:te 1502 /tet:tunnel-termination-point/tet:client-layer-adaptation 1503 /tet:switching-capability/tet:te-bandwidth 1504 /tet:technology: 1505 +--:(example) 1506 +--rw example 1507 +--rw bandwidth-1? uint32 1508 augment /nw:networks/nw:network/nw:node/tet:te 1509 /tet:tunnel-termination-point 1510 /tet:local-link-connectivities/tet:path-constraints 1511 /tet:te-bandwidth/tet:technology: 1512 +--:(example) 1513 +--rw example 1514 +--rw bandwidth-1? uint32 1515 augment /nw:networks/nw:network/nw:node/tet:te 1516 /tet:tunnel-termination-point 1517 /tet:local-link-connectivities 1518 /tet:local-link-connectivity/tet:path-constraints 1519 /tet:te-bandwidth/tet:technology: 1520 +--:(example) 1521 +--rw example 1522 +--rw bandwidth-1? uint32 1523 augment /nw:networks/nw:network/nt:link/tet:te 1524 /tet:te-link-attributes 1525 /tet:interface-switching-capability/tet:max-lsp-bandwidth 1526 /tet:te-bandwidth/tet:technology: 1527 +--:(example) 1528 +--rw example 1529 +--rw bandwidth-1? uint32 1530 augment /nw:networks/nw:network/nt:link/tet:te 1531 /tet:te-link-attributes/tet:max-link-bandwidth 1532 /tet:te-bandwidth/tet:technology: 1533 +--:(example) 1534 +--rw example 1535 +--rw bandwidth-1? uint32 1536 augment /nw:networks/nw:network/nt:link/tet:te 1537 /tet:te-link-attributes/tet:max-resv-link-bandwidth 1538 /tet:te-bandwidth/tet:technology: 1539 +--:(example) 1540 +--rw example 1541 +--rw bandwidth-1? uint32 1542 augment /nw:networks/nw:network/nt:link/tet:te 1543 /tet:information-source-entry 1544 /tet:interface-switching-capability/tet:max-lsp-bandwidth 1545 /tet:te-bandwidth/tet:technology: 1546 +--:(example) 1547 +--ro example 1548 +--ro bandwidth-1? uint32 1549 augment /nw:networks/nw:network/nt:link/tet:te 1550 /tet:information-source-entry/tet:max-link-bandwidth 1551 /tet:te-bandwidth/tet:technology: 1552 +--:(example) 1553 +--ro example 1554 +--ro bandwidth-1? uint32 1555 augment /nw:networks/nw:network/nt:link/tet:te 1556 /tet:information-source-entry/tet:max-resv-link-bandwidth 1557 /tet:te-bandwidth/tet:technology: 1558 +--:(example) 1559 +--ro example 1560 +--ro bandwidth-1? uint32 1561 augment /nw:networks/nw:network/nt:link/tet:te 1562 /tet:information-source-entry/tet:unreserved-bandwidth 1563 /tet:te-bandwidth/tet:technology: 1564 +--:(example) 1565 +--ro example 1566 +--ro bandwidth-1? uint32 1567 augment /nw:networks/nw:network/nw:node/nt:termination-point/tet:te 1568 /tet:interface-switching-capability/tet:max-lsp-bandwidth 1569 /tet:te-bandwidth/tet:technology: 1570 +--:(example) 1571 +--rw example 1572 +--rw bandwidth-1? uint32 1574 The technology specific TE label for this example topology can be 1575 specified using the following augment statements: 1577 augment /nw:networks/tet:te/tet:templates/tet:link-template 1578 /tet:te-link-attributes/tet:underlay/tet:primary-path 1579 /tet:path-element/tet:type/tet:label/tet:label-hop 1580 /tet:te-label/tet:technology: 1581 +--:(example) 1582 +--rw example 1583 +--rw label-1? uint32 1584 augment /nw:networks/tet:te/tet:templates/tet:link-template 1585 /tet:te-link-attributes/tet:underlay/tet:backup-path 1586 /tet:path-element/tet:type/tet:label/tet:label-hop 1587 /tet:te-label/tet:technology: 1588 +--:(example) 1589 +--rw example 1590 +--rw label-1? uint32 1591 augment /nw:networks/tet:te/tet:templates/tet:link-template 1592 /tet:te-link-attributes/tet:label-restrictions 1593 /tet:label-restriction/tet:label-start/tet:te-label 1594 /tet:technology: 1595 +--:(example) 1596 +--rw example 1597 +--rw label-1? uint32 1598 augment /nw:networks/tet:te/tet:templates/tet:link-template 1599 /tet:te-link-attributes/tet:label-restrictions 1600 /tet:label-restriction/tet:label-end/tet:te-label 1601 /tet:technology: 1602 +--:(example) 1603 +--rw example 1604 +--rw label-1? uint32 1605 augment /nw:networks/nw:network/nw:node/tet:te 1606 /tet:te-node-attributes/tet:connectivity-matrices 1607 /tet:label-restrictions/tet:label-restriction 1608 /tet:label-start/tet:te-label/tet:technology: 1609 +--:(example) 1610 +--rw example 1611 +--rw label-1? uint32 1612 augment /nw:networks/nw:network/nw:node/tet:te 1613 /tet:te-node-attributes/tet:connectivity-matrices 1614 /tet:label-restrictions/tet:label-restriction 1615 /tet:label-end/tet:te-label/tet:technology: 1616 +--:(example) 1617 +--rw example 1618 +--rw label-1? uint32 1619 augment /nw:networks/nw:network/nw:node/tet:te 1620 /tet:te-node-attributes/tet:connectivity-matrices 1621 /tet:underlay/tet:primary-path/tet:path-element/tet:type 1622 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1623 +--:(example) 1624 +--rw example 1625 +--rw label-1? uint32 1626 augment /nw:networks/nw:network/nw:node/tet:te 1627 /tet:te-node-attributes/tet:connectivity-matrices 1628 /tet:underlay/tet:backup-path/tet:path-element/tet:type 1629 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1630 +--:(example) 1631 +--rw example 1632 +--rw label-1? uint32 1633 augment /nw:networks/nw:network/nw:node/tet:te 1634 /tet:te-node-attributes/tet:connectivity-matrices 1635 /tet:path-properties/tet:path-route-objects 1636 /tet:path-route-object/tet:type/tet:label/tet:label-hop 1637 /tet:te-label/tet:technology: 1638 +--:(example) 1639 +--ro example 1640 +--ro label-1? uint32 1641 augment /nw:networks/nw:network/nw:node/tet:te 1642 /tet:te-node-attributes/tet:connectivity-matrices 1643 /tet:connectivity-matrix/tet:from/tet:label-restrictions 1644 /tet:label-restriction/tet:label-start/tet:te-label 1645 /tet:technology: 1646 +--:(example) 1647 +--rw example 1648 +--rw label-1? uint32 1649 augment /nw:networks/nw:network/nw:node/tet:te 1650 /tet:te-node-attributes/tet:connectivity-matrices 1651 /tet:connectivity-matrix/tet:from/tet:label-restrictions 1652 /tet:label-restriction/tet:label-end/tet:te-label 1653 /tet:technology: 1654 +--:(example) 1655 +--rw example 1656 +--rw label-1? uint32 1657 augment /nw:networks/nw:network/nw:node/tet:te 1658 /tet:te-node-attributes/tet:connectivity-matrices 1659 /tet:connectivity-matrix/tet:to/tet:label-restrictions 1660 /tet:label-restriction/tet:label-start/tet:te-label 1661 /tet:technology: 1662 +--:(example) 1663 +--rw example 1664 +--rw label-1? uint32 1665 augment /nw:networks/nw:network/nw:node/tet:te 1666 /tet:te-node-attributes/tet:connectivity-matrices 1667 /tet:connectivity-matrix/tet:to/tet:label-restrictions 1668 /tet:label-restriction/tet:label-end/tet:te-label 1669 /tet:technology: 1670 +--:(example) 1671 +--rw example 1672 +--rw label-1? uint32 1673 augment /nw:networks/nw:network/nw:node/tet:te 1674 /tet:te-node-attributes/tet:connectivity-matrices 1675 /tet:connectivity-matrix/tet:underlay/tet:primary-path 1676 /tet:path-element/tet:type/tet:label/tet:label-hop 1677 /tet:te-label/tet:technology: 1678 +--:(example) 1679 +--rw example 1680 +--rw label-1? uint32 1682 augment /nw:networks/nw:network/nw:node/tet:te 1683 /tet:te-node-attributes/tet:connectivity-matrices 1684 /tet:connectivity-matrix/tet:underlay/tet:backup-path 1685 /tet:path-element/tet:type/tet:label/tet:label-hop 1686 /tet:te-label/tet:technology: 1687 +--:(example) 1688 +--rw example 1689 +--rw label-1? uint32 1690 augment /nw:networks/nw:network/nw:node/tet:te 1691 /tet:te-node-attributes/tet:connectivity-matrices 1692 /tet:connectivity-matrix/tet:path-properties 1693 /tet:path-route-objects/tet:path-route-object/tet:type 1694 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1695 +--:(example) 1696 +--ro example 1697 +--ro label-1? uint32 1698 augment /nw:networks/nw:network/nw:node/tet:te 1699 /tet:information-source-entry/tet:connectivity-matrices 1700 /tet:label-restrictions/tet:label-restriction 1701 /tet:label-start/tet:te-label/tet:technology: 1702 +--:(example) 1703 +--ro example 1704 +--ro label-1? uint32 1705 augment /nw:networks/nw:network/nw:node/tet:te 1706 /tet:information-source-entry/tet:connectivity-matrices 1707 /tet:label-restrictions/tet:label-restriction 1708 /tet:label-end/tet:te-label/tet:technology: 1709 +--:(example) 1710 +--ro example 1711 +--ro label-1? uint32 1712 augment /nw:networks/nw:network/nw:node/tet:te 1713 /tet:information-source-entry/tet:connectivity-matrices 1714 /tet:underlay/tet:primary-path/tet:path-element/tet:type 1715 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1716 +--:(example) 1717 +--ro example 1718 +--ro label-1? uint32 1719 augment /nw:networks/nw:network/nw:node/tet:te 1720 /tet:information-source-entry/tet:connectivity-matrices 1721 /tet:underlay/tet:backup-path/tet:path-element/tet:type 1722 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1724 +--:(example) 1725 +--ro example 1726 +--ro label-1? uint32 1727 augment /nw:networks/nw:network/nw:node/tet:te 1728 /tet:information-source-entry/tet:connectivity-matrices 1729 /tet:path-properties/tet:path-route-objects 1730 /tet:path-route-object/tet:type/tet:label/tet:label-hop 1731 /tet:te-label/tet:technology: 1732 +--:(example) 1733 +--ro example 1734 +--ro label-1? uint32 1735 augment /nw:networks/nw:network/nw:node/tet:te 1736 /tet:information-source-entry/tet:connectivity-matrices 1737 /tet:connectivity-matrix/tet:from/tet:label-restrictions 1738 /tet:label-restriction/tet:label-start/tet:te-label 1739 /tet:technology: 1740 +--:(example) 1741 +--ro example 1742 +--ro label-1? uint32 1743 augment /nw:networks/nw:network/nw:node/tet:te 1744 /tet:information-source-entry/tet:connectivity-matrices 1745 /tet:connectivity-matrix/tet:from/tet:label-restrictions 1746 /tet:label-restriction/tet:label-end/tet:te-label 1747 /tet:technology: 1748 +--:(example) 1749 +--ro example 1750 +--ro label-1? uint32 1751 augment /nw:networks/nw:network/nw:node/tet:te 1752 /tet:information-source-entry/tet:connectivity-matrices 1753 /tet:connectivity-matrix/tet:to/tet:label-restrictions 1754 /tet:label-restriction/tet:label-start/tet:te-label 1755 /tet:technology: 1756 +--:(example) 1757 +--ro example 1758 +--ro label-1? uint32 1759 augment /nw:networks/nw:network/nw:node/tet:te 1760 /tet:information-source-entry/tet:connectivity-matrices 1761 /tet:connectivity-matrix/tet:to/tet:label-restrictions 1762 /tet:label-restriction/tet:label-end/tet:te-label 1763 /tet:technology: 1764 +--:(example) 1765 +--ro example 1766 +--ro label-1? uint32 1767 augment /nw:networks/nw:network/nw:node/tet:te 1768 /tet:information-source-entry/tet:connectivity-matrices 1769 /tet:connectivity-matrix/tet:underlay/tet:primary-path 1770 /tet:path-element/tet:type/tet:label/tet:label-hop 1771 /tet:te-label/tet:technology: 1772 +--:(example) 1773 +--ro example 1774 +--ro label-1? uint32 1775 augment /nw:networks/nw:network/nw:node/tet:te 1776 /tet:information-source-entry/tet:connectivity-matrices 1777 /tet:connectivity-matrix/tet:underlay/tet:backup-path 1778 /tet:path-element/tet:type/tet:label/tet:label-hop 1779 /tet:te-label/tet:technology: 1780 +--:(example) 1781 +--ro example 1782 +--ro label-1? uint32 1783 augment /nw:networks/nw:network/nw:node/tet:te 1784 /tet:information-source-entry/tet:connectivity-matrices 1785 /tet:connectivity-matrix/tet:path-properties 1786 /tet:path-route-objects/tet:path-route-object/tet:type 1787 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1788 +--:(example) 1789 +--ro example 1790 +--ro label-1? uint32 1791 augment /nw:networks/nw:network/nw:node/tet:te 1792 /tet:tunnel-termination-point 1793 /tet:local-link-connectivities/tet:label-restrictions 1794 /tet:label-restriction/tet:label-start/tet:te-label 1795 /tet:technology: 1796 +--:(example) 1797 +--rw example 1798 +--rw label-1? uint32 1799 augment /nw:networks/nw:network/nw:node/tet:te 1800 /tet:tunnel-termination-point 1801 /tet:local-link-connectivities/tet:label-restrictions 1802 /tet:label-restriction/tet:label-end/tet:te-label 1803 /tet:technology: 1804 +--:(example) 1805 +--rw example 1806 +--rw label-1? uint32 1807 augment /nw:networks/nw:network/nw:node/tet:te 1808 /tet:tunnel-termination-point 1809 /tet:local-link-connectivities/tet:underlay 1810 /tet:primary-path/tet:path-element/tet:type/tet:label 1811 /tet:label-hop/tet:te-label/tet:technology: 1812 +--:(example) 1813 +--rw example 1814 +--rw label-1? uint32 1815 augment /nw:networks/nw:network/nw:node/tet:te 1816 /tet:tunnel-termination-point 1817 /tet:local-link-connectivities/tet:underlay 1818 /tet:backup-path/tet:path-element/tet:type/tet:label 1819 /tet:label-hop/tet:te-label/tet:technology: 1820 +--:(example) 1821 +--rw example 1822 +--rw label-1? uint32 1823 augment /nw:networks/nw:network/nw:node/tet:te 1824 /tet:tunnel-termination-point 1825 /tet:local-link-connectivities/tet:path-properties 1826 /tet:path-route-objects/tet:path-route-object/tet:type 1827 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1828 +--:(example) 1829 +--ro example 1830 +--ro label-1? uint32 1831 augment /nw:networks/nw:network/nw:node/tet:te 1832 /tet:tunnel-termination-point 1833 /tet:local-link-connectivities 1834 /tet:local-link-connectivity/tet:label-restrictions 1835 /tet:label-restriction/tet:label-start/tet:te-label 1836 /tet:technology: 1837 +--:(example) 1838 +--rw example 1839 +--rw label-1? uint32 1840 augment /nw:networks/nw:network/nw:node/tet:te 1841 /tet:tunnel-termination-point 1842 /tet:local-link-connectivities 1843 /tet:local-link-connectivity/tet:label-restrictions 1844 /tet:label-restriction/tet:label-end/tet:te-label 1845 /tet:technology: 1846 +--:(example) 1847 +--rw example 1848 +--rw label-1? uint32 1849 augment /nw:networks/nw:network/nw:node/tet:te 1850 /tet:tunnel-termination-point 1851 /tet:local-link-connectivities 1852 /tet:local-link-connectivity/tet:underlay 1853 /tet:primary-path/tet:path-element/tet:type/tet:label 1854 /tet:label-hop/tet:te-label/tet:technology: 1855 +--:(example) 1856 +--rw example 1857 +--rw label-1? uint32 1858 augment /nw:networks/nw:network/nw:node/tet:te 1859 /tet:tunnel-termination-point 1860 /tet:local-link-connectivities 1861 /tet:local-link-connectivity/tet:underlay/tet:backup-path 1862 /tet:path-element/tet:type/tet:label/tet:label-hop 1863 /tet:te-label/tet:technology: 1864 +--:(example) 1865 +--rw example 1866 +--rw label-1? uint32 1867 augment /nw:networks/nw:network/nw:node/tet:te 1868 /tet:tunnel-termination-point 1869 /tet:local-link-connectivities 1870 /tet:local-link-connectivity/tet:path-properties 1871 /tet:path-route-objects/tet:path-route-object/tet:type 1872 /tet:label/tet:label-hop/tet:te-label/tet:technology: 1873 +--:(example) 1874 +--ro example 1875 +--ro label-1? uint32 1876 augment /nw:networks/nw:network/nt:link/tet:te 1877 /tet:te-link-attributes/tet:label-restrictions 1878 /tet:label-restriction/tet:label-start/tet:te-label 1879 /tet:technology: 1880 +--:(example) 1881 +--rw example 1882 +--rw label-1? uint32 1883 augment /nw:networks/nw:network/nt:link/tet:te 1884 /tet:te-link-attributes/tet:label-restrictions 1885 /tet:label-restriction/tet:label-end/tet:te-label 1886 /tet:technology: 1887 +--:(example) 1888 +--rw example 1889 +--rw label-1? uint32 1890 augment /nw:networks/nw:network/nt:link/tet:te 1891 /tet:te-link-attributes/tet:underlay/tet:primary-path 1892 /tet:path-element/tet:type/tet:label/tet:label-hop 1893 /tet:te-label/tet:technology: 1894 +--:(example) 1895 +--rw example 1896 +--rw label-1? uint32 1897 augment /nw:networks/nw:network/nt:link/tet:te 1898 /tet:te-link-attributes/tet:underlay/tet:backup-path 1899 /tet:path-element/tet:type/tet:label/tet:label-hop 1900 /tet:te-label/tet:technology: 1901 +--:(example) 1902 +--rw example 1903 +--rw label-1? uint32 1904 augment /nw:networks/nw:network/nt:link/tet:te 1905 /tet:information-source-entry/tet:label-restrictions 1906 /tet:label-restriction/tet:label-start/tet:te-label 1907 /tet:technology: 1908 +--:(example) 1909 +--ro example 1910 +--ro label-1? uint32 1911 augment /nw:networks/nw:network/nt:link/tet:te 1912 /tet:information-source-entry/tet:label-restrictions 1913 /tet:label-restriction/tet:label-end/tet:te-label 1914 /tet:technology: 1915 +--:(example) 1916 +--ro example 1917 +--ro label-1? uint32 1919 The YANG module to implement the above example topology can be seen 1920 in Appendix C. 1922 7. TE Topology YANG Module 1924 This module references [RFC1195], [RFC3209], [RFC3272], [RFC3471], 1925 [RFC3630], [RFC3785], [RFC4201], [RFC4202], [RFC4203], [RFC4206], 1926 [RFC4872], [RFC5152], [RFC5212], [RFC5305], [RFC5316], [RFC5329], 1927 [RFC5392], [RFC6001], [RFC6241], [RFC6991], [RFC7308], [RFC7471], 1928 [RFC7579], [RFC7752], [RFC8345], and [I-D.ietf-teas-yang-te]. 1930 file "ietf-te-topology@2018-06-15.yang" 1931 module ietf-te-topology { 1932 yang-version 1.1; 1933 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; 1935 prefix "tet"; 1937 import ietf-yang-types { 1938 prefix "yang"; 1939 reference "RFC 6991: Common YANG Data Types"; 1940 } 1942 import ietf-inet-types { 1943 prefix "inet"; 1944 reference "RFC 6991: Common YANG Data Types"; 1945 } 1947 import ietf-te-types { 1948 prefix "te-types"; 1949 reference 1950 "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic 1951 Engineering Tunnels and Interfaces"; 1952 } 1954 import ietf-network { 1955 prefix "nw"; 1956 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1957 } 1959 import ietf-network-topology { 1960 prefix "nt"; 1961 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1962 } 1964 organization 1965 "IETF Traffic Engineering Architecture and Signaling (TEAS) 1966 Working Group"; 1968 contact 1969 "WG Web: 1970 WG List: 1971 Editor: Xufeng Liu 1972 1974 Editor: Igor Bryskin 1975 1977 Editor: Vishnu Pavan Beeram 1978 1980 Editor: Tarek Saad 1981 1983 Editor: Himanshu Shah 1984 1986 Editor: Oscar Gonzalez De Dios 1987 "; 1989 description 1990 "TE topology model for representing and manipulating technology 1991 agnostic TE Topologies. 1993 Copyright (c) 2018 IETF Trust and the persons identified as 1994 authors of the code. All rights reserved. 1996 Redistribution and use in source and binary forms, with or 1997 without modification, is permitted pursuant to, and subject to 1998 the license terms contained in, the Simplified BSD License set 1999 forth in Section 4.c of the IETF Trust's Legal Provisions 2000 Relating to IETF Documents 2001 (http://trustee.ietf.org/license-info). 2003 This version of this YANG module is part of RFC XXXX; see the 2004 RFC itself for full legal notices."; 2006 revision "2018-06-15" { 2007 description "Initial revision"; 2008 reference "RFC XXXX: YANG Data Model for TE Topologies"; 2009 // RFC Ed.: replace XXXX with actual RFC number and remove 2010 // this note 2011 } 2013 /* 2014 * Features 2015 */ 2016 feature nsrlg { 2017 description 2018 "This feature indicates that the system supports NSRLG 2019 (Not Sharing Risk Link Group)."; 2020 } 2022 feature te-topology-hierarchy { 2023 description 2024 "This feature indicates that the system allows underlay 2025 and/or overlay TE topology hierarchy."; 2026 } 2028 feature template { 2029 description 2030 "This feature indicates that the system supports 2031 template configuration."; 2032 } 2034 /* 2035 * Typedefs 2036 */ 2037 typedef geographic-coordinate-degree { 2038 type decimal64 { 2039 fraction-digits 8; 2040 } 2041 description 2042 "Decimal degree (DD) used to express latitude and longitude 2043 geographic coordinates."; 2044 } // geographic-coordinate-degree 2046 typedef te-info-source { 2047 type enumeration { 2048 enum "unknown" { 2049 description "The source is unknown."; 2050 } 2051 enum "locally-configured" { 2052 description "Configured entity."; 2053 } 2054 enum "ospfv2" { 2055 description "OSPFv2."; 2056 } 2057 enum "ospfv3" { 2058 description "OSPFv3."; 2059 } 2060 enum "isis" { 2061 description "ISIS."; 2062 } 2063 enum "bgp-ls" { 2064 description "BGP-LS."; 2065 reference 2066 "RFC 7752: North-Bound Distribution of Link-State and 2067 Traffic Engineering (TE) Information Using BGP"; 2068 } 2069 enum "system-processed" { 2070 description "System processed entity."; 2071 } 2072 enum "other" { 2073 description "Other source."; 2074 } 2075 } 2076 description 2077 "Describining the type of source that has provided the 2078 related information, and the source credibility."; 2079 } // te-info-source 2081 /* 2082 * Groupings 2083 */ 2084 grouping connectivity-matrix-entry-path-attributes { 2085 description 2086 "Attributes of connectivity matrix entry."; 2087 leaf is-allowed { 2088 type boolean; 2089 description 2090 "true - switching is allowed, 2091 false - switching is disallowed."; 2092 } 2093 container underlay { 2094 if-feature te-topology-hierarchy; 2095 description "Attributes of the te-link underlay."; 2096 reference 2097 "RFC 4206: Label Switched Paths (LSP) Hierarchy with 2098 Generalized Multi-Protocol Label Switching (GMPLS) 2099 Traffic Engineering (TE)"; 2101 uses te-link-underlay-attributes; 2102 } // underlay 2104 uses te-types:generic-path-constraints; 2105 uses te-types:generic-path-optimization; 2106 uses te-types:generic-path-properties; 2107 } // connectivity-matrix-entry-path-attributes 2109 grouping geolocation-container { 2110 description 2111 "A container containing a GPS location."; 2112 container geolocation{ 2113 config false; 2114 description 2115 "A container containing a GPS location."; 2116 leaf altitude { 2117 type int64; 2118 units millimeter; 2119 description 2120 "Distance above the sea level."; 2121 } 2122 leaf latitude { 2123 type geographic-coordinate-degree { 2124 range "-90..90"; 2125 } 2126 description 2127 "Relative position north or south on the Earth's surface."; 2128 } 2129 leaf longitude { 2130 type geographic-coordinate-degree { 2131 range "-180..180"; 2132 } 2133 description 2134 "Angular distance east or west on the Earth's surface."; 2135 } 2136 } // gps-location 2137 } // geolocation-container 2139 grouping information-source-state-attributes { 2140 description 2141 "The attributes identifying source that has provided the 2142 related information, and the source credibility."; 2143 leaf credibility-preference { 2144 type uint16; 2145 description 2146 "The preference value to calculate the traffic 2147 engineering database credibility value used for 2148 tie-break selection between different 2149 information-source values. 2150 Higher value is more preferable."; 2151 } 2152 leaf logical-network-element { 2153 type string; 2154 description 2155 "When applicable, this is the name of a logical network 2156 element from which the information is learned."; 2157 } // logical-network-element 2158 leaf network-instance { 2159 type string; 2160 description 2161 "When applicable, this is the name of a network-instance 2162 from which the information is learned."; 2163 } // network-instance 2164 } // information-source-state-attributes 2166 grouping information-source-per-link-attributes { 2167 description 2168 "Per node container of the attributes identifying source that 2169 has provided the related information, and the source 2170 credibility."; 2171 leaf information-source { 2172 type te-info-source; 2173 config false; 2174 description 2175 "Indicates the source of the information."; 2176 } 2177 container information-source-state { 2178 config false; 2179 description 2180 "The container contains state attributes related to 2181 the information source."; 2182 uses information-source-state-attributes; 2183 container topology { 2184 description 2185 "When the information is processed by the system, 2186 the attributes in this container indicate which topology 2187 is used to process to generate the result information."; 2188 uses nt:link-ref; 2189 } // topology 2190 } // information-source-state 2191 } // information-source-per-link-attributes 2193 grouping information-source-per-node-attributes { 2194 description 2195 "Per node container of the attributes identifying source that 2196 has provided the related information, and the source 2197 credibility."; 2198 leaf information-source { 2199 type te-info-source; 2200 config false; 2201 description 2202 "Indicates the source of the information."; 2203 } 2204 container information-source-state { 2205 config false; 2206 description 2207 "The container contains state attributes related to 2208 the information source."; 2209 uses information-source-state-attributes; 2210 container topology { 2211 description 2212 "When the information is processed by the system, 2213 the attributes in this container indicate which topology 2214 is used to process to generate the result information."; 2215 uses nw:node-ref; 2217 } // topology 2218 } // information-source-state 2219 } // information-source-per-node-attributes 2221 grouping interface-switching-capability-list { 2222 description 2223 "List of Interface Switching Capabilities Descriptors (ISCD)"; 2224 list interface-switching-capability { 2225 key "switching-capability encoding"; 2226 description 2227 "List of Interface Switching Capabilities Descriptors (ISCD) 2228 for this link."; 2229 reference 2230 "RFC 3471: Generalized Multi-Protocol Label Switching (GMPLS) 2231 Signaling Functional Description. 2232 RFC 4203: OSPF Extensions in Support of Generalized 2233 Multi-Protocol Label Switching (GMPLS)."; 2234 leaf switching-capability { 2235 type identityref { 2236 base te-types:switching-capabilities; 2237 } 2238 description 2239 "Switching Capability for this interface."; 2240 } 2241 leaf encoding { 2242 type identityref { 2243 base te-types:lsp-encoding-types; 2244 } 2245 description 2246 "Encoding supported by this interface."; 2247 } 2248 uses te-link-iscd-attributes; 2249 } // interface-switching-capability 2250 } // interface-switching-capability-list 2252 grouping statistics-per-link { 2253 description 2254 "Statistics attributes per TE link."; 2255 leaf discontinuity-time { 2256 type yang:date-and-time; 2257 description 2258 "The time on the most recent occasion at which any one or 2259 more of this interface's counters suffered a 2260 discontinuity. If no such discontinuities have occurred 2261 since the last re-initialization of the local management 2262 subsystem, then this node contains the time the local 2263 management subsystem re-initialized itself."; 2264 } 2265 /* Administrative attributes */ 2266 leaf disables { 2267 type yang:counter32; 2268 description 2269 "Number of times that link was disabled."; 2270 } 2271 leaf enables { 2272 type yang:counter32; 2273 description 2274 "Number of times that link was enabled."; 2275 } 2276 leaf maintenance-clears { 2277 type yang:counter32; 2278 description 2279 "Number of times that link was put out of maintenance."; 2280 } 2281 leaf maintenance-sets { 2282 type yang:counter32; 2283 description 2284 "Number of times that link was put in maintenance."; 2285 } 2286 leaf modifies { 2287 type yang:counter32; 2288 description 2289 "Number of times that link was modified."; 2290 } 2291 /* Operational attributes */ 2292 leaf downs { 2293 type yang:counter32; 2294 description 2295 "Number of times that link was set to operational down."; 2296 } 2297 leaf ups { 2298 type yang:counter32; 2299 description 2300 "Number of times that link was set to operational up."; 2301 } 2302 /* Recovery attributes */ 2303 leaf fault-clears { 2304 type yang:counter32; 2305 description 2306 "Number of times that link experienced fault clear event."; 2307 } 2308 leaf fault-detects { 2309 type yang:counter32; 2310 description 2311 "Number of times that link experienced fault detection."; 2312 } 2313 leaf protection-switches { 2314 type yang:counter32; 2315 description 2316 "Number of times that link experienced protection 2317 switchover."; 2318 } 2319 leaf protection-reverts { 2320 type yang:counter32; 2321 description 2322 "Number of times that link experienced protection 2323 reversion."; 2324 } 2325 leaf restoration-failures { 2326 type yang:counter32; 2327 description 2328 "Number of times that link experienced restoration 2329 failure."; 2330 } 2331 leaf restoration-starts { 2332 type yang:counter32; 2333 description 2334 "Number of times that link experienced restoration 2335 start."; 2336 } 2337 leaf restoration-successes { 2338 type yang:counter32; 2339 description 2340 "Number of times that link experienced restoration 2341 success."; 2342 } 2343 leaf restoration-reversion-failures { 2344 type yang:counter32; 2345 description 2346 "Number of times that link experienced restoration reversion 2347 failure."; 2348 } 2349 leaf restoration-reversion-starts { 2350 type yang:counter32; 2351 description 2352 "Number of times that link experienced restoration reversion 2353 start."; 2354 } 2355 leaf restoration-reversion-successes { 2356 type yang:counter32; 2357 description 2358 "Number of times that link experienced restoration reversion 2359 success."; 2360 } 2361 } // statistics-per-link 2363 grouping statistics-per-node { 2364 description 2365 "Statistics attributes per TE node."; 2366 leaf discontinuity-time { 2367 type yang:date-and-time; 2368 description 2369 "The time on the most recent occasion at which any one or 2370 more of this interface's counters suffered a 2371 discontinuity. If no such discontinuities have occurred 2372 since the last re-initialization of the local management 2373 subsystem, then this node contains the time the local 2374 management subsystem re-initialized itself."; 2375 } 2376 container node { 2377 description 2378 "Containing TE node level statistics attributes."; 2379 leaf disables { 2380 type yang:counter32; 2381 description 2382 "Number of times that node was disabled."; 2383 } 2384 leaf enables { 2385 type yang:counter32; 2386 description 2387 "Number of times that node was enabled."; 2388 } 2389 leaf maintenance-sets { 2390 type yang:counter32; 2391 description 2392 "Number of times that node was put in maintenance."; 2393 } 2394 leaf maintenance-clears { 2395 type yang:counter32; 2396 description 2397 "Number of times that node was put out of maintenance."; 2398 } 2399 leaf modifies { 2400 type yang:counter32; 2401 description 2402 "Number of times that node was modified."; 2403 } 2404 } // node 2405 container connectivity-matrix-entry { 2406 description 2407 "Containing connectivity matrix entry level statistics 2408 attributes."; 2409 leaf creates { 2410 type yang:counter32; 2411 description 2412 "Number of times that a connectivity matrix entry was 2413 created."; 2414 reference 2415 "RFC 6241. Section 7.2 for 'create' operation. "; 2416 } 2417 leaf deletes { 2418 type yang:counter32; 2419 description 2420 "Number of times that a connectivity matrix entry was 2421 deleted."; 2423 reference 2424 "RFC 6241. Section 7.2 for 'delete' operation. "; 2425 } 2426 leaf disables { 2427 type yang:counter32; 2428 description 2429 "Number of times that a connectivity matrix entry was 2430 disabled."; 2431 } 2432 leaf enables { 2433 type yang:counter32; 2434 description 2435 "Number of times that a connectivity matrix entry was 2436 enabled."; 2437 } 2438 leaf modifies { 2439 type yang:counter32; 2440 description 2441 "Number of times that a connectivity matrix entry was 2442 modified."; 2443 } 2444 } // connectivity-matrix-entry 2445 } // statistics-per-node 2447 grouping statistics-per-ttp { 2448 description 2449 "Statistics attributes per TE TTP (Tunnel Termination Point)."; 2450 leaf discontinuity-time { 2451 type yang:date-and-time; 2452 description 2453 "The time on the most recent occasion at which any one or 2454 more of this interface's counters suffered a 2455 discontinuity. If no such discontinuities have occurred 2456 since the last re-initialization of the local management 2457 subsystem, then this node contains the time the local 2458 management subsystem re-initialized itself."; 2459 } 2460 container tunnel-termination-point { 2461 description 2462 "Containing TE TTP (Tunnel Termination Point) level 2463 statistics attributes."; 2465 /* Administrative attributes */ 2466 leaf disables { 2467 type yang:counter32; 2468 description 2469 "Number of times that TTP was disabled."; 2470 } 2471 leaf enables { 2472 type yang:counter32; 2473 description 2474 "Number of times that TTP was enabled."; 2475 } 2476 leaf maintenance-clears { 2477 type yang:counter32; 2478 description 2479 "Number of times that TTP was put out of maintenance."; 2480 } 2481 leaf maintenance-sets { 2482 type yang:counter32; 2483 description 2484 "Number of times that TTP was put in maintenance."; 2485 } 2486 leaf modifies { 2487 type yang:counter32; 2488 description 2489 "Number of times that TTP was modified."; 2490 } 2491 /* Operational attributes */ 2492 leaf downs { 2493 type yang:counter32; 2494 description 2495 "Number of times that TTP was set to operational down."; 2496 } 2497 leaf ups { 2498 type yang:counter32; 2499 description 2500 "Number of times that TTP was set to operational up."; 2501 } 2502 leaf in-service-clears { 2503 type yang:counter32; 2504 description 2505 "Number of times that TTP was taken out of service 2506 (TE tunnel was released)."; 2507 } 2508 leaf in-service-sets { 2509 type yang:counter32; 2510 description 2511 "Number of times that TTP was put in service by a TE 2512 tunnel (TE tunnel was set up)."; 2513 } 2514 } // tunnel-termination-point 2516 container local-link-connectivity { 2517 description 2518 "Containing TE LLCL (Local Link Connectivity List) level 2519 statistics attributes."; 2520 leaf creates { 2521 type yang:counter32; 2522 description 2523 "Number of times that an LLCL entry was created."; 2524 reference 2525 "RFC 6241. Section 7.2 for 'create' operation."; 2526 } 2527 leaf deletes { 2528 type yang:counter32; 2529 description 2530 "Number of times that an LLCL entry was deleted."; 2531 reference 2532 "RFC 6241. Section 7.2 for 'delete' operation."; 2533 } 2534 leaf disables { 2535 type yang:counter32; 2536 description 2537 "Number of times that an LLCL entry was disabled."; 2538 } 2539 leaf enables { 2540 type yang:counter32; 2541 description 2542 "Number of times that an LLCL entry was enabled."; 2543 } 2544 leaf modifies { 2545 type yang:counter32; 2546 description 2547 "Number of times that an LLCL entry was modified."; 2548 } 2549 } // local-link-connectivity 2550 } // statistics-per-ttp 2552 grouping te-link-augment { 2553 description 2554 "Augmentation for TE link."; 2555 uses te-link-config; 2556 uses te-link-state-derived; 2557 container statistics { 2558 config false; 2559 description 2560 "Statistics data."; 2561 uses statistics-per-link; 2562 } // statistics 2563 } // te-link-augment 2565 grouping te-link-config { 2566 description 2567 "TE link configuration grouping."; 2568 choice bundle-stack-level { 2569 description 2570 "The TE link can be partitioned into bundled 2571 links, or component links."; 2572 case bundle { 2573 container bundled-links { 2574 description 2575 "A set of bundled links."; 2576 reference 2577 "RFC 4201: Link Bundling in MPLS Traffic Engineering 2578 (TE)."; 2579 list bundled-link { 2580 key "sequence"; 2581 description 2582 "Specify a bundled interface that is 2583 further partitioned."; 2584 leaf sequence { 2585 type uint32; 2586 description 2587 "Identify the sequence in the bundle."; 2589 } 2590 } // list bundled-link 2591 } 2592 } 2593 case component { 2594 container component-links { 2595 description 2596 "A set of component links"; 2597 list component-link { 2598 key "sequence"; 2599 description 2600 "Specify a component interface that is 2601 sufficient to unambiguously identify the 2602 appropriate resources"; 2604 leaf sequence { 2605 type uint32; 2606 description 2607 "Identify the sequence in the bundle."; 2608 } 2609 leaf src-interface-ref { 2610 type string; 2611 description 2612 "Reference to component link interface on the 2613 source node."; 2614 } 2615 leaf des-interface-ref { 2616 type string; 2617 description 2618 "Reference to component link interface on the 2619 destinatioin node."; 2620 } 2621 } 2622 } 2623 } 2624 } // bundle-stack-level 2626 leaf-list te-link-template { 2627 if-feature template; 2628 type leafref { 2629 path "../../../../te/templates/link-template/name"; 2631 } 2632 description 2633 "The reference to a TE link template."; 2634 } 2635 uses te-link-config-attributes; 2636 } // te-link-config 2638 grouping te-link-config-attributes { 2639 description 2640 "Link configuration attributes in a TE topology."; 2641 container te-link-attributes { 2642 description "Link attributes in a TE topology."; 2643 leaf access-type { 2644 type te-types:te-link-access-type; 2645 description 2646 "Link access type, which can be point-to-point or 2647 multi-access."; 2648 } 2649 container external-domain { 2650 description 2651 "For an inter-domain link, specify the attributes of 2652 the remote end of link, to facilitate the signalling at 2653 local end."; 2654 uses nw:network-ref; 2655 leaf remote-te-node-id { 2656 type te-types:te-node-id; 2657 description 2658 "Remote TE node identifier, used together with 2659 remote-te-link-id to identify the remote link 2660 termination point in a different domain."; 2661 } 2662 leaf remote-te-link-tp-id { 2663 type te-types:te-tp-id; 2664 description 2665 "Remote TE link termination point identifier, used 2666 together with remote-te-node-id to identify the remote 2667 link termination point in a different domain."; 2668 } 2669 } 2670 leaf is-abstract { 2671 type empty; 2672 description "Present if the link is abstract."; 2673 } 2674 leaf name { 2675 type string; 2676 description "Link Name."; 2677 } 2678 container underlay { 2679 if-feature te-topology-hierarchy; 2680 description "Attributes of the te-link underlay."; 2681 reference 2682 "RFC 4206: Label Switched Paths (LSP) Hierarchy with 2683 Generalized Multi-Protocol Label Switching (GMPLS) 2684 Traffic Engineering (TE)"; 2686 uses te-link-underlay-attributes; 2687 } // underlay 2688 leaf admin-status { 2689 type te-types:te-admin-status; 2690 description 2691 "The administrative state of the link."; 2692 } 2694 uses te-link-info-attributes; 2695 } // te-link-attributes 2696 } // te-link-config-attributes 2698 grouping te-link-info-attributes { 2699 description 2700 "Advertised TE information attributes."; 2701 leaf link-index { 2702 type uint64; 2703 description 2704 "The link identifier. If OSPF is used, this represents an 2705 ospfLsdbID. If IS-IS is used, this represents an isisLSPID. 2706 If a locally configured link is used, this object represents 2707 a unique value, which is locally defined in a router."; 2708 } 2709 leaf administrative-group { 2710 type te-types:admin-groups; 2711 description 2712 "Administrative group or color of the link. 2714 This attribute covers both administrative group (defined in 2715 RFC 3630, RFC 5305 and RFC 5329), and extended 2716 administrative group (defined in RFC 7308)."; 2717 } 2719 uses interface-switching-capability-list; 2720 uses te-types:label-set-info; 2722 leaf link-protection-type { 2723 type enumeration { 2724 enum "unprotected" { 2725 description "Unprotected."; 2726 } 2727 enum "extra-traffic" { 2728 description "Extra traffic."; 2729 } 2730 enum "shared" { 2731 description "Shared."; 2732 } 2733 enum "1-for-1" { 2734 description "One for one protection."; 2735 } 2736 enum "1-plus-1" { 2737 description "One plus one protection."; 2738 } 2739 enum "enhanced" { 2740 description "Enhanced protection."; 2741 } 2742 } 2743 description 2744 "Link Protection Type desired for this link."; 2745 reference 2746 "RFC 4202: Routing Extensions in Support of 2747 Generalized Multi-Protocol Label Switching (GMPLS)."; 2748 } 2750 container max-link-bandwidth { 2751 uses te-types:te-bandwidth; 2752 description 2753 "Maximum bandwidth that can be seen on this link in this 2754 direction. Units in bytes per second."; 2756 reference 2757 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF 2758 Version 2. 2759 RFC 5305: IS-IS Extensions for Traffic Engineering."; 2760 } 2761 container max-resv-link-bandwidth { 2762 uses te-types:te-bandwidth; 2763 description 2764 "Maximum amount of bandwidth that can be reserved in this 2765 direction in this link. Units in bytes per second."; 2766 reference 2767 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF 2768 Version 2. 2769 RFC 5305: IS-IS Extensions for Traffic Engineering."; 2770 } 2771 list unreserved-bandwidth { 2772 key "priority"; 2773 max-elements "8"; 2774 description 2775 "Unreserved bandwidth for 0-7 priority levels. Units in 2776 bytes per second."; 2777 reference 2778 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF 2779 Version 2. 2780 RFC 5305: IS-IS Extensions for Traffic Engineering."; 2781 leaf priority { 2782 type uint8 { 2783 range "0..7"; 2784 } 2785 description "Priority."; 2786 } 2787 uses te-types:te-bandwidth; 2788 } 2789 leaf te-default-metric { 2790 type uint32; 2791 description 2792 "Traffic engineering metric."; 2793 reference 2794 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF 2795 Version 2. 2796 RFC 5305: IS-IS Extensions for Traffic Engineering."; 2798 } 2799 leaf te-delay-metric { 2800 type uint32; 2801 description 2802 "Traffic engineering delay metric."; 2803 reference 2804 "RFC 7471: OSPF Traffic Engineering (TE) Metric Extensions."; 2805 } 2806 leaf te-igp-metric { 2807 type uint32; 2808 description 2809 "IGP metric used for traffic engineering."; 2810 reference 2811 "RFC 3785: Use of Interior Gateway Protocol (IGP) Metric as a 2812 Second MPLS Traffic Engineering (TE) Metric."; 2813 } 2814 container te-srlgs { 2815 description 2816 "Containing a list of SLRGs."; 2817 leaf-list value { 2818 type te-types:srlg; 2819 description "SRLG value."; 2820 reference 2821 "RFC 4202: Routing Extensions in Support of 2822 Generalized Multi-Protocol Label Switching (GMPLS)."; 2823 } 2824 } 2825 container te-nsrlgs { 2826 if-feature nsrlg; 2827 description 2828 "Containing a list of NSRLGs (Not Sharing Risk Link 2829 Groups). 2830 When an abstract TE link is configured, this list specifies 2831 the request that underlay TE paths need to be mutually 2832 disjoint with other TE links in the same groups."; 2833 leaf-list id { 2834 type uint32; 2835 description 2836 "NSRLG ID, uniquely configured within a topology."; 2837 reference 2838 "RFC 4872: RSVP-TE Extensions in Support of End-to-End 2839 Generalized Multi-Protocol Label Switching (GMPLS) 2840 Recovery"; 2841 } 2842 } 2843 } // te-link-info-attributes 2845 grouping te-link-iscd-attributes { 2846 description 2847 "TE link ISCD (Interface Switching Capability Descriptor) 2848 attributes."; 2849 reference 2850 "Sec 1.4, RFC 4203: OSPF Extensions in Support of Generalized 2851 Multi-Protocol Label Switching (GMPLS). Section 1.4."; 2852 list max-lsp-bandwidth { 2853 key "priority"; 2854 max-elements "8"; 2855 description 2856 "Maximum LSP Bandwidth at priorities 0-7."; 2857 leaf priority { 2858 type uint8 { 2859 range "0..7"; 2860 } 2861 description "Priority."; 2862 } 2863 uses te-types:te-bandwidth; 2864 } 2865 } // te-link-iscd-attributes 2867 grouping te-link-state-derived { 2868 description 2869 "Link state attributes in a TE topology."; 2870 leaf oper-status { 2871 type te-types:te-oper-status; 2872 config false; 2873 description 2874 "The current operational state of the link."; 2875 } 2876 leaf is-transitional { 2877 type empty; 2878 config false; 2879 description 2880 "Present if the link is transitional, used as an 2881 alternative approach in lieu of inter-layer-lock-id 2882 for path computation in a TE topology covering multiple 2883 layers or multiple regions."; 2884 reference 2885 "RFC 5212: Requirements for GMPLS-Based Multi-Region and 2886 Multi-Layer Networks (MRN/MLN). 2887 RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions 2888 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 2889 } 2890 uses information-source-per-link-attributes; 2891 list information-source-entry { 2892 key "information-source"; 2893 config false; 2894 description 2895 "A list of information sources learned, including the one 2896 used."; 2897 uses information-source-per-link-attributes; 2898 uses te-link-info-attributes; 2899 } 2900 container recovery { 2901 config false; 2902 description 2903 "Status of the recovery process."; 2904 leaf restoration-status { 2905 type te-types:te-recovery-status; 2906 description 2907 "Restoration status."; 2908 } 2909 leaf protection-status { 2910 type te-types:te-recovery-status; 2911 description 2912 "Protection status."; 2913 } 2914 } 2915 container underlay { 2916 if-feature te-topology-hierarchy; 2917 config false; 2918 description "State attributes for te-link underlay."; 2919 leaf dynamic { 2920 type boolean; 2921 description 2922 "true if the underlay is dynamically created."; 2923 } 2924 leaf committed { 2925 type boolean; 2926 description 2927 "true if the underlay is committed."; 2928 } 2929 } 2930 } // te-link-state-derived 2932 grouping te-link-underlay-attributes { 2933 description "Attributes for te-link underlay."; 2934 reference 2935 "RFC 4206: Label Switched Paths (LSP) Hierarchy with 2936 Generalized Multi-Protocol Label Switching (GMPLS) 2937 Traffic Engineering (TE)"; 2938 leaf enabled { 2939 type boolean; 2940 description 2941 "'true' if the underlay is enabled. 2942 'false' if the underlay is disabled."; 2943 } 2944 container primary-path { 2945 description 2946 "The service path on the underlay topology that 2947 supports this link."; 2948 uses nw:network-ref; 2949 list path-element { 2950 key "path-element-id"; 2951 description 2952 "A list of path elements describing the service path."; 2953 leaf path-element-id { 2954 type uint32; 2955 description "To identify the element in a path."; 2956 } 2957 uses te-path-element; 2958 } 2959 } // primary-path 2960 list backup-path { 2961 key "index"; 2962 description 2963 "A list of backup service paths on the underlay topology that 2964 protect the underlay primary path. If the primary path is 2965 not protected, the list contains zero elements. If the 2966 primary path is protected, the list contains one or more 2967 elements."; 2968 leaf index { 2969 type uint32; 2970 description 2971 "A sequence number to identify a backup path."; 2972 } 2973 uses nw:network-ref; 2974 list path-element { 2975 key "path-element-id"; 2976 description 2977 "A list of path elements describing the backup service 2978 path"; 2979 leaf path-element-id { 2980 type uint32; 2981 description "To identify the element in a path."; 2982 } 2983 uses te-path-element; 2984 } 2985 } // underlay-backup-path 2986 leaf protection-type { 2987 type identityref { 2988 base te-types:lsp-protection-type; 2989 } 2990 description 2991 "Underlay protection type desired for this link."; 2992 } 2993 container tunnel-termination-points { 2994 description 2995 "Underlay TTP(Tunnel Termination Points) desired for this 2996 link."; 2997 leaf source { 2998 type binary; 2999 description 3000 "Source tunnel termination point identifier."; 3001 } 3002 leaf destination { 3003 type binary; 3004 description 3005 "Destination tunnel termination point identifier."; 3006 } 3007 } 3008 container tunnels { 3009 description 3010 "Underlay TE tunnels supporting this TE link."; 3011 leaf sharing { 3012 type boolean; 3013 default true; 3014 description 3015 "'true' if the underlay tunnel can be shared with other 3016 TE links; 3017 'false' if the underlay tunnel is dedicated to this 3018 TE link. 3019 This leaf is the default option for all TE tunnels, 3020 and may be overridden by the per TE tunnel value."; 3021 } 3022 list tunnel { 3023 key "tunnel-name"; 3024 description 3025 "Zero, one or more underlay TE tunnels that support this TE 3026 link."; 3027 leaf tunnel-name { 3028 type string; 3029 description 3030 "A tunnel name uniquely identifies an underlay TE tunnel, 3031 used together with the source-node of this link. 3032 The detailed information of this tunnel can be retrieved 3033 from the ietf-te model."; 3034 reference "RFC 3209"; 3035 } 3036 leaf sharing { 3037 type boolean; 3038 description 3039 "'true' if the underlay tunnel can be shared with other 3040 TE links; 3041 'false' if the underlay tunnel is dedicated to this 3042 TE link."; 3043 } 3045 } // tunnel 3046 } // tunnels 3047 } // te-link-underlay-attributes 3049 grouping te-node-augment { 3050 description 3051 "Augmentation for TE node."; 3052 uses te-node-config; 3053 uses te-node-state-derived; 3054 container statistics { 3055 config false; 3056 description 3057 "Statistics data."; 3058 uses statistics-per-node; 3059 } // statistics 3061 list tunnel-termination-point { 3062 key "tunnel-tp-id"; 3063 description 3064 "A termination point can terminate a tunnel."; 3065 leaf tunnel-tp-id { 3066 type binary; 3067 description 3068 "Tunnel termination point identifier."; 3069 } 3071 uses te-node-tunnel-termination-point-config; 3072 leaf oper-status { 3073 type te-types:te-oper-status; 3074 config false; 3075 description 3076 "The current operational state of the tunnel 3077 termination point."; 3078 } 3079 uses geolocation-container; 3080 container statistics { 3081 config false; 3082 description 3083 "Statistics data."; 3084 uses statistics-per-ttp; 3085 } // statistics 3086 // Relations to other tunnel termination points 3087 list supporting-tunnel-termination-point { 3088 key "node-ref tunnel-tp-ref"; 3089 description 3090 "Identifies the tunnel termination points, that this 3091 tunnel termination point is depending on."; 3092 leaf node-ref { 3093 type inet:uri; 3094 description 3095 "This leaf identifies the node in which the supporting 3096 tunnel termination point is present. 3097 This node is either the supporting node or a node in 3098 an underlay topology."; 3099 } 3100 leaf tunnel-tp-ref { 3101 type binary; 3102 description 3103 "Reference to a tunnel terminiation point, which is 3104 either in the supporting node or a node in an 3105 underlay topology."; 3106 } 3107 } // supporting-tunnel-termination-point 3108 } // tunnel-termination-point 3109 } // te-node-augment 3111 grouping te-node-config { 3112 description "TE node configuration grouping."; 3113 leaf-list te-node-template { 3114 if-feature template; 3115 type leafref { 3116 path "../../../../te/templates/node-template/name"; 3117 } 3118 description 3119 "The reference to a TE node template."; 3120 } 3121 uses te-node-config-attributes; 3122 } // te-node-config 3124 grouping te-node-config-attributes { 3125 description "Configuration node attributes in a TE topology."; 3126 container te-node-attributes { 3127 description "Containing node attributes in a TE topology."; 3128 leaf admin-status { 3129 type te-types:te-admin-status; 3130 description 3131 "The administrative state of the link."; 3132 } 3133 uses te-node-connectivity-matrices; 3134 uses te-node-info-attributes; 3135 } // te-node-attributes 3136 } // te-node-config-attributes 3138 grouping te-node-config-attributes-template { 3139 description 3140 "Configuration node attributes for template in a TE topology."; 3141 container te-node-attributes { 3142 description "Containing node attributes in a TE topology."; 3143 leaf admin-status { 3144 type te-types:te-admin-status; 3145 description 3146 "The administrative state of the link."; 3147 } 3148 uses te-node-info-attributes; 3149 } // te-node-attributes 3150 } // te-node-config-attributes-template 3152 grouping te-node-connectivity-matrices { 3153 description "Connectivity matrix on a TE node."; 3154 container connectivity-matrices { 3155 description 3156 "Containing connectivity matrix on a TE node."; 3157 leaf number-of-entries { 3158 type uint16; 3159 description 3160 "The number of connectivity matrix entries. 3161 If this number is specified in the configuration request, 3162 the number is requested number of entries, which may not 3163 all be listed in the list; 3164 if this number is reported in the state data, 3165 the number is the current number of operational entries."; 3166 } 3167 uses te-types:label-set-info; 3168 uses connectivity-matrix-entry-path-attributes; 3169 list connectivity-matrix { 3170 key "id"; 3171 description 3172 "Represents node's switching limitations, i.e. limitations 3173 in interconnecting network TE links across the node."; 3174 reference 3175 "RFC 7579: General Network Element Constraint Encoding 3176 for GMPLS-Controlled Networks."; 3177 leaf id { 3178 type uint32; 3179 description "Identifies the connectivity-matrix entry."; 3180 } 3181 } // connectivity-matrix 3182 } // connectivity-matrices 3183 } // te-node-connectivity-matrices 3185 grouping te-node-connectivity-matrix-attributes { 3186 description 3187 "Termination point references of a connectivity matrix entry."; 3188 container from { 3189 description 3190 "Reference to source link termination point."; 3191 leaf tp-ref { 3192 type leafref { 3193 path "../../../../../../nt:termination-point/nt:tp-id"; 3194 } 3195 description 3196 "Relative reference to a termination point."; 3197 } 3198 uses te-types:label-set-info; 3199 } 3200 container to { 3201 description 3202 "Reference to destination link termination point."; 3203 leaf tp-ref { 3204 type leafref { 3205 path "../../../../../../nt:termination-point/nt:tp-id"; 3206 } 3207 description 3208 "Relative reference to a termination point."; 3209 } 3210 uses te-types:label-set-info; 3211 } 3212 uses connectivity-matrix-entry-path-attributes; 3213 } // te-node-connectivity-matrix-attributes 3215 grouping te-node-info-attributes { 3216 description 3217 "Advertised TE information attributes."; 3218 leaf domain-id { 3219 type uint32; 3220 description 3221 "Identifies the domain that this node belongs. 3222 This attribute is used to support inter-domain links."; 3223 reference 3224 "RFC 5152: A Per-Domain Path Computation Method for 3225 Establishing Inter-Domain Traffic Engineering (TE) 3226 Label Switched Paths (LSPs). 3227 RFC 5392: OSPF Extensions in Support of Inter-Autonomous 3228 System (AS) MPLS and GMPLS Traffic Engineering. 3229 RFC 5316: ISIS Extensions in Support of Inter-Autonomous 3230 System (AS) MPLS and GMPLS Traffic Engineering."; 3231 } 3232 leaf is-abstract { 3233 type empty; 3234 description 3235 "Present if the node is abstract, not present if the node 3236 is actual."; 3237 } 3238 leaf name { 3239 type string; 3240 description "Node name."; 3241 } 3242 leaf-list signaling-address { 3243 type inet:ip-address; 3244 description "Node signaling address."; 3245 } 3246 container underlay-topology { 3247 if-feature te-topology-hierarchy; 3248 description 3249 "When an abstract node encapsulates a topology, 3250 the attributes in this container point to said topology."; 3251 uses nw:network-ref; 3252 } 3253 } // te-node-info-attributes 3255 grouping te-node-state-derived { 3256 description "Node state attributes in a TE topology."; 3257 leaf oper-status { 3258 type te-types:te-oper-status; 3259 config false; 3260 description 3261 "The current operational state of the node."; 3262 } 3263 uses geolocation-container; 3264 leaf is-multi-access-dr { 3265 type empty; 3266 config false; 3267 description 3268 "The presence of this attribute indicates that this TE node 3269 is a pseudonode elected as a designated router."; 3270 reference 3271 "RFC 3630: Traffic Engineering (TE) Extensions to OSPF 3272 Version 2. 3273 RFC 1195: Use of OSI IS-IS for Routing in TCP/IP and Dual 3274 Environments."; 3275 } 3276 uses information-source-per-node-attributes; 3277 list information-source-entry { 3278 key "information-source"; 3279 config false; 3280 description 3281 "A list of information sources learned, including the one 3282 used."; 3283 uses information-source-per-node-attributes; 3284 uses te-node-connectivity-matrices; 3285 uses te-node-info-attributes; 3286 } 3287 } // te-node-state-derived 3289 grouping te-node-tunnel-termination-point-config { 3290 description 3291 "Termination capability of a tunnel termination point on a 3292 TE node."; 3293 uses te-node-tunnel-termination-point-config-attributes; 3294 container local-link-connectivities { 3295 description 3296 "Containing local link connectivity list for 3297 a tunnel termination point on a TE node."; 3298 leaf number-of-entries { 3299 type uint16; 3300 description 3301 "The number of local link connectivity list entries. 3302 If this number is specified in the configuration request, 3303 the number is requested number of entries, which may not 3304 all be listed in the list; 3305 if this number is reported in the state data, 3306 the number is the current number of operational entries."; 3307 } 3308 uses te-types:label-set-info; 3309 uses connectivity-matrix-entry-path-attributes; 3310 } // local-link-connectivities 3311 } // te-node-tunnel-termination-point-config 3313 grouping te-node-tunnel-termination-point-config-attributes { 3314 description 3315 "Configuration attributes of a tunnel termination point on a 3316 TE node."; 3317 leaf admin-status { 3318 type te-types:te-admin-status; 3319 description 3320 "The administrative state of the tunnel termination point."; 3321 } 3322 leaf name { 3323 type string; 3324 description 3325 "A descriptive name for the tunnel termination point."; 3326 } 3327 leaf switching-capability { 3328 type identityref { 3329 base te-types:switching-capabilities; 3330 } 3331 description 3332 "Switching Capability for this interface."; 3333 } 3334 leaf encoding { 3335 type identityref { 3336 base te-types:lsp-encoding-types; 3337 } 3338 description 3339 "Encoding supported by this interface."; 3340 } 3341 leaf-list inter-layer-lock-id { 3342 type uint32; 3343 description 3344 "Inter layer lock ID, used for path computation in a TE 3345 topology covering multiple layers or multiple regions."; 3346 reference 3347 "RFC 5212: Requirements for GMPLS-Based Multi-Region and 3348 Multi-Layer Networks (MRN/MLN). 3349 RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions 3350 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3351 } 3352 leaf protection-type { 3353 type identityref { 3354 base te-types:lsp-protection-type; 3355 } 3356 description 3357 "The protection type that this tunnel termination point 3358 is capable of."; 3359 } 3361 container client-layer-adaptation { 3362 description 3363 "Containing capability information to support a client layer 3364 adaption in multi-layer topology."; 3365 list switching-capability { 3366 key "switching-capability encoding"; 3367 description 3368 "List of supported switching capabilities"; 3369 reference 3370 "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions 3371 for Multi-Layer and Multi-Region Networks (MLN/MRN). 3373 RFC 4202: Routing Extensions in Support of 3374 Generalized Multi-Protocol Label Switching (GMPLS)."; 3375 leaf switching-capability { 3376 type identityref { 3377 base te-types:switching-capabilities; 3378 } 3379 description 3380 "Switching Capability for the client layer adaption."; 3381 } 3382 leaf encoding { 3383 type identityref { 3384 base te-types:lsp-encoding-types; 3385 } 3386 description 3387 "Encoding supported by the client layer adaption."; 3388 } 3389 uses te-types:te-bandwidth; 3390 } 3391 } 3392 } // te-node-tunnel-termination-point-config-attributes 3394 grouping te-node-tunnel-termination-point-llc-list { 3395 description 3396 "Local link connectivity list of a tunnel termination 3397 point on a TE node."; 3398 list local-link-connectivity { 3399 key "link-tp-ref"; 3400 description 3401 "The termination capabilities between 3402 tunnel-termination-point and link termination-point. 3403 The capability information can be used to compute 3404 the tunnel path. 3405 The Interface Adjustment Capability Descriptors (IACD) 3406 (defined in RFC 6001) on each link-tp can be derived from 3407 this local-link-connectivity list."; 3408 reference 3409 "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions 3410 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3412 leaf link-tp-ref { 3413 type leafref { 3414 path "../../../../../nt:termination-point/nt:tp-id"; 3415 } 3416 description 3417 "Link termination point."; 3418 } 3419 uses te-types:label-set-info; 3420 uses connectivity-matrix-entry-path-attributes; 3421 } // local-link-connectivity 3422 } // te-node-tunnel-termination-point-config 3424 grouping te-path-element { 3425 description 3426 "A group of attributes defining an element in a TE path 3427 such as TE node, TE link, TE atomic resource or label."; 3428 uses te-types:explicit-route-hop; 3429 } // te-path-element 3431 grouping te-termination-point-augment { 3432 description 3433 "Augmentation for TE termination point."; 3434 leaf te-tp-id { 3435 type te-types:te-tp-id; 3436 description 3437 "An identifier to uniquely identify a TE termination 3438 point."; 3439 } 3440 container te { 3441 must "../te-tp-id"; 3442 presence "TE support."; 3443 description 3444 "Indicates TE support."; 3446 uses te-termination-point-config; 3447 leaf oper-status { 3448 type te-types:te-oper-status; 3449 config false; 3450 description 3451 "The current operational state of the link termination 3452 point."; 3453 } 3454 uses geolocation-container; 3456 } // te 3457 } // te-termination-point-augment 3459 grouping te-termination-point-config { 3460 description 3461 "TE termination point configuration grouping."; 3462 leaf admin-status { 3463 type te-types:te-admin-status; 3464 description 3465 "The administrative state of the link termination point."; 3466 } 3467 leaf name { 3468 type string; 3469 description 3470 "A descriptive name for the link termination point."; 3471 } 3472 uses interface-switching-capability-list; 3473 leaf inter-domain-plug-id { 3474 type binary; 3475 description 3476 "A topology-wide unique number that identifies on the 3477 network a connectivity supporting a given inter-domain 3478 TE link. This is more flexible alternative to specifying 3479 remote-te-node-id and remote-te-link-tp-id on a TE link, 3480 when the provider does not know remote-te-node-id and 3481 remote-te-link-tp-id or need to give client the 3482 flexibility to mix-n-match multiple topologies."; 3483 } 3484 leaf-list inter-layer-lock-id { 3485 type uint32; 3486 description 3487 "Inter layer lock ID, used for path computation in a TE 3488 topology covering multiple layers or multiple regions."; 3489 reference 3490 "RFC 5212: Requirements for GMPLS-Based Multi-Region and 3491 Multi-Layer Networks (MRN/MLN). 3492 RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions 3493 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 3494 } 3495 } // te-termination-point-config 3496 grouping te-topologies-augment { 3497 description 3498 "Augmentation for TE topologies."; 3499 container te { 3500 presence "TE support."; 3501 description 3502 "Indicates TE support."; 3504 container templates { 3505 description 3506 "Configuration parameters for templates used for TE 3507 topology."; 3509 list node-template { 3510 if-feature template; 3511 key "name"; 3512 leaf name { 3513 type te-types:te-template-name; 3514 description 3515 "The name to identify a TE node template."; 3516 } 3517 description 3518 "The list of TE node templates used to define sharable 3519 and reusable TE node attributes."; 3520 uses template-attributes; 3521 uses te-node-config-attributes-template; 3522 } // node-template 3524 list link-template { 3525 if-feature template; 3526 key "name"; 3527 leaf name { 3528 type te-types:te-template-name; 3529 description 3530 "The name to identify a TE link template."; 3531 } 3532 description 3533 "The list of TE link templates used to define sharable 3534 and reusable TE link attributes."; 3535 uses template-attributes; 3536 uses te-link-config-attributes; 3538 } // link-template 3539 } // templates 3540 } // te 3541 } // te-topologies-augment 3543 grouping te-topology-augment { 3544 description 3545 "Augmentation for TE topology."; 3546 leaf provider-id { 3547 type te-types:te-global-id; 3548 description 3549 "An identifier to uniquely identify a provider."; 3550 } 3551 leaf client-id { 3552 type te-types:te-global-id; 3553 description 3554 "An identifier to uniquely identify a client."; 3555 } 3556 leaf te-topology-id { 3557 type te-types:te-topology-id; 3558 description 3559 "It is presumed that a datastore will contain many 3560 topologies. To distinguish between topologies it is 3561 vital to have UNIQUE topology identifiers."; 3562 } 3564 container te { 3565 must "../provider-id and ../client-id and ../te-topology-id"; 3566 presence "TE support."; 3567 description 3568 "Indicates TE support."; 3570 uses te-topology-config; 3571 uses geolocation-container; 3572 } // te 3573 } // te-topology-augment 3575 grouping te-topology-config { 3576 description 3577 "TE topology configuration grouping."; 3578 leaf name { 3579 type string; 3580 description 3581 "Name of the TE topology. This attribute is optional and can 3582 be specified by the operator to describe the TE topology, 3583 which can be useful when network-id is not descriptive 3584 and not modifiable because of being generated by the 3585 system."; 3586 } 3587 leaf preference { 3588 type uint8 { 3589 range "1..255"; 3590 } 3591 description 3592 "Specifies a preference for this topology. A lower number 3593 indicates a higher preference."; 3594 } 3595 leaf optimization-criterion { 3596 type identityref { 3597 base te-types:te-optimization-criterion; 3598 } 3599 description 3600 "Optimization criterion applied to this topology."; 3601 reference 3602 "RFC 3272: Overview and Principles of Internet Traffic 3603 Engineering."; 3604 } 3605 list nsrlg { 3606 if-feature nsrlg; 3607 key "id"; 3608 description 3609 "List of NSRLGs (Not Sharing Risk Link Groups)."; 3610 reference 3611 "RFC 4872: RSVP-TE Extensions in Support of End-to-End 3612 Generalized Multi-Protocol Label Switching (GMPLS) 3613 Recovery"; 3614 leaf id { 3615 type uint32; 3616 description 3617 "Identify the NSRLG entry."; 3618 } 3619 leaf disjointness { 3620 type te-types:te-path-disjointness; 3621 description 3622 "The type of resource disjointness."; 3623 } 3624 } // nsrlg 3625 } // te-topology-config 3627 grouping template-attributes { 3628 description 3629 "Common attributes for all templates."; 3630 leaf priority { 3631 type uint16; 3632 description 3633 "The preference value to resolve conflicts between different 3634 templates. When two or more templates specify values for 3635 one configuration attribute, the value from the template 3636 with the highest priority is used."; 3637 } 3638 leaf reference-change-policy { 3639 type enumeration { 3640 enum no-action { 3641 description 3642 "When an attribute changes in this template, the 3643 configuration node referring to this template does 3644 not take any action."; 3645 } 3646 enum not-allowed { 3647 description 3648 "When any configuration object has a reference to this 3649 template, changing this template is not allowed."; 3650 } 3651 enum cascade { 3652 description 3653 "When an attribute changes in this template, the 3654 configuration object referring to this template applies 3655 the new attribute value to the corresponding 3656 configuration."; 3657 } 3658 } 3659 description 3660 "This attribute specifies the action taken to a configuration 3661 node that has a reference to this template."; 3662 } 3663 } // template-attributes 3665 /* 3666 * Data nodes 3667 */ 3668 augment "/nw:networks/nw:network/nw:network-types" { 3669 description 3670 "Introduce new network type for TE topology."; 3671 container te-topology { 3672 presence "Indicates TE topology."; 3673 description 3674 "Its presence identifies the TE topology type."; 3675 } 3676 } 3678 augment "/nw:networks" { 3679 description 3680 "Augmentation parameters for TE topologies."; 3681 uses te-topologies-augment; 3682 } 3684 augment "/nw:networks/nw:network" { 3685 when "nw:network-types/tet:te-topology" { 3686 description 3687 "Augmentation parameters apply only for networks with 3688 TE topology type."; 3689 } 3690 description 3691 "Configuration parameters for TE topology."; 3692 uses te-topology-augment; 3693 } 3695 augment "/nw:networks/nw:network/nw:node" { 3696 when "../nw:network-types/tet:te-topology" { 3697 description 3698 "Augmentation parameters apply only for networks with 3699 TE topology type."; 3700 } 3701 description 3702 "Configuration parameters for TE at node level."; 3703 leaf te-node-id { 3704 type te-types:te-node-id; 3705 description 3706 "The identifier of a node in the TE topology. 3707 A node is specific to a topology to which it belongs."; 3708 } 3709 container te { 3710 must "../te-node-id" { 3711 description 3712 "te-node-id is mandatory."; 3713 } 3714 must "count(../nw:supporting-node)<=1" { 3715 description 3716 "For a node in a TE topology, there cannot be more 3717 than 1 supporting node. If multiple nodes are abstracted, 3718 the underlay-topology is used."; 3719 } 3720 presence "TE support."; 3721 description 3722 "Indicates TE support."; 3723 uses te-node-augment; 3724 } // te 3725 } 3727 augment "/nw:networks/nw:network/nt:link" { 3728 when "../nw:network-types/tet:te-topology" { 3729 description 3730 "Augmentation parameters apply only for networks with 3731 TE topology type."; 3732 } 3733 description 3734 "Configuration parameters for TE at link level."; 3735 container te { 3736 must "count(../nt:supporting-link)<=1" { 3737 description 3738 "For a link in a TE topology, there cannot be more 3739 than 1 supporting link. If one or more link paths are 3740 abstracted, the underlay is used."; 3741 } 3742 presence "TE support."; 3743 description 3744 "Indicates TE support."; 3745 uses te-link-augment; 3746 } // te 3747 } 3749 augment "/nw:networks/nw:network/nw:node/" 3750 + "nt:termination-point" { 3751 when "../../nw:network-types/tet:te-topology" { 3752 description 3753 "Augmentation parameters apply only for networks with 3754 TE topology type."; 3755 } 3756 description 3757 "Configuration parameters for TE at termination point level."; 3758 uses te-termination-point-augment; 3759 } 3761 augment 3762 "/nw:networks/nw:network/nt:link/te/bundle-stack-level/" 3763 + "bundle/bundled-links/bundled-link" { 3764 when "../../../../nw:network-types/tet:te-topology" { 3765 description 3766 "Augmentation parameters apply only for networks with 3767 TE topology type."; 3768 } 3769 description 3770 "Augment TE link bundled link."; 3771 leaf src-tp-ref { 3772 type leafref { 3773 path "../../../../../nw:node[nw:node-id = " 3774 + "current()/../../../../nt:source/" 3775 + "nt:source-node]/" 3776 + "nt:termination-point/nt:tp-id"; 3777 require-instance true; 3778 } 3779 description 3780 "Reference to another TE termination point on the 3781 same source node."; 3782 } 3783 leaf des-tp-ref { 3784 type leafref { 3785 path "../../../../../nw:node[nw:node-id = " 3786 + "current()/../../../../nt:destination/" 3787 + "nt:dest-node]/" 3788 + "nt:termination-point/nt:tp-id"; 3789 require-instance true; 3790 } 3791 description 3792 "Reference to another TE termination point on the 3793 same destination node."; 3794 } 3795 } 3797 augment 3798 "/nw:networks/nw:network/nw:node/te/" 3799 + "information-source-entry/connectivity-matrices/" 3800 + "connectivity-matrix" { 3801 when "../../../../../nw:network-types/tet:te-topology" { 3802 description 3803 "Augmentation parameters apply only for networks with 3804 TE topology type."; 3805 } 3806 description 3807 "Augment TE node connectivity-matrix."; 3808 uses te-node-connectivity-matrix-attributes; 3809 } 3811 augment 3812 "/nw:networks/nw:network/nw:node/te/te-node-attributes/" 3813 + "connectivity-matrices/connectivity-matrix" { 3814 when "../../../../../nw:network-types/tet:te-topology" { 3815 description 3816 "Augmentation parameters apply only for networks with 3817 TE topology type."; 3818 } 3819 description 3820 "Augment TE node connectivity-matrix."; 3821 uses te-node-connectivity-matrix-attributes; 3822 } 3824 augment 3825 "/nw:networks/nw:network/nw:node/te/" 3826 + "tunnel-termination-point/local-link-connectivities" { 3827 when "../../../../nw:network-types/tet:te-topology" { 3828 description 3829 "Augmentation parameters apply only for networks with 3830 TE topology type."; 3831 } 3832 description 3833 "Augment TE node tunnel termination point LLCs 3834 (Local Link Connectivities)."; 3835 uses te-node-tunnel-termination-point-llc-list; 3836 } 3837 } 3838 3840 8. Security Considerations 3842 The YANG module specified in this document defines a schema for data 3843 that is designed to be accessed via network management protocols such 3844 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 3845 is the secure transport layer, and the mandatory-to-implement secure 3846 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 3847 is HTTPS, and the mandatory-to-implement secure transport is TLS 3848 [RFC5246]. 3850 The NETCONF access control model [RFC6536] provides the means to 3851 restrict access for particular NETCONF or RESTCONF users to a 3852 preconfigured subset of all available NETCONF or RESTCONF protocol 3853 operations and content. 3855 There are a number of data nodes defined in this YANG module that are 3856 writable/creatable/deletable (i.e., config true, which is the 3857 default). These data nodes may be considered sensitive or vulnerable 3858 in some network environments. Write operations (e.g., edit-config) to 3859 these data nodes without proper protection can have a negative effect 3860 on network operations. These are the subtrees and data nodes and 3861 their sensitivity/vulnerability: 3863 o /nw:networks/nw:network/nw:network-types/tet:te-topology 3864 This subtree specifies the TE topology type. Modifying the 3865 configurations can make TE topology type invalid and cause 3866 interruption to all TE networks. 3868 o /nw:networks/tet:te 3869 This subtree specifies the TE node templates and TE link 3870 templates. Modifying the configurations in this subtree will 3871 change related future TE configurations. 3873 o /nw:networks/nw:network 3874 This subtree specifies the topology-wide configurations, including 3875 the TE topology ID and topology-wide policies. Modifying the 3876 configurations here can cause traffic disabled or rerouted in this 3877 topology and the connected topologies. 3879 o /nw:networks/nw:network/nw:node 3880 This subtree specifies the configurations for TE nodes. Modifying 3881 the configurations in this subtree can add, remove, or modify TE 3882 nodes, causing traffic disabled or rerouted in the specified nodes 3883 and the related TE topologies. 3885 o /nw:networks/nw:network/nt:link/tet:te 3886 This subtree specifies the configurations for TE links. Modifying 3887 the configurations in this subtree can add, remove, or modify TE 3888 links, causing traffic disabled or rerouted on the specified TE 3889 links and the related TE topologies. 3891 o /nw:networks/nw:network/nw:node/nt:termination-point 3892 This subtree specifies the configurations of TE link termination 3893 points. Modifying the configurations in this subtree can add, 3894 remove, or modify TE link terminations points, causing traffic 3895 disabled or rerouted on the related TE links and the related TE 3896 topologies. 3898 Some of the readable data nodes in this YANG module may be considered 3899 sensitive or vulnerable in some network environments. It is thus 3900 important to control read access (e.g., via get, get-config, or 3901 notification) to these data nodes. These are the subtrees and data 3902 nodes and their sensitivity/vulnerability: 3904 o /nw:networks/nw:network/nw:network-types/tet:te-topology 3905 Unauthorized access to this subtree can disclose the TE topology 3906 type. 3908 o /nw:networks/tet:te 3909 Unauthorized access to this subtree can disclose the TE node 3910 templates and TE link templates. 3912 o /nw:networks/nw:network 3913 Unauthorized access to this subtree can disclose the topology-wide 3914 configurations, including the TE topology ID, the topology-wide 3915 policies, and the topology geolocation. 3917 o /nw:networks/nw:network/nw:node 3918 Unauthorized access to this subtree can disclose the operational 3919 state information of TE nodes. 3921 o /nw:networks/nw:network/nt:link/tet:te 3922 Unauthorized access to this subtree can disclose the operational 3923 state information of TE links. 3925 o /nw:networks/nw:network/nw:node/nt:termination-point 3926 Unauthorized access to this subtree can disclose the operational 3927 state information of TE link termination points. 3929 9. IANA Considerations 3931 This document registers the following URIs in the IETF XML registry 3932 [RFC3688]. Following the format in [RFC3688], the following 3933 registration is requested to be made. 3935 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology 3936 Registrant Contact: The IESG. 3937 XML: N/A, the requested URI is an XML namespace. 3939 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-state 3940 Registrant Contact: The IESG. 3941 XML: N/A, the requested URI is an XML namespace. 3943 This document registers a YANG module in the YANG Module Names 3944 registry [RFC7950]. 3946 name: ietf-te-topology 3947 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology 3948 prefix: tet 3949 reference: RFC XXXX 3951 name: ietf-te-topology-state 3952 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-state 3953 prefix: tet-s 3954 reference: RFC XXXX 3956 10. References 3958 10.1. Normative References 3960 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 3961 Requirement Levels", BCP 14, RFC 2119, 3962 DOI 10.17487/RFC2119, March 1997, 3963 . 3965 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 3966 DOI 10.17487/RFC3688, January 2004, 3967 . 3969 [RFC3945] Mannie, E., Ed., "Generalized Multi-Protocol Label 3970 Switching (GMPLS) Architecture", RFC 3945, 3971 DOI 10.17487/RFC3945, October 2004, 3972 . 3974 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 3975 (TLS) Protocol Version 1.2", RFC 5246, 3976 DOI 10.17487/RFC5246, August 2008, 3977 . 3979 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 3980 and A. Bierman, Ed., "Network Configuration Protocol 3981 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 3982 . 3984 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 3985 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 3986 . 3988 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 3989 Protocol (NETCONF) Access Control Model", RFC 6536, 3990 DOI 10.17487/RFC6536, March 2012, 3991 . 3993 [RFC6991] Schoenwaelder, J., Ed., "Common YANG Data Types", 3994 RFC 6991, DOI 10.17487/RFC6991, July 2013, 3995 . 3997 [RFC7926] Farrel, A., Ed., Drake, J., Bitar, N., Swallow, G., 3998 Ceccarelli, D., and X. Zhang, "Problem Statement and 3999 Architecture for Information Exchange between 4000 Interconnected Traffic-Engineered Networks", BCP 206, 4001 RFC 7926, DOI 10.17487/RFC7926, July 2016, 4002 . 4004 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 4005 RFC 7950, DOI 10.17487/RFC7950, August 2016, 4006 . 4008 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 4009 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 4010 . 4012 [RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 4013 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, 4014 May 2017, . 4016 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 4017 and R. Wilton, "Network Management Datastore Architecture 4018 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 4019 . 4021 [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., 4022 Ananthakrishnan, H., and X. Liu, "A YANG Data Model for 4023 Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 4024 2018, . 4026 [I-D.ietf-teas-yang-te] 4027 Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and 4028 I. Bryskin, "A YANG Data Model for Traffic Engineering 4029 Tunnels and Interfaces", draft-ietf-teas-yang-te-15 (work 4030 in progress), June 2018. 4032 10.2. Informative References 4034 [G.709] ITU-T, "Interfaces for the optical transport network", 4035 ITU-T Recommendation G.709, June 2016. 4037 [G.805] ITU-T, "Generic functional architecture of transport 4038 networks", ITU-T Recommendation G.805, March 2000. 4040 [G.872] ITU-T, "Architecture of optical transport networks", ITU-T 4041 Recommendation G.872, January 2017. 4043 [G.8080] ITU-T, "Architecture for the automatically switched 4044 optical network", ITU-T Recommendation G.8080, February 4045 2012. 4047 [RFC1195] Callon, R., "Use of OSI IS-IS for routing in TCP/IP and 4048 dual environments", RFC 1195, DOI 10.17487/RFC1195, 4049 December 1990, . 4051 [RFC2702] Awduche, D., Malcolm, J., Agogbua, J., O'Dell, M., and J. 4052 McManus, "Requirements for Traffic Engineering Over MPLS", 4053 RFC 2702, DOI 10.17487/RFC2702, September 1999, 4054 . 4056 [RFC3209] Awduche, D., Berger, L., Gan, D., Li, T., Srinivasan, V., 4057 and G. Swallow, "RSVP-TE: Extensions to RSVP for LSP 4058 Tunnels", RFC 3209, DOI 10.17487/RFC3209, December 2001, 4059 . 4061 [RFC3272] Awduche, D., Chiu, A., Elwalid, A., Widjaja, I., and X. 4062 Xiao, "Overview and Principles of Internet Traffic 4063 Engineering", RFC 3272, DOI 10.17487/RFC3272, May 2002, 4064 . 4066 [RFC3471] Berger, L., Ed., "Generalized Multi-Protocol Label 4067 Switching (GMPLS) Signaling Functional Description", 4068 RFC 3471, DOI 10.17487/RFC3471, January 2003, 4069 . 4071 [RFC3630] Katz, D., Kompella, K., and D. Yeung, "Traffic Engineering 4072 (TE) Extensions to OSPF Version 2", RFC 3630, 4073 DOI 10.17487/RFC3630, September 2003, 4074 . 4076 [RFC3785] Le Faucheur, F., Uppili, R., Vedrenne, A., Merckx, P., and 4077 T. Telkamp, "Use of Interior Gateway Protocol (IGP) Metric 4078 as a second MPLS Traffic Engineering (TE) Metric", BCP 87, 4079 RFC 3785, DOI 10.17487/RFC3785, May 2004, 4080 . 4082 [RFC4201] Kompella, K., Rekhter, Y., and L. Berger, "Link Bundling 4083 in MPLS Traffic Engineering (TE)", RFC 4201, 4084 DOI 10.17487/RFC4201, October 2005, 4085 . 4087 [RFC4202] Kompella, K., Ed. and Y. Rekhter, Ed., "Routing Extensions 4088 in Support of Generalized Multi-Protocol Label Switching 4089 (GMPLS)", RFC 4202, DOI 10.17487/RFC4202, October 2005, 4090 . 4092 [RFC4203] Kompella, K., Ed. and Y. Rekhter, Ed., "OSPF Extensions in 4093 Support of Generalized Multi-Protocol Label Switching 4094 (GMPLS)", RFC 4203, DOI 10.17487/RFC4203, October 2005, 4095 . 4097 [RFC4206] Kompella, K. and Y. Rekhter, "Label Switched Paths (LSP) 4098 Hierarchy with Generalized Multi-Protocol Label Switching 4099 (GMPLS) Traffic Engineering (TE)", RFC 4206, 4100 DOI 10.17487/RFC4206, October 2005, 4101 . 4103 [RFC4872] Lang, J., Ed., Rekhter, Y., Ed., and D. Papadimitriou, 4104 Ed., "RSVP-TE Extensions in Support of End-to-End 4105 Generalized Multi-Protocol Label Switching (GMPLS) 4106 Recovery", RFC 4872, DOI 10.17487/RFC4872, May 2007, 4107 . 4109 [RFC5152] Vasseur, JP., Ed., Ayyangar, A., Ed., and R. Zhang, "A 4110 Per-Domain Path Computation Method for Establishing Inter- 4111 Domain Traffic Engineering (TE) Label Switched Paths 4112 (LSPs)", RFC 5152, DOI 10.17487/RFC5152, February 2008, 4113 . 4115 [RFC5212] Shiomoto, K., Papadimitriou, D., Le Roux, JL., Vigoureux, 4116 M., and D. Brungard, "Requirements for GMPLS-Based Multi- 4117 Region and Multi-Layer Networks (MRN/MLN)", RFC 5212, 4118 DOI 10.17487/RFC5212, July 2008, 4119 . 4121 [RFC5305] Li, T. and H. Smit, "IS-IS Extensions for Traffic 4122 Engineering", RFC 5305, DOI 10.17487/RFC5305, October 4123 2008, . 4125 [RFC5316] Chen, M., Zhang, R., and X. Duan, "ISIS Extensions in 4126 Support of Inter-Autonomous System (AS) MPLS and GMPLS 4127 Traffic Engineering", RFC 5316, DOI 10.17487/RFC5316, 4128 December 2008, . 4130 [RFC5329] Ishiguro, K., Manral, V., Davey, A., and A. Lindem, Ed., 4131 "Traffic Engineering Extensions to OSPF Version 3", 4132 RFC 5329, DOI 10.17487/RFC5329, September 2008, 4133 . 4135 [RFC5392] Chen, M., Zhang, R., and X. Duan, "OSPF Extensions in 4136 Support of Inter-Autonomous System (AS) MPLS and GMPLS 4137 Traffic Engineering", RFC 5392, DOI 10.17487/RFC5392, 4138 January 2009, . 4140 [RFC6001] Papadimitriou, D., Vigoureux, M., Shiomoto, K., Brungard, 4141 D., and JL. Le Roux, "Generalized MPLS (GMPLS) Protocol 4142 Extensions for Multi-Layer and Multi-Region Networks (MLN/ 4143 MRN)", RFC 6001, DOI 10.17487/RFC6001, October 2010, 4144 . 4146 [RFC7308] Osborne, E., "Extended Administrative Groups in MPLS 4147 Traffic Engineering (MPLS-TE)", RFC 7308, 4148 DOI 10.17487/RFC7308, July 2014, 4149 . 4151 [RFC7471] Giacalone, S., Ward, D., Drake, J., Atlas, A., and S. 4152 Previdi, "OSPF Traffic Engineering (TE) Metric 4153 Extensions", RFC 7471, DOI 10.17487/RFC7471, March 2015, 4154 . 4156 [RFC7579] Bernstein, G., Ed., Lee, Y., Ed., Li, D., Imajuku, W., and 4157 J. Han, "General Network Element Constraint Encoding for 4158 GMPLS-Controlled Networks", RFC 7579, 4159 DOI 10.17487/RFC7579, June 2015, 4160 . 4162 [RFC7752] Gredler, H., Ed., Medved, J., Previdi, S., Farrel, A., and 4163 S. Ray, "North-Bound Distribution of Link-State and 4164 Traffic Engineering (TE) Information Using BGP", RFC 7752, 4165 DOI 10.17487/RFC7752, March 2016, 4166 . 4168 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 4169 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 4170 . 4172 [I-D.ietf-netconf-subscribed-notifications] 4173 Voit, E., Clemm, A., Prieto, A., Nilsen-Nygaard, E., and 4174 A. Tripathy, "Customized Subscriptions to a Publisher's 4175 Event Streams", draft-ietf-netconf-subscribed- 4176 notifications-12 (work in progress), April 2018. 4178 [I-D.ietf-netconf-yang-push] 4179 Clemm, A., Voit, E., Prieto, A., Tripathy, A., Nilsen- 4180 Nygaard, E., Bierman, A., and B. Lengyel, "YANG Datastore 4181 Subscription", draft-ietf-netconf-yang-push-16 (work in 4182 progress), May 2018. 4184 [I-D.liu-netmod-yang-schedule] 4185 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 4186 O. Dios, "A YANG Data Model for Configuration Scheduling", 4187 draft-liu-netmod-yang-schedule-05 (work in progress), 4188 March 2018. 4190 [I-D.ietf-ccamp-wson-yang] 4191 Lee, Y., Dhody, D., Zhang, X., Guo, A., Lopezalvarez, V., 4192 King, D., Yoon, B., and R. Vilata, "A Yang Data Model for 4193 WSON Optical Networks", draft-ietf-ccamp-wson-yang-10 4194 (work in progress), February 2018. 4196 [I-D.ietf-ccamp-otn-topo-yang] 4197 zhenghaomian@huawei.com, z., Guo, A., Busi, I., Sharma, 4198 A., Liu, X., Belotti, S., Xu, Y., Wang, L., and O. Dios, 4199 "A YANG Data Model for Optical Transport Network 4200 Topology", draft-ietf-ccamp-otn-topo-yang-03 (work in 4201 progress), June 2018. 4203 [I-D.ietf-teas-yang-l3-te-topo] 4204 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 4205 O. Dios, "YANG Data Model for Layer 3 TE Topologies", 4206 draft-ietf-teas-yang-l3-te-topo-01 (work in progress), 4207 March 2018. 4209 11. Acknowledgments 4211 The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam, 4212 Cyril Margaria and Zafar Ali for participating in design discussions 4213 and providing valuable insights. 4215 Appendix A. Complete Model Tree Structure 4217 module: ietf-te-topology 4218 augment /nw:networks/nw:network/nw:network-types: 4219 +--rw te-topology! 4220 augment /nw:networks: 4221 +--rw te! 4222 +--rw templates 4223 +--rw node-template* [name] {template}? 4224 | +--rw name 4225 | | te-types:te-template-name 4226 | +--rw priority? uint16 4227 | +--rw reference-change-policy? enumeration 4228 | +--rw te-node-attributes 4229 | +--rw admin-status? te-types:te-admin-status 4230 | +--rw domain-id? uint32 4231 | +--rw is-abstract? empty 4232 | +--rw name? string 4233 | +--rw signaling-address* inet:ip-address 4234 | +--rw underlay-topology {te-topology-hierarchy}? 4235 | +--rw network-ref? 4236 | -> /nw:networks/network/network-id 4237 +--rw link-template* [name] {template}? 4238 +--rw name 4239 | te-types:te-template-name 4240 +--rw priority? uint16 4241 +--rw reference-change-policy? enumeration 4242 +--rw te-link-attributes 4243 +--rw access-type? 4244 | te-types:te-link-access-type 4245 +--rw external-domain 4246 | +--rw network-ref? 4247 | | -> /nw:networks/network/network-id 4248 | +--rw remote-te-node-id? te-types:te-node-id 4249 | +--rw remote-te-link-tp-id? te-types:te-tp-id 4250 +--rw is-abstract? empty 4251 +--rw name? string 4252 +--rw underlay {te-topology-hierarchy}? 4253 | +--rw enabled? boolean 4254 | +--rw primary-path 4255 | | +--rw network-ref? 4256 | | | -> /nw:networks/network/network-id 4257 | | +--rw path-element* [path-element-id] 4258 | | +--rw path-element-id uint32 4259 | | +--rw index? uint32 4260 | | +--rw (type)? 4261 | | +--:(num-unnum-hop) 4262 | | | +--rw num-unnum-hop 4263 | | | +--rw node-id? 4264 | | | | te-types:te-node-id 4265 | | | +--rw link-tp-id? 4266 | | | | te-types:te-tp-id 4267 | | | +--rw hop-type? te-hop-type 4268 | | | +--rw direction? 4269 | | | te-link-direction 4270 | | +--:(as-number) 4271 | | | +--rw as-number-hop 4272 | | | +--rw as-number? binary 4273 | | | +--rw hop-type? te-hop-type 4274 | | +--:(label) 4275 | | +--rw label-hop 4276 | | +--rw te-label 4277 | | +--rw (technology)? 4278 | | | +--:(generic) 4279 | | | +--rw generic? 4280 | | | rt- 4281 types:generalized-label 4282 | | +--rw direction? 4283 | | te-label-direction 4284 | +--rw backup-path* [index] 4285 | | +--rw index uint32 4286 | | +--rw network-ref? 4287 | | | -> /nw:networks/network/network-id 4288 | | +--rw path-element* [path-element-id] 4289 | | +--rw path-element-id uint32 4290 | | +--rw index? uint32 4291 | | +--rw (type)? 4292 | | +--:(num-unnum-hop) 4293 | | | +--rw num-unnum-hop 4294 | | | +--rw node-id? 4295 | | | | te-types:te-node-id 4296 | | | +--rw link-tp-id? 4297 | | | | te-types:te-tp-id 4298 | | | +--rw hop-type? te-hop-type 4299 | | | +--rw direction? 4300 | | | te-link-direction 4301 | | +--:(as-number) 4302 | | | +--rw as-number-hop 4303 | | | +--rw as-number? binary 4304 | | | +--rw hop-type? te-hop-type 4305 | | +--:(label) 4306 | | +--rw label-hop 4307 | | +--rw te-label 4308 | | +--rw (technology)? 4309 | | | +--:(generic) 4310 | | | +--rw generic? 4311 | | | rt- 4312 types:generalized-label 4313 | | +--rw direction? 4314 | | te-label-direction 4315 | +--rw protection-type? identityref 4316 | +--rw tunnel-termination-points 4317 | | +--rw source? binary 4318 | | +--rw destination? binary 4319 | +--rw tunnels 4320 | +--rw sharing? boolean 4321 | +--rw tunnel* [tunnel-name] 4322 | +--rw tunnel-name string 4323 | +--rw sharing? boolean 4324 +--rw admin-status? 4325 | te-types:te-admin-status 4326 +--rw link-index? uint64 4327 +--rw administrative-group? 4328 | te-types:admin-groups 4329 +--rw interface-switching-capability* 4330 | [switching-capability encoding] 4331 | +--rw switching-capability identityref 4332 | +--rw encoding identityref 4333 | +--rw max-lsp-bandwidth* [priority] 4334 | +--rw priority uint8 4335 | +--rw te-bandwidth 4336 | +--rw (technology)? 4337 | +--:(generic) 4338 | +--rw generic? te-bandwidth 4339 +--rw label-restrictions 4340 | +--rw label-restriction* [index] 4341 | +--rw restriction? enumeration 4342 | +--rw index uint32 4343 | +--rw label-start 4344 | | +--rw te-label 4345 | | +--rw (technology)? 4346 | | | +--:(generic) 4347 | | | +--rw generic? 4348 | | | rt-types:generalized-label 4349 | | +--rw direction? te-label-direction 4350 | +--rw label-end 4351 | | +--rw te-label 4352 | | +--rw (technology)? 4353 | | | +--:(generic) 4354 | | | +--rw generic? 4355 | | | rt-types:generalized-label 4356 | | +--rw direction? te-label-direction 4357 | +--rw range-bitmap? binary 4358 +--rw link-protection-type? enumeration 4359 +--rw max-link-bandwidth 4360 | +--rw te-bandwidth 4361 | +--rw (technology)? 4362 | +--:(generic) 4363 | +--rw generic? te-bandwidth 4364 +--rw max-resv-link-bandwidth 4365 | +--rw te-bandwidth 4366 | +--rw (technology)? 4367 | +--:(generic) 4368 | +--rw generic? te-bandwidth 4369 +--rw unreserved-bandwidth* [priority] 4370 | +--rw priority uint8 4371 | +--rw te-bandwidth 4372 | +--rw (technology)? 4373 | +--:(generic) 4374 | +--rw generic? te-bandwidth 4375 +--rw te-default-metric? uint32 4376 +--rw te-delay-metric? uint32 4377 +--rw te-igp-metric? uint32 4378 +--rw te-srlgs 4379 | +--rw value* te-types:srlg 4380 +--rw te-nsrlgs {nsrlg}? 4381 +--rw id* uint32 4382 augment /nw:networks/nw:network: 4383 +--rw provider-id? te-types:te-global-id 4384 +--rw client-id? te-types:te-global-id 4385 +--rw te-topology-id? te-types:te-topology-id 4386 +--rw te! 4387 +--rw name? string 4388 +--rw preference? uint8 4389 +--rw optimization-criterion? identityref 4390 +--rw nsrlg* [id] {nsrlg}? 4391 | +--rw id uint32 4392 | +--rw disjointness? te-types:te-path-disjointness 4393 +--ro geolocation 4394 +--ro altitude? int64 4395 +--ro latitude? geographic-coordinate-degree 4396 +--ro longitude? geographic-coordinate-degree 4397 augment /nw:networks/nw:network/nw:node: 4398 +--rw te-node-id? te-types:te-node-id 4399 +--rw te! 4400 +--rw te-node-template* 4401 | -> ../../../../te/templates/node-template/name 4402 | {template}? 4403 +--rw te-node-attributes 4404 | +--rw admin-status? te-types:te-admin-status 4405 | +--rw connectivity-matrices 4406 | | +--rw number-of-entries? uint16 4407 | | +--rw label-restrictions 4408 | | | +--rw label-restriction* [index] 4409 | | | +--rw restriction? enumeration 4410 | | | +--rw index uint32 4411 | | | +--rw label-start 4412 | | | | +--rw te-label 4413 | | | | +--rw (technology)? 4414 | | | | | +--:(generic) 4415 | | | | | +--rw generic? 4416 | | | | | rt-types:generalized-label 4417 | | | | +--rw direction? te-label-direction 4418 | | | +--rw label-end 4419 | | | | +--rw te-label 4420 | | | | +--rw (technology)? 4421 | | | | | +--:(generic) 4422 | | | | | +--rw generic? 4423 | | | | | rt-types:generalized-label 4424 | | | | +--rw direction? te-label-direction 4425 | | | +--rw range-bitmap? binary 4426 | | +--rw is-allowed? boolean 4427 | | +--rw underlay {te-topology-hierarchy}? 4428 | | | +--rw enabled? boolean 4429 | | | +--rw primary-path 4430 | | | | +--rw network-ref? 4431 | | | | | -> /nw:networks/network/network-id 4432 | | | | +--rw path-element* [path-element-id] 4433 | | | | +--rw path-element-id uint32 4434 | | | | +--rw index? uint32 4435 | | | | +--rw (type)? 4436 | | | | +--:(num-unnum-hop) 4437 | | | | | +--rw num-unnum-hop 4438 | | | | | +--rw node-id? 4439 | | | | | | te-types:te-node-id 4440 | | | | | +--rw link-tp-id? te-types:te-tp-id 4441 | | | | | +--rw hop-type? te-hop-type 4442 | | | | | +--rw direction? te-link-direction 4443 | | | | +--:(as-number) 4444 | | | | | +--rw as-number-hop 4445 | | | | | +--rw as-number? binary 4446 | | | | | +--rw hop-type? te-hop-type 4447 | | | | +--:(label) 4448 | | | | +--rw label-hop 4449 | | | | +--rw te-label 4450 | | | | +--rw (technology)? 4451 | | | | | +--:(generic) 4452 | | | | | +--rw generic? 4453 | | | | | rt-types:generalized- 4454 label 4455 | | | | +--rw direction? 4456 | | | | te-label-direction 4457 | | | +--rw backup-path* [index] 4458 | | | | +--rw index uint32 4459 | | | | +--rw network-ref? 4460 | | | | | -> /nw:networks/network/network-id 4461 | | | | +--rw path-element* [path-element-id] 4462 | | | | +--rw path-element-id uint32 4463 | | | | +--rw index? uint32 4464 | | | | +--rw (type)? 4465 | | | | +--:(num-unnum-hop) 4466 | | | | | +--rw num-unnum-hop 4467 | | | | | +--rw node-id? 4468 | | | | | | te-types:te-node-id 4469 | | | | | +--rw link-tp-id? te-types:te-tp-id 4470 | | | | | +--rw hop-type? te-hop-type 4471 | | | | | +--rw direction? te-link-direction 4472 | | | | +--:(as-number) 4473 | | | | | +--rw as-number-hop 4474 | | | | | +--rw as-number? binary 4475 | | | | | +--rw hop-type? te-hop-type 4476 | | | | +--:(label) 4477 | | | | +--rw label-hop 4478 | | | | +--rw te-label 4479 | | | | +--rw (technology)? 4480 | | | | | +--:(generic) 4481 | | | | | +--rw generic? 4482 | | | | | rt-types:generalized- 4483 label 4484 | | | | +--rw direction? 4485 | | | | te-label-direction 4486 | | | +--rw protection-type? identityref 4487 | | | +--rw tunnel-termination-points 4488 | | | | +--rw source? binary 4489 | | | | +--rw destination? binary 4490 | | | +--rw tunnels 4491 | | | +--rw sharing? boolean 4492 | | | +--rw tunnel* [tunnel-name] 4493 | | | +--rw tunnel-name string 4494 | | | +--rw sharing? boolean 4495 | | +--rw path-constraints 4496 | | | +--rw te-bandwidth 4497 | | | | +--rw (technology)? 4498 | | | | +--:(generic) 4499 | | | | +--rw generic? te-bandwidth 4500 | | | +--rw setup-priority? uint8 4501 | | | +--rw hold-priority? uint8 4502 | | | +--rw signaling-type? identityref 4503 | | | +--rw path-metric-bounds 4504 | | | | +--rw path-metric-bound* [metric-type] 4505 | | | | +--rw metric-type identityref 4506 | | | | +--rw upper-bound? uint64 4507 | | | +--rw path-affinities 4508 | | | | +--rw constraint* [usage] 4509 | | | | +--rw usage identityref 4510 | | | | +--rw value? admin-groups 4511 | | | +--rw path-srlgs 4512 | | | +--rw usage? identityref 4513 | | | +--rw values* srlg 4514 | | +--rw optimizations 4515 | | | +--rw (algorithm)? 4516 | | | +--:(metric) {path-optimization-metric}? 4517 | | | | +--rw optimization-metric* [metric-type] 4518 | | | | | +--rw metric-type 4519 | | | | | | identityref 4520 | | | | | +--rw weight? 4521 | | | | | | uint8 4522 | | | | | +--rw explicit-route-exclude-objects 4523 | | | | | | +--rw route-object-exclude-object* 4524 | | | | | | [index] 4525 | | | | | | +--rw index uint32 4526 | | | | | | +--rw (type)? 4527 | | | | | | +--:(num-unnum-hop) 4528 | | | | | | | +--rw num-unnum-hop 4529 | | | | | | | +--rw node-id? 4530 | | | | | | | | te-types:te-node-id 4531 | | | | | | | +--rw link-tp-id? 4532 | | | | | | | | te-types:te-tp-id 4533 | | | | | | | +--rw hop-type? 4534 | | | | | | | | te-hop-type 4535 | | | | | | | +--rw direction? 4536 | | | | | | | te-link-direction 4537 | | | | | | +--:(as-number) 4538 | | | | | | | +--rw as-number-hop 4539 | | | | | | | +--rw as-number? binary 4540 | | | | | | | +--rw hop-type? 4541 | | | | | | | te-hop-type 4542 | | | | | | +--:(label) 4543 | | | | | | | +--rw label-hop 4544 | | | | | | | +--rw te-label 4545 | | | | | | | +--rw (technology)? 4546 | | | | | | | | +--:(generic) 4547 | | | | | | | | +--rw generic? 4548 | | | | | | | | rt- 4549 types:generalized-label 4550 | | | | | | | +--rw direction? 4551 | | | | | | | te-label-direction 4552 | | | | | | +--:(srlg) 4553 | | | | | | +--rw srlg 4554 | | | | | | +--rw srlg? uint32 4555 | | | | | +--rw explicit-route-include-objects 4556 | | | | | +--rw route-object-include-object* 4557 | | | | | [index] 4558 | | | | | +--rw index uint32 4559 | | | | | +--rw (type)? 4560 | | | | | +--:(num-unnum-hop) 4561 | | | | | | +--rw num-unnum-hop 4562 | | | | | | +--rw node-id? 4563 | | | | | | | te-types:te-node-id 4564 | | | | | | +--rw link-tp-id? 4565 | | | | | | | te-types:te-tp-id 4566 | | | | | | +--rw hop-type? 4567 | | | | | | | te-hop-type 4568 | | | | | | +--rw direction? 4569 | | | | | | te-link-direction 4570 | | | | | +--:(as-number) 4571 | | | | | | +--rw as-number-hop 4572 | | | | | | +--rw as-number? binary 4573 | | | | | | +--rw hop-type? 4574 | | | | | | te-hop-type 4575 | | | | | +--:(label) 4576 | | | | | +--rw label-hop 4577 | | | | | +--rw te-label 4578 | | | | | +--rw (technology)? 4579 | | | | | | +--:(generic) 4580 | | | | | | +--rw generic? 4581 | | | | | | rt- 4582 types:generalized-label 4583 | | | | | +--rw direction? 4584 | | | | | te-label-direction 4585 | | | | +--rw tiebreakers 4586 | | | | +--rw tiebreaker* [tiebreaker-type] 4587 | | | | +--rw tiebreaker-type identityref 4588 | | | +--:(objective-function) 4589 | | | {path-optimization-objective-function}? 4590 | | | +--rw objective-function 4591 | | | +--rw objective-function-type? identityref 4592 | | +--ro path-properties 4593 | | | +--ro path-metric* [metric-type] 4594 | | | | +--ro metric-type identityref 4595 | | | | +--ro accumulative-value? uint64 4596 | | | +--ro path-affinities 4597 | | | | +--ro constraint* [usage] 4598 | | | | +--ro usage identityref 4599 | | | | +--ro value? admin-groups 4600 | | | +--ro path-srlgs 4601 | | | | +--ro usage? identityref 4602 | | | | +--ro values* srlg 4603 | | | +--ro path-route-objects 4604 | | | +--ro path-route-object* [index] 4605 | | | +--ro index uint32 4606 | | | +--ro (type)? 4607 | | | +--:(num-unnum-hop) 4608 | | | | +--ro num-unnum-hop 4609 | | | | +--ro node-id? 4610 | | | | | te-types:te-node-id 4611 | | | | +--ro link-tp-id? te-types:te-tp-id 4612 | | | | +--ro hop-type? te-hop-type 4613 | | | | +--ro direction? te-link-direction 4614 | | | +--:(as-number) 4615 | | | | +--ro as-number-hop 4616 | | | | +--ro as-number? binary 4617 | | | | +--ro hop-type? te-hop-type 4618 | | | +--:(label) 4619 | | | +--ro label-hop 4620 | | | +--ro te-label 4621 | | | +--ro (technology)? 4622 | | | | +--:(generic) 4623 | | | | +--ro generic? 4624 | | | | rt-types:generalized- 4625 label 4626 | | | +--ro direction? 4627 | | | te-label-direction 4628 | | +--rw connectivity-matrix* [id] 4629 | | +--rw id uint32 4630 | | +--rw from 4631 | | | +--rw tp-ref? leafref 4632 | | | +--rw label-restrictions 4633 | | | +--rw label-restriction* [index] 4634 | | | +--rw restriction? enumeration 4635 | | | +--rw index uint32 4636 | | | +--rw label-start 4637 | | | | +--rw te-label 4638 | | | | +--rw (technology)? 4639 | | | | | +--:(generic) 4640 | | | | | +--rw generic? 4641 | | | | | rt-types:generalized- 4642 label 4643 | | | | +--rw direction? 4644 | | | | te-label-direction 4645 | | | +--rw label-end 4646 | | | | +--rw te-label 4647 | | | | +--rw (technology)? 4648 | | | | | +--:(generic) 4649 | | | | | +--rw generic? 4650 | | | | | rt-types:generalized- 4651 label 4652 | | | | +--rw direction? 4653 | | | | te-label-direction 4654 | | | +--rw range-bitmap? binary 4655 | | +--rw to 4656 | | | +--rw tp-ref? leafref 4657 | | | +--rw label-restrictions 4658 | | | +--rw label-restriction* [index] 4659 | | | +--rw restriction? enumeration 4660 | | | +--rw index uint32 4661 | | | +--rw label-start 4662 | | | | +--rw te-label 4663 | | | | +--rw (technology)? 4664 | | | | | +--:(generic) 4665 | | | | | +--rw generic? 4666 | | | | | rt-types:generalized- 4667 label 4668 | | | | +--rw direction? 4669 | | | | te-label-direction 4670 | | | +--rw label-end 4671 | | | | +--rw te-label 4672 | | | | +--rw (technology)? 4673 | | | | | +--:(generic) 4674 | | | | | +--rw generic? 4675 | | | | | rt-types:generalized- 4676 label 4677 | | | | +--rw direction? 4678 | | | | te-label-direction 4679 | | | +--rw range-bitmap? binary 4680 | | +--rw is-allowed? boolean 4681 | | +--rw underlay {te-topology-hierarchy}? 4682 | | | +--rw enabled? boolean 4683 | | | +--rw primary-path 4684 | | | | +--rw network-ref? 4685 | | | | | -> /nw:networks/network/network-id 4686 | | | | +--rw path-element* [path-element-id] 4687 | | | | +--rw path-element-id uint32 4688 | | | | +--rw index? uint32 4689 | | | | +--rw (type)? 4690 | | | | +--:(num-unnum-hop) 4691 | | | | | +--rw num-unnum-hop 4692 | | | | | +--rw node-id? 4693 | | | | | | te-types:te-node-id 4694 | | | | | +--rw link-tp-id? 4695 | | | | | | te-types:te-tp-id 4696 | | | | | +--rw hop-type? te-hop-type 4697 | | | | | +--rw direction? 4698 | | | | | te-link-direction 4699 | | | | +--:(as-number) 4700 | | | | | +--rw as-number-hop 4701 | | | | | +--rw as-number? binary 4702 | | | | | +--rw hop-type? te-hop-type 4703 | | | | +--:(label) 4704 | | | | +--rw label-hop 4705 | | | | +--rw te-label 4706 | | | | +--rw (technology)? 4707 | | | | | +--:(generic) 4708 | | | | | +--rw generic? 4709 | | | | | rt- 4710 types:generalized-label 4711 | | | | +--rw direction? 4712 | | | | te-label-direction 4713 | | | +--rw backup-path* [index] 4714 | | | | +--rw index uint32 4715 | | | | +--rw network-ref? 4716 | | | | | -> /nw:networks/network/network-id 4717 | | | | +--rw path-element* [path-element-id] 4718 | | | | +--rw path-element-id uint32 4719 | | | | +--rw index? uint32 4720 | | | | +--rw (type)? 4721 | | | | +--:(num-unnum-hop) 4722 | | | | | +--rw num-unnum-hop 4723 | | | | | +--rw node-id? 4724 | | | | | | te-types:te-node-id 4725 | | | | | +--rw link-tp-id? 4726 | | | | | | te-types:te-tp-id 4727 | | | | | +--rw hop-type? te-hop-type 4728 | | | | | +--rw direction? 4729 | | | | | te-link-direction 4730 | | | | +--:(as-number) 4731 | | | | | +--rw as-number-hop 4732 | | | | | +--rw as-number? binary 4733 | | | | | +--rw hop-type? te-hop-type 4734 | | | | +--:(label) 4735 | | | | +--rw label-hop 4736 | | | | +--rw te-label 4737 | | | | +--rw (technology)? 4738 | | | | | +--:(generic) 4739 | | | | | +--rw generic? 4740 | | | | | rt- 4741 types:generalized-label 4742 | | | | +--rw direction? 4743 | | | | te-label-direction 4744 | | | +--rw protection-type? identityref 4745 | | | +--rw tunnel-termination-points 4746 | | | | +--rw source? binary 4747 | | | | +--rw destination? binary 4748 | | | +--rw tunnels 4749 | | | +--rw sharing? boolean 4750 | | | +--rw tunnel* [tunnel-name] 4751 | | | +--rw tunnel-name string 4752 | | | +--rw sharing? boolean 4753 | | +--rw path-constraints 4754 | | | +--rw te-bandwidth 4755 | | | | +--rw (technology)? 4756 | | | | +--:(generic) 4757 | | | | +--rw generic? te-bandwidth 4758 | | | +--rw setup-priority? uint8 4759 | | | +--rw hold-priority? uint8 4760 | | | +--rw signaling-type? identityref 4761 | | | +--rw path-metric-bounds 4762 | | | | +--rw path-metric-bound* [metric-type] 4763 | | | | +--rw metric-type identityref 4764 | | | | +--rw upper-bound? uint64 4765 | | | +--rw path-affinities 4766 | | | | +--rw constraint* [usage] 4767 | | | | +--rw usage identityref 4768 | | | | +--rw value? admin-groups 4769 | | | +--rw path-srlgs 4770 | | | +--rw usage? identityref 4771 | | | +--rw values* srlg 4772 | | +--rw optimizations 4773 | | | +--rw (algorithm)? 4774 | | | +--:(metric) {path-optimization-metric}? 4775 | | | | +--rw optimization-metric* [metric-type] 4776 | | | | | +--rw metric-type 4777 | | | | | | identityref 4778 | | | | | +--rw weight? 4779 | | | | | | uint8 4780 | | | | | +--rw explicit-route-exclude-objects 4781 | | | | | | +--rw route-object-exclude-object* 4782 | | | | | | [index] 4783 | | | | | | +--rw index uint32 4784 | | | | | | +--rw (type)? 4785 | | | | | | +--:(num-unnum-hop) 4786 | | | | | | | +--rw num-unnum-hop 4787 | | | | | | | +--rw node-id? 4788 | | | | | | | | te-types:te-node- 4789 id 4790 | | | | | | | +--rw link-tp-id? 4791 | | | | | | | | te-types:te-tp-id 4792 | | | | | | | +--rw hop-type? 4793 | | | | | | | | te-hop-type 4794 | | | | | | | +--rw direction? 4795 | | | | | | | te-link-direction 4796 | | | | | | +--:(as-number) 4797 | | | | | | | +--rw as-number-hop 4798 | | | | | | | +--rw as-number? binary 4799 | | | | | | | +--rw hop-type? 4800 | | | | | | | te-hop-type 4801 | | | | | | +--:(label) 4802 | | | | | | | +--rw label-hop 4803 | | | | | | | +--rw te-label 4804 | | | | | | | +--rw (technology)? 4805 | | | | | | | | +--:(generic) 4806 | | | | | | | | +--rw generic? 4807 | | | | | | | | rt- 4808 types:generalized-label 4809 | | | | | | | +--rw direction? 4810 | | | | | | | te-label- 4811 direction 4812 | | | | | | +--:(srlg) 4813 | | | | | | +--rw srlg 4814 | | | | | | +--rw srlg? uint32 4815 | | | | | +--rw explicit-route-include-objects 4816 | | | | | +--rw route-object-include-object* 4817 | | | | | [index] 4818 | | | | | +--rw index uint32 4819 | | | | | +--rw (type)? 4820 | | | | | +--:(num-unnum-hop) 4821 | | | | | | +--rw num-unnum-hop 4822 | | | | | | +--rw node-id? 4823 | | | | | | | te-types:te-node- 4824 id 4825 | | | | | | +--rw link-tp-id? 4826 | | | | | | | te-types:te-tp-id 4827 | | | | | | +--rw hop-type? 4828 | | | | | | | te-hop-type 4829 | | | | | | +--rw direction? 4830 | | | | | | te-link-direction 4831 | | | | | +--:(as-number) 4832 | | | | | | +--rw as-number-hop 4833 | | | | | | +--rw as-number? binary 4834 | | | | | | +--rw hop-type? 4835 | | | | | | te-hop-type 4836 | | | | | +--:(label) 4837 | | | | | +--rw label-hop 4838 | | | | | +--rw te-label 4839 | | | | | +--rw (technology)? 4840 | | | | | | +--:(generic) 4841 | | | | | | +--rw generic? 4842 | | | | | | rt- 4843 types:generalized-label 4844 | | | | | +--rw direction? 4845 | | | | | te-label- 4846 direction 4847 | | | | +--rw tiebreakers 4848 | | | | +--rw tiebreaker* [tiebreaker-type] 4849 | | | | +--rw tiebreaker-type identityref 4850 | | | +--:(objective-function) 4851 | | | {path-optimization-objective- 4852 function}? 4853 | | | +--rw objective-function 4854 | | | +--rw objective-function-type? 4855 | | | identityref 4856 | | +--ro path-properties 4857 | | +--ro path-metric* [metric-type] 4858 | | | +--ro metric-type identityref 4859 | | | +--ro accumulative-value? uint64 4860 | | +--ro path-affinities 4861 | | | +--ro constraint* [usage] 4862 | | | +--ro usage identityref 4863 | | | +--ro value? admin-groups 4864 | | +--ro path-srlgs 4865 | | | +--ro usage? identityref 4866 | | | +--ro values* srlg 4867 | | +--ro path-route-objects 4868 | | +--ro path-route-object* [index] 4869 | | +--ro index uint32 4870 | | +--ro (type)? 4871 | | +--:(num-unnum-hop) 4872 | | | +--ro num-unnum-hop 4873 | | | +--ro node-id? 4874 | | | | te-types:te-node-id 4875 | | | +--ro link-tp-id? 4876 | | | | te-types:te-tp-id 4877 | | | +--ro hop-type? te-hop-type 4878 | | | +--ro direction? 4879 | | | te-link-direction 4880 | | +--:(as-number) 4881 | | | +--ro as-number-hop 4882 | | | +--ro as-number? binary 4883 | | | +--ro hop-type? te-hop-type 4884 | | +--:(label) 4885 | | +--ro label-hop 4886 | | +--ro te-label 4887 | | +--ro (technology)? 4888 | | | +--:(generic) 4889 | | | +--ro generic? 4890 | | | rt- 4891 types:generalized-label 4892 | | +--ro direction? 4893 | | te-label-direction 4894 | +--rw domain-id? uint32 4895 | +--rw is-abstract? empty 4896 | +--rw name? string 4897 | +--rw signaling-address* inet:ip-address 4898 | +--rw underlay-topology {te-topology-hierarchy}? 4899 | +--rw network-ref? -> /nw:networks/network/network-id 4900 +--ro oper-status? te-types:te-oper-status 4901 +--ro geolocation 4902 | +--ro altitude? int64 4903 | +--ro latitude? geographic-coordinate-degree 4904 | +--ro longitude? geographic-coordinate-degree 4905 +--ro is-multi-access-dr? empty 4906 +--ro information-source? te-info-source 4907 +--ro information-source-state 4908 | +--ro credibility-preference? uint16 4909 | +--ro logical-network-element? string 4910 | +--ro network-instance? string 4911 | +--ro topology 4912 | +--ro node-ref? leafref 4913 | +--ro network-ref? -> /nw:networks/network/network-id 4914 +--ro information-source-entry* [information-source] 4915 | +--ro information-source te-info-source 4916 | +--ro information-source-state 4917 | | +--ro credibility-preference? uint16 4918 | | +--ro logical-network-element? string 4919 | | +--ro network-instance? string 4920 | | +--ro topology 4921 | | +--ro node-ref? leafref 4922 | | +--ro network-ref? 4923 | | -> /nw:networks/network/network-id 4924 | +--ro connectivity-matrices 4925 | | +--ro number-of-entries? uint16 4926 | | +--ro label-restrictions 4927 | | | +--ro label-restriction* [index] 4928 | | | +--ro restriction? enumeration 4929 | | | +--ro index uint32 4930 | | | +--ro label-start 4931 | | | | +--ro te-label 4932 | | | | +--ro (technology)? 4933 | | | | | +--:(generic) 4934 | | | | | +--ro generic? 4935 | | | | | rt-types:generalized-label 4936 | | | | +--ro direction? te-label-direction 4937 | | | +--ro label-end 4938 | | | | +--ro te-label 4939 | | | | +--ro (technology)? 4940 | | | | | +--:(generic) 4941 | | | | | +--ro generic? 4942 | | | | | rt-types:generalized-label 4943 | | | | +--ro direction? te-label-direction 4944 | | | +--ro range-bitmap? binary 4945 | | +--ro is-allowed? boolean 4946 | | +--ro underlay {te-topology-hierarchy}? 4947 | | | +--ro enabled? boolean 4948 | | | +--ro primary-path 4949 | | | | +--ro network-ref? 4950 | | | | | -> /nw:networks/network/network-id 4951 | | | | +--ro path-element* [path-element-id] 4952 | | | | +--ro path-element-id uint32 4953 | | | | +--ro index? uint32 4954 | | | | +--ro (type)? 4955 | | | | +--:(num-unnum-hop) 4956 | | | | | +--ro num-unnum-hop 4957 | | | | | +--ro node-id? 4958 | | | | | | te-types:te-node-id 4959 | | | | | +--ro link-tp-id? te-types:te-tp-id 4960 | | | | | +--ro hop-type? te-hop-type 4961 | | | | | +--ro direction? te-link-direction 4962 | | | | +--:(as-number) 4963 | | | | | +--ro as-number-hop 4964 | | | | | +--ro as-number? binary 4965 | | | | | +--ro hop-type? te-hop-type 4966 | | | | +--:(label) 4967 | | | | +--ro label-hop 4968 | | | | +--ro te-label 4969 | | | | +--ro (technology)? 4970 | | | | | +--:(generic) 4971 | | | | | +--ro generic? 4972 | | | | | rt-types:generalized- 4973 label 4974 | | | | +--ro direction? 4975 | | | | te-label-direction 4976 | | | +--ro backup-path* [index] 4977 | | | | +--ro index uint32 4978 | | | | +--ro network-ref? 4979 | | | | | -> /nw:networks/network/network-id 4980 | | | | +--ro path-element* [path-element-id] 4981 | | | | +--ro path-element-id uint32 4982 | | | | +--ro index? uint32 4983 | | | | +--ro (type)? 4984 | | | | +--:(num-unnum-hop) 4985 | | | | | +--ro num-unnum-hop 4986 | | | | | +--ro node-id? 4987 | | | | | | te-types:te-node-id 4988 | | | | | +--ro link-tp-id? te-types:te-tp-id 4989 | | | | | +--ro hop-type? te-hop-type 4990 | | | | | +--ro direction? te-link-direction 4991 | | | | +--:(as-number) 4992 | | | | | +--ro as-number-hop 4993 | | | | | +--ro as-number? binary 4994 | | | | | +--ro hop-type? te-hop-type 4995 | | | | +--:(label) 4996 | | | | +--ro label-hop 4997 | | | | +--ro te-label 4998 | | | | +--ro (technology)? 4999 | | | | | +--:(generic) 5000 | | | | | +--ro generic? 5001 | | | | | rt-types:generalized- 5002 label 5003 | | | | +--ro direction? 5004 | | | | te-label-direction 5005 | | | +--ro protection-type? identityref 5006 | | | +--ro tunnel-termination-points 5007 | | | | +--ro source? binary 5008 | | | | +--ro destination? binary 5009 | | | +--ro tunnels 5010 | | | +--ro sharing? boolean 5011 | | | +--ro tunnel* [tunnel-name] 5012 | | | +--ro tunnel-name string 5013 | | | +--ro sharing? boolean 5014 | | +--ro path-constraints 5015 | | | +--ro te-bandwidth 5016 | | | | +--ro (technology)? 5017 | | | | +--:(generic) 5018 | | | | +--ro generic? te-bandwidth 5019 | | | +--ro setup-priority? uint8 5020 | | | +--ro hold-priority? uint8 5021 | | | +--ro signaling-type? identityref 5022 | | | +--ro path-metric-bounds 5023 | | | | +--ro path-metric-bound* [metric-type] 5024 | | | | +--ro metric-type identityref 5025 | | | | +--ro upper-bound? uint64 5026 | | | +--ro path-affinities 5027 | | | | +--ro constraint* [usage] 5028 | | | | +--ro usage identityref 5029 | | | | +--ro value? admin-groups 5030 | | | +--ro path-srlgs 5031 | | | +--ro usage? identityref 5032 | | | +--ro values* srlg 5033 | | +--ro optimizations 5034 | | | +--ro (algorithm)? 5035 | | | +--:(metric) {path-optimization-metric}? 5036 | | | | +--ro optimization-metric* [metric-type] 5037 | | | | | +--ro metric-type 5038 | | | | | | identityref 5039 | | | | | +--ro weight? 5040 | | | | | | uint8 5041 | | | | | +--ro explicit-route-exclude-objects 5042 | | | | | | +--ro route-object-exclude-object* 5043 | | | | | | [index] 5044 | | | | | | +--ro index uint32 5045 | | | | | | +--ro (type)? 5046 | | | | | | +--:(num-unnum-hop) 5047 | | | | | | | +--ro num-unnum-hop 5048 | | | | | | | +--ro node-id? 5049 | | | | | | | | te-types:te-node-id 5050 | | | | | | | +--ro link-tp-id? 5051 | | | | | | | | te-types:te-tp-id 5052 | | | | | | | +--ro hop-type? 5053 | | | | | | | | te-hop-type 5054 | | | | | | | +--ro direction? 5055 | | | | | | | te-link-direction 5056 | | | | | | +--:(as-number) 5057 | | | | | | | +--ro as-number-hop 5058 | | | | | | | +--ro as-number? binary 5059 | | | | | | | +--ro hop-type? 5060 | | | | | | | te-hop-type 5061 | | | | | | +--:(label) 5062 | | | | | | | +--ro label-hop 5063 | | | | | | | +--ro te-label 5064 | | | | | | | +--ro (technology)? 5065 | | | | | | | | +--:(generic) 5066 | | | | | | | | +--ro generic? 5067 | | | | | | | | rt- 5068 types:generalized-label 5069 | | | | | | | +--ro direction? 5070 | | | | | | | te-label-direction 5071 | | | | | | +--:(srlg) 5072 | | | | | | +--ro srlg 5073 | | | | | | +--ro srlg? uint32 5074 | | | | | +--ro explicit-route-include-objects 5075 | | | | | +--ro route-object-include-object* 5076 | | | | | [index] 5077 | | | | | +--ro index uint32 5078 | | | | | +--ro (type)? 5079 | | | | | +--:(num-unnum-hop) 5080 | | | | | | +--ro num-unnum-hop 5081 | | | | | | +--ro node-id? 5082 | | | | | | | te-types:te-node-id 5083 | | | | | | +--ro link-tp-id? 5084 | | | | | | | te-types:te-tp-id 5085 | | | | | | +--ro hop-type? 5086 | | | | | | | te-hop-type 5087 | | | | | | +--ro direction? 5088 | | | | | | te-link-direction 5089 | | | | | +--:(as-number) 5090 | | | | | | +--ro as-number-hop 5091 | | | | | | +--ro as-number? binary 5092 | | | | | | +--ro hop-type? 5093 | | | | | | te-hop-type 5094 | | | | | +--:(label) 5095 | | | | | +--ro label-hop 5096 | | | | | +--ro te-label 5097 | | | | | +--ro (technology)? 5098 | | | | | | +--:(generic) 5099 | | | | | | +--ro generic? 5100 | | | | | | rt- 5101 types:generalized-label 5102 | | | | | +--ro direction? 5103 | | | | | te-label-direction 5104 | | | | +--ro tiebreakers 5105 | | | | +--ro tiebreaker* [tiebreaker-type] 5106 | | | | +--ro tiebreaker-type identityref 5107 | | | +--:(objective-function) 5108 | | | {path-optimization-objective-function}? 5109 | | | +--ro objective-function 5110 | | | +--ro objective-function-type? identityref 5111 | | +--ro path-properties 5112 | | | +--ro path-metric* [metric-type] 5113 | | | | +--ro metric-type identityref 5114 | | | | +--ro accumulative-value? uint64 5115 | | | +--ro path-affinities 5116 | | | | +--ro constraint* [usage] 5117 | | | | +--ro usage identityref 5118 | | | | +--ro value? admin-groups 5119 | | | +--ro path-srlgs 5120 | | | | +--ro usage? identityref 5121 | | | | +--ro values* srlg 5122 | | | +--ro path-route-objects 5123 | | | +--ro path-route-object* [index] 5124 | | | +--ro index uint32 5125 | | | +--ro (type)? 5126 | | | +--:(num-unnum-hop) 5127 | | | | +--ro num-unnum-hop 5128 | | | | +--ro node-id? 5129 | | | | | te-types:te-node-id 5130 | | | | +--ro link-tp-id? te-types:te-tp-id 5131 | | | | +--ro hop-type? te-hop-type 5132 | | | | +--ro direction? te-link-direction 5133 | | | +--:(as-number) 5134 | | | | +--ro as-number-hop 5135 | | | | +--ro as-number? binary 5136 | | | | +--ro hop-type? te-hop-type 5137 | | | +--:(label) 5138 | | | +--ro label-hop 5139 | | | +--ro te-label 5140 | | | +--ro (technology)? 5141 | | | | +--:(generic) 5142 | | | | +--ro generic? 5143 | | | | rt-types:generalized- 5144 label 5145 | | | +--ro direction? 5146 | | | te-label-direction 5147 | | +--ro connectivity-matrix* [id] 5148 | | +--ro id uint32 5149 | | +--ro from 5150 | | | +--ro tp-ref? leafref 5151 | | | +--ro label-restrictions 5152 | | | +--ro label-restriction* [index] 5153 | | | +--ro restriction? enumeration 5154 | | | +--ro index uint32 5155 | | | +--ro label-start 5156 | | | | +--ro te-label 5157 | | | | +--ro (technology)? 5158 | | | | | +--:(generic) 5159 | | | | | +--ro generic? 5160 | | | | | rt-types:generalized- 5161 label 5162 | | | | +--ro direction? 5163 | | | | te-label-direction 5164 | | | +--ro label-end 5165 | | | | +--ro te-label 5166 | | | | +--ro (technology)? 5167 | | | | | +--:(generic) 5168 | | | | | +--ro generic? 5169 | | | | | rt-types:generalized- 5170 label 5171 | | | | +--ro direction? 5172 | | | | te-label-direction 5173 | | | +--ro range-bitmap? binary 5174 | | +--ro to 5175 | | | +--ro tp-ref? leafref 5176 | | | +--ro label-restrictions 5177 | | | +--ro label-restriction* [index] 5178 | | | +--ro restriction? enumeration 5179 | | | +--ro index uint32 5180 | | | +--ro label-start 5181 | | | | +--ro te-label 5182 | | | | +--ro (technology)? 5183 | | | | | +--:(generic) 5184 | | | | | +--ro generic? 5185 | | | | | rt-types:generalized- 5186 label 5187 | | | | +--ro direction? 5188 | | | | te-label-direction 5189 | | | +--ro label-end 5190 | | | | +--ro te-label 5191 | | | | +--ro (technology)? 5192 | | | | | +--:(generic) 5193 | | | | | +--ro generic? 5194 | | | | | rt-types:generalized- 5195 label 5196 | | | | +--ro direction? 5197 | | | | te-label-direction 5198 | | | +--ro range-bitmap? binary 5199 | | +--ro is-allowed? boolean 5200 | | +--ro underlay {te-topology-hierarchy}? 5201 | | | +--ro enabled? boolean 5202 | | | +--ro primary-path 5203 | | | | +--ro network-ref? 5204 | | | | | -> /nw:networks/network/network-id 5205 | | | | +--ro path-element* [path-element-id] 5206 | | | | +--ro path-element-id uint32 5207 | | | | +--ro index? uint32 5208 | | | | +--ro (type)? 5209 | | | | +--:(num-unnum-hop) 5210 | | | | | +--ro num-unnum-hop 5211 | | | | | +--ro node-id? 5212 | | | | | | te-types:te-node-id 5213 | | | | | +--ro link-tp-id? 5214 | | | | | | te-types:te-tp-id 5215 | | | | | +--ro hop-type? te-hop-type 5216 | | | | | +--ro direction? 5217 | | | | | te-link-direction 5218 | | | | +--:(as-number) 5219 | | | | | +--ro as-number-hop 5220 | | | | | +--ro as-number? binary 5221 | | | | | +--ro hop-type? te-hop-type 5222 | | | | +--:(label) 5223 | | | | +--ro label-hop 5224 | | | | +--ro te-label 5225 | | | | +--ro (technology)? 5226 | | | | | +--:(generic) 5227 | | | | | +--ro generic? 5228 | | | | | rt- 5229 types:generalized-label 5230 | | | | +--ro direction? 5231 | | | | te-label-direction 5232 | | | +--ro backup-path* [index] 5233 | | | | +--ro index uint32 5234 | | | | +--ro network-ref? 5235 | | | | | -> /nw:networks/network/network-id 5236 | | | | +--ro path-element* [path-element-id] 5237 | | | | +--ro path-element-id uint32 5238 | | | | +--ro index? uint32 5239 | | | | +--ro (type)? 5240 | | | | +--:(num-unnum-hop) 5241 | | | | | +--ro num-unnum-hop 5242 | | | | | +--ro node-id? 5243 | | | | | | te-types:te-node-id 5244 | | | | | +--ro link-tp-id? 5245 | | | | | | te-types:te-tp-id 5246 | | | | | +--ro hop-type? te-hop-type 5247 | | | | | +--ro direction? 5248 | | | | | te-link-direction 5249 | | | | +--:(as-number) 5250 | | | | | +--ro as-number-hop 5251 | | | | | +--ro as-number? binary 5252 | | | | | +--ro hop-type? te-hop-type 5253 | | | | +--:(label) 5254 | | | | +--ro label-hop 5255 | | | | +--ro te-label 5256 | | | | +--ro (technology)? 5257 | | | | | +--:(generic) 5258 | | | | | +--ro generic? 5259 | | | | | rt- 5260 types:generalized-label 5261 | | | | +--ro direction? 5262 | | | | te-label-direction 5263 | | | +--ro protection-type? identityref 5264 | | | +--ro tunnel-termination-points 5265 | | | | +--ro source? binary 5266 | | | | +--ro destination? binary 5267 | | | +--ro tunnels 5268 | | | +--ro sharing? boolean 5269 | | | +--ro tunnel* [tunnel-name] 5270 | | | +--ro tunnel-name string 5271 | | | +--ro sharing? boolean 5272 | | +--ro path-constraints 5273 | | | +--ro te-bandwidth 5274 | | | | +--ro (technology)? 5275 | | | | +--:(generic) 5276 | | | | +--ro generic? te-bandwidth 5277 | | | +--ro setup-priority? uint8 5278 | | | +--ro hold-priority? uint8 5279 | | | +--ro signaling-type? identityref 5280 | | | +--ro path-metric-bounds 5281 | | | | +--ro path-metric-bound* [metric-type] 5282 | | | | +--ro metric-type identityref 5283 | | | | +--ro upper-bound? uint64 5284 | | | +--ro path-affinities 5285 | | | | +--ro constraint* [usage] 5286 | | | | +--ro usage identityref 5287 | | | | +--ro value? admin-groups 5288 | | | +--ro path-srlgs 5289 | | | +--ro usage? identityref 5290 | | | +--ro values* srlg 5291 | | +--ro optimizations 5292 | | | +--ro (algorithm)? 5293 | | | +--:(metric) {path-optimization-metric}? 5294 | | | | +--ro optimization-metric* [metric-type] 5295 | | | | | +--ro metric-type 5296 | | | | | | identityref 5297 | | | | | +--ro weight? 5298 | | | | | | uint8 5299 | | | | | +--ro explicit-route-exclude-objects 5300 | | | | | | +--ro route-object-exclude-object* 5301 | | | | | | [index] 5302 | | | | | | +--ro index uint32 5303 | | | | | | +--ro (type)? 5304 | | | | | | +--:(num-unnum-hop) 5305 | | | | | | | +--ro num-unnum-hop 5306 | | | | | | | +--ro node-id? 5307 | | | | | | | | te-types:te-node- 5308 id 5309 | | | | | | | +--ro link-tp-id? 5310 | | | | | | | | te-types:te-tp-id 5311 | | | | | | | +--ro hop-type? 5312 | | | | | | | | te-hop-type 5313 | | | | | | | +--ro direction? 5314 | | | | | | | te-link-direction 5315 | | | | | | +--:(as-number) 5316 | | | | | | | +--ro as-number-hop 5317 | | | | | | | +--ro as-number? binary 5318 | | | | | | | +--ro hop-type? 5319 | | | | | | | te-hop-type 5320 | | | | | | +--:(label) 5321 | | | | | | | +--ro label-hop 5322 | | | | | | | +--ro te-label 5323 | | | | | | | +--ro (technology)? 5324 | | | | | | | | +--:(generic) 5325 | | | | | | | | +--ro generic? 5326 | | | | | | | | rt- 5327 types:generalized-label 5328 | | | | | | | +--ro direction? 5329 | | | | | | | te-label- 5330 direction 5331 | | | | | | +--:(srlg) 5332 | | | | | | +--ro srlg 5333 | | | | | | +--ro srlg? uint32 5334 | | | | | +--ro explicit-route-include-objects 5335 | | | | | +--ro route-object-include-object* 5336 | | | | | [index] 5337 | | | | | +--ro index uint32 5338 | | | | | +--ro (type)? 5339 | | | | | +--:(num-unnum-hop) 5340 | | | | | | +--ro num-unnum-hop 5341 | | | | | | +--ro node-id? 5342 | | | | | | | te-types:te-node- 5343 id 5344 | | | | | | +--ro link-tp-id? 5345 | | | | | | | te-types:te-tp-id 5346 | | | | | | +--ro hop-type? 5347 | | | | | | | te-hop-type 5348 | | | | | | +--ro direction? 5349 | | | | | | te-link-direction 5350 | | | | | +--:(as-number) 5351 | | | | | | +--ro as-number-hop 5352 | | | | | | +--ro as-number? binary 5353 | | | | | | +--ro hop-type? 5354 | | | | | | te-hop-type 5355 | | | | | +--:(label) 5356 | | | | | +--ro label-hop 5357 | | | | | +--ro te-label 5358 | | | | | +--ro (technology)? 5359 | | | | | | +--:(generic) 5360 | | | | | | +--ro generic? 5361 | | | | | | rt- 5362 types:generalized-label 5363 | | | | | +--ro direction? 5364 | | | | | te-label- 5365 direction 5366 | | | | +--ro tiebreakers 5367 | | | | +--ro tiebreaker* [tiebreaker-type] 5368 | | | | +--ro tiebreaker-type identityref 5369 | | | +--:(objective-function) 5370 | | | {path-optimization-objective- 5371 function}? 5372 | | | +--ro objective-function 5373 | | | +--ro objective-function-type? 5374 | | | identityref 5375 | | +--ro path-properties 5376 | | +--ro path-metric* [metric-type] 5377 | | | +--ro metric-type identityref 5378 | | | +--ro accumulative-value? uint64 5379 | | +--ro path-affinities 5380 | | | +--ro constraint* [usage] 5381 | | | +--ro usage identityref 5382 | | | +--ro value? admin-groups 5383 | | +--ro path-srlgs 5384 | | | +--ro usage? identityref 5385 | | | +--ro values* srlg 5386 | | +--ro path-route-objects 5387 | | +--ro path-route-object* [index] 5388 | | +--ro index uint32 5389 | | +--ro (type)? 5390 | | +--:(num-unnum-hop) 5391 | | | +--ro num-unnum-hop 5392 | | | +--ro node-id? 5393 | | | | te-types:te-node-id 5394 | | | +--ro link-tp-id? 5395 | | | | te-types:te-tp-id 5396 | | | +--ro hop-type? te-hop-type 5397 | | | +--ro direction? 5398 | | | te-link-direction 5399 | | +--:(as-number) 5400 | | | +--ro as-number-hop 5401 | | | +--ro as-number? binary 5402 | | | +--ro hop-type? te-hop-type 5403 | | +--:(label) 5404 | | +--ro label-hop 5405 | | +--ro te-label 5406 | | +--ro (technology)? 5407 | | | +--:(generic) 5408 | | | +--ro generic? 5409 | | | rt- 5410 types:generalized-label 5411 | | +--ro direction? 5412 | | te-label-direction 5413 | +--ro domain-id? uint32 5414 | +--ro is-abstract? empty 5415 | +--ro name? string 5416 | +--ro signaling-address* inet:ip-address 5417 | +--ro underlay-topology {te-topology-hierarchy}? 5418 | +--ro network-ref? -> /nw:networks/network/network-id 5419 +--ro statistics 5420 | +--ro discontinuity-time? yang:date-and-time 5421 | +--ro node 5422 | | +--ro disables? yang:counter32 5423 | | +--ro enables? yang:counter32 5424 | | +--ro maintenance-sets? yang:counter32 5425 | | +--ro maintenance-clears? yang:counter32 5426 | | +--ro modifies? yang:counter32 5427 | +--ro connectivity-matrix-entry 5428 | +--ro creates? yang:counter32 5429 | +--ro deletes? yang:counter32 5430 | +--ro disables? yang:counter32 5431 | +--ro enables? yang:counter32 5432 | +--ro modifies? yang:counter32 5433 +--rw tunnel-termination-point* [tunnel-tp-id] 5434 +--rw tunnel-tp-id binary 5435 +--rw admin-status? 5436 | te-types:te-admin-status 5437 +--rw name? string 5438 +--rw switching-capability? identityref 5439 +--rw encoding? identityref 5440 +--rw inter-layer-lock-id* uint32 5441 +--rw protection-type? identityref 5442 +--rw client-layer-adaptation 5443 | +--rw switching-capability* 5444 | [switching-capability encoding] 5445 | +--rw switching-capability identityref 5446 | +--rw encoding identityref 5447 | +--rw te-bandwidth 5448 | +--rw (technology)? 5449 | +--:(generic) 5450 | +--rw generic? te-bandwidth 5451 +--rw local-link-connectivities 5452 | +--rw number-of-entries? uint16 5453 | +--rw label-restrictions 5454 | | +--rw label-restriction* [index] 5455 | | +--rw restriction? enumeration 5456 | | +--rw index uint32 5457 | | +--rw label-start 5458 | | | +--rw te-label 5459 | | | +--rw (technology)? 5460 | | | | +--:(generic) 5461 | | | | +--rw generic? 5462 | | | | rt-types:generalized-label 5463 | | | +--rw direction? te-label-direction 5464 | | +--rw label-end 5465 | | | +--rw te-label 5466 | | | +--rw (technology)? 5467 | | | | +--:(generic) 5468 | | | | +--rw generic? 5469 | | | | rt-types:generalized-label 5470 | | | +--rw direction? te-label-direction 5471 | | +--rw range-bitmap? binary 5472 | +--rw is-allowed? boolean 5473 | +--rw underlay {te-topology-hierarchy}? 5474 | | +--rw enabled? boolean 5475 | | +--rw primary-path 5476 | | | +--rw network-ref? 5477 | | | | -> /nw:networks/network/network-id 5478 | | | +--rw path-element* [path-element-id] 5479 | | | +--rw path-element-id uint32 5480 | | | +--rw index? uint32 5481 | | | +--rw (type)? 5482 | | | +--:(num-unnum-hop) 5483 | | | | +--rw num-unnum-hop 5484 | | | | +--rw node-id? 5485 | | | | | te-types:te-node-id 5486 | | | | +--rw link-tp-id? te-types:te-tp-id 5487 | | | | +--rw hop-type? te-hop-type 5488 | | | | +--rw direction? te-link-direction 5489 | | | +--:(as-number) 5490 | | | | +--rw as-number-hop 5491 | | | | +--rw as-number? binary 5492 | | | | +--rw hop-type? te-hop-type 5493 | | | +--:(label) 5494 | | | +--rw label-hop 5495 | | | +--rw te-label 5496 | | | +--rw (technology)? 5497 | | | | +--:(generic) 5498 | | | | +--rw generic? 5499 | | | | rt-types:generalized- 5500 label 5501 | | | +--rw direction? 5502 | | | te-label-direction 5503 | | +--rw backup-path* [index] 5504 | | | +--rw index uint32 5505 | | | +--rw network-ref? 5506 | | | | -> /nw:networks/network/network-id 5507 | | | +--rw path-element* [path-element-id] 5508 | | | +--rw path-element-id uint32 5509 | | | +--rw index? uint32 5510 | | | +--rw (type)? 5511 | | | +--:(num-unnum-hop) 5512 | | | | +--rw num-unnum-hop 5513 | | | | +--rw node-id? 5514 | | | | | te-types:te-node-id 5515 | | | | +--rw link-tp-id? te-types:te-tp-id 5516 | | | | +--rw hop-type? te-hop-type 5517 | | | | +--rw direction? te-link-direction 5518 | | | +--:(as-number) 5519 | | | | +--rw as-number-hop 5520 | | | | +--rw as-number? binary 5521 | | | | +--rw hop-type? te-hop-type 5522 | | | +--:(label) 5523 | | | +--rw label-hop 5524 | | | +--rw te-label 5525 | | | +--rw (technology)? 5526 | | | | +--:(generic) 5527 | | | | +--rw generic? 5528 | | | | rt-types:generalized- 5529 label 5530 | | | +--rw direction? 5531 | | | te-label-direction 5532 | | +--rw protection-type? identityref 5533 | | +--rw tunnel-termination-points 5534 | | | +--rw source? binary 5535 | | | +--rw destination? binary 5536 | | +--rw tunnels 5537 | | +--rw sharing? boolean 5538 | | +--rw tunnel* [tunnel-name] 5539 | | +--rw tunnel-name string 5540 | | +--rw sharing? boolean 5541 | +--rw path-constraints 5542 | | +--rw te-bandwidth 5543 | | | +--rw (technology)? 5544 | | | +--:(generic) 5545 | | | +--rw generic? te-bandwidth 5546 | | +--rw setup-priority? uint8 5547 | | +--rw hold-priority? uint8 5548 | | +--rw signaling-type? identityref 5549 | | +--rw path-metric-bounds 5550 | | | +--rw path-metric-bound* [metric-type] 5551 | | | +--rw metric-type identityref 5552 | | | +--rw upper-bound? uint64 5553 | | +--rw path-affinities 5554 | | | +--rw constraint* [usage] 5555 | | | +--rw usage identityref 5556 | | | +--rw value? admin-groups 5557 | | +--rw path-srlgs 5558 | | +--rw usage? identityref 5559 | | +--rw values* srlg 5560 | +--rw optimizations 5561 | | +--rw (algorithm)? 5562 | | +--:(metric) {path-optimization-metric}? 5563 | | | +--rw optimization-metric* [metric-type] 5564 | | | | +--rw metric-type 5565 | | | | | identityref 5566 | | | | +--rw weight? 5567 | | | | | uint8 5568 | | | | +--rw explicit-route-exclude-objects 5569 | | | | | +--rw route-object-exclude-object* 5570 | | | | | [index] 5571 | | | | | +--rw index uint32 5572 | | | | | +--rw (type)? 5573 | | | | | +--:(num-unnum-hop) 5574 | | | | | | +--rw num-unnum-hop 5575 | | | | | | +--rw node-id? 5576 | | | | | | | te-types:te-node-id 5577 | | | | | | +--rw link-tp-id? 5578 | | | | | | | te-types:te-tp-id 5579 | | | | | | +--rw hop-type? 5580 | | | | | | | te-hop-type 5581 | | | | | | +--rw direction? 5582 | | | | | | te-link-direction 5583 | | | | | +--:(as-number) 5584 | | | | | | +--rw as-number-hop 5585 | | | | | | +--rw as-number? binary 5586 | | | | | | +--rw hop-type? 5587 | | | | | | te-hop-type 5588 | | | | | +--:(label) 5589 | | | | | | +--rw label-hop 5590 | | | | | | +--rw te-label 5591 | | | | | | +--rw (technology)? 5592 | | | | | | | +--:(generic) 5593 | | | | | | | +--rw generic? 5594 | | | | | | | rt- 5595 types:generalized-label 5596 | | | | | | +--rw direction? 5597 | | | | | | te-label-direction 5598 | | | | | +--:(srlg) 5599 | | | | | +--rw srlg 5600 | | | | | +--rw srlg? uint32 5601 | | | | +--rw explicit-route-include-objects 5602 | | | | +--rw route-object-include-object* 5603 | | | | [index] 5604 | | | | +--rw index uint32 5605 | | | | +--rw (type)? 5606 | | | | +--:(num-unnum-hop) 5607 | | | | | +--rw num-unnum-hop 5608 | | | | | +--rw node-id? 5609 | | | | | | te-types:te-node-id 5610 | | | | | +--rw link-tp-id? 5611 | | | | | | te-types:te-tp-id 5612 | | | | | +--rw hop-type? 5613 | | | | | | te-hop-type 5614 | | | | | +--rw direction? 5615 | | | | | te-link-direction 5616 | | | | +--:(as-number) 5617 | | | | | +--rw as-number-hop 5618 | | | | | +--rw as-number? binary 5619 | | | | | +--rw hop-type? 5620 | | | | | te-hop-type 5621 | | | | +--:(label) 5622 | | | | +--rw label-hop 5623 | | | | +--rw te-label 5624 | | | | +--rw (technology)? 5625 | | | | | +--:(generic) 5626 | | | | | +--rw generic? 5627 | | | | | rt- 5628 types:generalized-label 5629 | | | | +--rw direction? 5630 | | | | te-label-direction 5631 | | | +--rw tiebreakers 5632 | | | +--rw tiebreaker* [tiebreaker-type] 5633 | | | +--rw tiebreaker-type identityref 5634 | | +--:(objective-function) 5635 | | {path-optimization-objective-function}? 5636 | | +--rw objective-function 5637 | | +--rw objective-function-type? identityref 5638 | +--ro path-properties 5639 | | +--ro path-metric* [metric-type] 5640 | | | +--ro metric-type identityref 5641 | | | +--ro accumulative-value? uint64 5642 | | +--ro path-affinities 5643 | | | +--ro constraint* [usage] 5644 | | | +--ro usage identityref 5645 | | | +--ro value? admin-groups 5646 | | +--ro path-srlgs 5647 | | | +--ro usage? identityref 5648 | | | +--ro values* srlg 5649 | | +--ro path-route-objects 5650 | | +--ro path-route-object* [index] 5651 | | +--ro index uint32 5652 | | +--ro (type)? 5653 | | +--:(num-unnum-hop) 5654 | | | +--ro num-unnum-hop 5655 | | | +--ro node-id? 5656 | | | | te-types:te-node-id 5657 | | | +--ro link-tp-id? te-types:te-tp-id 5658 | | | +--ro hop-type? te-hop-type 5659 | | | +--ro direction? te-link-direction 5660 | | +--:(as-number) 5661 | | | +--ro as-number-hop 5662 | | | +--ro as-number? binary 5663 | | | +--ro hop-type? te-hop-type 5664 | | +--:(label) 5665 | | +--ro label-hop 5666 | | +--ro te-label 5667 | | +--ro (technology)? 5668 | | | +--:(generic) 5669 | | | +--ro generic? 5670 | | | rt-types:generalized- 5671 label 5672 | | +--ro direction? 5673 | | te-label-direction 5674 | +--rw local-link-connectivity* [link-tp-ref] 5675 | +--rw link-tp-ref 5676 | | -> ../../../../../nt:termination-point/tp-id 5677 | +--rw label-restrictions 5678 | | +--rw label-restriction* [index] 5679 | | +--rw restriction? enumeration 5680 | | +--rw index uint32 5681 | | +--rw label-start 5682 | | | +--rw te-label 5683 | | | +--rw (technology)? 5684 | | | | +--:(generic) 5685 | | | | +--rw generic? 5686 | | | | rt-types:generalized-label 5687 | | | +--rw direction? te-label-direction 5688 | | +--rw label-end 5689 | | | +--rw te-label 5690 | | | +--rw (technology)? 5691 | | | | +--:(generic) 5692 | | | | +--rw generic? 5693 | | | | rt-types:generalized-label 5694 | | | +--rw direction? te-label-direction 5695 | | +--rw range-bitmap? binary 5696 | +--rw is-allowed? boolean 5697 | +--rw underlay {te-topology-hierarchy}? 5698 | | +--rw enabled? boolean 5699 | | +--rw primary-path 5700 | | | +--rw network-ref? 5701 | | | | -> /nw:networks/network/network-id 5702 | | | +--rw path-element* [path-element-id] 5703 | | | +--rw path-element-id uint32 5704 | | | +--rw index? uint32 5705 | | | +--rw (type)? 5706 | | | +--:(num-unnum-hop) 5707 | | | | +--rw num-unnum-hop 5708 | | | | +--rw node-id? 5709 | | | | | te-types:te-node-id 5710 | | | | +--rw link-tp-id? 5711 | | | | | te-types:te-tp-id 5712 | | | | +--rw hop-type? te-hop-type 5713 | | | | +--rw direction? 5714 | | | | te-link-direction 5715 | | | +--:(as-number) 5716 | | | | +--rw as-number-hop 5717 | | | | +--rw as-number? binary 5718 | | | | +--rw hop-type? te-hop-type 5719 | | | +--:(label) 5720 | | | +--rw label-hop 5721 | | | +--rw te-label 5722 | | | +--rw (technology)? 5723 | | | | +--:(generic) 5724 | | | | +--rw generic? 5725 | | | | rt- 5726 types:generalized-label 5727 | | | +--rw direction? 5728 | | | te-label-direction 5729 | | +--rw backup-path* [index] 5730 | | | +--rw index uint32 5731 | | | +--rw network-ref? 5732 | | | | -> /nw:networks/network/network-id 5733 | | | +--rw path-element* [path-element-id] 5734 | | | +--rw path-element-id uint32 5735 | | | +--rw index? uint32 5736 | | | +--rw (type)? 5737 | | | +--:(num-unnum-hop) 5738 | | | | +--rw num-unnum-hop 5739 | | | | +--rw node-id? 5740 | | | | | te-types:te-node-id 5741 | | | | +--rw link-tp-id? 5742 | | | | | te-types:te-tp-id 5743 | | | | +--rw hop-type? te-hop-type 5744 | | | | +--rw direction? 5745 | | | | te-link-direction 5746 | | | +--:(as-number) 5747 | | | | +--rw as-number-hop 5748 | | | | +--rw as-number? binary 5749 | | | | +--rw hop-type? te-hop-type 5750 | | | +--:(label) 5751 | | | +--rw label-hop 5752 | | | +--rw te-label 5753 | | | +--rw (technology)? 5754 | | | | +--:(generic) 5755 | | | | +--rw generic? 5756 | | | | rt- 5757 types:generalized-label 5758 | | | +--rw direction? 5759 | | | te-label-direction 5760 | | +--rw protection-type? identityref 5761 | | +--rw tunnel-termination-points 5762 | | | +--rw source? binary 5763 | | | +--rw destination? binary 5764 | | +--rw tunnels 5765 | | +--rw sharing? boolean 5766 | | +--rw tunnel* [tunnel-name] 5767 | | +--rw tunnel-name string 5768 | | +--rw sharing? boolean 5769 | +--rw path-constraints 5770 | | +--rw te-bandwidth 5771 | | | +--rw (technology)? 5772 | | | +--:(generic) 5773 | | | +--rw generic? te-bandwidth 5774 | | +--rw setup-priority? uint8 5775 | | +--rw hold-priority? uint8 5776 | | +--rw signaling-type? identityref 5777 | | +--rw path-metric-bounds 5778 | | | +--rw path-metric-bound* [metric-type] 5779 | | | +--rw metric-type identityref 5780 | | | +--rw upper-bound? uint64 5781 | | +--rw path-affinities 5782 | | | +--rw constraint* [usage] 5783 | | | +--rw usage identityref 5784 | | | +--rw value? admin-groups 5785 | | +--rw path-srlgs 5786 | | +--rw usage? identityref 5787 | | +--rw values* srlg 5788 | +--rw optimizations 5789 | | +--rw (algorithm)? 5790 | | +--:(metric) {path-optimization-metric}? 5791 | | | +--rw optimization-metric* [metric-type] 5792 | | | | +--rw metric-type 5793 | | | | | identityref 5794 | | | | +--rw weight? 5795 | | | | | uint8 5796 | | | | +--rw explicit-route-exclude-objects 5797 | | | | | +--rw route-object-exclude-object* 5798 | | | | | [index] 5799 | | | | | +--rw index uint32 5800 | | | | | +--rw (type)? 5801 | | | | | +--:(num-unnum-hop) 5802 | | | | | | +--rw num-unnum-hop 5803 | | | | | | +--rw node-id? 5804 | | | | | | | te-types:te-node- 5805 id 5806 | | | | | | +--rw link-tp-id? 5807 | | | | | | | te-types:te-tp-id 5808 | | | | | | +--rw hop-type? 5809 | | | | | | | te-hop-type 5810 | | | | | | +--rw direction? 5811 | | | | | | te-link-direction 5812 | | | | | +--:(as-number) 5813 | | | | | | +--rw as-number-hop 5814 | | | | | | +--rw as-number? binary 5815 | | | | | | +--rw hop-type? 5816 | | | | | | te-hop-type 5817 | | | | | +--:(label) 5818 | | | | | | +--rw label-hop 5819 | | | | | | +--rw te-label 5820 | | | | | | +--rw (technology)? 5821 | | | | | | | +--:(generic) 5822 | | | | | | | +--rw generic? 5823 | | | | | | | rt- 5824 types:generalized-label 5825 | | | | | | +--rw direction? 5826 | | | | | | te-label- 5827 direction 5828 | | | | | +--:(srlg) 5829 | | | | | +--rw srlg 5830 | | | | | +--rw srlg? uint32 5831 | | | | +--rw explicit-route-include-objects 5832 | | | | +--rw route-object-include-object* 5833 | | | | [index] 5834 | | | | +--rw index uint32 5835 | | | | +--rw (type)? 5836 | | | | +--:(num-unnum-hop) 5837 | | | | | +--rw num-unnum-hop 5838 | | | | | +--rw node-id? 5839 | | | | | | te-types:te-node- 5840 id 5841 | | | | | +--rw link-tp-id? 5842 | | | | | | te-types:te-tp-id 5843 | | | | | +--rw hop-type? 5844 | | | | | | te-hop-type 5845 | | | | | +--rw direction? 5846 | | | | | te-link-direction 5847 | | | | +--:(as-number) 5848 | | | | | +--rw as-number-hop 5849 | | | | | +--rw as-number? binary 5850 | | | | | +--rw hop-type? 5851 | | | | | te-hop-type 5852 | | | | +--:(label) 5853 | | | | +--rw label-hop 5854 | | | | +--rw te-label 5855 | | | | +--rw (technology)? 5856 | | | | | +--:(generic) 5857 | | | | | +--rw generic? 5858 | | | | | rt- 5859 types:generalized-label 5860 | | | | +--rw direction? 5861 | | | | te-label- 5862 direction 5863 | | | +--rw tiebreakers 5864 | | | +--rw tiebreaker* [tiebreaker-type] 5865 | | | +--rw tiebreaker-type identityref 5866 | | +--:(objective-function) 5867 | | {path-optimization-objective- 5868 function}? 5869 | | +--rw objective-function 5870 | | +--rw objective-function-type? 5871 | | identityref 5872 | +--ro path-properties 5873 | +--ro path-metric* [metric-type] 5874 | | +--ro metric-type identityref 5875 | | +--ro accumulative-value? uint64 5876 | +--ro path-affinities 5877 | | +--ro constraint* [usage] 5878 | | +--ro usage identityref 5879 | | +--ro value? admin-groups 5880 | +--ro path-srlgs 5881 | | +--ro usage? identityref 5882 | | +--ro values* srlg 5883 | +--ro path-route-objects 5884 | +--ro path-route-object* [index] 5885 | +--ro index uint32 5886 | +--ro (type)? 5887 | +--:(num-unnum-hop) 5888 | | +--ro num-unnum-hop 5889 | | +--ro node-id? 5890 | | | te-types:te-node-id 5891 | | +--ro link-tp-id? 5892 | | | te-types:te-tp-id 5893 | | +--ro hop-type? te-hop-type 5894 | | +--ro direction? 5895 | | te-link-direction 5896 | +--:(as-number) 5897 | | +--ro as-number-hop 5898 | | +--ro as-number? binary 5899 | | +--ro hop-type? te-hop-type 5900 | +--:(label) 5901 | +--ro label-hop 5902 | +--ro te-label 5903 | +--ro (technology)? 5904 | | +--:(generic) 5905 | | +--ro generic? 5906 | | rt- 5907 types:generalized-label 5908 | +--ro direction? 5909 | te-label-direction 5910 +--ro oper-status? 5911 | te-types:te-oper-status 5912 +--ro geolocation 5913 | +--ro altitude? int64 5914 | +--ro latitude? geographic-coordinate-degree 5915 | +--ro longitude? geographic-coordinate-degree 5916 +--ro statistics 5917 | +--ro discontinuity-time? yang:date-and-time 5918 | +--ro tunnel-termination-point 5919 | | +--ro disables? yang:counter32 5920 | | +--ro enables? yang:counter32 5921 | | +--ro maintenance-clears? yang:counter32 5922 | | +--ro maintenance-sets? yang:counter32 5923 | | +--ro modifies? yang:counter32 5924 | | +--ro downs? yang:counter32 5925 | | +--ro ups? yang:counter32 5926 | | +--ro in-service-clears? yang:counter32 5927 | | +--ro in-service-sets? yang:counter32 5928 | +--ro local-link-connectivity 5929 | +--ro creates? yang:counter32 5930 | +--ro deletes? yang:counter32 5931 | +--ro disables? yang:counter32 5932 | +--ro enables? yang:counter32 5933 | +--ro modifies? yang:counter32 5934 +--rw supporting-tunnel-termination-point* 5936 [node-ref tunnel-tp-ref] 5937 +--rw node-ref inet:uri 5938 +--rw tunnel-tp-ref binary 5939 augment /nw:networks/nw:network/nt:link: 5940 +--rw te! 5941 +--rw (bundle-stack-level)? 5942 | +--:(bundle) 5943 | | +--rw bundled-links 5944 | | +--rw bundled-link* [sequence] 5945 | | +--rw sequence uint32 5946 | | +--rw src-tp-ref? leafref 5947 | | +--rw des-tp-ref? leafref 5948 | +--:(component) 5949 | +--rw component-links 5950 | +--rw component-link* [sequence] 5951 | +--rw sequence uint32 5952 | +--rw src-interface-ref? string 5953 | +--rw des-interface-ref? string 5954 +--rw te-link-template* 5955 | -> ../../../../te/templates/link-template/name 5956 | {template}? 5957 +--rw te-link-attributes 5958 | +--rw access-type? 5959 | | te-types:te-link-access-type 5960 | +--rw external-domain 5961 | | +--rw network-ref? 5962 | | | -> /nw:networks/network/network-id 5963 | | +--rw remote-te-node-id? te-types:te-node-id 5964 | | +--rw remote-te-link-tp-id? te-types:te-tp-id 5965 | +--rw is-abstract? empty 5966 | +--rw name? string 5967 | +--rw underlay {te-topology-hierarchy}? 5968 | | +--rw enabled? boolean 5969 | | +--rw primary-path 5970 | | | +--rw network-ref? 5971 | | | | -> /nw:networks/network/network-id 5972 | | | +--rw path-element* [path-element-id] 5973 | | | +--rw path-element-id uint32 5974 | | | +--rw index? uint32 5975 | | | +--rw (type)? 5976 | | | +--:(num-unnum-hop) 5977 | | | | +--rw num-unnum-hop 5978 | | | | +--rw node-id? te-types:te-node-id 5979 | | | | +--rw link-tp-id? te-types:te-tp-id 5980 | | | | +--rw hop-type? te-hop-type 5981 | | | | +--rw direction? te-link-direction 5982 | | | +--:(as-number) 5983 | | | | +--rw as-number-hop 5984 | | | | +--rw as-number? binary 5985 | | | | +--rw hop-type? te-hop-type 5986 | | | +--:(label) 5987 | | | +--rw label-hop 5988 | | | +--rw te-label 5989 | | | +--rw (technology)? 5990 | | | | +--:(generic) 5991 | | | | +--rw generic? 5992 | | | | rt-types:generalized- 5993 label 5994 | | | +--rw direction? 5995 | | | te-label-direction 5996 | | +--rw backup-path* [index] 5997 | | | +--rw index uint32 5998 | | | +--rw network-ref? 5999 | | | | -> /nw:networks/network/network-id 6000 | | | +--rw path-element* [path-element-id] 6001 | | | +--rw path-element-id uint32 6002 | | | +--rw index? uint32 6003 | | | +--rw (type)? 6004 | | | +--:(num-unnum-hop) 6005 | | | | +--rw num-unnum-hop 6006 | | | | +--rw node-id? te-types:te-node-id 6007 | | | | +--rw link-tp-id? te-types:te-tp-id 6008 | | | | +--rw hop-type? te-hop-type 6009 | | | | +--rw direction? te-link-direction 6010 | | | +--:(as-number) 6011 | | | | +--rw as-number-hop 6012 | | | | +--rw as-number? binary 6013 | | | | +--rw hop-type? te-hop-type 6014 | | | +--:(label) 6015 | | | +--rw label-hop 6016 | | | +--rw te-label 6017 | | | +--rw (technology)? 6018 | | | | +--:(generic) 6019 | | | | +--rw generic? 6020 | | | | rt-types:generalized- 6021 label 6022 | | | +--rw direction? 6023 | | | te-label-direction 6024 | | +--rw protection-type? identityref 6025 | | +--rw tunnel-termination-points 6026 | | | +--rw source? binary 6027 | | | +--rw destination? binary 6028 | | +--rw tunnels 6029 | | +--rw sharing? boolean 6030 | | +--rw tunnel* [tunnel-name] 6031 | | +--rw tunnel-name string 6032 | | +--rw sharing? boolean 6033 | +--rw admin-status? 6034 | | te-types:te-admin-status 6035 | +--rw link-index? uint64 6036 | +--rw administrative-group? 6037 | | te-types:admin-groups 6038 | +--rw interface-switching-capability* 6039 | | [switching-capability encoding] 6040 | | +--rw switching-capability identityref 6041 | | +--rw encoding identityref 6042 | | +--rw max-lsp-bandwidth* [priority] 6043 | | +--rw priority uint8 6044 | | +--rw te-bandwidth 6045 | | +--rw (technology)? 6046 | | +--:(generic) 6047 | | +--rw generic? te-bandwidth 6048 | +--rw label-restrictions 6049 | | +--rw label-restriction* [index] 6050 | | +--rw restriction? enumeration 6051 | | +--rw index uint32 6052 | | +--rw label-start 6053 | | | +--rw te-label 6054 | | | +--rw (technology)? 6055 | | | | +--:(generic) 6056 | | | | +--rw generic? 6057 | | | | rt-types:generalized-label 6058 | | | +--rw direction? te-label-direction 6059 | | +--rw label-end 6060 | | | +--rw te-label 6061 | | | +--rw (technology)? 6062 | | | | +--:(generic) 6063 | | | | +--rw generic? 6064 | | | | rt-types:generalized-label 6065 | | | +--rw direction? te-label-direction 6066 | | +--rw range-bitmap? binary 6067 | +--rw link-protection-type? enumeration 6068 | +--rw max-link-bandwidth 6069 | | +--rw te-bandwidth 6070 | | +--rw (technology)? 6071 | | +--:(generic) 6072 | | +--rw generic? te-bandwidth 6073 | +--rw max-resv-link-bandwidth 6074 | | +--rw te-bandwidth 6075 | | +--rw (technology)? 6076 | | +--:(generic) 6077 | | +--rw generic? te-bandwidth 6078 | +--rw unreserved-bandwidth* [priority] 6079 | | +--rw priority uint8 6080 | | +--rw te-bandwidth 6081 | | +--rw (technology)? 6082 | | +--:(generic) 6083 | | +--rw generic? te-bandwidth 6084 | +--rw te-default-metric? uint32 6085 | +--rw te-delay-metric? uint32 6086 | +--rw te-igp-metric? uint32 6087 | +--rw te-srlgs 6088 | | +--rw value* te-types:srlg 6089 | +--rw te-nsrlgs {nsrlg}? 6090 | +--rw id* uint32 6091 +--ro oper-status? te-types:te-oper-status 6092 +--ro is-transitional? empty 6093 +--ro information-source? te-info-source 6094 +--ro information-source-state 6095 | +--ro credibility-preference? uint16 6096 | +--ro logical-network-element? string 6097 | +--ro network-instance? string 6098 | +--ro topology 6099 | +--ro link-ref? leafref 6100 | +--ro network-ref? -> /nw:networks/network/network-id 6101 +--ro information-source-entry* [information-source] 6102 | +--ro information-source te-info-source 6103 | +--ro information-source-state 6104 | | +--ro credibility-preference? uint16 6105 | | +--ro logical-network-element? string 6106 | | +--ro network-instance? string 6107 | | +--ro topology 6108 | | +--ro link-ref? leafref 6109 | | +--ro network-ref? 6110 | | -> /nw:networks/network/network-id 6111 | +--ro link-index? uint64 6112 | +--ro administrative-group? 6113 | | te-types:admin-groups 6114 | +--ro interface-switching-capability* 6115 | | [switching-capability encoding] 6116 | | +--ro switching-capability identityref 6117 | | +--ro encoding identityref 6118 | | +--ro max-lsp-bandwidth* [priority] 6119 | | +--ro priority uint8 6120 | | +--ro te-bandwidth 6121 | | +--ro (technology)? 6122 | | +--:(generic) 6123 | | +--ro generic? te-bandwidth 6124 | +--ro label-restrictions 6125 | | +--ro label-restriction* [index] 6126 | | +--ro restriction? enumeration 6127 | | +--ro index uint32 6128 | | +--ro label-start 6129 | | | +--ro te-label 6130 | | | +--ro (technology)? 6131 | | | | +--:(generic) 6132 | | | | +--ro generic? 6133 | | | | rt-types:generalized-label 6134 | | | +--ro direction? te-label-direction 6135 | | +--ro label-end 6136 | | | +--ro te-label 6137 | | | +--ro (technology)? 6138 | | | | +--:(generic) 6139 | | | | +--ro generic? 6140 | | | | rt-types:generalized-label 6141 | | | +--ro direction? te-label-direction 6142 | | +--ro range-bitmap? binary 6143 | +--ro link-protection-type? enumeration 6144 | +--ro max-link-bandwidth 6145 | | +--ro te-bandwidth 6146 | | +--ro (technology)? 6147 | | +--:(generic) 6148 | | +--ro generic? te-bandwidth 6149 | +--ro max-resv-link-bandwidth 6150 | | +--ro te-bandwidth 6151 | | +--ro (technology)? 6152 | | +--:(generic) 6153 | | +--ro generic? te-bandwidth 6154 | +--ro unreserved-bandwidth* [priority] 6155 | | +--ro priority uint8 6156 | | +--ro te-bandwidth 6157 | | +--ro (technology)? 6158 | | +--:(generic) 6159 | | +--ro generic? te-bandwidth 6160 | +--ro te-default-metric? uint32 6161 | +--ro te-delay-metric? uint32 6162 | +--ro te-igp-metric? uint32 6163 | +--ro te-srlgs 6164 | | +--ro value* te-types:srlg 6165 | +--ro te-nsrlgs {nsrlg}? 6166 | +--ro id* uint32 6167 +--ro recovery 6168 | +--ro restoration-status? te-types:te-recovery-status 6169 | +--ro protection-status? te-types:te-recovery-status 6170 +--ro underlay {te-topology-hierarchy}? 6171 | +--ro dynamic? boolean 6172 | +--ro committed? boolean 6173 +--ro statistics 6174 +--ro discontinuity-time? yang:date-and-time 6175 +--ro disables? yang:counter32 6176 +--ro enables? yang:counter32 6177 +--ro maintenance-clears? yang:counter32 6178 +--ro maintenance-sets? yang:counter32 6179 +--ro modifies? yang:counter32 6180 +--ro downs? yang:counter32 6181 +--ro ups? yang:counter32 6182 +--ro fault-clears? yang:counter32 6183 +--ro fault-detects? yang:counter32 6184 +--ro protection-switches? yang:counter32 6185 +--ro protection-reverts? yang:counter32 6186 +--ro restoration-failures? yang:counter32 6187 +--ro restoration-starts? yang:counter32 6188 +--ro restoration-successes? yang:counter32 6189 +--ro restoration-reversion-failures? yang:counter32 6190 +--ro restoration-reversion-starts? yang:counter32 6191 +--ro restoration-reversion-successes? yang:counter32 6192 augment /nw:networks/nw:network/nw:node/nt:termination-point: 6193 +--rw te-tp-id? te-types:te-tp-id 6194 +--rw te! 6195 +--rw admin-status? 6196 | te-types:te-admin-status 6197 +--rw name? string 6198 +--rw interface-switching-capability* 6199 | [switching-capability encoding] 6200 | +--rw switching-capability identityref 6201 | +--rw encoding identityref 6202 | +--rw max-lsp-bandwidth* [priority] 6203 | +--rw priority uint8 6204 | +--rw te-bandwidth 6205 | +--rw (technology)? 6206 | +--:(generic) 6207 | +--rw generic? te-bandwidth 6208 +--rw inter-domain-plug-id? binary 6209 +--rw inter-layer-lock-id* uint32 6210 +--ro oper-status? 6211 | te-types:te-oper-status 6212 +--ro geolocation 6213 +--ro altitude? int64 6214 +--ro latitude? geographic-coordinate-degree 6215 +--ro longitude? geographic-coordinate-degree 6217 Appendix B. Companion YANG Model for Non-NMDA Compliant Implementations 6219 The YANG module ietf-te-topology defined in this document is designed 6220 to be used in conjunction with implementations that support the 6221 Network Management Datastore Architecture (NMDA) defined in 6222 [RFC8342]. In order to allow implementations to use the model even in 6223 cases when NMDA is not supported, the following companion module 6224 ietf-te-topology-state is defined as a state model, which mirrors the 6225 module ietf-te-topology defined earlier in this document. However, 6226 all data nodes in the companion module are non-configurable, to 6227 represent the applied configuration or the derived operational 6228 states. 6230 The companion module, ietf-te-topology-state, is redundant and SHOULD 6231 NOT be supported by implementations that support NMDA. 6233 As the structure of the module ietf-te-topology-state mirrors that of 6234 the module ietf-te-topology. The YANG tree of the module ietf-te- 6235 topology-state is not depicted separately. 6237 B.1. TE Topology State YANG Module 6239 This module references [RFC6001], [RFC8345], and [I-D.ietf-teas-yang- 6240 te]. 6242 file "ietf-te-topology-state@2018-06-15.yang" 6243 module ietf-te-topology-state { 6244 yang-version 1.1; 6245 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-state"; 6247 prefix "tet-s"; 6249 import ietf-te-types { 6250 prefix "te-types"; 6251 reference 6252 "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic 6253 Engineering Tunnels and Interfaces"; 6254 } 6256 import ietf-te-topology { 6257 prefix "tet"; 6258 } 6260 import ietf-network-state { 6261 prefix "nw-s"; 6262 reference "RFC 8345: A YANG Data Model for Network Topologies"; 6263 } 6265 import ietf-network-topology-state { 6266 prefix "nt-s"; 6267 reference "RFC 8345: A YANG Data Model for Network Topologies"; 6268 } 6270 organization 6271 "IETF Traffic Engineering Architecture and Signaling (TEAS) 6272 Working Group"; 6274 contact 6275 "WG Web: 6276 WG List: 6278 Editor: Xufeng Liu 6279 6281 Editor: Igor Bryskin 6282 6284 Editor: Vishnu Pavan Beeram 6285 6287 Editor: Tarek Saad 6288 6290 Editor: Himanshu Shah 6291 6293 Editor: Oscar Gonzalez De Dios 6294 "; 6296 description "TE topology state model"; 6298 revision "2018-06-15" { 6299 description "Initial revision"; 6300 reference "RFC XXXX: YANG Data Model for TE Topologies"; 6301 // RFC Ed.: replace XXXX with actual RFC number and remove 6302 // this note 6303 } 6305 /* 6306 * Groupings 6307 */ 6308 grouping te-node-connectivity-matrix-attributes { 6309 description 6310 "Termination point references of a connectivity matrix entry."; 6311 container from { 6312 description 6313 "Reference to source link termination point."; 6314 leaf tp-ref { 6315 type leafref { 6316 path "../../../../../../nt-s:termination-point/nt-s:tp-id"; 6317 } 6318 description 6319 "Relative reference to a termination point."; 6320 } 6321 uses te-types:label-set-info; 6322 } 6323 container to { 6324 description 6325 "Reference to destination link termination point."; 6326 leaf tp-ref { 6327 type leafref { 6328 path "../../../../../../nt-s:termination-point/nt-s:tp-id"; 6329 } 6330 description 6331 "Relative reference to a termination point."; 6332 } 6333 uses te-types:label-set-info; 6334 } 6335 uses tet:connectivity-matrix-entry-path-attributes; 6336 } // te-node-connectivity-matrix-attributes 6338 grouping te-node-tunnel-termination-point-llc-list { 6339 description 6340 "Local link connectivity list of a tunnel termination 6341 point on a TE node."; 6342 list local-link-connectivity { 6343 key "link-tp-ref"; 6344 description 6345 "The termination capabilities between 6346 tunnel-termination-point and link termination-point. 6347 The capability information can be used to compute 6348 the tunnel path. 6349 The Interface Adjustment Capability Descriptors (IACD) 6350 (defined in RFC 6001) on each link-tp can be derived from 6351 this local-link-connectivity list."; 6352 reference 6353 "RFC 6001: Generalized MPLS (GMPLS) Protocol Extensions 6354 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 6356 leaf link-tp-ref { 6357 type leafref { 6358 path "../../../../../nt-s:termination-point/nt-s:tp-id"; 6359 } 6360 description 6361 "Link termination point."; 6362 } 6363 uses te-types:label-set-info; 6364 uses tet:connectivity-matrix-entry-path-attributes; 6365 } // local-link-connectivity 6366 } // te-node-tunnel-termination-point-config 6368 /* 6369 * Data nodes 6370 */ 6371 augment "/nw-s:networks/nw-s:network/nw-s:network-types" { 6372 description 6373 "Introduce new network type for TE topology."; 6374 container te-topology { 6375 presence "Indicates TE topology."; 6376 description 6377 "Its presence identifies the TE topology type."; 6378 } 6379 } 6381 augment "/nw-s:networks" { 6382 description 6383 "Augmentation parameters for TE topologies."; 6385 uses tet:te-topologies-augment; 6386 } 6388 augment "/nw-s:networks/nw-s:network" { 6389 when "nw-s:network-types/tet-s:te-topology" { 6390 description 6391 "Augmentation parameters apply only for networks with 6392 TE topology type."; 6393 } 6394 description 6395 "Configuration parameters for TE topology."; 6396 uses tet:te-topology-augment; 6397 } 6399 augment "/nw-s:networks/nw-s:network/nw-s:node" { 6400 when "../nw-s:network-types/tet-s:te-topology" { 6401 description 6402 "Augmentation parameters apply only for networks with 6403 TE topology type."; 6404 } 6405 description 6406 "Configuration parameters for TE at node level."; 6407 leaf te-node-id { 6408 type te-types:te-node-id; 6409 description 6410 "The identifier of a node in the TE topology. 6411 A node is specific to a topology to which it belongs."; 6412 } 6413 container te { 6414 must "../te-node-id" { 6415 description 6416 "te-node-id is mandatory."; 6417 } 6418 must "count(../nw-s:supporting-node)<=1" { 6419 description 6420 "For a node in a TE topology, there cannot be more 6421 than 1 supporting node. If multiple nodes are abstracted, 6422 the underlay-topology is used."; 6423 } 6424 presence "TE support."; 6425 description 6426 "Indicates TE support."; 6427 uses tet:te-node-augment; 6428 } // te 6429 } 6431 augment "/nw-s:networks/nw-s:network/nt-s:link" { 6432 when "../nw-s:network-types/tet-s:te-topology" { 6433 description 6434 "Augmentation parameters apply only for networks with 6435 TE topology type."; 6436 } 6437 description 6438 "Configuration parameters for TE at link level."; 6439 container te { 6440 must "count(../nt-s:supporting-link)<=1" { 6441 description 6442 "For a link in a TE topology, there cannot be more 6443 than 1 supporting link. If one or more link paths are 6444 abstracted, the underlay is used."; 6445 } 6446 presence "TE support."; 6447 description 6448 "Indicates TE support."; 6449 uses tet:te-link-augment; 6450 } // te 6451 } 6453 augment "/nw-s:networks/nw-s:network/nw-s:node/" 6454 + "nt-s:termination-point" { 6455 when "../../nw-s:network-types/tet-s:te-topology" { 6456 description 6457 "Augmentation parameters apply only for networks with 6458 TE topology type."; 6459 } 6460 description 6461 "Configuration parameters for TE at termination point level."; 6462 uses tet:te-termination-point-augment; 6463 } 6465 augment 6466 "/nw-s:networks/nw-s:network/nt-s:link/te/bundle-stack-level/" 6467 + "bundle/bundled-links/bundled-link" { 6468 when "../../../../nw-s:network-types/tet-s:te-topology" { 6469 description 6470 "Augmentation parameters apply only for networks with 6471 TE topology type."; 6472 } 6473 description 6474 "Augment TE link bundled link."; 6475 leaf src-tp-ref { 6476 type leafref { 6477 path "../../../../../nw-s:node[nw-s:node-id = " 6478 + "current()/../../../../nt-s:source/" 6479 + "nt-s:source-node]/" 6480 + "nt-s:termination-point/nt-s:tp-id"; 6481 require-instance true; 6482 } 6483 description 6484 "Reference to another TE termination point on the 6485 same source node."; 6486 } 6487 leaf des-tp-ref { 6488 type leafref { 6489 path "../../../../../nw-s:node[nw-s:node-id = " 6490 + "current()/../../../../nt-s:destination/" 6491 + "nt-s:dest-node]/" 6492 + "nt-s:termination-point/nt-s:tp-id"; 6493 require-instance true; 6494 } 6495 description 6496 "Reference to another TE termination point on the 6497 same destination node."; 6498 } 6499 } 6501 augment 6502 "/nw-s:networks/nw-s:network/nw-s:node/te/" 6503 + "information-source-entry/connectivity-matrices/" 6504 + "connectivity-matrix" { 6505 when "../../../../../nw-s:network-types/tet-s:te-topology" { 6506 description 6507 "Augmentation parameters apply only for networks with 6508 TE topology type."; 6509 } 6510 description 6511 "Augment TE node connectivity-matrix."; 6512 uses te-node-connectivity-matrix-attributes; 6513 } 6515 augment 6516 "/nw-s:networks/nw-s:network/nw-s:node/te/te-node-attributes/" 6517 + "connectivity-matrices/connectivity-matrix" { 6518 when "../../../../../nw-s:network-types/tet-s:te-topology" { 6519 description 6520 "Augmentation parameters apply only for networks with 6521 TE topology type."; 6522 } 6523 description 6524 "Augment TE node connectivity-matrix."; 6525 uses te-node-connectivity-matrix-attributes; 6526 } 6528 augment 6529 "/nw-s:networks/nw-s:network/nw-s:node/te/" 6530 + "tunnel-termination-point/local-link-connectivities" { 6531 when "../../../../nw-s:network-types/tet-s:te-topology" { 6532 description 6533 "Augmentation parameters apply only for networks with 6534 TE topology type."; 6535 } 6536 description 6537 "Augment TE node tunnel termination point LLCs 6538 (Local Link Connectivities)."; 6539 uses te-node-tunnel-termination-point-llc-list; 6540 } 6541 } 6542 6544 Appendix C. Example: YANG Model for Technology Specific Augmentations 6546 This section provides an example YANG module to define a technology 6547 specific TE topology model for the example-topology described in 6548 Section 6. 6550 module example-topology { 6551 yang-version 1.1; 6553 namespace "http://example.com/example-topology"; 6554 prefix "ex-topo"; 6556 import ietf-network { 6557 prefix "nw"; 6558 } 6560 import ietf-network-topology { 6561 prefix "nt"; 6562 } 6564 import ietf-te-topology { 6565 prefix "tet"; 6566 } 6568 organization 6569 "Example Organization"; 6570 contact 6571 "Editor: Example Author"; 6573 description 6574 "This module defines a topology data model for the example 6575 technology."; 6577 revision 2018-06-15 { 6578 description 6579 "Initial revision."; 6580 reference 6581 "Example reference."; 6582 } 6584 /* 6585 * Data nodes 6586 */ 6587 augment "/nw:networks/nw:network/nw:network-types/" 6588 + "tet:te-topology" { 6589 description 6590 "Augment network types to define example topology type."; 6591 container example-topology { 6592 presence 6593 "Introduce new network type for example topology."; 6594 description 6595 "Its presence identifies the example topology type."; 6596 } 6597 } 6599 augment "/nw:networks/nw:network/tet:te" { 6600 when "../nw:network-types/tet:te-topology/" 6601 + "ex-topo:example-topology" { 6602 description 6603 "Augmentation parameters apply only for networks with 6604 example topology type."; 6605 } 6606 description "Augment network topology."; 6607 container attributes { 6608 description "Attributes for example technology."; 6609 leaf attribute-1 { 6610 type uint8; 6611 description "Attribute 1 for example technology."; 6612 } 6613 } 6614 } 6616 augment "/nw:networks/nw:network/nw:node/tet:te/" 6617 + "tet:te-node-attributes" { 6618 when "../../nw:network-types/tet:te-topology/" 6619 + "ex-topo:example-topology" { 6620 description 6621 "Augmentation parameters apply only for networks with 6622 example topology type."; 6623 } 6624 description "Augment node attributes."; 6625 container attributes { 6626 description "Attributes for example technology."; 6627 leaf attribute-2 { 6628 type uint8; 6629 description "Attribute 2 for example technology."; 6630 } 6631 } 6632 } 6634 augment "/nw:networks/nw:network/nw:node/tet:te/" 6635 + "tet:te-node-attributes/tet:connectivity-matrices" { 6636 when "../../../../nw:network-types/tet:te-topology/" 6637 + "ex-topo:example-topology" { 6638 description 6639 "Augmentation parameters apply only for networks with 6640 example topology type."; 6641 } 6642 description "Augment node connectivity matrices."; 6643 container attributes { 6644 description "Attributes for example technology."; 6645 leaf attribute-3 { 6646 type uint8; 6647 description "Attribute 3 for example technology."; 6648 } 6649 } 6650 } 6652 augment "/nw:networks/nw:network/nw:node/tet:te/" 6653 + "tet:te-node-attributes/tet:connectivity-matrices/" 6654 + "tet:connectivity-matrix" { 6655 when "../../../../../nw:network-types/tet:te-topology/" 6656 + "ex-topo:example-topology" { 6657 description 6658 "Augmentation parameters apply only for networks with 6659 example topology type."; 6660 } 6661 description "Augment node connectivity matrix."; 6662 container attributes { 6663 description "Attributes for example technology."; 6664 leaf attribute-3 { 6665 type uint8; 6666 description "Attribute 3 for example technology."; 6667 } 6669 } 6670 } 6672 augment "/nw:networks/nw:network/nw:node/tet:te/" 6673 + "tet:tunnel-termination-point" { 6674 when "../../../nw:network-types/tet:te-topology/" 6675 + "ex-topo:example-topology" { 6676 description 6677 "Augmentation parameters apply only for networks with 6678 example topology type."; 6679 } 6680 description "Augment tunnel termination point."; 6681 container attributes { 6682 description "Attributes for example technology."; 6683 leaf attribute-4 { 6684 type uint8; 6685 description "Attribute 4 for example technology."; 6686 } 6687 } 6688 } 6690 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 6691 + "tet:te" { 6692 when "../../../nw:network-types/tet:te-topology/" 6693 + "ex-topo:example-topology" { 6694 description 6695 "Augmentation parameters apply only for networks with 6696 example topology type."; 6697 } 6698 description "Augment link termination point."; 6699 container attributes { 6700 description "Attributes for example technology."; 6701 leaf attribute-5 { 6702 type uint8; 6703 description "Attribute 5 for example technology."; 6704 } 6705 } 6706 } 6708 augment "/nw:networks/nw:network/nt:link/tet:te/" 6709 + "tet:te-link-attributes" { 6711 when "../../../nw:network-types/tet:te-topology/" 6712 + "ex-topo:example-topology" { 6713 description 6714 "Augmentation parameters apply only for networks with 6715 example topology type."; 6716 } 6717 description "Augment link attributes."; 6718 container attributes { 6719 description "Attributes for example technology."; 6720 leaf attribute-6 { 6721 type uint8; 6722 description "Attribute 6 for example technology."; 6723 } 6724 } 6725 } 6727 /* 6728 * Augment TE bandwidth. 6729 */ 6731 augment "/nw:networks/tet:te/tet:templates/" 6732 + "tet:link-template/tet:te-link-attributes/" 6733 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6734 + "tet:te-bandwidth/tet:technology" { 6735 case "example" { 6736 container example { 6737 description "Attributes for example technology."; 6738 leaf bandwidth-1 { 6739 type uint32; 6740 description "Bandwidth 1 for example technology."; 6741 } 6742 } 6743 } 6744 description "Augment TE bandwidth."; 6745 } 6747 augment "/nw:networks/tet:te/tet:templates/" 6748 + "tet:link-template/tet:te-link-attributes/" 6749 + "tet:max-link-bandwidth/" 6750 + "tet:te-bandwidth/tet:technology" { 6751 case "example" { 6752 container example { 6753 description "Attributes for example technology."; 6754 leaf bandwidth-1 { 6755 type uint32; 6756 description "Bandwidth 1 for example technology."; 6757 } 6758 } 6759 } 6760 description "Augment TE bandwidth."; 6761 } 6763 augment "/nw:networks/tet:te/tet:templates/" 6764 + "tet:link-template/tet:te-link-attributes/" 6765 + "tet:max-resv-link-bandwidth/" 6766 + "tet:te-bandwidth/tet:technology" { 6767 case "example" { 6768 container example { 6769 description "Attributes for example technology."; 6770 leaf bandwidth-1 { 6771 type uint32; 6772 description "Bandwidth 1 for example technology."; 6773 } 6774 } 6775 } 6776 description "Augment TE bandwidth."; 6777 } 6779 augment "/nw:networks/tet:te/tet:templates/" 6780 + "tet:link-template/tet:te-link-attributes/" 6781 + "tet:unreserved-bandwidth/" 6782 + "tet:te-bandwidth/tet:technology" { 6783 case "example" { 6784 container example { 6785 description "Attributes for example technology."; 6786 leaf bandwidth-1 { 6787 type uint32; 6788 description "Bandwidth 1 for example technology."; 6789 } 6790 } 6791 } 6792 description "Augment TE bandwidth."; 6794 } 6796 augment "/nw:networks/nw:network/nw:node/tet:te/" 6797 + "tet:te-node-attributes/tet:connectivity-matrices/" 6798 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6799 when "../../../../../../../nw:network-types/tet:te-topology/" 6800 + "ex-topo:example-topology" { 6801 description 6802 "Augmentation parameters apply only for networks with 6803 example topology type."; 6804 } 6805 case "example" { 6806 container example { 6807 description "Attributes for example technology."; 6808 leaf bandwidth-1 { 6809 type uint32; 6810 description "Bandwidth 1 for example technology."; 6811 } 6812 } 6813 } 6814 description "Augment TE bandwidth."; 6815 } 6817 augment "/nw:networks/nw:network/nw:node/tet:te/" 6818 + "tet:te-node-attributes/tet:connectivity-matrices/" 6819 + "tet:connectivity-matrix/" 6820 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6821 when "../../../../../../../nw:network-types/tet:te-topology/" 6822 + "ex-topo:example-topology" { 6823 description 6824 "Augmentation parameters apply only for networks with 6825 example topology type."; 6826 } 6827 case "example" { 6828 container example { 6829 description "Attributes for example technology."; 6830 leaf bandwidth-1 { 6831 type uint32; 6832 description "Bandwidth 1 for example technology."; 6833 } 6834 } 6836 } 6837 description "Augment TE bandwidth."; 6838 } 6840 augment "/nw:networks/nw:network/nw:node/tet:te/" 6841 + "tet:information-source-entry/tet:connectivity-matrices/" 6842 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6843 when "../../../../../../../nw:network-types/tet:te-topology/" 6844 + "ex-topo:example-topology" { 6845 description 6846 "Augmentation parameters apply only for networks with 6847 example topology type."; 6848 } 6849 case "example" { 6850 container example { 6851 description "Attributes for example technology."; 6852 leaf bandwidth-1 { 6853 type uint32; 6854 description "Bandwidth 1 for example technology."; 6855 } 6856 } 6857 } 6858 description "Augment TE bandwidth."; 6859 } 6861 augment "/nw:networks/nw:network/nw:node/tet:te/" 6862 + "tet:information-source-entry/tet:connectivity-matrices/" 6863 + "tet:connectivity-matrix/" 6864 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6865 when "../../../../../../../nw:network-types/tet:te-topology/" 6866 + "ex-topo:example-topology" { 6867 description 6868 "Augmentation parameters apply only for networks with 6869 example topology type."; 6870 } 6871 case "example" { 6872 container example { 6873 description "Attributes for example technology."; 6874 leaf bandwidth-1 { 6875 type uint32; 6876 description "Bandwidth 1 for example technology."; 6878 } 6879 } 6880 } 6881 description "Augment TE bandwidth."; 6882 } 6884 augment "/nw:networks/nw:network/nw:node/tet:te/" 6885 + "tet:tunnel-termination-point/tet:client-layer-adaptation/" 6886 + "tet:switching-capability/tet:te-bandwidth/tet:technology" { 6887 when "../../../../../../../nw:network-types/tet:te-topology/" 6888 + "ex-topo:example-topology" { 6889 description 6890 "Augmentation parameters apply only for networks with 6891 example topology type."; 6892 } 6893 case "example" { 6894 container example { 6895 description "Attributes for example technology."; 6896 leaf bandwidth-1 { 6897 type uint32; 6898 description "Bandwidth 1 for example technology."; 6899 } 6900 } 6901 } 6902 description "Augment TE bandwidth."; 6903 } 6905 augment "/nw:networks/nw:network/nw:node/tet:te/" 6906 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 6907 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6908 when "../../../../../../../nw:network-types/tet:te-topology/" 6909 + "ex-topo:example-topology" { 6910 description 6911 "Augmentation parameters apply only for networks with 6912 example topology type."; 6913 } 6914 case "example" { 6915 container example { 6916 description "Attributes for example technology."; 6917 leaf bandwidth-1 { 6918 type uint32; 6919 description "Bandwidth 1 for example technology."; 6920 } 6921 } 6922 } 6923 description "Augment TE bandwidth."; 6924 } 6926 augment "/nw:networks/nw:network/nw:node/tet:te/" 6927 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 6928 + "tet:local-link-connectivity/" 6929 + "tet:path-constraints/tet:te-bandwidth/tet:technology" { 6930 when "../../../../../../../../nw:network-types/tet:te-topology/" 6931 + "ex-topo:example-topology" { 6932 description 6933 "Augmentation parameters apply only for networks with 6934 example topology type."; 6935 } 6936 case "example" { 6937 container example { 6938 description "Attributes for example technology."; 6939 leaf bandwidth-1 { 6940 type uint32; 6941 description "Bandwidth 1 for example technology."; 6942 } 6943 } 6944 } 6945 description "Augment TE bandwidth."; 6946 } 6948 augment "/nw:networks/nw:network/nt:link/tet:te/" 6949 + "tet:te-link-attributes/" 6950 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 6951 + "tet:te-bandwidth/tet:technology" { 6952 when "../../../../../../../../nw:network-types/tet:te-topology/" 6953 + "ex-topo:example-topology" { 6954 description 6955 "Augmentation parameters apply only for networks with 6956 example topology type."; 6957 } 6958 case "example" { 6959 container example { 6960 description "Attributes for example technology."; 6961 leaf bandwidth-1 { 6962 type uint32; 6963 description "Bandwidth 1 for example technology."; 6964 } 6965 } 6966 } 6967 description "Augment TE bandwidth."; 6968 } 6970 augment "/nw:networks/nw:network/nt:link/tet:te/" 6971 + "tet:te-link-attributes/" 6972 + "tet:max-link-bandwidth/" 6973 + "tet:te-bandwidth/tet:technology" { 6974 when "../../../../../../nw:network-types/tet:te-topology/" 6975 + "ex-topo:example-topology" { 6976 description 6977 "Augmentation parameters apply only for networks with 6978 example topology type."; 6979 } 6980 case "example" { 6981 container example { 6982 description "Attributes for example technology."; 6983 leaf bandwidth-1 { 6984 type uint32; 6985 description "Bandwidth 1 for example technology."; 6986 } 6987 } 6988 } 6989 description "Augment TE bandwidth."; 6990 } 6992 augment "/nw:networks/nw:network/nt:link/tet:te/" 6993 + "tet:te-link-attributes/" 6994 + "tet:max-resv-link-bandwidth/" 6995 + "tet:te-bandwidth/tet:technology" { 6996 when "../../../../../../nw:network-types/tet:te-topology/" 6997 + "ex-topo:example-topology" { 6998 description 6999 "Augmentation parameters apply only for networks with 7000 example topology type."; 7002 } 7003 case "example" { 7004 container example { 7005 description "Attributes for example technology."; 7006 leaf bandwidth-1 { 7007 type uint32; 7008 description "Bandwidth 1 for example technology."; 7009 } 7010 } 7011 } 7012 description "Augment TE bandwidth."; 7013 } 7015 augment "/nw:networks/nw:network/nt:link/tet:te/" 7016 + "tet:information-source-entry/" 7017 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 7018 + "tet:te-bandwidth/tet:technology" { 7019 when "../../../../../../../../nw:network-types/tet:te-topology/" 7020 + "ex-topo:example-topology" { 7021 description 7022 "Augmentation parameters apply only for networks with 7023 example topology type."; 7024 } 7025 case "example" { 7026 container example { 7027 description "Attributes for example technology."; 7028 leaf bandwidth-1 { 7029 type uint32; 7030 description "Bandwidth 1 for example technology."; 7031 } 7032 } 7033 } 7034 description "Augment TE bandwidth."; 7035 } 7037 augment "/nw:networks/nw:network/nt:link/tet:te/" 7038 + "tet:information-source-entry/" 7039 + "tet:max-link-bandwidth/" 7040 + "tet:te-bandwidth/tet:technology" { 7041 when "../../../../../../nw:network-types/tet:te-topology/" 7042 + "ex-topo:example-topology" { 7044 description 7045 "Augmentation parameters apply only for networks with 7046 example topology type."; 7047 } 7048 case "example" { 7049 container example { 7050 description "Attributes for example technology."; 7051 leaf bandwidth-1 { 7052 type uint32; 7053 description "Bandwidth 1 for example technology."; 7054 } 7055 } 7056 } 7057 description "Augment TE bandwidth."; 7058 } 7060 augment "/nw:networks/nw:network/nt:link/tet:te/" 7061 + "tet:information-source-entry/" 7062 + "tet:max-resv-link-bandwidth/" 7063 + "tet:te-bandwidth/tet:technology" { 7064 when "../../../../../../nw:network-types/tet:te-topology/" 7065 + "ex-topo:example-topology" { 7066 description 7067 "Augmentation parameters apply only for networks with 7068 example topology type."; 7069 } 7070 case "example" { 7071 container example { 7072 description "Attributes for example technology."; 7073 leaf bandwidth-1 { 7074 type uint32; 7075 description "Bandwidth 1 for example technology."; 7076 } 7077 } 7078 } 7079 description "Augment TE bandwidth."; 7080 } 7082 augment "/nw:networks/nw:network/nt:link/tet:te/" 7083 + "tet:information-source-entry/" 7084 + "tet:unreserved-bandwidth/" 7085 + "tet:te-bandwidth/tet:technology" { 7086 when "../../../../../../../nw:network-types/tet:te-topology/" 7087 + "ex-topo:example-topology" { 7088 description 7089 "Augmentation parameters apply only for networks with 7090 example topology type."; 7091 } 7092 case "example" { 7093 container example { 7094 description "Attributes for example technology."; 7095 leaf bandwidth-1 { 7096 type uint32; 7097 description "Bandwidth 1 for example technology."; 7098 } 7099 } 7100 } 7101 description "Augment TE bandwidth."; 7102 } 7104 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 7105 + "tet:te/" 7106 + "tet:interface-switching-capability/tet:max-lsp-bandwidth/" 7107 + "tet:te-bandwidth/tet:technology" { 7108 when "../../../../../../../../nw:network-types/tet:te-topology/" 7109 + "ex-topo:example-topology" { 7110 description 7111 "Augmentation parameters apply only for networks with 7112 example topology type."; 7113 } 7114 case "example" { 7115 container example { 7116 description "Attributes for example technology."; 7117 leaf bandwidth-1 { 7118 type uint32; 7119 description "Bandwidth 1 for example technology."; 7120 } 7121 } 7122 } 7123 description "Augment TE bandwidth."; 7124 } 7125 /* 7126 * Augment TE label. 7127 */ 7129 augment "/nw:networks/tet:te/tet:templates/" 7130 + "tet:link-template/tet:te-link-attributes/" 7131 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7132 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7133 case "example" { 7134 container example { 7135 description "Attributes for example technology."; 7136 leaf label-1 { 7137 type uint32; 7138 description "Label 1 for example technology."; 7139 } 7140 } 7141 } 7142 description "Augment TE label."; 7143 } 7145 augment "/nw:networks/tet:te/tet:templates/" 7146 + "tet:link-template/tet:te-link-attributes/" 7147 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7148 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7149 case "example" { 7150 container example { 7151 description "Attributes for example technology."; 7152 leaf label-1 { 7153 type uint32; 7154 description "Label 1 for example technology."; 7155 } 7156 } 7157 } 7158 description "Augment TE label."; 7159 } 7161 augment "/nw:networks/tet:te/tet:templates/" 7162 + "tet:link-template/tet:te-link-attributes/" 7163 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7164 + "tet:te-label/tet:technology" { 7165 case "example" { 7166 container example { 7167 description "Attributes for example technology."; 7168 leaf label-1 { 7169 type uint32; 7170 description "Label 1 for example technology."; 7171 } 7172 } 7173 } 7174 description "Augment TE label."; 7175 } 7177 augment "/nw:networks/tet:te/tet:templates/" 7178 + "tet:link-template/tet:te-link-attributes/" 7179 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7180 + "tet:te-label/tet:technology" { 7181 case "example" { 7182 container example { 7183 description "Attributes for example technology."; 7184 leaf label-1 { 7185 type uint32; 7186 description "Label 1 for example technology."; 7187 } 7188 } 7189 } 7190 description "Augment TE label."; 7191 } 7193 /* Under te-node-attributes/connectivity-matrices */ 7195 augment "/nw:networks/nw:network/nw:node/tet:te/" 7196 + "tet:te-node-attributes/tet:connectivity-matrices/" 7197 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7198 + "tet:te-label/tet:technology" { 7199 when "../../../../../../../../nw:network-types/tet:te-topology/" 7200 + "ex-topo:example-topology" { 7201 description 7202 "Augmentation parameters apply only for networks with 7203 example topology type."; 7204 } 7205 case "example" { 7206 container example { 7207 description "Attributes for example technology."; 7208 leaf label-1 { 7209 type uint32; 7210 description "Label 1 for example technology."; 7211 } 7212 } 7213 } 7214 description "Augment TE label."; 7215 } 7217 augment "/nw:networks/nw:network/nw:node/tet:te/" 7218 + "tet:te-node-attributes/tet:connectivity-matrices/" 7219 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7220 + "tet:te-label/tet:technology" { 7221 when "../../../../../../../../nw:network-types/tet:te-topology/" 7222 + "ex-topo:example-topology" { 7223 description 7224 "Augmentation parameters apply only for networks with 7225 example topology type."; 7226 } 7227 case "example" { 7228 container example { 7229 description "Attributes for example technology."; 7230 leaf label-1 { 7231 type uint32; 7232 description "Label 1 for example technology."; 7233 } 7234 } 7235 } 7236 description "Augment TE label."; 7237 } 7239 augment "/nw:networks/nw:network/nw:node/tet:te/" 7240 + "tet:te-node-attributes/tet:connectivity-matrices/" 7241 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7242 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7243 when "../../../../../../../../../../../../nw:network-types/" 7244 + "tet:te-topology/ex-topo:example-topology" { 7245 description 7246 "Augmentation parameters apply only for networks with 7247 example topology type."; 7249 } 7250 case "example" { 7251 container example { 7252 description "Attributes for example technology."; 7253 leaf label-1 { 7254 type uint32; 7255 description "Label 1 for example technology."; 7256 } 7257 } 7258 } 7259 description "Augment TE label."; 7260 } 7262 augment "/nw:networks/nw:network/nw:node/tet:te/" 7263 + "tet:te-node-attributes/tet:connectivity-matrices/" 7264 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7265 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7266 when "../../../../../../../../../../../../nw:network-types/" 7267 + "tet:te-topology/ex-topo:example-topology" { 7268 description 7269 "Augmentation parameters apply only for networks with 7270 example topology type."; 7271 } 7272 case "example" { 7273 container example { 7274 description "Attributes for example technology."; 7275 leaf label-1 { 7276 type uint32; 7277 description "Label 1 for example technology."; 7278 } 7279 } 7280 } 7281 description "Augment TE label."; 7282 } 7284 augment "/nw:networks/nw:network/nw:node/tet:te/" 7285 + "tet:te-node-attributes/tet:connectivity-matrices/" 7286 + "tet:path-properties/tet:path-route-objects/" 7287 + "tet:path-route-object/tet:type/" 7288 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7289 when "../../../../../../../../../../../../nw:network-types/" 7290 + "tet:te-topology/ex-topo:example-topology" { 7291 description 7292 "Augmentation parameters apply only for networks with 7293 example topology type."; 7294 } 7295 case "example" { 7296 container example { 7297 description "Attributes for example technology."; 7298 leaf label-1 { 7299 type uint32; 7300 description "Label 1 for example technology."; 7301 } 7302 } 7303 } 7304 description "Augment TE label."; 7305 } 7307 /* Under te-node-attributes/.../connectivity-matrix */ 7309 augment "/nw:networks/nw:network/nw:node/tet:te/" 7310 + "tet:te-node-attributes/tet:connectivity-matrices/" 7311 + "tet:connectivity-matrix/tet:from/" 7312 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7313 + "tet:te-label/tet:technology" { 7314 when "../../../../../../../../../../nw:network-types/" 7315 + "tet:te-topology/ex-topo:example-topology" { 7316 description 7317 "Augmentation parameters apply only for networks with 7318 example topology type."; 7319 } 7320 case "example" { 7321 container example { 7322 description "Attributes for example technology."; 7323 leaf label-1 { 7324 type uint32; 7325 description "Label 1 for example technology."; 7326 } 7327 } 7328 } 7329 description "Augment TE label."; 7330 } 7331 augment "/nw:networks/nw:network/nw:node/tet:te/" 7332 + "tet:te-node-attributes/tet:connectivity-matrices/" 7333 + "tet:connectivity-matrix/tet:from/" 7334 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7335 + "tet:te-label/tet:technology" { 7336 when "../../../../../../../../../../nw:network-types/" 7337 + "tet:te-topology/ex-topo:example-topology" { 7338 description 7339 "Augmentation parameters apply only for networks with 7340 example topology type."; 7341 } 7342 case "example" { 7343 container example { 7344 description "Attributes for example technology."; 7345 leaf label-1 { 7346 type uint32; 7347 description "Label 1 for example technology."; 7348 } 7349 } 7350 } 7351 description "Augment TE label."; 7352 } 7354 augment "/nw:networks/nw:network/nw:node/tet:te/" 7355 + "tet:te-node-attributes/tet:connectivity-matrices/" 7356 + "tet:connectivity-matrix/tet:to/" 7357 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7358 + "tet:te-label/tet:technology" { 7359 when "../../../../../../../../../../nw:network-types/" 7360 + "tet:te-topology/ex-topo:example-topology" { 7361 description 7362 "Augmentation parameters apply only for networks with 7363 example topology type."; 7364 } 7365 case "example" { 7366 container example { 7367 description "Attributes for example technology."; 7368 leaf label-1 { 7369 type uint32; 7370 description "Label 1 for example technology."; 7372 } 7373 } 7374 } 7375 description "Augment TE label."; 7376 } 7378 augment "/nw:networks/nw:network/nw:node/tet:te/" 7379 + "tet:te-node-attributes/tet:connectivity-matrices/" 7380 + "tet:connectivity-matrix/tet:to/" 7381 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7382 + "tet:te-label/tet:technology" { 7383 when "../../../../../../../../../../nw:network-types/" 7384 + "tet:te-topology/ex-topo:example-topology" { 7385 description 7386 "Augmentation parameters apply only for networks with 7387 example topology type."; 7388 } 7389 case "example" { 7390 container example { 7391 description "Attributes for example technology."; 7392 leaf label-1 { 7393 type uint32; 7394 description "Label 1 for example technology."; 7395 } 7396 } 7397 } 7398 description "Augment TE label."; 7399 } 7401 augment "/nw:networks/nw:network/nw:node/tet:te/" 7402 + "tet:te-node-attributes/tet:connectivity-matrices/" 7403 + "tet:connectivity-matrix/" 7404 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7405 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7406 when "../../../../../../../../../../../../../nw:network-types/" 7407 + "tet:te-topology/ex-topo:example-topology" { 7408 description 7409 "Augmentation parameters apply only for networks with 7410 example topology type."; 7411 } 7412 case "example" { 7413 container example { 7414 description "Attributes for example technology."; 7415 leaf label-1 { 7416 type uint32; 7417 description "Label 1 for example technology."; 7418 } 7419 } 7420 } 7421 description "Augment TE label."; 7422 } 7424 augment "/nw:networks/nw:network/nw:node/tet:te/" 7425 + "tet:te-node-attributes/tet:connectivity-matrices/" 7426 + "tet:connectivity-matrix/" 7427 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7428 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7429 when "../../../../../../../../../../../../nw:network-types/" 7430 + "tet:te-topology/ex-topo:example-topology" { 7431 description 7432 "Augmentation parameters apply only for networks with 7433 example topology type."; 7434 } 7435 case "example" { 7436 container example { 7437 description "Attributes for example technology."; 7438 leaf label-1 { 7439 type uint32; 7440 description "Label 1 for example technology."; 7441 } 7442 } 7443 } 7444 description "Augment TE label."; 7445 } 7447 augment "/nw:networks/nw:network/nw:node/tet:te/" 7448 + "tet:te-node-attributes/tet:connectivity-matrices/" 7449 + "tet:connectivity-matrix/" 7450 + "tet:path-properties/tet:path-route-objects/" 7451 + "tet:path-route-object/tet:type/" 7452 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7453 when "../../../../../../../../../../../../../nw:network-types/" 7454 + "tet:te-topology/ex-topo:example-topology" { 7455 description 7456 "Augmentation parameters apply only for networks with 7457 example topology type."; 7458 } 7459 case "example" { 7460 container example { 7461 description "Attributes for example technology."; 7462 leaf label-1 { 7463 type uint32; 7464 description "Label 1 for example technology."; 7465 } 7466 } 7467 } 7468 description "Augment TE label."; 7469 } 7471 /* Under information-source-entry/connectivity-matrices */ 7473 augment "/nw:networks/nw:network/nw:node/tet:te/" 7474 + "tet:information-source-entry/tet:connectivity-matrices/" 7475 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7476 + "tet:te-label/tet:technology" { 7477 when "../../../../../../../../nw:network-types/tet:te-topology/" 7478 + "ex-topo:example-topology" { 7479 description 7480 "Augmentation parameters apply only for networks with 7481 example topology type."; 7482 } 7483 case "example" { 7484 container example { 7485 description "Attributes for example technology."; 7486 leaf label-1 { 7487 type uint32; 7488 description "Label 1 for example technology."; 7489 } 7490 } 7491 } 7492 description "Augment TE label."; 7493 } 7494 augment "/nw:networks/nw:network/nw:node/tet:te/" 7495 + "tet:information-source-entry/tet:connectivity-matrices/" 7496 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7497 + "tet:te-label/tet:technology" { 7498 when "../../../../../../../../nw:network-types/tet:te-topology/" 7499 + "ex-topo:example-topology" { 7500 description 7501 "Augmentation parameters apply only for networks with 7502 example topology type."; 7503 } 7504 case "example" { 7505 container example { 7506 description "Attributes for example technology."; 7507 leaf label-1 { 7508 type uint32; 7509 description "Label 1 for example technology."; 7510 } 7511 } 7512 } 7513 description "Augment TE label."; 7514 } 7516 augment "/nw:networks/nw:network/nw:node/tet:te/" 7517 + "tet:information-source-entry/tet:connectivity-matrices/" 7518 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7519 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7520 when "../../../../../../../../../../../../nw:network-types/" 7521 + "tet:te-topology/ex-topo:example-topology" { 7522 description 7523 "Augmentation parameters apply only for networks with 7524 example topology type."; 7525 } 7526 case "example" { 7527 container example { 7528 description "Attributes for example technology."; 7529 leaf label-1 { 7530 type uint32; 7531 description "Label 1 for example technology."; 7532 } 7533 } 7534 } 7535 description "Augment TE label."; 7536 } 7538 augment "/nw:networks/nw:network/nw:node/tet:te/" 7539 + "tet:information-source-entry/tet:connectivity-matrices/" 7540 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7541 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7542 when "../../../../../../../../../../../../nw:network-types/" 7543 + "tet:te-topology/ex-topo:example-topology" { 7544 description 7545 "Augmentation parameters apply only for networks with 7546 example topology type."; 7547 } 7548 case "example" { 7549 container example { 7550 description "Attributes for example technology."; 7551 leaf label-1 { 7552 type uint32; 7553 description "Label 1 for example technology."; 7554 } 7555 } 7556 } 7557 description "Augment TE label."; 7558 } 7560 augment "/nw:networks/nw:network/nw:node/tet:te/" 7561 + "tet:information-source-entry/tet:connectivity-matrices/" 7562 + "tet:path-properties/tet:path-route-objects/" 7563 + "tet:path-route-object/tet:type/" 7564 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7565 when "../../../../../../../../../../../../nw:network-types/" 7566 + "tet:te-topology/ex-topo:example-topology" { 7567 description 7568 "Augmentation parameters apply only for networks with 7569 example topology type."; 7570 } 7571 case "example" { 7572 container example { 7573 description "Attributes for example technology."; 7574 leaf label-1 { 7575 type uint32; 7576 description "Label 1 for example technology."; 7577 } 7578 } 7579 } 7580 description "Augment TE label."; 7581 } 7583 /* Under information-source-entry/.../connectivity-matrix */ 7585 augment "/nw:networks/nw:network/nw:node/tet:te/" 7586 + "tet:information-source-entry/tet:connectivity-matrices/" 7587 + "tet:connectivity-matrix/tet:from/" 7588 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7589 + "tet:te-label/tet:technology" { 7590 when "../../../../../../../../../../nw:network-types/" 7591 + "tet:te-topology/ex-topo:example-topology" { 7592 description 7593 "Augmentation parameters apply only for networks with 7594 example topology type."; 7595 } 7596 case "example" { 7597 container example { 7598 description "Attributes for example technology."; 7599 leaf label-1 { 7600 type uint32; 7601 description "Label 1 for example technology."; 7602 } 7603 } 7604 } 7605 description "Augment TE label."; 7606 } 7608 augment "/nw:networks/nw:network/nw:node/tet:te/" 7609 + "tet:information-source-entry/tet:connectivity-matrices/" 7610 + "tet:connectivity-matrix/tet:from/" 7611 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7612 + "tet:te-label/tet:technology" { 7613 when "../../../../../../../../../../nw:network-types/" 7614 + "tet:te-topology/ex-topo:example-topology" { 7615 description 7616 "Augmentation parameters apply only for networks with 7617 example topology type."; 7618 } 7619 case "example" { 7620 container example { 7621 description "Attributes for example technology."; 7622 leaf label-1 { 7623 type uint32; 7624 description "Label 1 for example technology."; 7625 } 7626 } 7627 } 7628 description "Augment TE label."; 7629 } 7631 augment "/nw:networks/nw:network/nw:node/tet:te/" 7632 + "tet:information-source-entry/tet:connectivity-matrices/" 7633 + "tet:connectivity-matrix/tet:to/" 7634 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7635 + "tet:te-label/tet:technology" { 7636 when "../../../../../../../../../../nw:network-types/" 7637 + "tet:te-topology/ex-topo:example-topology" { 7638 description 7639 "Augmentation parameters apply only for networks with 7640 example topology type."; 7641 } 7642 case "example" { 7643 container example { 7644 description "Attributes for example technology."; 7645 leaf label-1 { 7646 type uint32; 7647 description "Label 1 for example technology."; 7648 } 7649 } 7650 } 7651 description "Augment TE label."; 7652 } 7654 augment "/nw:networks/nw:network/nw:node/tet:te/" 7655 + "tet:information-source-entry/tet:connectivity-matrices/" 7656 + "tet:connectivity-matrix/tet:to/" 7657 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7658 + "tet:te-label/tet:technology" { 7659 when "../../../../../../../../../../nw:network-types/" 7660 + "tet:te-topology/ex-topo:example-topology" { 7661 description 7662 "Augmentation parameters apply only for networks with 7663 example topology type."; 7664 } 7665 case "example" { 7666 container example { 7667 description "Attributes for example technology."; 7668 leaf label-1 { 7669 type uint32; 7670 description "Label 1 for example technology."; 7671 } 7672 } 7673 } 7674 description "Augment TE label."; 7675 } 7677 augment "/nw:networks/nw:network/nw:node/tet:te/" 7678 + "tet:information-source-entry/tet:connectivity-matrices/" 7679 + "tet:connectivity-matrix/" 7680 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7681 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7682 when "../../../../../../../../../../../../../nw:network-types/" 7683 + "tet:te-topology/ex-topo:example-topology" { 7684 description 7685 "Augmentation parameters apply only for networks with 7686 example topology type."; 7687 } 7688 case "example" { 7689 container example { 7690 description "Attributes for example technology."; 7691 leaf label-1 { 7692 type uint32; 7693 description "Label 1 for example technology."; 7694 } 7695 } 7696 } 7697 description "Augment TE label."; 7698 } 7699 augment "/nw:networks/nw:network/nw:node/tet:te/" 7700 + "tet:information-source-entry/tet:connectivity-matrices/" 7701 + "tet:connectivity-matrix/" 7702 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7703 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7704 when "../../../../../../../../../../../../nw:network-types/" 7705 + "tet:te-topology/ex-topo:example-topology" { 7706 description 7707 "Augmentation parameters apply only for networks with 7708 example topology type."; 7709 } 7710 case "example" { 7711 container example { 7712 description "Attributes for example technology."; 7713 leaf label-1 { 7714 type uint32; 7715 description "Label 1 for example technology."; 7716 } 7717 } 7718 } 7719 description "Augment TE label."; 7720 } 7722 augment "/nw:networks/nw:network/nw:node/tet:te/" 7723 + "tet:information-source-entry/tet:connectivity-matrices/" 7724 + "tet:connectivity-matrix/" 7725 + "tet:path-properties/tet:path-route-objects/" 7726 + "tet:path-route-object/tet:type/" 7727 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7728 when "../../../../../../../../../../../../../nw:network-types/" 7729 + "tet:te-topology/ex-topo:example-topology" { 7730 description 7731 "Augmentation parameters apply only for networks with 7732 example topology type."; 7733 } 7734 case "example" { 7735 container example { 7736 description "Attributes for example technology."; 7737 leaf label-1 { 7738 type uint32; 7739 description "Label 1 for example technology."; 7740 } 7741 } 7742 } 7743 description "Augment TE label."; 7744 } 7746 /* Under tunnel-termination-point/local-link-connectivities */ 7748 augment "/nw:networks/nw:network/nw:node/tet:te/" 7749 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7750 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7751 + "tet:te-label/tet:technology" { 7752 when "../../../../../../../../nw:network-types/tet:te-topology/" 7753 + "ex-topo:example-topology" { 7754 description 7755 "Augmentation parameters apply only for networks with 7756 example topology type."; 7757 } 7758 case "example" { 7759 container example { 7760 description "Attributes for example technology."; 7761 leaf label-1 { 7762 type uint32; 7763 description "Label 1 for example technology."; 7764 } 7765 } 7766 } 7767 description "Augment TE label."; 7768 } 7770 augment "/nw:networks/nw:network/nw:node/tet:te/" 7771 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7772 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7773 + "tet:te-label/tet:technology" { 7774 when "../../../../../../../../nw:network-types/tet:te-topology/" 7775 + "ex-topo:example-topology" { 7776 description 7777 "Augmentation parameters apply only for networks with 7778 example topology type."; 7779 } 7780 case "example" { 7781 container example { 7782 description "Attributes for example technology."; 7783 leaf label-1 { 7784 type uint32; 7785 description "Label 1 for example technology."; 7786 } 7787 } 7788 } 7789 description "Augment TE label."; 7790 } 7792 augment "/nw:networks/nw:network/nw:node/tet:te/" 7793 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7794 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7795 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7796 when "../../../../../../../../../../../../nw:network-types/" 7797 + "tet:te-topology/ex-topo:example-topology" { 7798 description 7799 "Augmentation parameters apply only for networks with 7800 example topology type."; 7801 } 7802 case "example" { 7803 container example { 7804 description "Attributes for example technology."; 7805 leaf label-1 { 7806 type uint32; 7807 description "Label 1 for example technology."; 7808 } 7809 } 7810 } 7811 description "Augment TE label."; 7812 } 7814 augment "/nw:networks/nw:network/nw:node/tet:te/" 7815 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7816 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7817 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7818 when "../../../../../../../../../../../../nw:network-types/" 7819 + "tet:te-topology/ex-topo:example-topology" { 7820 description 7821 "Augmentation parameters apply only for networks with 7822 example topology type."; 7823 } 7824 case "example" { 7825 container example { 7826 description "Attributes for example technology."; 7827 leaf label-1 { 7828 type uint32; 7829 description "Label 1 for example technology."; 7830 } 7831 } 7832 } 7833 description "Augment TE label."; 7834 } 7836 augment "/nw:networks/nw:network/nw:node/tet:te/" 7837 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7838 + "tet:path-properties/tet:path-route-objects/" 7839 + "tet:path-route-object/tet:type/" 7840 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7841 when "../../../../../../../../../../../../nw:network-types/" 7842 + "tet:te-topology/ex-topo:example-topology" { 7843 description 7844 "Augmentation parameters apply only for networks with 7845 example topology type."; 7846 } 7847 case "example" { 7848 container example { 7849 description "Attributes for example technology."; 7850 leaf label-1 { 7851 type uint32; 7852 description "Label 1 for example technology."; 7853 } 7854 } 7855 } 7856 description "Augment TE label."; 7857 } 7859 /* Under tunnel-termination-point/.../local-link-connectivity */ 7861 augment "/nw:networks/nw:network/nw:node/tet:te/" 7862 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7863 + "tet:local-link-connectivity/" 7864 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7865 + "tet:te-label/tet:technology" { 7866 when "../../../../../../../../../nw:network-types/" 7867 + "tet:te-topology/ex-topo:example-topology" { 7868 description 7869 "Augmentation parameters apply only for networks with 7870 example topology type."; 7871 } 7872 case "example" { 7873 container example { 7874 description "Attributes for example technology."; 7875 leaf label-1 { 7876 type uint32; 7877 description "Label 1 for example technology."; 7878 } 7879 } 7880 } 7881 description "Augment TE label."; 7882 } 7884 augment "/nw:networks/nw:network/nw:node/tet:te/" 7885 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7886 + "tet:local-link-connectivity/" 7887 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 7888 + "tet:te-label/tet:technology" { 7889 when "../../../../../../../../../nw:network-types/" 7890 + "tet:te-topology/ex-topo:example-topology" { 7891 description 7892 "Augmentation parameters apply only for networks with 7893 example topology type."; 7894 } 7895 case "example" { 7896 container example { 7897 description "Attributes for example technology."; 7898 leaf label-1 { 7899 type uint32; 7900 description "Label 1 for example technology."; 7901 } 7902 } 7904 } 7905 description "Augment TE label."; 7906 } 7908 augment "/nw:networks/nw:network/nw:node/tet:te/" 7909 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7910 + "tet:local-link-connectivity/" 7911 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 7912 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7913 when "../../../../../../../../../../../../../nw:network-types/" 7914 + "tet:te-topology/ex-topo:example-topology" { 7915 description 7916 "Augmentation parameters apply only for networks with 7917 example topology type."; 7918 } 7919 case "example" { 7920 container example { 7921 description "Attributes for example technology."; 7922 leaf label-1 { 7923 type uint32; 7924 description "Label 1 for example technology."; 7925 } 7926 } 7927 } 7928 description "Augment TE label."; 7929 } 7931 augment "/nw:networks/nw:network/nw:node/tet:te/" 7932 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7933 + "tet:local-link-connectivity/" 7934 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 7935 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7936 when "../../../../../../../../../../../../nw:network-types/" 7937 + "tet:te-topology/ex-topo:example-topology" { 7938 description 7939 "Augmentation parameters apply only for networks with 7940 example topology type."; 7941 } 7942 case "example" { 7943 container example { 7944 description "Attributes for example technology."; 7945 leaf label-1 { 7946 type uint32; 7947 description "Label 1 for example technology."; 7948 } 7949 } 7950 } 7951 description "Augment TE label."; 7952 } 7954 augment "/nw:networks/nw:network/nw:node/tet:te/" 7955 + "tet:tunnel-termination-point/tet:local-link-connectivities/" 7956 + "tet:local-link-connectivity/" 7957 + "tet:path-properties/tet:path-route-objects/" 7958 + "tet:path-route-object/tet:type/" 7959 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 7960 when "../../../../../../../../../../../../../nw:network-types/" 7961 + "tet:te-topology/ex-topo:example-topology" { 7962 description 7963 "Augmentation parameters apply only for networks with 7964 example topology type."; 7965 } 7966 case "example" { 7967 container example { 7968 description "Attributes for example technology."; 7969 leaf label-1 { 7970 type uint32; 7971 description "Label 1 for example technology."; 7972 } 7973 } 7974 } 7975 description "Augment TE label."; 7976 } 7978 /* Under te-link-attributes */ 7980 augment "/nw:networks/nw:network/nt:link/tet:te/" 7981 + "tet:te-link-attributes/" 7982 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 7983 + "tet:te-label/tet:technology" { 7984 when "../../../../../../../nw:network-types/" 7985 + "tet:te-topology/ex-topo:example-topology" { 7986 description 7987 "Augmentation parameters apply only for networks with 7988 example topology type."; 7989 } 7990 case "example" { 7991 container example { 7992 description "Attributes for example technology."; 7993 leaf label-1 { 7994 type uint32; 7995 description "Label 1 for example technology."; 7996 } 7997 } 7998 } 7999 description "Augment TE label."; 8000 } 8002 augment "/nw:networks/nw:network/nt:link/tet:te/" 8003 + "tet:te-link-attributes/" 8004 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 8005 + "tet:te-label/tet:technology" { 8006 when "../../../../../../../nw:network-types/" 8007 + "tet:te-topology/ex-topo:example-topology" { 8008 description 8009 "Augmentation parameters apply only for networks with 8010 example topology type."; 8011 } 8012 case "example" { 8013 container example { 8014 description "Attributes for example technology."; 8015 leaf label-1 { 8016 type uint32; 8017 description "Label 1 for example technology."; 8018 } 8019 } 8020 } 8021 description "Augment TE label."; 8022 } 8024 augment "/nw:networks/nw:network/nt:link/tet:te/" 8025 + "tet:te-link-attributes/" 8026 + "tet:underlay/tet:primary-path/tet:path-element/tet:type/" 8027 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 8028 when "../../../../../../../../../../../nw:network-types/" 8029 + "tet:te-topology/ex-topo:example-topology" { 8030 description 8031 "Augmentation parameters apply only for networks with 8032 example topology type."; 8033 } 8034 case "example" { 8035 container example { 8036 description "Attributes for example technology."; 8037 leaf label-1 { 8038 type uint32; 8039 description "Label 1 for example technology."; 8040 } 8041 } 8042 } 8043 description "Augment TE label."; 8044 } 8046 augment "/nw:networks/nw:network/nt:link/tet:te/" 8047 + "tet:te-link-attributes/" 8048 + "tet:underlay/tet:backup-path/tet:path-element/tet:type/" 8049 + "tet:label/tet:label-hop/tet:te-label/tet:technology" { 8050 when "../../../../../../../../../../nw:network-types/" 8051 + "tet:te-topology/ex-topo:example-topology" { 8052 description 8053 "Augmentation parameters apply only for networks with 8054 example topology type."; 8055 } 8056 case "example" { 8057 container example { 8058 description "Attributes for example technology."; 8059 leaf label-1 { 8060 type uint32; 8061 description "Label 1 for example technology."; 8062 } 8063 } 8064 } 8065 description "Augment TE label."; 8066 } 8067 /* Under te-link information-source-entry */ 8069 augment "/nw:networks/nw:network/nt:link/tet:te/" 8070 + "tet:information-source-entry/" 8071 + "tet:label-restrictions/tet:label-restriction/tet:label-start/" 8072 + "tet:te-label/tet:technology" { 8073 when "../../../../../../../nw:network-types/" 8074 + "tet:te-topology/ex-topo:example-topology" { 8075 description 8076 "Augmentation parameters apply only for networks with 8077 example topology type."; 8078 } 8079 case "example" { 8080 container example { 8081 description "Attributes for example technology."; 8082 leaf label-1 { 8083 type uint32; 8084 description "Label 1 for example technology."; 8085 } 8086 } 8087 } 8088 description "Augment TE label."; 8089 } 8091 augment "/nw:networks/nw:network/nt:link/tet:te/" 8092 + "tet:information-source-entry/" 8093 + "tet:label-restrictions/tet:label-restriction/tet:label-end/" 8094 + "tet:te-label/tet:technology" { 8095 when "../../../../../../../nw:network-types/" 8096 + "tet:te-topology/ex-topo:example-topology" { 8097 description 8098 "Augmentation parameters apply only for networks with 8099 example topology type."; 8100 } 8101 case "example" { 8102 container example { 8103 description "Attributes for example technology."; 8104 leaf label-1 { 8105 type uint32; 8106 description "Label 1 for example technology."; 8107 } 8109 } 8110 } 8111 description "Augment TE label."; 8112 } 8113 } 8115 Contributors 8117 Sergio Belotti 8118 Nokia 8119 Email: sergio.belotti@nokia.com 8121 Dieter Beller 8122 Nokia 8123 Email: Dieter.Beller@nokia.com 8125 Carlo Perocchio 8126 Ericsson 8127 Email: carlo.perocchio@ericsson.com 8129 Italo Busi 8130 Huawei Technologies 8131 Email: Italo.Busi@huawei.com 8133 Authors' Addresses 8135 Xufeng Liu 8136 Volta Networks 8137 Email: xufeng.liu.ietf@gmail.com 8139 Igor Bryskin 8140 Huawei Technologies 8141 Email: Igor.Bryskin@huawei.com 8143 Vishnu Pavan Beeram 8144 Juniper Networks 8145 Email: vbeeram@juniper.net 8147 Tarek Saad 8148 Cisco Systems Inc 8149 Email: tsaad@cisco.com 8151 Himanshu Shah 8152 Ciena 8153 Email: hshah@ciena.com 8154 Oscar Gonzalez De Dios 8155 Telefonica 8156 Email: oscar.gonzalezdedios@telefonica.com