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