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