idnits 2.17.1 draft-ietf-teas-yang-te-topo-09.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 69 instances of weird spacing in the document. Is it really formatted ragged-right, rather than justified? Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 171 has weird spacing: '... rw for r...' == Line 172 has weird spacing: '... ro for r...' == Line 1071 has weird spacing: '...l-tp-id bin...' == Line 1104 has weird spacing: '...logy-id te-...' == Line 1160 has weird spacing: '...l-tp-id bin...' == (64 more instances...) -- The document date (June 12, 2017) is 2502 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 729, but not defined == Missing Reference: 'R2' is mentioned on line 735, but not defined == Missing Reference: 'R3' is mentioned on line 729, but not defined == Missing Reference: 'R4' is mentioned on line 735, but not defined == Missing Reference: 'R5' is mentioned on line 648, but not defined == Missing Reference: 'R6' is mentioned on line 652, but not defined == Missing Reference: 'R7' is mentioned on line 652, but not defined == Missing Reference: 'R8' is mentioned on line 652, but not defined == Missing Reference: 'R9' is mentioned on line 652, but not defined == Missing Reference: 'A' is mentioned on line 729, but not defined == Missing Reference: 'E' is mentioned on line 729, but not defined == Missing Reference: 'B' is mentioned on line 735, but not defined == Missing Reference: 'F' is mentioned on line 735, but not defined == Outdated reference: A later version (-05) exists of draft-liu-netmod-yang-schedule-00 Summary: 1 error (**), 0 flaws (~~), 21 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TEAS Working Group Xufeng Liu 2 Internet Draft Jabil 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 12, 2017 June 12, 2017 16 YANG Data Model for TE Topologies 17 draft-ietf-teas-yang-te-topo-09 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 12, 2017. 42 Copyright Notice 44 Copyright (c) 2017 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 TE Topologies. The model serves as a base model that 61 other technology specific TE Topology models can augment. 63 Conventions used in this document 65 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 66 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 67 document are to be interpreted as described in RFC-2119 [RFC2119]. 69 Table of Contents 71 1. Introduction...................................................3 72 1.1. Terminology...............................................3 73 1.2. Tree Structure - Legend...................................4 74 1.3. Prefixes in Data Node Names...............................5 75 2. Characterizing TE Topologies...................................5 76 3. Modeling Abstractions and Transformations......................7 77 3.1. TE Topology...............................................7 78 3.2. TE Node...................................................7 79 3.3. TE Link...................................................8 80 3.4. Transitional TE Link for Multi-Layer Topologies...........8 81 3.5. TE Link Termination Point (LTP)...........................9 82 3.6. TE Tunnel Termination Point (TTP)........................10 83 3.7. TE Node Connectivity Matrix..............................10 84 3.8. TTP Local Link Connectivity List (LLCL)..................10 85 3.9. TE Path..................................................10 86 3.10. TE Inter-Layer Lock.....................................11 87 3.11. Underlay TE topology....................................12 88 3.12. Overlay TE topology.....................................12 89 3.13. Abstract TE topology....................................12 90 4. Model Applicability...........................................13 91 4.1. Native TE Topologies.....................................13 92 4.2. Customized TE Topologies.................................15 93 4.3. Merging TE Topologies Provided by Multiple Providers.....18 94 4.4. Dealing with Multiple Abstract TE Topologies Provided by the 95 Same Provider.................................................21 96 5. Modeling Considerations.......................................24 97 5.1. Network topology building blocks.........................24 98 5.2. Technology agnostic TE Topology model....................24 99 5.3. Model Structure..........................................25 100 5.4. Topology Identifiers.....................................26 101 5.5. Generic TE Link Attributes...............................26 102 5.6. Generic TE Node Attributes...............................27 103 5.7. TED Information Sources..................................29 104 5.8. Overlay/Underlay Relationship............................30 105 5.9. Templates................................................31 106 5.10. Scheduling Parameters...................................32 107 5.11. Notifications...........................................32 108 6. Tree Structure................................................32 109 7. TE Topology Yang Module.......................................66 110 8. Security Considerations......................................114 111 9. IANA Considerations..........................................115 112 10. References..................................................115 113 10.1. Normative References...................................115 114 10.2. Informative References.................................116 115 11. Acknowledgments.............................................116 116 Contributors....................................................116 117 Authors' Addresses..............................................116 119 1. Introduction 121 The Traffic Engineering Database (TED) is an essential component of 122 Traffic Engineered (TE) systems that are based on MPLS-TE [RFC2702] 123 and GMPLS [RFC3945]. The TED is a collection of all TE information 124 about all TE nodes and TE links in the network. The TE Topology is a 125 schematic arrangement of TE nodes and TE links present in a given 126 TED. There could be one or more TE Topologies present in a given 127 Traffic Engineered system. The TE Topology is the topology on which 128 path computational algorithms are run to compute Traffic Engineered 129 Paths (TE Paths). 131 This document defines a YANG [RFC6020] data model for representing 132 and manipulating TE Topologies. This model contains technology 133 agnostic TE Topology building blocks that can be augmented and used 134 by other technology-specific TE Topology models. 136 1.1. Terminology 138 TED: The Traffic Engineering Database is a collection of all TE 139 information about all TE nodes and TE links in a given network. 141 TE-Topology: The TE Topology is a schematic arrangement of TE nodes 142 and TE links in a given TED. It forms the basis for a graph suitable 143 for TE path computations. 145 Native TE Topology: Native TE Topology is a topology that is native 146 to a given provider network. Native TE topology could be discovered 147 via various routing protocols and/or subscribe/publish techniques. 148 This is the topology on which path computational algorithms are run 149 to compute TE Paths. 151 Customized TE Topology: Customized TE Topology is a custom topology 152 that is produced by a provider for a given Client. This topology 153 typically augments the Client's Native TE Topology. Path 154 computational algorithms aren't typically run on the Customized TE 155 Topology; they are run on the Client's augmented Native TE Topology. 157 1.2. Tree Structure - Legend 159 A simplified graphical representation of the data model is presented 160 in Section 6. of this document. The following notations are used for 161 the YANG model data tree representation. 163 165 is one of: 166 + for current 167 x for deprecated 168 o for obsolete 170 is one of: 171 rw for read-write configuration data 172 ro for read-only non-configuration data 173 -x for execution rpcs 174 -n for notifications 176 is the name of the node 178 If the node is augmented into the tree from another module, its 179 name is printed as : 181 is one of: 182 ? for an optional leaf or node 183 ! for a presence container 184 * for a leaf-list or list 185 Brackets [] for a list's keys 186 Curly braces {} for optional feature that make node 187 conditional 188 Colon : for marking case nodes 189 Ellipses ("...") subtree contents not shown 191 Parentheses enclose choice and case nodes, and case nodes are 192 also marked with a colon (":"). 194 is the name of the type for leafs and leaf-lists. 196 1.3. Prefixes in Data Node Names 198 In this document, names of data nodes and other data model objects 199 are prefixed using the standard prefix associated with the 200 corresponding YANG imported modules, as shown in Table 1. 202 +--------+-----------------+-----------+ 203 | Prefix | YANG module | Reference | 204 +--------+-----------------+-----------+ 205 | yang | ietf-yang-types | [RFC6991] | 206 | inet | ietf-inet-types | [RFC6991] | 207 +--------+-----------------+-----------+ 209 Table 1: Prefixes and corresponding YANG modules 211 2. Characterizing TE Topologies 213 The data model proposed by this document takes the following 214 characteristics of TE Topologies into account: 216 - TE Topology is an abstract control-plane representation of the 217 data-plane topology. Hence attributes specific to the data-plane 218 must make their way into the corresponding TE Topology modeling. 219 The TE Topology comprises of dynamic auto-discovered data (data 220 that may change frequently - example: unreserved bandwidth 221 available on data-plane links) as well as fairly static data (data 222 that rarely changes- examples: layer network identification, 223 switching and adaptation capabilities and limitations, fate 224 sharing, administrative colors) associated with data-plane nodes 225 and links. It is possible for a single TE Topology to encompass TE 226 information at multiple switching layers. 228 - TE Topologies are protocol independent. Information about 229 topological elements may be learnt via link-state protocols, but 230 the topology can exist without being dependent on any particular 231 protocol. 233 - TE Topology may not be congruent to the routing topology (topology 234 constructed based on routing adjacencies) in a given TE System. 235 There isn't always a one-to-one association between a TE-link and 236 a routing adjacency. For example, the presence of a TE link 237 between a pair of nodes doesn't necessarily imply the existence of 238 a routing-adjacency between these nodes. 240 - Each TE Topological element has an information source associated 241 with it. In some scenarios, there could be more than one 242 information source associated with each topological element. 244 - TE Topologies can be hierarchical. Each node and link of a given 245 TE Topology can be associated with respective underlay topology. 246 This means that each node and link of a given TE Topology can be 247 associated with an independent stack of supporting TE Topologies. 249 - TE Topologies can be customized. TE topologies of a given network 250 presented by the network provider to its client could be 251 customized on per-client request basis. This customization could 252 be performed by provider, by client or by provider/client 253 negotiation. The relationship between a customized topology (as 254 presented to the client) and provider's native topology (as known 255 in its entirety to the provider itself) could be captured as 256 hierarchical (overlay-underlay), but otherwise the two topologies 257 are decoupled from each other. 259 3. Modeling Abstractions and Transformations 261 Node-1 Node-3 262 +------------+ +------------+ 263 | TTP-1 | | TTP-1 | 264 |LTP __ | TE-Tunel-1 | __ | 265 |-6 \/@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\/ | 266 o * * oLTP-1 Node-2 LTP-6o * * o 267 | * * | +------------+ | * * | 268 | * TTP-2* | | | | * TTP-2* | 269 | * __ * |LTP-2 LTP-6| |LTP-1 LTP-5| * __ * | 270 o* \/ *o-----------o************o-----------o* \/ *o 271 |LTP * * | Link-12 | * | Link-23 | * * | 272 |-5 * * | LTP-5| * |LTP-2 | * * | 273 +--o------o--+ o************o +--o------o--+ 274 LTP-4 LTP-3 | * * * | LTP-4 LTP-3 275 | ** * | 276 +--o------o--+ 277 LTP-4 LTP-3 279 Figure 1: TE Topology Modeling Abstractions 281 3.1. TE Topology 283 TE topology is a traffic engineering representation of one or more 284 layers of network topologies. TE topology is comprised of TE nodes 285 (TE graph vertices) interconnected via TE links (TE graph edges). A 286 TE topology is mapped to a TE graph. 288 3.2. TE Node 290 TE node is an element of a TE topology (presented as a vertex on TE 291 graph). TE node represents one or several nodes (physical switches), 292 or a fraction of a node. TE node belongs to and is fully defined in 293 exactly one TE topology. TE node is assigned with the TE topology 294 scope unique ID. TE node attributes include information related to 295 the data plane aspects of the associated node(s) (e.g. connectivity 296 matrix), as well as configuration data (such as TE node name). A 297 given TE node can be reached on the TE graph over one of TE links 298 terminated by the TE node. 300 Multi-layer TE nodes providing switching functions at multiple 301 network layers are an example where a physical node can be decomposed 302 into multiple logical TE nodes (fractions of a node). Some of these 303 (logical) TE nodes may reside in the client layer TE topology while 304 the remaining TE nodes belong to the server layer TE topology. 306 In Figure 1, Node-1, Node-2, and Node-3 are TE nodes. 308 3.3. TE Link 310 TE link is an element of a TE topology (presented as an edge on TE 311 graph, arrows indicate one or both directions of the TE link). TE 312 link represents one or several (physical) links or a fraction of a 313 link. TE link belongs to and is fully defined in exactly one TE 314 topology. TE link is assigned with the TE topology scope unique ID. 315 TE link attributes include parameters related to the data plane 316 aspects of the associated link(s) (e.g. unreserved bandwidth, 317 resource maps/pools, etc.), as well as the configuration data (such 318 as remote node/link IDs, SRLGs, administrative colors, etc.). TE link 319 is connected to TE node, terminating the TE link via exactly one TE 320 link termination point (LTP). 322 In Figure 1, Link-12 and Link-23 are TE links. 324 3.4. Transitional TE Link for Multi-Layer Topologies 326 Networks are typically composed of multiple network layers where one 327 or multiple signals in the client layer network can be multiplexed 328 and encapsulated into a server layer signal. The server layer signal 329 can be carried in the server layer network across multiple nodes 330 until the server layer signal is terminated and the client layer 331 signals reappear in the node that terminates the server layer signal. 332 Examples of multi-layer networks are: IP over MPLS over Ethernet, low 333 order ODUk signals multiplexed into a high order ODUl (l>k) carried 334 over an OCh signal (optical transport network). 336 TE links as defined in 3.3. can be used to represent links within a 337 network layer. In case of a multi-layer network, TE nodes and TE 338 links only allow representation of each network layer as a separate 339 TE topology Each of these single layer TE topologies would be 340 isolated from their client and their server layer TE topology, if 341 present (the highest and the lowest network layer in the hierarchy 342 only have a single adjacent layer below or above, respectively). 343 Multiplexing of client layer signals and encapsulating them into a 344 server layer signal requires a function that is provided inside a 345 node (typically realized in hardware). This function is also called 346 layer transition. 348 One of the key requirements for path computation is to be able to 349 calculate a path between two endpoints across a multi-layer network 350 based on the TE topology representing this multi-layer network. This 351 means that an additional TE construct is needed that represents 352 potential layer transitions in the multi-layer TE-topology that 353 connects the TE-topologies representing each separate network layer. 354 The so-called transitional TE link is such a construct and it 355 represents the layer transition function residing inside a node that 356 is decomposed into multiple logical nodes that are represented as TE 357 nodes. Hence, a transitional TE link connects a client layer node 358 with a server layer node. A TE link as defined in 3.3. has LTPs of 359 exactly the same kind on each link end whereas the transitional TE 360 link has client layer LTPs on the client side of the transitional 361 link and in most cases a single server layer LTP on the server side. 362 It should be noted that transitional links are a helper construct in 363 the multi-layer TE topology and they only exist as long as they are 364 not in use (as they represent potential connectivity). When the 365 server layer trail has been established between the server layer LTP 366 of two transitional links in the server layer network, the resulting 367 client layer link in the data plane will be represented as a normal 368 TE link in the client layer topology. The transitional TE links will 369 re-appear when the server layer trail has been torn down. 371 +------------------+ 372 | +------+ | +------+ 373 -----|Client|------+ | Client -----|Client| 374 | |Layer |---+ | | Layer |Layer | 375 -----|Switch|-+ | | | Links -----|Node | 376 | +------+ | | | | +------+ 377 | | | | | Client | | | 378 | | | ---_| Layer --- --- 379 ***|**********|*| \ /*|***************************\ /*\ /**** 380 | --- | | Server Transitional | | 381 | Layer \ / | | Layer Links | | 382 | Term. | | | | | 383 | | | | | | 384 | +------+ | +------+ 385 =============|Server|===== Server ====|Server|==== 386 | |Layer | | Layer |Layer | 387 =============|Switch|===== Links ====|Node |==== 388 | +------+ | +------+ 389 +------------------+ 391 Physical Node View TE-Topology View 393 Figure 2: Modeling a Multi-Layer Node (Dual-Layer Example) 395 3.5. TE Link Termination Point (LTP) 397 TE link termination point (LTP) is a conceptual point of connection 398 of a TE node to one of the TE links, terminated by the TE node. 399 Cardinality between an LTP and the associated TE link is 1:0..1. 401 In Figure 1, Node-2 has six LTPs: LTP-1 to LTP-6. 403 3.6. TE Tunnel Termination Point (TTP) 405 TE tunnel termination point (TTP) is an element of TE topology 406 representing one or several of potential transport service 407 termination points (i.e. service client adaptation points such as 408 WDM/OCh transponder). TTP is associated with (hosted by) exactly one 409 TE node. TTP is assigned with the TE node scope unique ID. Depending 410 on the TE node's internal constraints, a given TTP hosted by the TE 411 node could be accessed via one, several or all TE links terminated by 412 the TE node. 414 In Figure 1, Node-1 has two TTPs: TTP-1 and TTP-2. 416 3.7. TE Node Connectivity Matrix 418 TE node connectivity matrix is a TE node's attribute describing the 419 TE node's switching limitations in a form of valid switching 420 combinations of the TE node's LTPs (see below). From the point of 421 view of a potential TE path arriving at the TE node at a given 422 inbound LTP, the node's connectivity matrix describes valid 423 (permissible) outbound LTPs for the TE path to leave the TE node 424 from. 426 In Figure 1, the connectivity matrix on Node-2 is: 427 {, , , , 428 } 430 3.8. TTP Local Link Connectivity List (LLCL) 432 TTP Local Link Connectivity List (LLCL) is a List of TE links 433 terminated by the TTP hosting TE node (i.e. list of the TE link 434 LTPs), which the TTP could be connected to. From the point of view of 435 a potential TE path LLCL provides a list of valid TE links the TE 436 path needs to start/stop on for the connection, taking the TE path, 437 to be successfully terminated on the TTP in question. 439 In Figure 1, the LLCL on Node-1 is: 440 {, , , } 442 3.9. TE Path 444 TE path is an ordered list of TE links and/or TE nodes on the TE 445 topology graph, inter-connecting a pair of TTPs to be taken by a 446 potential connection. TE paths, for example, could be a product of 447 successful path computation performed for a given transport service. 449 In Figure 1, the TE Path for TE-Tunnel-1 is: 450 {Node-1:TTP-1, Link-12, Node-2, Link-23, Node-3:TTP1} 452 3.10. TE Inter-Layer Lock 454 TE inter-layer lock is a modeling concept describing client-server 455 layer adaptation relationships and hence important for the multi- 456 layer traffic engineering. It is an association of M client layer 457 LTPs and N server layer TTPs, within which data arriving at any of 458 the client layer LTPs could be adopted onto any of the server layer 459 TTPs. TE inter-layer lock is identified by inter-layer lock ID, which 460 is unique across all TE topologies provided by the same provider. The 461 client layer LIPs and the server layer TTPs associated within a given 462 TE inter-layer lock are decorated with the same inter-layer lock ID 463 attribute. 465 (IL-1) C-LTP-1 +------------+ C-LTP-2 (IL-1) 466 --------O (IL-1) O-------- 467 (IL-1) C-LTP-3 | S-TTP-1 | C-LTP-4 (IL-1) 468 --------O __ 0-------- 469 (IL-1) C-LTP-5 | *\/* | C-LTP-5 (IL-1) 470 --------O * * O-------- 471 | *(IL-1)* | 472 S-LTP-3 | * S-TTP-2* | S-LTP-4 473 --------o* __ *o-------- 474 | *\/* | 475 | * * | 476 +--o------o--+ 477 S-LTP-1 | | S-LTP-2 479 Figure 3: TE Inter-Layer Lock ID Associations 481 On the picture above a TE inter-layer lock with IL_1 ID associates 6 482 client layer LTPs (C-LTP-1 - C-LTP-6) with two server layer TTPs (S- 483 TTP-1 and S-TTP-2). They all have the same attribute - TE inter-layer 484 lock ID: IL-1, which is the only thing that indicates the 485 association. A given LTP may have 0, 1 or more inter-layer lock IDs. 486 In the latter case this means that the data arriving at the LTP may 487 be adopted onto any of TTPs associated with all specified inter-layer 488 locks. For example, C-LTP-1 could have two inter-layer lock IDs - IL- 489 1 and IL-2. This would mean that C-LTP-1 for adaptation purposes 490 could use not just TTPs associated with inter-layer lock IL-1 (i.e. 491 S-TTP-1 and S-TTP-2 on the picture), but any of TTPs associated with 492 inter-layer lock IL-2 as well. Likewise, a given TTP may have one or 493 more inter-layer lock IDs, meaning that it can offer the adaptation 494 service to any of client layer LTPs with inter-layer lock ID matching 495 one of its own. Additionally, each TTP has an attribute - Unreserved 496 Adaptation Bandwidth, which announces its remaining adaptation 497 resources sharable between all potential client LTPs. 499 LTPs and TTPs associated within the same TE inter-layer lock may be 500 hosted by the same (hybrid, multi-layer) TE node or multiple TE nodes 501 located in the same or separate TE topologies. The latter is 502 especially important since TE topologies of different layer networks 503 could be modeled by separate augmentations of the basic (common to 504 all layers) TE topology model. 506 3.11. Underlay TE topology 508 Underlay TE topology is a TE topology that serves as a base for 509 constructing of overlay TE topologies 511 3.12. Overlay TE topology 513 Overlay TE topology is a TE topology constructed based on one or more 514 underlay TE topologies. Each TE node of the overlay TE topology 515 represents an arbitrary segment of an underlay TE topology; each TE 516 link of the overlay TE topology represents an arbitrary TE path in 517 one of the underlay TE topologies. The overlay TE topology and the 518 supporting underlay TE topologies may represent distinct layer 519 networks (e.g. OTN/ODUk and WDM/OCh respectively) or the same layer 520 network. 522 3.13. Abstract TE topology 524 Abstract TE topology is a topology that contains abstract topological 525 elements (nodes, links, tunnel termination points). Abstract TE 526 topology is an overlay TE topology created by a topology provider and 527 customized for a topology provider's client based on one or more of 528 the provider's native TE topologies (underlay TE topologies), the 529 provider's policies and the client's preferences. For example, a 530 first level topology provider (such as Domain Controller) can create 531 an abstract TE topology for its client (e.g. Multi-Domain Service 532 Coordinator) based on the provider's one or more native TE 533 topologies, local policies/profiles and the client's TE topology 534 configuration requests 536 Figure 4 shows an example of abstract TE topology. 538 +---+ +---+ 539 |s31|--------------|S5 | 540 +---+\ / +---+ 541 \ / 542 \ / 543 \+---+/ +---+ 544 /|AN1|\----------------|S8 | 545 / +---+ \ +---+ 546 +---+ / \ +---+ 547 |S9 |-------------|S11| 548 +---+ +---+ 549 Abstract TE Topology 551 +---+ +---+ 552 |S1 |--------------------|S2 | 553 +---+ +---+ 554 / \ 555 / \ 556 +---+ / +---+ \ +---+ 557 |s3 |--------------------|S4 |---------|S5 | 558 +---+\ +---+ +---+ 559 \ \ \ 560 \ \ \ 561 \+---+ +---+ +---+ 562 /|S6 |\ |S7 |---------|S8 | 563 / +---+ \ +---+\ /+---+ 564 +---+ / \ +---+ +---+ / 565 |S9 |-------------|S10|--------------|S11|/ 566 +---+ +---+ +---+ 567 Native TE Topology 569 Figure 4: Abstract TE Topology 571 4. Model Applicability 573 4.1. Native TE Topologies 575 The model discussed in this draft can be used to represent and 576 retrieve native TE topologies on a given TE system. 578 +---+ +---+ +---+ +---+ +---+ 579 | R1|-------| R2|--------| R3|---------| R4|---------| R5| 580 +---+ +---+ +---+ +---+ +---+ 581 | / \ / \ / 582 | / \ / \ / 583 | / \ / \ / 584 | / \ / \ / 585 | / \ / \ / 586 +---+ +---+ +---+ +---+ 587 | R6|-------------| R7| | R8|---------| R9| 588 +---+ +---+ +---+ +---+ 590 Figure 5a: Example Network Topology 592 Consider the network topology depicted in Figure 5a (R1 .. R9 are 593 nodes representing routers). An implementation MAY choose to 594 construct a native TE Topology using all nodes and links present in 595 the given TED as depicted in Figure 5b. The data model proposed in 596 this document can be used to retrieve/represent this TE topology. 598 --------------- 599 | Native | | [ ] TE Node 600 | TE-Topology | | +++ TE Link 601 --------------- o-------------- 603 [R1] ++++ [R2] ++++ [R3] ++++ [R4] ++++ [R5] 604 + + + + + + 605 + + + + + + 606 + + ++ ++ 607 [R6] +++++++++ [R7] [R8] ++++ [R9] 609 Figure 5b: Native TE Topology as seen on Node R3 611 Consider the case of the topology being split in a way that some 612 nodes participate in OSPF-TE while others participate in ISIS-TE 613 (Figure 6a). An implementation MAY choose to construct separate TE 614 Topologies based on the information source. The native TE Topologies 615 constructed using only nodes and links that were learnt via a 616 specific information source are depicted in Figure 6b. The data model 617 proposed in this document can be used to retrieve/represent these TE 618 topologies. 620 Similarly, the data model can be used to represent/retrieve a TE 621 Topology that is constructed using only nodes and links that belong 622 to a particular technology layer. The data model is flexible enough 623 to retrieve and represent many such native TE Topologies. 625 : 626 TE info distributed via ISIS-TE : TE info distributed via OSPF-TE 627 : 628 +---+ +---+ +---+ +---+ +---+ 629 | R1|-------| R2|--------| R3|---------| R4|---------| R5| 630 +---+ +---+ +---+ +---+ +---+ 631 | / : \ / \ / 632 | / : \ / \ / 633 | / : \ / \ / 634 | / : \ / \ / 635 | / : \ / \ / 636 +---+ +---+ : +---+ +---+ 637 | R6|-------------| R7| : | R8|---------| R9| 638 +---+ +---+ : +---+ +---+ 639 : 641 Figure 6a: Example Network Topology 643 ----------------------- : ----------------------- 644 |Native TE Topology | : |Native TE Topology | 645 |Info-Source: ISIS-TE | : |Info-Source: OSPF-TE | 646 ----------------------- : ----------------------- 647 : 648 [R1] ++++ [R2] ++++ [R3] : [R3'] ++++ [R4] ++++ [R5] 649 + + : + + + + 650 + + : + + + + 651 + + : ++ ++ 652 [R6] +++++++++ [R7] : [R8] ++++ [R9] 654 Figure 6b: Native TE Topologies as seen on Node R3 656 4.2. Customized TE Topologies 658 Customized TE topology is a topology that was modified by the 659 provider to honor a particular client's requirements or preferences. 660 The model discussed in this draft can be used to represent, retrieve 661 and manipulate customized TE Topologies. The model allows the 662 provider to present the network in abstract TE Terms on a per client 663 basis. These customized topologies contain sufficient information for 664 the path computing client to select paths according to its policies. 666 | +---+ /-\ 667 | | | Router ( ) WDM 668 | +---+ Node \-/ node 669 | 670 o---------------------------- 672 +---+ /-\ /-\ /-\ +---+ 673 | R1|-------( A )--------( C )---------( E )---------| R3| 674 +---+ \-/ \-/ \-/ +---+ 675 / \ / \ 676 / \ / \ 677 / \ / \ 678 / \ / \ 679 / \ / \ 680 +---+ /-\ /-\ /-\ +---+ 681 | R2|---------( B )---------( D )---------( F )---------| R4| 682 +---+ \-/ \-/ \-/ +---+ 684 Figure 7: Example packet optical topology 686 Consider the network topology depicted in Figure 7. This is a typical 687 packet optical transport deployment scenario where the WDM layer 688 network domain serves as a Server Network Domain providing transport 689 connectivity to the packet layer network Domain (Client Network 690 Domain). Nodes R1, R2, R3 and R4 are IP routers that are connected to 691 an Optical WDM transport network. A, B, C, D, E and F are WDM nodes 692 that constitute the Server Network Domain. 694 | ***** B-F WDM Path 695 | @@@@@ B-E WDM Path 696 | $$$$$ A-E WDM Path 697 o-------------------- 699 +---+ /-\ $$$$$$$$ /-\ $$$$$$$$$ /-\ +---+ 700 | R1|-------( A )--------( C )---------( E )---------| R3| 701 +---+ \-/ @\-/ @@@@@@@@@ \-/ +---+ 702 @/ \ / \ 703 @/ \ / \ 704 @/ \ / \ 705 @/ \ / \ 706 @/ \ / \ 707 +---+ /-\ ********* /-\ ********* /-\ +---+ 708 | R2|---------( B )---------( D )---------( F )---------| R4| 709 +---+ \-/ \-/ \-/ +---+ 711 Figure 8a: Paths within the provider domain 712 ++++++++ [A] ++++++++++++++++++++ [E] +++++++++ 713 +++++ 714 ++++ 715 ++++ 716 ++++ 717 ++++ 718 ++++++++ [B] ++++++++++++++++++++ [F] +++++++++ 720 Figure 8b: Customized TE Topology provided to the Client 722 The goal here is to augment the Client TE Topology with a customized 723 TE Topology provided by the WDM network. Given the availability of 724 the paths A-E, B-F and B-E (Figure 8a), a customized TE Topology as 725 depicted in Figure 8b is provided to the Client. This customized TE 726 Topology is merged with the Client's Native TE Topology and the 727 resulting topology is depicted in Figure 8c. 729 [R1] ++++++++ [A] ++++++++++++++++++++ [E] +++++++++ [R3] 730 +++++ 731 ++++ 732 ++++ 733 ++++ 734 ++++ 735 [R2] ++++++++ [B] ++++++++++++++++++++ [F] +++++++++ [R4] 737 Figure 8c: Customized TE Topology merged with the Client's Native TE 738 Topology 740 The data model proposed in this document can be used to 741 retrieve/represent/manipulate the customized TE Topology depicted in 742 Figure 8b. 744 A customized TE topology is not necessarily an abstract TE topology. 745 he provider may produce, for example, an abstract TE topology of 746 certain type (e.g. single-abstract-node-with-connectivit-matrix 747 topology, a border_nodes_connected_via_mesh_of_abstract_links 748 topology, etc.) and expose it to all/some clients in expectation that 749 the clients will use it without customization. 750 On the other hand, a client may request a customized version of the 751 provider's native TE topology (e.g. by requesting removal of TE links 752 which belong to certain layers, are too slow, not protected and/or 753 have a certain affinity). Note that the resulting TE topology will 754 not be abstract (because it will not contain abstract elements), but 755 customized (modified upon client's instructions). 757 The client ID field in the TE topology identifier (Section 5.4. 758 indicates which client the TE topology is customized for. Although a 759 authorized client MAY receive a TE topology with the client ID field 760 matching some other client, the client can customize only TE 761 topologies with the client ID field either 0 or matching the ID of 762 the client in question. If the client starts reconfiguration of a 763 topology its client ID will be automatically set in the topology ID 764 field for all future configurations and updates wrt. the topology in 765 question. 767 The provider MAY tell the client that a given TE topology cannot be 768 re-negotiated, by setting its own (provider's) ID in the client ID 769 field of the topology ID. 771 4.3. Merging TE Topologies Provided by Multiple Providers 773 A client may receive TE topologies provided by multiple providers, 774 each of which managing a separate domain of multi-domain network. In 775 order to make use of said topologies, the client is expected to merge 776 the provided TE topologies into one or more client's native TE 777 topologies, each of which homogeneously representing the multi-domain 778 network. This makes it possible for the client to select end-to-end 779 TE paths for its services traversing multiple domains. 781 In particular, the process of merging TE topologies includes: 783 - Identifying neighboring domains and locking their topologies 784 horizontally by connecting their inter-domain open-ended TE links; 785 - Renaming TE node, link, and SRLG IDs to ones allocated from a 786 separate name space; this is necessary because all TE topologies 787 are considered to be, generally speaking, independent with a 788 possibility of clashes among TE node, link or SRLG IDs; 789 - Locking, vertically, TE topologies associated with different layer 790 networks, according to provided topology inter-layer locks; this is 791 to facilitate inter-layer path computations across multiple TE 792 topologies provided by the same topology provider. 794 /---\ +---+ +---+ +---+ +---+ /---\ 795 |s3 |------|S13|----|S15|------|S23|----|S25|------|C21| 796 \---/ +---+\ +---+ +---+ /+---+ \---/ 797 \ / 798 \ / 799 \+---+ +---+/ +---+ /---\ 800 |S18|------|S24| |S28|------|C22| 801 +---+ +---+\ /+---+ \---/ 802 \/ 803 /\ 804 /---\ +---+ +---+ +---+/ \+---+ /---\ 805 |C12|------|S19|----|S17|------|S29|----|S27|------|C23| 806 \---/ +---+ +---+ +---+ +---+ \---/ 808 Domain 1 TE Topology Domain 2 TE Topology 810 +---+ +---+ +---+ +---+ 811 -----|S13|----|S15|---- ----|S23|----|S25|---- 812 +---+\ +---+ +---+ /+---+ 813 \ / 814 \ / 815 \+---+ +---+/ +---+ 816 |S18|---- ----|S24| |S28|---- 817 +---+ +---+\ /+---+ 818 \/ 819 /\ 820 +---+ +---+ +---+/ \+---+ 821 -----|S19|----|S17|---- ----|S29|----|S27|---- 822 +---+ +---+ +---+ +---+ 824 Figure 9: Merging Domain TE Topologies 826 Figure 9 illustrates the process of merging, by the client, of TE 827 topologies provided by the client's providers. In the Figure, each of 828 the two providers caters to the client (abstract or native) TE 829 topology, describing the network domain under the respective 830 provider's control. The client, by consulting the attributes of the 831 inter-domain TE links - such as inter-domain plug IDs or remote TE 832 node/link IDs (as defined by the TE Topology model) - is able to 833 determine that: 835 a) the two domains are adjacent and are inter-connected via three 836 inter-domain TE links, and; 838 b) each domain is connected to a separate customer site, connecting 839 the left domain in the Figure to customer devices C-11 and C-12, 840 and the right domain to customer devices C-21, C-22 and C-23. 842 Therefore, the client inter-connects the open-ended TE links, as 843 shown on the upper part of the Figure. 845 As mentioned, one way to inter-connect the open-ended inter-domain TE 846 links of neighboring domains is to mandate the providers to specify 847 remote nodeID/linkID attribute in the provided inter-domain TE links. 848 This, however, may prove to be not flexible. For example, the 849 providers may not know the respective remote nodeIDs/ linkIDs. More 850 importantly, this option does not allow for the client to mix-n-match 851 multiple (more than one) topologies catered by the same providers 852 (see below). Another, more flexible, option to resolve the open-ended 853 inter-domain TE links is by decorating them with the inter-domain 854 plug ID attribute. Inter-domain plug ID is a network-wide unique 855 number that identifies on the network a connectivity supporting a 856 given inter-domain TE link. Instead of specifying remote node ID/link 857 ID, an inter-domain TE link may provide a non-zero inert-domain plug 858 ID. It is expected that two neighboring domain TE topologies 859 (provided by separate providers) will have each at least one open- 860 ended inter-domain TE link with an inter-domain plug ID matching to 861 one provided by its neighbor. For example, the inter-domain TE link 862 originating from node S5 of the Domain 1 TE topology (Figure 1) and 863 the inter-domain TE link coming from node S3 of Domain2 TE topology 864 may specify matching inter-domain plug ID (e.g. 175344) This allows 865 for the client to identify adjacent nodes in the separate neighboring 866 TE topologies and resolve the inter-domain TE links connecting them 867 regardless of their respective nodeIDs/linkIDs (which, as mentioned, 868 could be allocated from independent name spaces). Inter-domain plug 869 IDs may be assigned and managed by a central network authority. 870 Alternatively, inter-domain plug IDs could be dynamically auto- 871 discovered (e.g. via LMP protocol). 873 Furthermore, the client renames the TE nodes, links and SRLGs offered 874 in the abstract TE topologies by assigning to them IDs allocated from 875 a separate name space managed by the client. Such renaming is 876 necessary, because the two abstract TE topologies may have their own 877 name spaces, generally speaking, independent one from another; hence, 878 ID overlaps/clashes are possible. For example, both TE topologies 879 have TE nodes named S7, which, after renaming, appear in the merged 880 TE topology as S17 and S27, respectively. 882 Once the merging process is complete, the client can use the merged 883 TE topology for path computations across both domains, for example, 884 to compute a TE path connecting C-11 to C-23. 886 4.4. Dealing with Multiple Abstract TE Topologies Provided by the Same 887 Provider 889 Domain 1 Abstract TE Topology 1 Domain 2 Abstract TE Topology 1 891 +---+ +---+ +---+ +---+ 892 -----|S13|----|S15|---- ----|S23|----|S25|---- 893 +---+\ +---+ +---+ /+---+ 894 \ / 895 \ / 896 \+---+ +---+/ +---+ 897 |S18|---- ----|S24| |S28|---- 898 +---+ +---+\ /+---+ 899 \/ 900 /\ 901 +---+ +---+ +---+/ \+---+ 902 -----|S19|----|S17|---- ----|S29|----|S27|---- 903 +---+ +---+ +---+ +---+ 905 Domain 1 Abstract TE Topology 1 Domain 2 Abstract TE Topology 1 907 +------------+ +------------+ 908 -----| |---- ----| |---- 909 | | | | 910 | AN1 |---- ----| AN1 |---- 911 | | | | 912 -----| |---- ----| |---- 913 +------------+ +------------+ 915 Figure 10: Merging Domain TE Topologies 917 Based on local configuration, templates and/or policies pushed by the 918 client, a given provider may expose more than one abstract TE 919 topology to the client. For example, one abstract TE topology could 920 be optimized based on a lowest-cost criterion, while another one 921 could be based on best possible delay metrics, while yet another one 922 could be based on maximum bandwidth availability for the client 923 services. Furthermore, the client may request all or some providers 924 to expose additional abstract TE topologies, possibly of a different 925 type and/or optimized differently, as compared to already-provided TE 926 topologies. In any case, the client should be prepared for a provider 927 to offer to the client more than one abstract TE topology. 929 It should be up to the client (based on the client's local 930 configuration and/or policies conveyed to the client by the client's 931 clients) to decide how to mix-and-match multiple abstract TE 932 topologies provided by each or some of the providers, as well as how 933 to merge them into the client's native TE topologies. The client also 934 decides how many such merged TE topologies it needs to produce and 935 maintain. For example, in addition to the merged TE topology depicted 936 in the upper part of Figure 1, the client may merge the abstract TE 937 topologies received from the two providers, as shown in Figure 10, 938 into the client's additional native TE topologies, as shown in Figure 939 11. 941 Note that allowing for the client mix-n-matching of multiple TE 942 topologies assumes that inter-domain plug IDs (rather than remote 943 nodeID/linkID) option is used for identifying neighboring domains and 944 inter-domain TE link resolution. 946 Client's Merged TE Topology 2 948 /---\ +------------+ +------------+ /---\ 949 |s3 |------| |------| |------|C21| 950 \---/ | | | | \---/ 951 | | | | 952 | | | | 953 | | | | /---\ 954 | AN11 |------| AN21 |------|C22| 955 | | | | \---/ 956 | | | | 957 | | | | 958 /---\ | | | | /---\ 959 |C12|------| |------| |------|C23| 960 \---/ +------------+ +------------+ \---/ 962 Client's Merged TE Topology 3 964 /---\ +------------+ +---+ +---+ /---\ 965 |s3 |------| |------|S23|----|S25|------|C21| 966 \---/ | | +---+ /+---+ \---/ 967 | | / 968 | | / 969 | | +---+/ +---+ /---\ 970 | AN11 |------|S24| |S28|------|C22| 971 | | +---+\ /+---+ \---/ 972 | | \/ 973 | | /\ 974 /---\ | | +---+/ \+---+ /---\ 975 |C12|------| |------|S29|----|S27|------|C23| 976 \---/ +------------+ +---+ +---+ \---/ 978 Figure 11: Multiple Native (Merged) Client's TE Topologies 980 It is important to note that each of the three native (merged) TE 981 topologies could be used by the client for computing TE paths for any 982 of the multi-domain services. The choice as to which topology to use 983 for a given service depends on the service parameters/requirements 984 and the topology's style, optimization criteria and the level of 985 details. 987 5. Modeling Considerations 989 5.1. Network topology building blocks 991 The network topology building blocks are discussed in [YANG-NET- 992 TOPO]. The TE Topology model proposed in this document augments and 993 uses the ietf-network-topology module defined in [YANG-NET-TOPO]. 995 +------------------------+ 996 | | 997 | Network Topology Model | 998 | (ietf-network-topology)| 999 +------------------------+ 1000 | 1001 | 1002 | 1003 V 1004 +------------------------+ 1005 | TE Topology | 1006 | Model | 1007 | | 1008 +------------------------+ 1010 Figure 12: Augmenting the Network Topology Model 1012 5.2. Technology agnostic TE Topology model 1014 The TE Topology model proposed in this document is meant to be 1015 network technology agnostic. Other technology specific TE Topology 1016 models can augment and use the building blocks provided by the 1017 proposed model. 1019 +-----------------------------+ 1020 | TE Topology Model | 1021 | (Defined in This Document) | 1022 +-----------------------------+ 1023 | 1024 +-------------+-------------+-------------+ 1025 | | | | 1026 V V V V 1027 +------------+ +------------+ 1028 | Technology | | Technology | 1029 | Specific | ...................... | Specific | 1030 | TE Topology| | TE Topology| 1031 | Model 1 | | Model n | 1032 +------------+ +------------+ 1034 Figure 13: Augmenting the Technology agnostic TE Topology model 1036 5.3. Model Structure 1038 The high-level model structure proposed by this document is as shown 1039 below: 1041 module: ietf-te-topology 1042 augment /nw:networks/nw:network/nw:network-types: 1043 +--rw te-topology! 1045 augment /nw:networks: 1046 +--rw te! 1047 +--rw templates 1048 +--rw node-template* [name] {template}? 1049 | ............ 1050 +--rw link-template* [name] {template}? 1051 ............ 1053 augment /nw:networks/nw:network: 1054 +--rw provider-id? te-types:te-global-id 1055 +--rw client-id? te-types:te-global-id 1056 +--rw te-topology-id? te-types:te-topology-id 1057 +--rw te! 1058 +--rw config 1059 | ............ 1060 +--ro state 1061 ............ 1063 augment /nw:networks/nw:network/nw:node: 1064 +--rw te-node-id? te-types:te-node-id 1065 +--rw te! 1066 +--rw config 1067 | ............ 1068 +--ro state 1069 | ............ 1070 +--rw tunnel-termination-point* [tunnel-tp-id] 1071 +--rw tunnel-tp-id binary 1072 +--rw config 1073 | ............ 1074 +--ro state 1076 augment /nw:networks/nw:network/nt:link: 1077 +--rw te! 1078 +--rw config 1079 | .......... 1080 +--ro state 1081 .......... 1083 augment /nw:networks/nw:network/nw:node/nt:termination-point: 1084 +--rw te-tp-id? te-types:te-tp-id 1085 +--rw te! 1086 +--rw config 1087 | ............ 1088 +--ro state 1089 ............ 1091 5.4. Topology Identifiers 1093 The TE-Topology is uniquely identified by a key that has 3 1094 constituents - te-topology-id, provider-id and client-id. The 1095 combination of provider-id and te-topology-id uniquely identifies a 1096 native TE Topology on a given provider. The client-id is used only 1097 when Customized TE Topologies come into play; a value of "0" is used 1098 as the client-id for native TE Topologies. 1100 augment /nw:networks/nw:network: 1101 +--rw te! 1102 +--rw provider-id te-global-id 1103 +--rw client-id te-global-id 1104 +--rw te-topology-id te-topology-id 1106 5.5. Generic TE Link Attributes 1108 The model covers the definitions for generic TE Link attributes - 1109 bandwidth, admin groups, SRLGs, switching capabilities, TE metric 1110 extensions etc. 1112 +--rw te-link-attributes 1113 ..................... 1114 +--rw admin-status? te-admin-status 1115 | ..................... 1116 +--rw link-index? uint64 1117 +--rw administrative-group? te-types:admin-groups 1118 +--rw link-protection-type? enumeration 1119 +--rw max-link-bandwidth? te-bandwidth 1120 +--rw max-resv-link-bandwidth? te-bandwidth 1121 +--rw unreserved-bandwidth* [priority] 1122 | ..................... 1123 +--rw te-default-metric? uint32 1124 | ..................... 1125 +--rw te-srlgs 1126 +--rw te-nsrlgs {nsrlg}? ..................... 1128 5.6. Generic TE Node Attributes 1130 The model covers the definitions for generic TE Node attributes. 1132 The definition of a generic connectivity matrix is shown below: 1134 +--rw te-node-attributes 1135 ........... 1136 +--rw connectivity-matrices 1137 ........... 1138 | +--rw connectivity-matrix* [id] 1139 | | +--rw id uint32 1140 | | +--rw from 1141 | | | +--rw tp-ref? leafref 1142 | | +--rw to 1143 | | | +--rw tp-ref? leafref 1144 | | +--rw is-allowed? boolean 1145 | | +--rw label-restriction* [inclusive-exclusive label-start] 1146 ........... 1147 | | +--rw underlay! {te-topology-hierarchy}? 1148 ........... 1149 | | +--rw max-link-bandwidth? te-bandwidth 1150 | | +--rw max-resv-link-bandwidth? te-bandwidth 1151 | | +--rw unreserved-bandwidth* [priority] 1152 ........... 1153 | | +--rw te-default-metric? uint32 1154 | | +--rw te-delay-metric? uint32 1155 | | +--rw te-srlgs 1156 | | +--rw te-nsrlgs {nsrlg}? ...........The definition of 1157 a TTP Local Link Connectivity List is shown below: 1159 +--rw tunnel-termination-point* [tunnel-tp-id] 1160 +--rw tunnel-tp-id binary 1161 +--rw config 1162 | +--rw switching-capability? identityref 1163 | +--rw encoding? identityref 1164 | +--rw inter-layer-lock-id? uint32 1165 | +--rw protection-type? identityref 1166 | +--rw local-link-connectivities 1167 ........... 1168 | +--rw local-link-connectivity* [link-tp-ref] 1169 | +--rw link-tp-ref leafref 1170 | +--rw label-restriction* [inclusive-exclusive label- 1171 start] 1172 ........... 1173 | +--rw max-lsp-bandwidth* [priority] 1174 ........... 1175 | +--rw max-link-bandwidth? te-bandwidth 1176 | +--rw max-resv-link-bandwidth? te-bandwidth 1177 | +--rw unreserved-bandwidth* [priority] 1178 ........... 1179 | +--rw te-default-metric? uint32 1180 | +--rw te-delay-metric? uint32 1181 | +--rw te-srlgs 1182 | +--rw te-nsrlgs {nsrlg}? 1183 ........... 1184 +--ro state 1185 | +--ro switching-capability? identityref 1186 | +--ro encoding? identityref 1187 | +--ro inter-layer-lock-id? uint32 1188 | +--ro protection-type? identityref 1189 | +--ro local-link-connectivities 1190 ........... 1191 | +--ro local-link-connectivity* [link-tp-ref] 1192 | | +--ro link-tp-ref leafref 1193 | | +--ro label-restriction* [inclusive-exclusive label- 1194 start] 1195 ........... 1196 | | +--ro max-lsp-bandwidth* [priority] 1197 ........... 1198 | | +--ro max-link-bandwidth? te-bandwidth 1199 | | +--ro max-resv-link-bandwidth? te-bandwidth 1200 | | +--ro unreserved-bandwidth* [priority] 1201 ........... 1202 | | +--ro te-default-metric? uint32 1203 | | +--ro te-delay-metric? uint32 1204 | | +--ro te-srlgs 1205 | | +--ro te-nsrlgs {nsrlg}? 1206 ........... 1207 +--rw supporting-tunnel-termination-point* [node-ref tunnel-tp- 1208 ref] 1209 +--rw node-ref union 1210 +--rw tunnel-tp-ref union 1212 The attributes directly under container connectivity-matrices are the 1213 default attributes for all connectivity-matrix entries when the per 1214 entry corresponding attribute is not specified. When a per entry 1215 attribute is specified, it overrides the cooresponding attribute 1216 directly under the container connectivity-matrices. The same rule 1217 applies to the attributes directly under container local-link- 1218 connectivities. 1220 Each TTP (Tunnel Termination Point) MAY be supported by one or more 1221 supporting TTPs. If the TE node hosting the TTP in question refers to 1222 a supporting TE node, then the supporting TTPs are hosted by the 1223 supporting TE node. If the TE node refers to an underlay TE topology, 1224 the supporting TTPs are hosted by one or more specified TE nodes of 1225 the underlay TE topology. 1227 5.7. TED Information Sources 1229 The model allows each TE topological element to have multiple TE 1230 information sources (OSPF-TE, ISIS-TE, BGP-LS, User-Configured, 1231 System-Processed, Other). Each information source is associated with 1232 a credibility preference to indicate precedence. In scenarios where a 1233 customized TE Topology is merged into a Client's native TE Topology, 1234 the merged topological elements would point to the corresponding 1235 customized TE Topology as its information source. 1237 augment /nw:networks/nw:network/nw:node: 1238 +--rw te! 1239 ........... 1240 +--ro state 1241 ........ 1242 | +--ro information-source? te-info-source 1243 | +--ro information-source-state 1244 | | +--ro credibility-preference? uint16 1245 | | +--ro logical-network-element? string 1246 | | +--ro network-instance? string 1247 | | +--ro topology 1248 | | +--ro network-ref? leafref 1249 | | +--ro node-ref? leafref 1250 | +--ro information-source-entry* [information-source] 1251 ............ 1253 augment /nw:networks/nw:network/nt:link: 1254 +--rw te! 1255 ........... 1256 +--ro state 1257 ......... 1258 | +--ro information-source? te-info-source 1259 | +--ro information-source-state 1260 | | +--ro credibility-preference? uint16 1261 | | +--ro logical-network-element? string 1262 | | +--ro network-instance? string 1263 | | +--ro topology 1264 | | +--ro network-ref? leafref 1265 | | +--ro link-ref? leafref 1266 | +--ro information-source-entry* [information-source] 1267 ............ 1269 5.8. Overlay/Underlay Relationship 1271 The model captures overlay and underlay relationship for TE 1272 nodes/links. For example - in networks where multiple TE Topologies 1273 are built hierarchically, this model allows the user to start from a 1274 specific topological element in the top most topology and traverse 1275 all the way down to the supporting topological elements in the bottom 1276 most topology. 1278 This relationship is captured via the "underlay-topology" field for 1279 the node and via the "underlay" field for the link. The use of these 1280 fields is optional and this functionality is tagged as a "feature" 1281 ("te-topology-hierarchy"). 1283 augment /nw:networks/nw:network/nw:node: 1284 +--rw te! 1285 +--rw te-node-id te-node-id 1286 +--rw config 1287 | +--rw te-node-template* leafref {template}? 1288 | +--rw te-node-attributes 1289 | .................... 1290 | +--rw underlay-topology {te-topology-hierarchy}? 1291 | +--rw network-ref? leafref 1293 augment /nw:networks/nw:network/nt:link: 1294 +--rw te! 1295 +--rw config 1296 | ......... 1297 | +--rw te-link-attributes 1298 | .................... 1300 | +--rw underlay! {te-topology-hierarchy}? 1301 | | +--rw primary-path 1302 | | | +--rw network-ref? leafref 1303 | | | +--rw path-element* [path-element-id] 1304 | | | ............... 1305 | | +--rw backup-path* [index] 1306 | | | +--rw index uint32 1307 | | | +--rw network-ref? leafref 1308 | | | +--rw path-element* [path-element-id] 1309 | | | ............... 1310 | | +--rw underlay-protection-type? uint16 1311 | | +--rw underlay-tunnel-src 1312 | | | ........... 1314 | | +--rw underlay-tunnel-des 1315 | | ........... 1317 5.9. Templates 1319 The data model provides the users with the ability to define 1320 templates and apply them to link and node configurations. The use of 1321 "template" configuration is optional and this functionality is tagged 1322 as a "feature" ("template"). 1324 +--rw topology* [provider-id client-id te-topology-id] 1325 | ........... 1326 | +--rw node* [te-node-id] 1327 | | +--rw te-node-template? leafref {template}? 1328 | | .......... 1329 | +--rw link* [source-te-node-id source-te-link-id dest-te-node-id 1330 dest-te-link-id] 1331 | +--rw te-link-template? leafref {template}? 1332 | .......... 1334 augment /nw:networks: 1335 +--rw te! 1336 +--rw templates 1337 +--rw node-template* [name] {template}? 1338 | +--rw name te-types:te-template- 1339 name 1340 | +--rw priority? uint16 1341 | +--rw reference-change-policy? enumeration 1342 | +--rw te-node-attributes 1343 .......... 1344 +--rw link-template* [name] {template}? 1345 +--rw name te-types:te-template- 1346 name 1347 +--rw priority? uint16 1348 +--rw reference-change-policy? enumeration 1349 +--rw te-link-attributes 1350 .......... 1352 Multiple templates can be specified to a configuration element. When 1353 two or more templates specify values for the same configuration 1354 field, the value from the template with the highest priority is used. 1355 The reference-change-policy specifies the action that needs to be 1356 taken when the template changes on a configuration element that has a 1357 reference to this template. The choices of action include taking no 1358 action, rejecting the change to the template and applying the change 1359 to the corresponding configuration. [Editor's Note: The notion of 1360 "templates" has wider applicability. It is possible for this to be 1361 discussed in a separate document.] 1363 5.10. Scheduling Parameters 1365 The model allows time scheduling parameters to be specified for each 1366 topological element or for the topology as a whole. These parameters 1367 allow the provider to present different topological views to the 1368 client at different time slots. The use of "scheduling parameters" is 1369 optional. 1371 The YANG data model for configuration scheduling is defined in [YANG- 1372 SCHEDULE], which allows specifying configuration schedules without 1373 altering this data model. 1375 5.11. Notifications 1377 Notifications are a key component of any topology data model. 1379 [YANG-PUSH] and [RFC5277bis] define a subscription and push mechanism 1380 for YANG datastores. This mechanism currently allows the user to: 1382 - Subscribe notifications on a per client basis 1383 - Specify subtree filters or xpath filters so that only interested 1384 contents will be sent. 1385 - Specify either periodic or on-demand notifications. 1387 6. Tree Structure 1389 module: ietf-te-topology 1390 augment /nw:networks/nw:network/nw:network-types: 1391 +--rw te-topology! 1393 augment /nw:networks: 1394 +--rw te! 1395 +--rw templates 1396 +--rw node-template* [name] {template}? 1397 | +--rw name te-types:te-template- 1398 name 1399 | +--rw priority? uint16 1400 | +--rw reference-change-policy? enumeration 1401 | +--rw te-node-attributes 1402 | +--rw admin-status? te-types:te-admin-status 1403 | +--rw domain-id? uint32 1404 | +--rw is-abstract? empty 1405 | +--rw name? inet:domain-name 1406 | +--rw signaling-address* inet:ip-address 1407 | +--rw underlay-topology {te-topology-hierarchy}? 1408 | +--rw network-ref? leafref 1409 +--rw link-template* [name] {template}? 1410 +--rw name te-types:te-template- 1411 name 1412 +--rw priority? uint16 1413 +--rw reference-change-policy? enumeration 1414 +--rw te-link-attributes 1415 +--rw access-type? te-types:te- 1416 link-access-type 1417 +--rw external-domain 1418 | +--rw network-ref? leafref 1419 | +--rw remote-te-node-id? te-types:te-node-id 1420 | +--rw remote-te-link-tp-id? te-types:te-tp-id 1421 | +--rw plug-id? uint32 1422 +--rw is-abstract? empty 1423 +--rw name? string 1424 +--rw underlay {te-topology-hierarchy}? 1425 | +--rw enabled? boolean 1426 | +--rw primary-path 1427 | | +--rw network-ref? leafref 1428 | | +--rw path-element* [path-element-id] 1429 | | +--rw path-element-id uint32 1430 | | +--rw index? uint32 1431 | | +--rw (type)? 1432 | | +--:(ip-address) 1433 | | | +--rw ip-address-hop 1434 | | | +--rw address? inet:ip-address 1435 | | | +--rw hop-type? te-hop-type 1436 | | +--:(as-number) 1437 | | | +--rw as-number-hop 1438 | | | +--rw as-number? binary 1439 | | | +--rw hop-type? te-hop-type 1440 | | +--:(unnumbered-link) 1441 | | | +--rw unnumbered-hop 1442 | | | +--rw router-id? inet:ip- 1443 address 1444 | | | +--rw interface-id? uint32 1445 | | | +--rw hop-type? te-hop-type 1446 | | +--:(label) 1447 | | | +--rw label-hop 1448 | | | +--rw value? rt-types:generalized- 1449 label 1450 | | +--:(sid) 1451 | | +--rw sid-hop 1452 | | +--rw sid? rt-types:generalized- 1453 label 1454 | +--rw backup-path* [index] 1455 | | +--rw index uint32 1456 | | +--rw network-ref? leafref 1457 | | +--rw path-element* [path-element-id] 1458 | | +--rw path-element-id uint32 1459 | | +--rw index? uint32 1460 | | +--rw (type)? 1461 | | +--:(ip-address) 1462 | | | +--rw ip-address-hop 1463 | | | +--rw address? inet:ip-address 1464 | | | +--rw hop-type? te-hop-type 1465 | | +--:(as-number) 1466 | | | +--rw as-number-hop 1467 | | | +--rw as-number? binary 1468 | | | +--rw hop-type? te-hop-type 1469 | | +--:(unnumbered-link) 1470 | | | +--rw unnumbered-hop 1471 | | | +--rw router-id? inet:ip- 1472 address 1473 | | | +--rw interface-id? uint32 1474 | | | +--rw hop-type? te-hop-type 1475 | | +--:(label) 1476 | | | +--rw label-hop 1477 | | | +--rw value? rt-types:generalized- 1478 label 1479 | | +--:(sid) 1480 | | +--rw sid-hop 1481 | | +--rw sid? rt-types:generalized- 1482 label 1483 | +--rw protection-type? identityref 1484 | +--rw tunnel-termination-points 1485 | | +--rw source? binary 1486 | | +--rw destination? binary 1487 | +--rw tunnels 1488 | +--rw sharing? boolean 1489 | +--rw tunnel* [tunnel-name] 1490 | +--rw tunnel-name string 1491 | +--rw sharing? boolean 1492 +--rw admin-status? te-types:te- 1493 admin-status 1494 +--rw link-index? uint64 1495 +--rw administrative-group? te- 1496 types:admin-groups 1497 +--rw interface-switching-capability* [switching- 1498 capability encoding] 1499 | +--rw switching-capability identityref 1500 | +--rw encoding identityref 1501 | +--rw max-lsp-bandwidth* [priority] 1502 | +--rw priority uint8 1503 | +--rw bandwidth? te-bandwidth 1504 +--rw link-protection-type? enumeration 1505 +--rw max-link-bandwidth? te-bandwidth 1506 +--rw max-resv-link-bandwidth? te-bandwidth 1507 +--rw unreserved-bandwidth* [priority] 1508 | +--rw priority uint8 1509 | +--rw bandwidth? te-bandwidth 1510 +--rw te-default-metric? uint32 1511 +--rw te-delay-metric? uint32 1512 +--rw te-srlgs 1513 | +--rw value* te-types:srlg 1514 +--rw te-nsrlgs {nsrlg}? 1515 +--rw id* uint32 1516 augment /nw:networks/nw:network: 1517 +--rw provider-id? te-types:te-global-id 1518 +--rw client-id? te-types:te-global-id 1519 +--rw te-topology-id? te-types:te-topology-id 1520 +--rw te! 1521 +--rw config 1522 | +--rw preference? uint8 1523 | +--rw optimization-criterion? identityref 1524 | +--rw nsrlg* [id] {nsrlg}? 1525 | +--rw id uint32 1526 | +--rw disjointness? te-path-disjointness 1527 +--ro state 1528 +--ro preference? uint8 1529 +--ro optimization-criterion? identityref 1530 +--ro nsrlg* [id] {nsrlg}? 1531 | +--ro id uint32 1532 | +--ro disjointness? te-path-disjointness 1533 +--ro geolocation 1534 +--ro altitude? int64 1535 +--ro latitude? geographic-coordinate-degree 1536 +--ro longitude? geographic-coordinate-degree 1537 augment /nw:networks/nw:network/nw:node: 1538 +--rw te-node-id? te-types:te-node-id 1539 +--rw te! 1540 +--rw config 1541 | +--rw te-node-template* leafref {template}? 1542 | +--rw te-node-attributes 1543 | +--rw admin-status? te-types:te-admin-status 1544 | +--rw connectivity-matrices 1545 | | +--rw number-of-entries? uint16 1546 | | +--rw label-restriction* [inclusive-exclusive label- 1547 start] 1548 | | | +--rw inclusive-exclusive enumeration 1549 | | | +--rw label-start rt-types:generalized- 1550 label 1551 | | | +--rw label-end? rt-types:generalized- 1552 label 1553 | | | +--rw range-bitmap? binary 1554 | | +--rw is-allowed? boolean 1555 | | +--rw underlay {te-topology-hierarchy}? 1556 | | | +--rw enabled? boolean 1557 | | | +--rw primary-path 1558 | | | | +--rw network-ref? leafref 1559 | | | | +--rw path-element* [path-element-id] 1560 | | | | +--rw path-element-id uint32 1561 | | | | +--rw index? uint32 1562 | | | | +--rw (type)? 1563 | | | | +--:(ip-address) 1564 | | | | | +--rw ip-address-hop 1565 | | | | | +--rw address? inet:ip-address 1566 | | | | | +--rw hop-type? te-hop-type 1567 | | | | +--:(as-number) 1568 | | | | | +--rw as-number-hop 1569 | | | | | +--rw as-number? binary 1570 | | | | | +--rw hop-type? te-hop-type 1571 | | | | +--:(unnumbered-link) 1572 | | | | | +--rw unnumbered-hop 1573 | | | | | +--rw router-id? inet:ip- 1574 address 1575 | | | | | +--rw interface-id? uint32 1576 | | | | | +--rw hop-type? te-hop-type 1577 | | | | +--:(label) 1578 | | | | | +--rw label-hop 1579 | | | | | +--rw value? rt-types:generalized- 1580 label 1581 | | | | +--:(sid) 1582 | | | | +--rw sid-hop 1583 | | | | +--rw sid? rt-types:generalized- 1584 label 1585 | | | +--rw backup-path* [index] 1586 | | | | +--rw index uint32 1587 | | | | +--rw network-ref? leafref 1588 | | | | +--rw path-element* [path-element-id] 1589 | | | | +--rw path-element-id uint32 1590 | | | | +--rw index? uint32 1591 | | | | +--rw (type)? 1592 | | | | +--:(ip-address) 1593 | | | | | +--rw ip-address-hop 1594 | | | | | +--rw address? inet:ip-address 1595 | | | | | +--rw hop-type? te-hop-type 1596 | | | | +--:(as-number) 1597 | | | | | +--rw as-number-hop 1598 | | | | | +--rw as-number? binary 1599 | | | | | +--rw hop-type? te-hop-type 1600 | | | | +--:(unnumbered-link) 1601 | | | | | +--rw unnumbered-hop 1602 | | | | | +--rw router-id? inet:ip- 1603 address 1604 | | | | | +--rw interface-id? uint32 1605 | | | | | +--rw hop-type? te-hop-type 1606 | | | | +--:(label) 1607 | | | | | +--rw label-hop 1608 | | | | | +--rw value? rt-types:generalized- 1609 label 1610 | | | | +--:(sid) 1611 | | | | +--rw sid-hop 1612 | | | | +--rw sid? rt-types:generalized- 1613 label 1614 | | | +--rw protection-type? identityref 1615 | | | +--rw tunnel-termination-points 1616 | | | | +--rw source? binary 1617 | | | | +--rw destination? binary 1618 | | | +--rw tunnels 1619 | | | +--rw sharing? boolean 1620 | | | +--rw tunnel* [tunnel-name] 1621 | | | +--rw tunnel-name string 1622 | | | +--rw sharing? boolean 1623 | | +--rw max-lsp-bandwidth* [priority] 1624 | | | +--rw priority uint8 1625 | | | +--rw bandwidth? te-bandwidth 1626 | | +--rw max-link-bandwidth? te-bandwidth 1627 | | +--rw max-resv-link-bandwidth? te-bandwidth 1628 | | +--rw unreserved-bandwidth* [priority] 1629 | | | +--rw priority uint8 1630 | | | +--rw bandwidth? te-bandwidth 1631 | | +--rw te-default-metric? uint32 1632 | | +--rw te-delay-metric? uint32 1633 | | +--rw te-srlgs 1634 | | | +--rw value* te-types:srlg 1635 | | +--rw te-nsrlgs {nsrlg}? 1636 | | | +--rw id* uint32 1637 | | +--rw connectivity-matrix* [id] 1638 | | +--rw id uint32 1639 | | +--rw from 1640 | | | +--rw tp-ref? leafref 1641 | | | +--rw label-restriction* [inclusive-exclusive 1642 label-start] 1643 | | | +--rw inclusive-exclusive enumeration 1644 | | | +--rw label-start rt- 1645 types:generalized-label 1646 | | | +--rw label-end? rt- 1647 types:generalized-label 1648 | | | +--rw range-bitmap? binary 1649 | | +--rw to 1650 | | | +--rw tp-ref? leafref 1651 | | | +--rw label-restriction* [inclusive-exclusive 1652 label-start] 1653 | | | +--rw inclusive-exclusive enumeration 1654 | | | +--rw label-start rt- 1655 types:generalized-label 1656 | | | +--rw label-end? rt- 1657 types:generalized-label 1658 | | | +--rw range-bitmap? binary 1659 | | +--rw is-allowed? boolean 1660 | | +--rw underlay {te-topology-hierarchy}? 1661 | | | +--rw enabled? boolean 1662 | | | +--rw primary-path 1663 | | | | +--rw network-ref? leafref 1664 | | | | +--rw path-element* [path-element-id] 1665 | | | | +--rw path-element-id uint32 1666 | | | | +--rw index? uint32 1667 | | | | +--rw (type)? 1668 | | | | +--:(ip-address) 1669 | | | | | +--rw ip-address-hop 1670 | | | | | +--rw address? inet:ip-address 1671 | | | | | +--rw hop-type? te-hop-type 1672 | | | | +--:(as-number) 1673 | | | | | +--rw as-number-hop 1674 | | | | | +--rw as-number? binary 1675 | | | | | +--rw hop-type? te-hop-type 1676 | | | | +--:(unnumbered-link) 1677 | | | | | +--rw unnumbered-hop 1678 | | | | | +--rw router-id? inet:ip- 1679 address 1680 | | | | | +--rw interface-id? uint32 1681 | | | | | +--rw hop-type? te-hop-type 1682 | | | | +--:(label) 1683 | | | | | +--rw label-hop 1684 | | | | | +--rw value? rt- 1685 types:generalized-label 1686 | | | | +--:(sid) 1687 | | | | +--rw sid-hop 1688 | | | | +--rw sid? rt- 1689 types:generalized-label 1690 | | | +--rw backup-path* [index] 1691 | | | | +--rw index uint32 1692 | | | | +--rw network-ref? leafref 1693 | | | | +--rw path-element* [path-element-id] 1694 | | | | +--rw path-element-id uint32 1695 | | | | +--rw index? uint32 1696 | | | | +--rw (type)? 1697 | | | | +--:(ip-address) 1698 | | | | | +--rw ip-address-hop 1699 | | | | | +--rw address? inet:ip-address 1700 | | | | | +--rw hop-type? te-hop-type 1701 | | | | +--:(as-number) 1702 | | | | | +--rw as-number-hop 1703 | | | | | +--rw as-number? binary 1704 | | | | | +--rw hop-type? te-hop-type 1705 | | | | +--:(unnumbered-link) 1706 | | | | | +--rw unnumbered-hop 1707 | | | | | +--rw router-id? inet:ip- 1708 address 1709 | | | | | +--rw interface-id? uint32 1710 | | | | | +--rw hop-type? te-hop-type 1711 | | | | +--:(label) 1712 | | | | | +--rw label-hop 1713 | | | | | +--rw value? rt- 1714 types:generalized-label 1715 | | | | +--:(sid) 1716 | | | | +--rw sid-hop 1717 | | | | +--rw sid? rt- 1718 types:generalized-label 1719 | | | +--rw protection-type? identityref 1720 | | | +--rw tunnel-termination-points 1721 | | | | +--rw source? binary 1722 | | | | +--rw destination? binary 1723 | | | +--rw tunnels 1724 | | | +--rw sharing? boolean 1725 | | | +--rw tunnel* [tunnel-name] 1726 | | | +--rw tunnel-name string 1727 | | | +--rw sharing? boolean 1728 | | +--rw max-lsp-bandwidth* [priority] 1729 | | | +--rw priority uint8 1730 | | | +--rw bandwidth? te-bandwidth 1731 | | +--rw max-link-bandwidth? te-bandwidth 1732 | | +--rw max-resv-link-bandwidth? te-bandwidth 1733 | | +--rw unreserved-bandwidth* [priority] 1734 | | | +--rw priority uint8 1735 | | | +--rw bandwidth? te-bandwidth 1736 | | +--rw te-default-metric? uint32 1737 | | +--rw te-delay-metric? uint32 1738 | | +--rw te-srlgs 1739 | | | +--rw value* te-types:srlg 1740 | | +--rw te-nsrlgs {nsrlg}? 1741 | | +--rw id* uint32 1742 | +--rw domain-id? uint32 1743 | +--rw is-abstract? empty 1744 | +--rw name? inet:domain-name 1745 | +--rw signaling-address* inet:ip-address 1746 | +--rw underlay-topology {te-topology-hierarchy}? 1747 | +--rw network-ref? leafref 1748 +--ro state 1749 | +--ro te-node-template* leafref {template}? 1750 | +--ro te-node-attributes 1751 | | +--ro admin-status? te-types:te-admin-status 1752 | | +--ro connectivity-matrices 1753 | | | +--ro number-of-entries? uint16 1754 | | | +--ro label-restriction* [inclusive-exclusive label- 1755 start] 1756 | | | | +--ro inclusive-exclusive enumeration 1757 | | | | +--ro label-start rt-types:generalized- 1758 label 1759 | | | | +--ro label-end? rt-types:generalized- 1760 label 1761 | | | | +--ro range-bitmap? binary 1762 | | | +--ro is-allowed? boolean 1763 | | | +--ro underlay {te-topology-hierarchy}? 1764 | | | | +--ro enabled? boolean 1765 | | | | +--ro primary-path 1766 | | | | | +--ro network-ref? leafref 1767 | | | | | +--ro path-element* [path-element-id] 1768 | | | | | +--ro path-element-id uint32 1769 | | | | | +--ro index? uint32 1770 | | | | | +--ro (type)? 1771 | | | | | +--:(ip-address) 1772 | | | | | | +--ro ip-address-hop 1773 | | | | | | +--ro address? inet:ip-address 1774 | | | | | | +--ro hop-type? te-hop-type 1775 | | | | | +--:(as-number) 1776 | | | | | | +--ro as-number-hop 1777 | | | | | | +--ro as-number? binary 1778 | | | | | | +--ro hop-type? te-hop-type 1779 | | | | | +--:(unnumbered-link) 1780 | | | | | | +--ro unnumbered-hop 1781 | | | | | | +--ro router-id? inet:ip- 1782 address 1783 | | | | | | +--ro interface-id? uint32 1784 | | | | | | +--ro hop-type? te-hop-type 1785 | | | | | +--:(label) 1786 | | | | | | +--ro label-hop 1787 | | | | | | +--ro value? rt-types:generalized- 1788 label 1789 | | | | | +--:(sid) 1790 | | | | | +--ro sid-hop 1791 | | | | | +--ro sid? rt-types:generalized- 1792 label 1793 | | | | +--ro backup-path* [index] 1794 | | | | | +--ro index uint32 1795 | | | | | +--ro network-ref? leafref 1796 | | | | | +--ro path-element* [path-element-id] 1797 | | | | | +--ro path-element-id uint32 1798 | | | | | +--ro index? uint32 1799 | | | | | +--ro (type)? 1800 | | | | | +--:(ip-address) 1801 | | | | | | +--ro ip-address-hop 1802 | | | | | | +--ro address? inet:ip-address 1803 | | | | | | +--ro hop-type? te-hop-type 1804 | | | | | +--:(as-number) 1805 | | | | | | +--ro as-number-hop 1806 | | | | | | +--ro as-number? binary 1807 | | | | | | +--ro hop-type? te-hop-type 1808 | | | | | +--:(unnumbered-link) 1809 | | | | | | +--ro unnumbered-hop 1810 | | | | | | +--ro router-id? inet:ip- 1811 address 1812 | | | | | | +--ro interface-id? uint32 1813 | | | | | | +--ro hop-type? te-hop-type 1814 | | | | | +--:(label) 1815 | | | | | | +--ro label-hop 1816 | | | | | | +--ro value? rt-types:generalized- 1817 label 1818 | | | | | +--:(sid) 1819 | | | | | +--ro sid-hop 1820 | | | | | +--ro sid? rt-types:generalized- 1821 label 1822 | | | | +--ro protection-type? identityref 1823 | | | | +--ro tunnel-termination-points 1824 | | | | | +--ro source? binary 1825 | | | | | +--ro destination? binary 1826 | | | | +--ro tunnels 1827 | | | | +--ro sharing? boolean 1828 | | | | +--ro tunnel* [tunnel-name] 1829 | | | | +--ro tunnel-name string 1830 | | | | +--ro sharing? boolean 1831 | | | +--ro max-lsp-bandwidth* [priority] 1832 | | | | +--ro priority uint8 1833 | | | | +--ro bandwidth? te-bandwidth 1834 | | | +--ro max-link-bandwidth? te-bandwidth 1835 | | | +--ro max-resv-link-bandwidth? te-bandwidth 1836 | | | +--ro unreserved-bandwidth* [priority] 1837 | | | | +--ro priority uint8 1838 | | | | +--ro bandwidth? te-bandwidth 1839 | | | +--ro te-default-metric? uint32 1840 | | | +--ro te-delay-metric? uint32 1841 | | | +--ro te-srlgs 1842 | | | | +--ro value* te-types:srlg 1843 | | | +--ro te-nsrlgs {nsrlg}? 1844 | | | | +--ro id* uint32 1845 | | | +--ro connectivity-matrix* [id] 1846 | | | +--ro id uint32 1847 | | | +--ro from 1848 | | | | +--ro tp-ref? leafref 1849 | | | | +--ro label-restriction* [inclusive-exclusive 1850 label-start] 1851 | | | | +--ro inclusive-exclusive enumeration 1852 | | | | +--ro label-start rt- 1853 types:generalized-label 1854 | | | | +--ro label-end? rt- 1855 types:generalized-label 1856 | | | | +--ro range-bitmap? binary 1857 | | | +--ro to 1858 | | | | +--ro tp-ref? leafref 1859 | | | | +--ro label-restriction* [inclusive-exclusive 1860 label-start] 1861 | | | | +--ro inclusive-exclusive enumeration 1862 | | | | +--ro label-start rt- 1863 types:generalized-label 1864 | | | | +--ro label-end? rt- 1865 types:generalized-label 1866 | | | | +--ro range-bitmap? binary 1867 | | | +--ro is-allowed? boolean 1868 | | | +--ro underlay {te-topology-hierarchy}? 1869 | | | | +--ro enabled? boolean 1870 | | | | +--ro primary-path 1871 | | | | | +--ro network-ref? leafref 1872 | | | | | +--ro path-element* [path-element-id] 1873 | | | | | +--ro path-element-id uint32 1874 | | | | | +--ro index? uint32 1875 | | | | | +--ro (type)? 1876 | | | | | +--:(ip-address) 1877 | | | | | | +--ro ip-address-hop 1878 | | | | | | +--ro address? inet:ip-address 1879 | | | | | | +--ro hop-type? te-hop-type 1880 | | | | | +--:(as-number) 1881 | | | | | | +--ro as-number-hop 1882 | | | | | | +--ro as-number? binary 1883 | | | | | | +--ro hop-type? te-hop-type 1884 | | | | | +--:(unnumbered-link) 1885 | | | | | | +--ro unnumbered-hop 1886 | | | | | | +--ro router-id? inet:ip- 1887 address 1888 | | | | | | +--ro interface-id? uint32 1889 | | | | | | +--ro hop-type? te-hop-type 1890 | | | | | +--:(label) 1891 | | | | | | +--ro label-hop 1892 | | | | | | +--ro value? rt- 1893 types:generalized-label 1894 | | | | | +--:(sid) 1895 | | | | | +--ro sid-hop 1896 | | | | | +--ro sid? rt- 1897 types:generalized-label 1898 | | | | +--ro backup-path* [index] 1899 | | | | | +--ro index uint32 1900 | | | | | +--ro network-ref? leafref 1901 | | | | | +--ro path-element* [path-element-id] 1902 | | | | | +--ro path-element-id uint32 1903 | | | | | +--ro index? uint32 1904 | | | | | +--ro (type)? 1905 | | | | | +--:(ip-address) 1906 | | | | | | +--ro ip-address-hop 1907 | | | | | | +--ro address? inet:ip-address 1908 | | | | | | +--ro hop-type? te-hop-type 1909 | | | | | +--:(as-number) 1910 | | | | | | +--ro as-number-hop 1911 | | | | | | +--ro as-number? binary 1912 | | | | | | +--ro hop-type? te-hop-type 1913 | | | | | +--:(unnumbered-link) 1914 | | | | | | +--ro unnumbered-hop 1915 | | | | | | +--ro router-id? inet:ip- 1916 address 1917 | | | | | | +--ro interface-id? uint32 1918 | | | | | | +--ro hop-type? te-hop-type 1919 | | | | | +--:(label) 1920 | | | | | | +--ro label-hop 1921 | | | | | | +--ro value? rt- 1922 types:generalized-label 1923 | | | | | +--:(sid) 1924 | | | | | +--ro sid-hop 1925 | | | | | +--ro sid? rt- 1926 types:generalized-label 1927 | | | | +--ro protection-type? identityref 1928 | | | | +--ro tunnel-termination-points 1929 | | | | | +--ro source? binary 1930 | | | | | +--ro destination? binary 1931 | | | | +--ro tunnels 1932 | | | | +--ro sharing? boolean 1933 | | | | +--ro tunnel* [tunnel-name] 1934 | | | | +--ro tunnel-name string 1935 | | | | +--ro sharing? boolean 1936 | | | +--ro max-lsp-bandwidth* [priority] 1937 | | | | +--ro priority uint8 1938 | | | | +--ro bandwidth? te-bandwidth 1939 | | | +--ro max-link-bandwidth? te-bandwidth 1940 | | | +--ro max-resv-link-bandwidth? te-bandwidth 1941 | | | +--ro unreserved-bandwidth* [priority] 1942 | | | | +--ro priority uint8 1943 | | | | +--ro bandwidth? te-bandwidth 1944 | | | +--ro te-default-metric? uint32 1945 | | | +--ro te-delay-metric? uint32 1946 | | | +--ro te-srlgs 1947 | | | | +--ro value* te-types:srlg 1948 | | | +--ro te-nsrlgs {nsrlg}? 1949 | | | +--ro id* uint32 1950 | | +--ro domain-id? uint32 1951 | | +--ro is-abstract? empty 1952 | | +--ro name? inet:domain-name 1953 | | +--ro signaling-address* inet:ip-address 1954 | | +--ro underlay-topology {te-topology-hierarchy}? 1955 | | +--ro network-ref? leafref 1956 | +--ro oper-status? te-types:te-oper-status 1957 | +--ro geolocation 1958 | | +--ro altitude? int64 1959 | | +--ro latitude? geographic-coordinate-degree 1960 | | +--ro longitude? geographic-coordinate-degree 1961 | +--ro is-multi-access-dr? empty 1962 | +--ro information-source? te-info-source 1963 | +--ro information-source-state 1964 | | +--ro credibility-preference? uint16 1965 | | +--ro logical-network-element? string 1966 | | +--ro network-instance? string 1967 | | +--ro topology 1968 | | +--ro network-ref? leafref 1969 | | +--ro node-ref? leafref 1970 | +--ro information-source-entry* [information-source] 1971 | +--ro information-source te-info-source 1972 | +--ro information-source-state 1973 | | +--ro credibility-preference? uint16 1974 | | +--ro logical-network-element? string 1975 | | +--ro network-instance? string 1976 | | +--ro topology 1977 | | +--ro network-ref? leafref 1978 | | +--ro node-ref? leafref 1979 | +--ro connectivity-matrices 1980 | | +--ro number-of-entries? uint16 1981 | | +--ro label-restriction* [inclusive-exclusive label- 1982 start] 1983 | | | +--ro inclusive-exclusive enumeration 1984 | | | +--ro label-start rt-types:generalized- 1985 label 1986 | | | +--ro label-end? rt-types:generalized- 1987 label 1988 | | | +--ro range-bitmap? binary 1989 | | +--ro is-allowed? boolean 1990 | | +--ro underlay {te-topology-hierarchy}? 1991 | | | +--ro enabled? boolean 1992 | | | +--ro primary-path 1993 | | | | +--ro network-ref? leafref 1994 | | | | +--ro path-element* [path-element-id] 1995 | | | | +--ro path-element-id uint32 1996 | | | | +--ro index? uint32 1997 | | | | +--ro (type)? 1998 | | | | +--:(ip-address) 1999 | | | | | +--ro ip-address-hop 2000 | | | | | +--ro address? inet:ip-address 2001 | | | | | +--ro hop-type? te-hop-type 2002 | | | | +--:(as-number) 2003 | | | | | +--ro as-number-hop 2004 | | | | | +--ro as-number? binary 2005 | | | | | +--ro hop-type? te-hop-type 2006 | | | | +--:(unnumbered-link) 2007 | | | | | +--ro unnumbered-hop 2008 | | | | | +--ro router-id? inet:ip- 2009 address 2010 | | | | | +--ro interface-id? uint32 2011 | | | | | +--ro hop-type? te-hop-type 2012 | | | | +--:(label) 2013 | | | | | +--ro label-hop 2014 | | | | | +--ro value? rt-types:generalized- 2015 label 2016 | | | | +--:(sid) 2017 | | | | +--ro sid-hop 2018 | | | | +--ro sid? rt-types:generalized- 2019 label 2020 | | | +--ro backup-path* [index] 2021 | | | | +--ro index uint32 2022 | | | | +--ro network-ref? leafref 2023 | | | | +--ro path-element* [path-element-id] 2024 | | | | +--ro path-element-id uint32 2025 | | | | +--ro index? uint32 2026 | | | | +--ro (type)? 2027 | | | | +--:(ip-address) 2028 | | | | | +--ro ip-address-hop 2029 | | | | | +--ro address? inet:ip-address 2030 | | | | | +--ro hop-type? te-hop-type 2031 | | | | +--:(as-number) 2032 | | | | | +--ro as-number-hop 2033 | | | | | +--ro as-number? binary 2034 | | | | | +--ro hop-type? te-hop-type 2035 | | | | +--:(unnumbered-link) 2036 | | | | | +--ro unnumbered-hop 2037 | | | | | +--ro router-id? inet:ip- 2038 address 2039 | | | | | +--ro interface-id? uint32 2040 | | | | | +--ro hop-type? te-hop-type 2041 | | | | +--:(label) 2042 | | | | | +--ro label-hop 2043 | | | | | +--ro value? rt-types:generalized- 2044 label 2045 | | | | +--:(sid) 2046 | | | | +--ro sid-hop 2047 | | | | +--ro sid? rt-types:generalized- 2048 label 2049 | | | +--ro protection-type? identityref 2050 | | | +--ro tunnel-termination-points 2051 | | | | +--ro source? binary 2052 | | | | +--ro destination? binary 2053 | | | +--ro tunnels 2054 | | | +--ro sharing? boolean 2055 | | | +--ro tunnel* [tunnel-name] 2056 | | | +--ro tunnel-name string 2057 | | | +--ro sharing? boolean 2058 | | +--ro max-lsp-bandwidth* [priority] 2059 | | | +--ro priority uint8 2060 | | | +--ro bandwidth? te-bandwidth 2061 | | +--ro max-link-bandwidth? te-bandwidth 2062 | | +--ro max-resv-link-bandwidth? te-bandwidth 2063 | | +--ro unreserved-bandwidth* [priority] 2064 | | | +--ro priority uint8 2065 | | | +--ro bandwidth? te-bandwidth 2066 | | +--ro te-default-metric? uint32 2067 | | +--ro te-delay-metric? uint32 2068 | | +--ro te-srlgs 2069 | | | +--ro value* te-types:srlg 2070 | | +--ro te-nsrlgs {nsrlg}? 2071 | | | +--ro id* uint32 2072 | | +--ro connectivity-matrix* [id] 2073 | | +--ro id uint32 2074 | | +--ro from 2075 | | | +--ro tp-ref? leafref 2076 | | | +--ro label-restriction* [inclusive-exclusive 2077 label-start] 2078 | | | +--ro inclusive-exclusive enumeration 2079 | | | +--ro label-start rt- 2080 types:generalized-label 2081 | | | +--ro label-end? rt- 2082 types:generalized-label 2083 | | | +--ro range-bitmap? binary 2084 | | +--ro to 2085 | | | +--ro tp-ref? leafref 2086 | | | +--ro label-restriction* [inclusive-exclusive 2087 label-start] 2088 | | | +--ro inclusive-exclusive enumeration 2089 | | | +--ro label-start rt- 2090 types:generalized-label 2091 | | | +--ro label-end? rt- 2092 types:generalized-label 2093 | | | +--ro range-bitmap? binary 2094 | | +--ro is-allowed? boolean 2095 | | +--ro underlay {te-topology-hierarchy}? 2096 | | | +--ro enabled? boolean 2097 | | | +--ro primary-path 2098 | | | | +--ro network-ref? leafref 2099 | | | | +--ro path-element* [path-element-id] 2100 | | | | +--ro path-element-id uint32 2101 | | | | +--ro index? uint32 2102 | | | | +--ro (type)? 2103 | | | | +--:(ip-address) 2104 | | | | | +--ro ip-address-hop 2105 | | | | | +--ro address? inet:ip-address 2106 | | | | | +--ro hop-type? te-hop-type 2107 | | | | +--:(as-number) 2108 | | | | | +--ro as-number-hop 2109 | | | | | +--ro as-number? binary 2110 | | | | | +--ro hop-type? te-hop-type 2111 | | | | +--:(unnumbered-link) 2112 | | | | | +--ro unnumbered-hop 2113 | | | | | +--ro router-id? inet:ip- 2114 address 2115 | | | | | +--ro interface-id? uint32 2116 | | | | | +--ro hop-type? te-hop-type 2117 | | | | +--:(label) 2118 | | | | | +--ro label-hop 2119 | | | | | +--ro value? rt- 2120 types:generalized-label 2121 | | | | +--:(sid) 2122 | | | | +--ro sid-hop 2123 | | | | +--ro sid? rt- 2124 types:generalized-label 2125 | | | +--ro backup-path* [index] 2126 | | | | +--ro index uint32 2127 | | | | +--ro network-ref? leafref 2128 | | | | +--ro path-element* [path-element-id] 2129 | | | | +--ro path-element-id uint32 2130 | | | | +--ro index? uint32 2131 | | | | +--ro (type)? 2132 | | | | +--:(ip-address) 2133 | | | | | +--ro ip-address-hop 2134 | | | | | +--ro address? inet:ip-address 2135 | | | | | +--ro hop-type? te-hop-type 2136 | | | | +--:(as-number) 2137 | | | | | +--ro as-number-hop 2138 | | | | | +--ro as-number? binary 2139 | | | | | +--ro hop-type? te-hop-type 2140 | | | | +--:(unnumbered-link) 2141 | | | | | +--ro unnumbered-hop 2142 | | | | | +--ro router-id? inet:ip- 2143 address 2144 | | | | | +--ro interface-id? uint32 2145 | | | | | +--ro hop-type? te-hop-type 2146 | | | | +--:(label) 2147 | | | | | +--ro label-hop 2148 | | | | | +--ro value? rt- 2149 types:generalized-label 2150 | | | | +--:(sid) 2151 | | | | +--ro sid-hop 2152 | | | | +--ro sid? rt- 2153 types:generalized-label 2154 | | | +--ro protection-type? identityref 2155 | | | +--ro tunnel-termination-points 2156 | | | | +--ro source? binary 2157 | | | | +--ro destination? binary 2158 | | | +--ro tunnels 2159 | | | +--ro sharing? boolean 2160 | | | +--ro tunnel* [tunnel-name] 2161 | | | +--ro tunnel-name string 2162 | | | +--ro sharing? boolean 2163 | | +--ro max-lsp-bandwidth* [priority] 2164 | | | +--ro priority uint8 2165 | | | +--ro bandwidth? te-bandwidth 2166 | | +--ro max-link-bandwidth? te-bandwidth 2167 | | +--ro max-resv-link-bandwidth? te-bandwidth 2168 | | +--ro unreserved-bandwidth* [priority] 2169 | | | +--ro priority uint8 2170 | | | +--ro bandwidth? te-bandwidth 2171 | | +--ro te-default-metric? uint32 2172 | | +--ro te-delay-metric? uint32 2173 | | +--ro te-srlgs 2174 | | | +--ro value* te-types:srlg 2175 | | +--ro te-nsrlgs {nsrlg}? 2176 | | +--ro id* uint32 2177 | +--ro domain-id? uint32 2178 | +--ro is-abstract? empty 2179 | +--ro name? inet:domain-name 2180 | +--ro signaling-address* inet:ip-address 2181 | +--ro underlay-topology {te-topology-hierarchy}? 2182 | +--ro network-ref? leafref 2183 +--ro statistics 2184 | +--ro discontinuity-time yang:date-and-time 2185 | +--ro node 2186 | | +--ro disables? yang:counter32 2187 | | +--ro enables? yang:counter32 2188 | | +--ro maintenance-sets? yang:counter32 2189 | | +--ro maintenance-clears? yang:counter32 2190 | | +--ro modifies? yang:counter32 2191 | +--ro connectivity-matrix-entry 2192 | +--ro creates? yang:counter32 2193 | +--ro deletes? yang:counter32 2194 | +--ro disables? yang:counter32 2195 | +--ro enables? yang:counter32 2196 | +--ro modifies? yang:counter32 2197 +--rw tunnel-termination-point* [tunnel-tp-id] 2198 +--rw tunnel-tp-id binary 2199 +--rw config 2200 | +--rw admin-status? te-types:te-admin- 2201 status 2202 | +--rw name? string 2203 | +--rw switching-capability? identityref 2204 | +--rw encoding? identityref 2205 | +--rw inter-layer-lock-id* uint32 2206 | +--rw protection-type? identityref 2207 | +--rw client-layer-adaptation 2208 | | +--rw switching-capability* [switching-capability 2209 encoding] 2210 | | +--rw switching-capability identityref 2211 | | +--rw encoding identityref 2212 | | +--rw bandwidth? te-bandwidth 2213 | +--rw local-link-connectivities 2214 | +--rw number-of-entries? uint16 2215 | +--rw label-restriction* [inclusive-exclusive label- 2216 start] 2217 | | +--rw inclusive-exclusive enumeration 2218 | | +--rw label-start rt-types:generalized- 2219 label 2220 | | +--rw label-end? rt-types:generalized- 2221 label 2222 | | +--rw range-bitmap? binary 2223 | +--rw is-allowed? boolean 2224 | +--rw underlay {te-topology-hierarchy}? 2225 | | +--rw enabled? boolean 2226 | | +--rw primary-path 2227 | | | +--rw network-ref? leafref 2228 | | | +--rw path-element* [path-element-id] 2229 | | | +--rw path-element-id uint32 2230 | | | +--rw index? uint32 2231 | | | +--rw (type)? 2232 | | | +--:(ip-address) 2233 | | | | +--rw ip-address-hop 2234 | | | | +--rw address? inet:ip-address 2235 | | | | +--rw hop-type? te-hop-type 2236 | | | +--:(as-number) 2237 | | | | +--rw as-number-hop 2238 | | | | +--rw as-number? binary 2239 | | | | +--rw hop-type? te-hop-type 2240 | | | +--:(unnumbered-link) 2241 | | | | +--rw unnumbered-hop 2242 | | | | +--rw router-id? inet:ip- 2243 address 2244 | | | | +--rw interface-id? uint32 2245 | | | | +--rw hop-type? te-hop-type 2246 | | | +--:(label) 2247 | | | | +--rw label-hop 2248 | | | | +--rw value? rt-types:generalized- 2249 label 2250 | | | +--:(sid) 2251 | | | +--rw sid-hop 2252 | | | +--rw sid? rt-types:generalized- 2253 label 2254 | | +--rw backup-path* [index] 2255 | | | +--rw index uint32 2256 | | | +--rw network-ref? leafref 2257 | | | +--rw path-element* [path-element-id] 2258 | | | +--rw path-element-id uint32 2259 | | | +--rw index? uint32 2260 | | | +--rw (type)? 2261 | | | +--:(ip-address) 2262 | | | | +--rw ip-address-hop 2263 | | | | +--rw address? inet:ip-address 2264 | | | | +--rw hop-type? te-hop-type 2265 | | | +--:(as-number) 2266 | | | | +--rw as-number-hop 2267 | | | | +--rw as-number? binary 2268 | | | | +--rw hop-type? te-hop-type 2269 | | | +--:(unnumbered-link) 2270 | | | | +--rw unnumbered-hop 2271 | | | | +--rw router-id? inet:ip- 2272 address 2273 | | | | +--rw interface-id? uint32 2274 | | | | +--rw hop-type? te-hop-type 2275 | | | +--:(label) 2276 | | | | +--rw label-hop 2277 | | | | +--rw value? rt-types:generalized- 2278 label 2279 | | | +--:(sid) 2280 | | | +--rw sid-hop 2281 | | | +--rw sid? rt-types:generalized- 2282 label 2283 | | +--rw protection-type? identityref 2284 | | +--rw tunnel-termination-points 2285 | | | +--rw source? binary 2286 | | | +--rw destination? binary 2287 | | +--rw tunnels 2288 | | +--rw sharing? boolean 2289 | | +--rw tunnel* [tunnel-name] 2290 | | +--rw tunnel-name string 2291 | | +--rw sharing? boolean 2292 | +--rw max-lsp-bandwidth* [priority] 2293 | | +--rw priority uint8 2294 | | +--rw bandwidth? te-bandwidth 2295 | +--rw max-link-bandwidth? te-bandwidth 2296 | +--rw max-resv-link-bandwidth? te-bandwidth 2297 | +--rw unreserved-bandwidth* [priority] 2298 | | +--rw priority uint8 2299 | | +--rw bandwidth? te-bandwidth 2300 | +--rw te-default-metric? uint32 2301 | +--rw te-delay-metric? uint32 2302 | +--rw te-srlgs 2303 | | +--rw value* te-types:srlg 2304 | +--rw te-nsrlgs {nsrlg}? 2305 | | +--rw id* uint32 2306 | +--rw local-link-connectivity* [link-tp-ref] 2307 | +--rw link-tp-ref leafref 2308 | +--rw label-restriction* [inclusive-exclusive 2309 label-start] 2310 | | +--rw inclusive-exclusive enumeration 2311 | | +--rw label-start rt- 2312 types:generalized-label 2313 | | +--rw label-end? rt- 2314 types:generalized-label 2315 | | +--rw range-bitmap? binary 2316 | +--rw is-allowed? boolean 2317 | +--rw underlay {te-topology-hierarchy}? 2318 | | +--rw enabled? boolean 2319 | | +--rw primary-path 2320 | | | +--rw network-ref? leafref 2321 | | | +--rw path-element* [path-element-id] 2322 | | | +--rw path-element-id uint32 2323 | | | +--rw index? uint32 2324 | | | +--rw (type)? 2325 | | | +--:(ip-address) 2326 | | | | +--rw ip-address-hop 2327 | | | | +--rw address? inet:ip-address 2328 | | | | +--rw hop-type? te-hop-type 2329 | | | +--:(as-number) 2330 | | | | +--rw as-number-hop 2331 | | | | +--rw as-number? binary 2332 | | | | +--rw hop-type? te-hop-type 2333 | | | +--:(unnumbered-link) 2334 | | | | +--rw unnumbered-hop 2335 | | | | +--rw router-id? inet:ip- 2336 address 2337 | | | | +--rw interface-id? uint32 2338 | | | | +--rw hop-type? te-hop-type 2339 | | | +--:(label) 2340 | | | | +--rw label-hop 2341 | | | | +--rw value? rt- 2342 types:generalized-label 2343 | | | +--:(sid) 2344 | | | +--rw sid-hop 2345 | | | +--rw sid? rt- 2346 types:generalized-label 2347 | | +--rw backup-path* [index] 2348 | | | +--rw index uint32 2349 | | | +--rw network-ref? leafref 2350 | | | +--rw path-element* [path-element-id] 2351 | | | +--rw path-element-id uint32 2352 | | | +--rw index? uint32 2353 | | | +--rw (type)? 2354 | | | +--:(ip-address) 2355 | | | | +--rw ip-address-hop 2356 | | | | +--rw address? inet:ip-address 2357 | | | | +--rw hop-type? te-hop-type 2358 | | | +--:(as-number) 2359 | | | | +--rw as-number-hop 2360 | | | | +--rw as-number? binary 2361 | | | | +--rw hop-type? te-hop-type 2362 | | | +--:(unnumbered-link) 2363 | | | | +--rw unnumbered-hop 2364 | | | | +--rw router-id? inet:ip- 2365 address 2366 | | | | +--rw interface-id? uint32 2367 | | | | +--rw hop-type? te-hop-type 2368 | | | +--:(label) 2369 | | | | +--rw label-hop 2370 | | | | +--rw value? rt- 2371 types:generalized-label 2372 | | | +--:(sid) 2373 | | | +--rw sid-hop 2374 | | | +--rw sid? rt- 2375 types:generalized-label 2376 | | +--rw protection-type? identityref 2377 | | +--rw tunnel-termination-points 2378 | | | +--rw source? binary 2379 | | | +--rw destination? binary 2380 | | +--rw tunnels 2381 | | +--rw sharing? boolean 2382 | | +--rw tunnel* [tunnel-name] 2383 | | +--rw tunnel-name string 2384 | | +--rw sharing? boolean 2385 | +--rw max-lsp-bandwidth* [priority] 2386 | | +--rw priority uint8 2387 | | +--rw bandwidth? te-bandwidth 2388 | +--rw max-link-bandwidth? te-bandwidth 2389 | +--rw max-resv-link-bandwidth? te-bandwidth 2390 | +--rw unreserved-bandwidth* [priority] 2391 | | +--rw priority uint8 2392 | | +--rw bandwidth? te-bandwidth 2393 | +--rw te-default-metric? uint32 2394 | +--rw te-delay-metric? uint32 2395 | +--rw te-srlgs 2396 | | +--rw value* te-types:srlg 2397 | +--rw te-nsrlgs {nsrlg}? 2398 | +--rw id* uint32 2399 +--ro state 2400 | +--ro admin-status? te-types:te-admin- 2401 status 2402 | +--ro name? string 2403 | +--ro switching-capability? identityref 2404 | +--ro encoding? identityref 2405 | +--ro inter-layer-lock-id* uint32 2406 | +--ro protection-type? identityref 2407 | +--ro client-layer-adaptation 2408 | | +--ro switching-capability* [switching-capability 2409 encoding] 2410 | | +--ro switching-capability identityref 2411 | | +--ro encoding identityref 2412 | | +--ro bandwidth? te-bandwidth 2413 | +--ro local-link-connectivities 2414 | | +--ro number-of-entries? uint16 2415 | | +--ro label-restriction* [inclusive-exclusive label- 2416 start] 2417 | | | +--ro inclusive-exclusive enumeration 2418 | | | +--ro label-start rt-types:generalized- 2419 label 2420 | | | +--ro label-end? rt-types:generalized- 2421 label 2422 | | | +--ro range-bitmap? binary 2423 | | +--ro is-allowed? boolean 2424 | | +--ro underlay {te-topology-hierarchy}? 2425 | | | +--ro enabled? boolean 2426 | | | +--ro primary-path 2427 | | | | +--ro network-ref? leafref 2428 | | | | +--ro path-element* [path-element-id] 2429 | | | | +--ro path-element-id uint32 2430 | | | | +--ro index? uint32 2431 | | | | +--ro (type)? 2432 | | | | +--:(ip-address) 2433 | | | | | +--ro ip-address-hop 2434 | | | | | +--ro address? inet:ip-address 2435 | | | | | +--ro hop-type? te-hop-type 2436 | | | | +--:(as-number) 2437 | | | | | +--ro as-number-hop 2438 | | | | | +--ro as-number? binary 2439 | | | | | +--ro hop-type? te-hop-type 2440 | | | | +--:(unnumbered-link) 2441 | | | | | +--ro unnumbered-hop 2442 | | | | | +--ro router-id? inet:ip- 2443 address 2444 | | | | | +--ro interface-id? uint32 2445 | | | | | +--ro hop-type? te-hop-type 2446 | | | | +--:(label) 2447 | | | | | +--ro label-hop 2448 | | | | | +--ro value? rt-types:generalized- 2449 label 2450 | | | | +--:(sid) 2451 | | | | +--ro sid-hop 2452 | | | | +--ro sid? rt-types:generalized- 2453 label 2454 | | | +--ro backup-path* [index] 2455 | | | | +--ro index uint32 2456 | | | | +--ro network-ref? leafref 2457 | | | | +--ro path-element* [path-element-id] 2458 | | | | +--ro path-element-id uint32 2459 | | | | +--ro index? uint32 2460 | | | | +--ro (type)? 2461 | | | | +--:(ip-address) 2462 | | | | | +--ro ip-address-hop 2463 | | | | | +--ro address? inet:ip-address 2464 | | | | | +--ro hop-type? te-hop-type 2465 | | | | +--:(as-number) 2466 | | | | | +--ro as-number-hop 2467 | | | | | +--ro as-number? binary 2468 | | | | | +--ro hop-type? te-hop-type 2469 | | | | +--:(unnumbered-link) 2470 | | | | | +--ro unnumbered-hop 2471 | | | | | +--ro router-id? inet:ip- 2472 address 2473 | | | | | +--ro interface-id? uint32 2474 | | | | | +--ro hop-type? te-hop-type 2475 | | | | +--:(label) 2476 | | | | | +--ro label-hop 2477 | | | | | +--ro value? rt-types:generalized- 2478 label 2479 | | | | +--:(sid) 2480 | | | | +--ro sid-hop 2481 | | | | +--ro sid? rt-types:generalized- 2482 label 2483 | | | +--ro protection-type? identityref 2484 | | | +--ro tunnel-termination-points 2485 | | | | +--ro source? binary 2486 | | | | +--ro destination? binary 2487 | | | +--ro tunnels 2488 | | | +--ro sharing? boolean 2489 | | | +--ro tunnel* [tunnel-name] 2490 | | | +--ro tunnel-name string 2491 | | | +--ro sharing? boolean 2492 | | +--ro max-lsp-bandwidth* [priority] 2493 | | | +--ro priority uint8 2494 | | | +--ro bandwidth? te-bandwidth 2495 | | +--ro max-link-bandwidth? te-bandwidth 2496 | | +--ro max-resv-link-bandwidth? te-bandwidth 2497 | | +--ro unreserved-bandwidth* [priority] 2498 | | | +--ro priority uint8 2499 | | | +--ro bandwidth? te-bandwidth 2500 | | +--ro te-default-metric? uint32 2501 | | +--ro te-delay-metric? uint32 2502 | | +--ro te-srlgs 2503 | | | +--ro value* te-types:srlg 2504 | | +--ro te-nsrlgs {nsrlg}? 2505 | | | +--ro id* uint32 2506 | | +--ro local-link-connectivity* [link-tp-ref] 2507 | | +--ro link-tp-ref leafref 2508 | | +--ro label-restriction* [inclusive-exclusive 2509 label-start] 2510 | | | +--ro inclusive-exclusive enumeration 2511 | | | +--ro label-start rt- 2512 types:generalized-label 2513 | | | +--ro label-end? rt- 2514 types:generalized-label 2515 | | | +--ro range-bitmap? binary 2516 | | +--ro is-allowed? boolean 2517 | | +--ro underlay {te-topology-hierarchy}? 2518 | | | +--ro enabled? boolean 2519 | | | +--ro primary-path 2520 | | | | +--ro network-ref? leafref 2521 | | | | +--ro path-element* [path-element-id] 2522 | | | | +--ro path-element-id uint32 2523 | | | | +--ro index? uint32 2524 | | | | +--ro (type)? 2525 | | | | +--:(ip-address) 2526 | | | | | +--ro ip-address-hop 2527 | | | | | +--ro address? inet:ip-address 2528 | | | | | +--ro hop-type? te-hop-type 2529 | | | | +--:(as-number) 2530 | | | | | +--ro as-number-hop 2531 | | | | | +--ro as-number? binary 2532 | | | | | +--ro hop-type? te-hop-type 2533 | | | | +--:(unnumbered-link) 2534 | | | | | +--ro unnumbered-hop 2535 | | | | | +--ro router-id? inet:ip- 2536 address 2537 | | | | | +--ro interface-id? uint32 2538 | | | | | +--ro hop-type? te-hop-type 2539 | | | | +--:(label) 2540 | | | | | +--ro label-hop 2541 | | | | | +--ro value? rt- 2542 types:generalized-label 2543 | | | | +--:(sid) 2544 | | | | +--ro sid-hop 2545 | | | | +--ro sid? rt- 2546 types:generalized-label 2547 | | | +--ro backup-path* [index] 2548 | | | | +--ro index uint32 2549 | | | | +--ro network-ref? leafref 2550 | | | | +--ro path-element* [path-element-id] 2551 | | | | +--ro path-element-id uint32 2552 | | | | +--ro index? uint32 2553 | | | | +--ro (type)? 2554 | | | | +--:(ip-address) 2555 | | | | | +--ro ip-address-hop 2556 | | | | | +--ro address? inet:ip-address 2557 | | | | | +--ro hop-type? te-hop-type 2558 | | | | +--:(as-number) 2559 | | | | | +--ro as-number-hop 2560 | | | | | +--ro as-number? binary 2561 | | | | | +--ro hop-type? te-hop-type 2562 | | | | +--:(unnumbered-link) 2563 | | | | | +--ro unnumbered-hop 2564 | | | | | +--ro router-id? inet:ip- 2565 address 2566 | | | | | +--ro interface-id? uint32 2567 | | | | | +--ro hop-type? te-hop-type 2568 | | | | +--:(label) 2569 | | | | | +--ro label-hop 2570 | | | | | +--ro value? rt- 2571 types:generalized-label 2572 | | | | +--:(sid) 2573 | | | | +--ro sid-hop 2574 | | | | +--ro sid? rt- 2575 types:generalized-label 2576 | | | +--ro protection-type? identityref 2577 | | | +--ro tunnel-termination-points 2578 | | | | +--ro source? binary 2579 | | | | +--ro destination? binary 2580 | | | +--ro tunnels 2581 | | | +--ro sharing? boolean 2582 | | | +--ro tunnel* [tunnel-name] 2583 | | | +--ro tunnel-name string 2584 | | | +--ro sharing? boolean 2585 | | +--ro max-lsp-bandwidth* [priority] 2586 | | | +--ro priority uint8 2587 | | | +--ro bandwidth? te-bandwidth 2588 | | +--ro max-link-bandwidth? te-bandwidth 2589 | | +--ro max-resv-link-bandwidth? te-bandwidth 2590 | | +--ro unreserved-bandwidth* [priority] 2591 | | | +--ro priority uint8 2592 | | | +--ro bandwidth? te-bandwidth 2593 | | +--ro te-default-metric? uint32 2594 | | +--ro te-delay-metric? uint32 2595 | | +--ro te-srlgs 2596 | | | +--ro value* te-types:srlg 2597 | | +--ro te-nsrlgs {nsrlg}? 2598 | | +--ro id* uint32 2599 | +--ro oper-status? te-types:te-oper- 2600 status 2601 | +--ro geolocation 2602 | +--ro altitude? int64 2603 | +--ro latitude? geographic-coordinate-degree 2604 | +--ro longitude? geographic-coordinate-degree 2605 +--ro statistics 2606 | +--ro discontinuity-time yang:date-and-time 2607 | +--ro tunnel-termination-point 2608 | | +--ro disables? yang:counter32 2609 | | +--ro enables? yang:counter32 2610 | | +--ro maintenance-clears? yang:counter32 2611 | | +--ro maintenance-sets? yang:counter32 2612 | | +--ro modifies? yang:counter32 2613 | | +--ro downs? yang:counter32 2614 | | +--ro ups? yang:counter32 2615 | | +--ro in-service-clears? yang:counter32 2616 | | +--ro in-service-sets? yang:counter32 2617 | +--ro local-link-connectivity 2618 | +--ro creates? yang:counter32 2619 | +--ro deletes? yang:counter32 2620 | +--ro disables? yang:counter32 2621 | +--ro enables? yang:counter32 2622 | +--ro modifies? yang:counter32 2623 +--rw supporting-tunnel-termination-point* [node-ref tunnel- 2624 tp-ref] 2625 +--rw node-ref inet:uri 2626 +--rw tunnel-tp-ref binary 2627 augment /nw:networks/nw:network/nt:link: 2628 +--rw te! 2629 +--rw config 2630 | +--rw (bundle-stack-level)? 2631 | | +--:(bundle) 2632 | | | +--rw bundled-links 2633 | | | +--rw bundled-link* [sequence] 2634 | | | +--rw sequence uint32 2635 | | | +--rw src-tp-ref? leafref 2636 | | | +--rw des-tp-ref? leafref 2637 | | +--:(component) 2638 | | +--rw component-links 2639 | | +--rw component-link* [sequence] 2640 | | +--rw sequence uint32 2641 | | +--rw src-interface-ref? string 2642 | | +--rw des-interface-ref? string 2643 | +--rw te-link-template* leafref {template}? 2644 | +--rw te-link-attributes 2645 | +--rw access-type? te-types:te-link- 2646 access-type 2647 | +--rw external-domain 2648 | | +--rw network-ref? leafref 2649 | | +--rw remote-te-node-id? te-types:te-node-id 2650 | | +--rw remote-te-link-tp-id? te-types:te-tp-id 2651 | | +--rw plug-id? uint32 2652 | +--rw is-abstract? empty 2653 | +--rw name? string 2654 | +--rw underlay {te-topology-hierarchy}? 2655 | | +--rw enabled? boolean 2656 | | +--rw primary-path 2657 | | | +--rw network-ref? leafref 2658 | | | +--rw path-element* [path-element-id] 2659 | | | +--rw path-element-id uint32 2660 | | | +--rw index? uint32 2661 | | | +--rw (type)? 2662 | | | +--:(ip-address) 2663 | | | | +--rw ip-address-hop 2664 | | | | +--rw address? inet:ip-address 2665 | | | | +--rw hop-type? te-hop-type 2666 | | | +--:(as-number) 2667 | | | | +--rw as-number-hop 2668 | | | | +--rw as-number? binary 2669 | | | | +--rw hop-type? te-hop-type 2670 | | | +--:(unnumbered-link) 2671 | | | | +--rw unnumbered-hop 2672 | | | | +--rw router-id? inet:ip-address 2673 | | | | +--rw interface-id? uint32 2674 | | | | +--rw hop-type? te-hop-type 2675 | | | +--:(label) 2676 | | | | +--rw label-hop 2677 | | | | +--rw value? rt-types:generalized- 2678 label 2679 | | | +--:(sid) 2680 | | | +--rw sid-hop 2681 | | | +--rw sid? rt-types:generalized-label 2682 | | +--rw backup-path* [index] 2683 | | | +--rw index uint32 2684 | | | +--rw network-ref? leafref 2685 | | | +--rw path-element* [path-element-id] 2686 | | | +--rw path-element-id uint32 2687 | | | +--rw index? uint32 2688 | | | +--rw (type)? 2689 | | | +--:(ip-address) 2690 | | | | +--rw ip-address-hop 2691 | | | | +--rw address? inet:ip-address 2692 | | | | +--rw hop-type? te-hop-type 2693 | | | +--:(as-number) 2694 | | | | +--rw as-number-hop 2695 | | | | +--rw as-number? binary 2696 | | | | +--rw hop-type? te-hop-type 2697 | | | +--:(unnumbered-link) 2698 | | | | +--rw unnumbered-hop 2699 | | | | +--rw router-id? inet:ip-address 2700 | | | | +--rw interface-id? uint32 2701 | | | | +--rw hop-type? te-hop-type 2702 | | | +--:(label) 2703 | | | | +--rw label-hop 2704 | | | | +--rw value? rt-types:generalized- 2705 label 2706 | | | +--:(sid) 2707 | | | +--rw sid-hop 2708 | | | +--rw sid? rt-types:generalized-label 2709 | | +--rw protection-type? identityref 2710 | | +--rw tunnel-termination-points 2711 | | | +--rw source? binary 2712 | | | +--rw destination? binary 2713 | | +--rw tunnels 2714 | | +--rw sharing? boolean 2715 | | +--rw tunnel* [tunnel-name] 2716 | | +--rw tunnel-name string 2717 | | +--rw sharing? boolean 2718 | +--rw admin-status? te-types:te- 2719 admin-status 2720 | +--rw link-index? uint64 2721 | +--rw administrative-group? te-types:admin- 2722 groups 2723 | +--rw interface-switching-capability* [switching- 2724 capability encoding] 2725 | | +--rw switching-capability identityref 2726 | | +--rw encoding identityref 2727 | | +--rw max-lsp-bandwidth* [priority] 2728 | | +--rw priority uint8 2729 | | +--rw bandwidth? te-bandwidth 2730 | +--rw link-protection-type? enumeration 2731 | +--rw max-link-bandwidth? te-bandwidth 2732 | +--rw max-resv-link-bandwidth? te-bandwidth 2733 | +--rw unreserved-bandwidth* [priority] 2734 | | +--rw priority uint8 2735 | | +--rw bandwidth? te-bandwidth 2736 | +--rw te-default-metric? uint32 2737 | +--rw te-delay-metric? uint32 2738 | +--rw te-srlgs 2739 | | +--rw value* te-types:srlg 2740 | +--rw te-nsrlgs {nsrlg}? 2741 | +--rw id* uint32 2742 +--ro state 2743 | +--ro (bundle-stack-level)? 2744 | | +--:(bundle) 2745 | | | +--ro bundled-links 2746 | | | +--ro bundled-link* [sequence] 2747 | | | +--ro sequence uint32 2748 | | | +--ro src-tp-ref? leafref 2749 | | | +--ro des-tp-ref? leafref 2750 | | +--:(component) 2751 | | +--ro component-links 2752 | | +--ro component-link* [sequence] 2753 | | +--ro sequence uint32 2754 | | +--ro src-interface-ref? string 2755 | | +--ro des-interface-ref? string 2756 | +--ro te-link-template* leafref {template}? 2757 | +--ro te-link-attributes 2758 | | +--ro access-type? te-types:te-link- 2759 access-type 2760 | | +--ro external-domain 2761 | | | +--ro network-ref? leafref 2762 | | | +--ro remote-te-node-id? te-types:te-node-id 2763 | | | +--ro remote-te-link-tp-id? te-types:te-tp-id 2764 | | | +--ro plug-id? uint32 2765 | | +--ro is-abstract? empty 2766 | | +--ro name? string 2767 | | +--ro underlay {te-topology-hierarchy}? 2768 | | | +--ro enabled? boolean 2769 | | | +--ro primary-path 2770 | | | | +--ro network-ref? leafref 2771 | | | | +--ro path-element* [path-element-id] 2772 | | | | +--ro path-element-id uint32 2773 | | | | +--ro index? uint32 2774 | | | | +--ro (type)? 2775 | | | | +--:(ip-address) 2776 | | | | | +--ro ip-address-hop 2777 | | | | | +--ro address? inet:ip-address 2778 | | | | | +--ro hop-type? te-hop-type 2779 | | | | +--:(as-number) 2780 | | | | | +--ro as-number-hop 2781 | | | | | +--ro as-number? binary 2782 | | | | | +--ro hop-type? te-hop-type 2783 | | | | +--:(unnumbered-link) 2784 | | | | | +--ro unnumbered-hop 2785 | | | | | +--ro router-id? inet:ip-address 2786 | | | | | +--ro interface-id? uint32 2787 | | | | | +--ro hop-type? te-hop-type 2788 | | | | +--:(label) 2789 | | | | | +--ro label-hop 2790 | | | | | +--ro value? rt-types:generalized- 2791 label 2792 | | | | +--:(sid) 2793 | | | | +--ro sid-hop 2794 | | | | +--ro sid? rt-types:generalized-label 2795 | | | +--ro backup-path* [index] 2796 | | | | +--ro index uint32 2797 | | | | +--ro network-ref? leafref 2798 | | | | +--ro path-element* [path-element-id] 2799 | | | | +--ro path-element-id uint32 2800 | | | | +--ro index? uint32 2801 | | | | +--ro (type)? 2802 | | | | +--:(ip-address) 2803 | | | | | +--ro ip-address-hop 2804 | | | | | +--ro address? inet:ip-address 2805 | | | | | +--ro hop-type? te-hop-type 2806 | | | | +--:(as-number) 2807 | | | | | +--ro as-number-hop 2808 | | | | | +--ro as-number? binary 2809 | | | | | +--ro hop-type? te-hop-type 2810 | | | | +--:(unnumbered-link) 2811 | | | | | +--ro unnumbered-hop 2812 | | | | | +--ro router-id? inet:ip-address 2813 | | | | | +--ro interface-id? uint32 2814 | | | | | +--ro hop-type? te-hop-type 2815 | | | | +--:(label) 2816 | | | | | +--ro label-hop 2817 | | | | | +--ro value? rt-types:generalized- 2818 label 2819 | | | | +--:(sid) 2820 | | | | +--ro sid-hop 2821 | | | | +--ro sid? rt-types:generalized-label 2822 | | | +--ro protection-type? identityref 2823 | | | +--ro tunnel-termination-points 2824 | | | | +--ro source? binary 2825 | | | | +--ro destination? binary 2826 | | | +--ro tunnels 2827 | | | +--ro sharing? boolean 2828 | | | +--ro tunnel* [tunnel-name] 2829 | | | +--ro tunnel-name string 2830 | | | +--ro sharing? boolean 2831 | | +--ro admin-status? te-types:te- 2832 admin-status 2833 | | +--ro link-index? uint64 2834 | | +--ro administrative-group? te-types:admin- 2835 groups 2836 | | +--ro interface-switching-capability* [switching- 2837 capability encoding] 2838 | | | +--ro switching-capability identityref 2839 | | | +--ro encoding identityref 2840 | | | +--ro max-lsp-bandwidth* [priority] 2841 | | | +--ro priority uint8 2842 | | | +--ro bandwidth? te-bandwidth 2843 | | +--ro link-protection-type? enumeration 2844 | | +--ro max-link-bandwidth? te-bandwidth 2845 | | +--ro max-resv-link-bandwidth? te-bandwidth 2846 | | +--ro unreserved-bandwidth* [priority] 2847 | | | +--ro priority uint8 2848 | | | +--ro bandwidth? te-bandwidth 2849 | | +--ro te-default-metric? uint32 2850 | | +--ro te-delay-metric? uint32 2851 | | +--ro te-srlgs 2852 | | | +--ro value* te-types:srlg 2853 | | +--ro te-nsrlgs {nsrlg}? 2854 | | +--ro id* uint32 2855 | +--ro oper-status? te-types:te-oper-status 2856 | +--ro is-transitional? empty 2857 | +--ro information-source? te-info-source 2858 | +--ro information-source-state 2859 | | +--ro credibility-preference? uint16 2860 | | +--ro logical-network-element? string 2861 | | +--ro network-instance? string 2862 | | +--ro topology 2863 | | +--ro network-ref? leafref 2864 | | +--ro link-ref? leafref 2865 | +--ro information-source-entry* [information-source] 2866 | | +--ro information-source te-info-source 2867 | | +--ro information-source-state 2868 | | | +--ro credibility-preference? uint16 2869 | | | +--ro logical-network-element? string 2870 | | | +--ro network-instance? string 2871 | | | +--ro topology 2872 | | | +--ro network-ref? leafref 2873 | | | +--ro link-ref? leafref 2874 | | +--ro link-index? uint64 2875 | | +--ro administrative-group? te-types:admin- 2876 groups 2877 | | +--ro interface-switching-capability* [switching- 2878 capability encoding] 2879 | | | +--ro switching-capability identityref 2880 | | | +--ro encoding identityref 2881 | | | +--ro max-lsp-bandwidth* [priority] 2882 | | | +--ro priority uint8 2883 | | | +--ro bandwidth? te-bandwidth 2884 | | +--ro link-protection-type? enumeration 2885 | | +--ro max-link-bandwidth? te-bandwidth 2886 | | +--ro max-resv-link-bandwidth? te-bandwidth 2887 | | +--ro unreserved-bandwidth* [priority] 2888 | | | +--ro priority uint8 2889 | | | +--ro bandwidth? te-bandwidth 2890 | | +--ro te-default-metric? uint32 2891 | | +--ro te-delay-metric? uint32 2892 | | +--ro te-srlgs 2893 | | | +--ro value* te-types:srlg 2894 | | +--ro te-nsrlgs {nsrlg}? 2895 | | +--ro id* uint32 2896 | +--ro recovery 2897 | | +--ro restoration-status? te-types:te-recovery-status 2898 | | +--ro protection-status? te-types:te-recovery-status 2899 | +--ro underlay {te-topology-hierarchy}? 2900 | +--ro dynamic? boolean 2901 | +--ro committed? boolean 2902 +--ro statistics 2903 +--ro discontinuity-time yang:date-and-time 2904 +--ro disables? yang:counter32 2905 +--ro enables? yang:counter32 2906 +--ro maintenance-clears? yang:counter32 2907 +--ro maintenance-sets? yang:counter32 2908 +--ro modifies? yang:counter32 2909 +--ro downs? yang:counter32 2910 +--ro ups? yang:counter32 2911 +--ro fault-clears? yang:counter32 2912 +--ro fault-detects? yang:counter32 2913 +--ro protection-switches? yang:counter32 2914 +--ro protection-reverts? yang:counter32 2915 +--ro restoration-failures? yang:counter32 2916 +--ro restoration-starts? yang:counter32 2917 +--ro restoration-successes? yang:counter32 2918 +--ro restoration-reversion-failures? yang:counter32 2919 +--ro restoration-reversion-starts? yang:counter32 2920 +--ro restoration-reversion-successes? yang:counter32 2921 augment /nw:networks/nw:network/nw:node/nt:termination-point: 2922 +--rw te-tp-id? te-types:te-tp-id 2923 +--rw te! 2924 +--rw config 2925 | +--rw admin-status? te-types:te-admin- 2926 status 2927 | +--rw name? string 2928 | +--rw interface-switching-capability* [switching-capability 2929 encoding] 2930 | | +--rw switching-capability identityref 2931 | | +--rw encoding identityref 2932 | | +--rw max-lsp-bandwidth* [priority] 2933 | | +--rw priority uint8 2934 | | +--rw bandwidth? te-bandwidth 2935 | +--rw inter-layer-lock-id* uint32 2936 +--ro state 2937 +--ro admin-status? te-types:te-admin- 2938 status 2939 +--ro name? string 2940 +--ro interface-switching-capability* [switching-capability 2941 encoding] 2942 | +--ro switching-capability identityref 2943 | +--ro encoding identityref 2944 | +--ro max-lsp-bandwidth* [priority] 2945 | +--ro priority uint8 2946 | +--ro bandwidth? te-bandwidth 2947 +--ro inter-layer-lock-id* uint32 2948 +--ro oper-status? te-types:te-oper- 2949 status 2950 +--ro geolocation 2951 +--ro altitude? int64 2952 +--ro latitude? geographic-coordinate-degree 2953 +--ro longitude? geographic-coordinate-degree 2955 7. TE Topology Yang Module 2957 file "ietf-te-topology@2017-06-10.yang" 2958 module ietf-te-topology { 2959 yang-version 1.1; 2960 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology"; 2962 prefix "tet"; 2964 import ietf-yang-types { 2965 prefix "yang"; 2966 } 2968 import ietf-inet-types { 2969 prefix "inet"; 2970 } 2972 import ietf-te-types { 2973 prefix "te-types"; 2974 } 2976 import ietf-network { 2977 prefix "nw"; 2978 } 2980 import ietf-network-topology { 2981 prefix "nt"; 2982 } 2984 import ietf-routing-types { 2985 prefix "rt-types"; 2987 } 2989 organization 2990 "Traffic Engineering Architecture and Signaling (TEAS) 2991 Working Group"; 2993 contact 2994 "WG Web: 2995 WG List: 2997 WG Chair: Lou Berger 2998 3000 WG Chair: Vishnu Pavan Beeram 3001 3003 Editor: Xufeng Liu 3004 3006 Editor: Igor Bryskin 3007 3009 Editor: Vishnu Pavan Beeram 3010 3012 Editor: Tarek Saad 3013 3015 Editor: Himanshu Shah 3016 3018 Editor: Oscar Gonzalez De Dios 3019 "; 3021 description "TE topology model"; 3023 revision "2017-06-10" { 3024 description "Initial revision"; 3025 reference "TBD"; 3026 } 3027 /* 3028 * Features 3029 */ 3030 feature nsrlg { 3031 description 3032 "This feature indicates that the system supports NSRLG 3033 (Not Sharing Risk Link Group)."; 3034 } 3036 feature te-topology-hierarchy { 3037 description 3038 "This feature indicates that the system allows underlay 3039 and/or overlay TE topology hierarchy."; 3040 } 3042 feature template { 3043 description 3044 "This feature indicates that the system supports 3045 template configuration."; 3046 } 3048 /* 3049 * Typedefs 3050 */ 3051 typedef geographic-coordinate-degree { 3052 type decimal64 { 3053 fraction-digits 8; 3054 } 3055 description 3056 "Decimal degree (DD) used to express latitude and longitude 3057 geographic coordinates."; 3058 } // geographic-coordinate-degree 3060 typedef te-bandwidth { 3061 type string { 3062 pattern 3063 '0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' 3064 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' 3065 + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+' 3066 + '(,(0[xX](0((\.0?)?[pP](\+)?0?|(\.0?))|' 3067 + '1(\.([\da-fA-F]{0,5}[02468aAcCeE]?)?)?[pP](\+)?(12[0-7]|' 3068 + '1[01]\d|0?\d?\d)?)|0[xX][\da-fA-F]{1,8}|\d+))*'; 3069 } 3070 description 3071 "This is the generic bandwidth type that is a string containing 3072 a list of numbers separated by commas, with each of these 3073 number can be non-negative decimal, hex integer, or hex float: 3074 (dec | hex | float)[*(','(dec | hex | float))] 3075 For packet switching type, a float number is used, such as 3076 0x1p10. 3077 For OTN switching type, a list of integers can be used, such 3078 as '0,2,3,1', indicating 2 odu0's and 1 odu3. 3079 For DWDM, a list of pairs of slot number and width can be 3080 used, such as '0, 2, 3, 3', indicating a frequency slot 0 with 3081 slot width 2 and a frequency slot 3 with slot width 3."; 3082 } // te-bandwidth 3084 typedef te-info-source { 3085 type enumeration { 3086 enum "unknown" { 3087 description "The source is unknown."; 3088 } 3089 enum "locally-configured" { 3090 description "Configured entity."; 3091 } 3092 enum "ospfv2" { 3093 description "OSPFv2."; 3094 } 3095 enum "ospfv3" { 3096 description "OSPFv3."; 3097 } 3098 enum "isis" { 3099 description "ISIS."; 3100 } 3101 enum "bgp-ls" { 3102 description "BGP-LS."; 3103 reference 3104 "RFC7752: North-Bound Distribution of Link-State and 3105 Traffic Engineering (TE) Information Using BGP"; 3106 } 3107 enum "system-processed" { 3108 description "System processed entity."; 3110 } 3111 enum "other" { 3112 description "Other source."; 3113 } 3114 } 3115 description 3116 "Describining the type of source that has provided the 3117 related information, and the source credibility."; 3118 } // te-info-source 3120 typedef te-path-disjointness { 3121 type bits { 3122 bit node { 3123 position 0; 3124 description "Node disjoint."; 3125 } 3126 bit link { 3127 position 1; 3128 description "Link disjoint."; 3129 } 3130 bit srlg { 3131 position 2; 3132 description "SRLG (Shared Risk Link Group) disjoint."; 3133 } 3134 } 3135 description 3136 "Type of the resource disjointness for a TE tunnel path."; 3137 reference 3138 "RFC4872: RSVP-TE Extensions in Support of End-to-End 3139 Generalized Multi-Protocol Label Switching (GMPLS) 3140 Recovery"; 3141 } // te-path-disjointness 3143 /* 3144 * Groupings 3145 */ 3146 grouping connectivity-label-restriction-list { 3147 description 3148 "List of abel restrictions specifying what labels may or may 3149 not be used on a link connectivity."; 3150 list label-restriction { 3151 key "inclusive-exclusive label-start"; 3152 description 3153 "List of abel restrictions specifying what labels may or may 3154 not be used on a link connectivity."; 3155 reference 3156 "RFC7579: General Network Element Constraint Encoding 3157 for GMPLS-Controlled Networks"; 3158 leaf inclusive-exclusive { 3159 type enumeration { 3160 enum inclusive { 3161 description "The label or label range is inclusive."; 3162 } 3163 enum exclusive { 3164 description "The label or label range is exclusive."; 3165 } 3166 } 3167 description 3168 "Whether the list item is inclusive or exclusive."; 3169 } 3170 leaf label-start { 3171 type rt-types:generalized-label; 3172 description 3173 "This is the starting lable if a lable range is specified. 3174 This is the lable value if a single lable is specified, 3175 in which case, attribute 'label-end' is not set."; 3176 } 3177 leaf label-end { 3178 type rt-types:generalized-label; 3179 description 3180 "The ending lable if a lable range is specified; 3181 This attribute is not set, If a single lable is 3182 specified."; 3183 } 3184 leaf range-bitmap { 3185 type binary; 3186 description 3187 "When there are gaps between label-start and label-end, 3188 this attribute is used to specified the possitions 3189 of the used labels."; 3190 } 3191 } 3193 } // connectivity-label-restriction-list 3195 grouping connectivity-matrix-entry-attributes { 3196 description 3197 "Attributes of connectivity matrix entry."; 3198 leaf is-allowed { 3199 type boolean; 3200 description 3201 "true - switching is allowed, 3202 false - switching is disallowed."; 3203 } 3204 container underlay { 3205 if-feature te-topology-hierarchy; 3206 description "Attributes of the te-link underlay."; 3207 reference 3208 "RFC4206: Label Switched Paths (LSP) Hierarchy with 3209 Generalized Multi-Protocol Label Switching (GMPLS) 3210 Traffic Engineering (TE)"; 3212 uses te-link-underlay-attributes; 3213 } // underlay 3214 uses te-link-iscd-attributes; 3215 uses te-link-connectivity-attributes; 3216 } // connectivity-matrix-entry-attributes 3218 grouping geolocation-container { 3219 description 3220 "A container containing a GPS location."; 3221 container geolocation{ 3222 description 3223 "A container containing a GPS location."; 3224 leaf altitude { 3225 type int64; 3226 units millimeter; 3227 description 3228 "Distance above the sea level."; 3229 } 3230 leaf latitude { 3231 type geographic-coordinate-degree { 3232 range "-90..90"; 3233 } 3234 description 3235 "Relative position north or south on the Earth's surface."; 3236 } 3237 leaf longitude { 3238 type geographic-coordinate-degree { 3239 range "-180..180"; 3240 } 3241 description 3242 "Angular distance east or west on the Earth's surface."; 3243 } 3244 } // gps-location 3245 } // geolocation-container 3247 grouping information-source-state-attributes { 3248 description 3249 "The attributes identifying source that has provided the 3250 related information, and the source credibility."; 3251 leaf credibility-preference { 3252 type uint16; 3253 description 3254 "The preference value to calculate the traffic 3255 engineering database credibility value used for 3256 tie-break selection between different 3257 information-source values. 3258 Higher value is more preferable."; 3259 } 3260 leaf logical-network-element { 3261 type string; 3262 description 3263 "When applicable, this is the name of a logical network 3264 element from which the information is learned."; 3265 } // logical-network-element 3266 leaf network-instance { 3267 type string; 3268 description 3269 "When applicable, this is the name of a network-instance 3270 from which the information is learned."; 3271 } // network-instance 3272 } // information-source-state-attributes 3274 grouping information-source-per-link-attributes { 3275 description 3276 "Per node container of the attributes identifying source that 3277 has provided the related information, and the source 3278 credibility."; 3279 leaf information-source { 3280 type te-info-source; 3281 description 3282 "Indicates the source of the information."; 3283 } 3284 container information-source-state { 3285 description 3286 "The container contains state attributes related to 3287 the information source."; 3288 uses information-source-state-attributes; 3289 container topology { 3290 description 3291 "When the information is processed by the system, 3292 the attributes in this container indicate which topology 3293 is used to process to generate the result information."; 3294 uses te-topology-ref; 3295 leaf link-ref { 3296 type leafref { 3297 path "/nw:networks/nw:network[nw:network-id = " 3298 + "current()/../network-ref]/nt:link/nt:link-id"; 3299 require-instance false; 3300 } 3301 description 3302 "A reference to a link-id."; 3303 } 3304 } // topology 3305 } // information-source-state 3306 } // information-source-per-link-attributes 3308 grouping information-source-per-node-attributes { 3309 description 3310 "Per node container of the attributes identifying source that 3311 has provided the related information, and the source 3312 credibility."; 3313 leaf information-source { 3314 type te-info-source; 3315 description 3316 "Indicates the source of the information."; 3317 } 3318 container information-source-state { 3319 description 3320 "The container contains state attributes related to 3321 the information source."; 3322 uses information-source-state-attributes; 3323 container topology { 3324 description 3325 "When the information is processed by the system, 3326 the attributes in this container indicate which topology 3327 is used to process to generate the result information."; 3328 uses te-topology-ref; 3329 leaf node-ref { 3330 type leafref { 3331 path "/nw:networks/nw:network[nw:network-id = " 3332 + "current()/../network-ref]/nw:node/nw:node-id"; 3333 require-instance false; 3334 } 3335 description 3336 "A reference to a node-id."; 3337 } 3338 } // topology 3339 } // information-source-state 3340 } // information-source-per-node-attributes 3342 grouping interface-switching-capability-list { 3343 description 3344 "List of Interface Switching Capabilities Descriptors (ISCD)"; 3346 list interface-switching-capability { 3347 key "switching-capability encoding"; 3348 description 3349 "List of Interface Switching Capabilities Descriptors (ISCD) 3350 for this link."; 3351 reference 3352 "RFC3471: Generalized Multi-Protocol Label Switching (GMPLS) 3353 Signaling Functional Description. 3354 RFC4203: OSPF Extensions in Support of Generalized 3355 Multi-Protocol Label Switching (GMPLS)."; 3356 leaf switching-capability { 3357 type identityref { 3358 base te-types:switching-capabilities; 3359 } 3360 description 3361 "Switching Capability for this interface."; 3362 } 3363 leaf encoding { 3364 type identityref { 3365 base te-types:lsp-encoding-types; 3366 } 3367 description 3368 "Encoding supported by this interface."; 3369 } 3370 uses te-link-iscd-attributes; 3371 } // interface-switching-capability 3372 } // interface-switching-capability-list 3374 grouping statistics-per-link { 3375 description 3376 "Statistics attributes per TE link."; 3377 leaf discontinuity-time { 3378 type yang:date-and-time; 3379 mandatory true; 3380 description 3381 "The time on the most recent occasion at which any one or 3382 more of this interface's counters suffered a 3383 discontinuity. If no such discontinuities have occurred 3384 since the last re-initialization of the local management 3385 subsystem, then this node contains the time the local 3386 management subsystem re-initialized itself."; 3387 } 3388 /* Administrative attributes */ 3389 leaf disables { 3390 type yang:counter32; 3391 description 3392 "Number of times that link was disabled."; 3393 } 3394 leaf enables { 3395 type yang:counter32; 3396 description 3397 "Number of times that link was enabled."; 3399 } 3400 leaf maintenance-clears { 3401 type yang:counter32; 3402 description 3403 "Number of times that link was put out of maintenance."; 3404 } 3405 leaf maintenance-sets { 3406 type yang:counter32; 3407 description 3408 "Number of times that link was put in maintenance."; 3409 } 3410 leaf modifies { 3411 type yang:counter32; 3412 description 3413 "Number of times that link was modified."; 3414 } 3415 /* Operational attributes */ 3416 leaf downs { 3417 type yang:counter32; 3418 description 3419 "Number of times that link was set to operational down."; 3420 } 3421 leaf ups { 3422 type yang:counter32; 3423 description 3424 "Number of times that link was set to operational up."; 3425 } 3426 /* Recovery attributes */ 3427 leaf fault-clears { 3428 type yang:counter32; 3429 description 3430 "Number of times that link experienced fault clear event."; 3431 } 3432 leaf fault-detects { 3433 type yang:counter32; 3434 description 3435 "Number of times that link experienced fault detection."; 3436 } 3437 leaf protection-switches { 3438 type yang:counter32; 3439 description 3440 "Number of times that link experienced protection 3441 switchover."; 3442 } 3443 leaf protection-reverts { 3444 type yang:counter32; 3445 description 3446 "Number of times that link experienced protection 3447 reversion."; 3448 } 3449 leaf restoration-failures { 3450 type yang:counter32; 3451 description 3452 "Number of times that link experienced restoration 3453 failure."; 3454 } 3455 leaf restoration-starts { 3456 type yang:counter32; 3457 description 3458 "Number of times that link experienced restoration 3459 start."; 3460 } 3461 leaf restoration-successes { 3462 type yang:counter32; 3463 description 3464 "Number of times that link experienced restoration 3465 success."; 3466 } 3467 leaf restoration-reversion-failures { 3468 type yang:counter32; 3469 description 3470 "Number of times that link experienced restoration reversion 3471 failure."; 3472 } 3473 leaf restoration-reversion-starts { 3474 type yang:counter32; 3475 description 3476 "Number of times that link experienced restoration reversion 3477 start."; 3478 } 3479 leaf restoration-reversion-successes { 3480 type yang:counter32; 3481 description 3482 "Number of times that link experienced restoration reversion 3483 success."; 3484 } 3485 } // statistics-per-link 3487 grouping statistics-per-node { 3488 description 3489 "Statistics attributes per TE node."; 3490 leaf discontinuity-time { 3491 type yang:date-and-time; 3492 mandatory true; 3493 description 3494 "The time on the most recent occasion at which any one or 3495 more of this interface's counters suffered a 3496 discontinuity. If no such discontinuities have occurred 3497 since the last re-initialization of the local management 3498 subsystem, then this node contains the time the local 3499 management subsystem re-initialized itself."; 3500 } 3501 container node { 3502 description 3503 "Containing TE node level statistics attributes."; 3504 leaf disables { 3505 type yang:counter32; 3506 description 3507 "Number of times that node was disabled."; 3508 } 3509 leaf enables { 3510 type yang:counter32; 3511 description 3512 "Number of times that node was enabled."; 3513 } 3514 leaf maintenance-sets { 3515 type yang:counter32; 3516 description 3517 "Number of times that node was put in maintenance."; 3518 } 3519 leaf maintenance-clears { 3520 type yang:counter32; 3521 description 3522 "Number of times that node was put out of maintenance."; 3523 } 3524 leaf modifies { 3525 type yang:counter32; 3526 description 3527 "Number of times that node was modified."; 3528 } 3529 } // node 3530 container connectivity-matrix-entry { 3531 description 3532 "Containing connectivity matrix entry level statistics 3533 attributes."; 3534 leaf creates { 3535 type yang:counter32; 3536 description 3537 "Number of times that a connectivity matrix entry was 3538 created."; 3539 reference 3540 "RFC6241. Section 7.2 for 'create' operation. "; 3541 } 3542 leaf deletes { 3543 type yang:counter32; 3544 description 3545 "Number of times that a connectivity matrix entry was 3546 deleted."; 3547 reference 3548 "RFC6241. Section 7.2 for 'delete' operation. "; 3549 } 3550 leaf disables { 3551 type yang:counter32; 3552 description 3553 "Number of times that a connectivity matrix entry was 3554 disabled."; 3555 } 3556 leaf enables { 3557 type yang:counter32; 3558 description 3559 "Number of times that a connectivity matrix entry was 3560 enabled."; 3561 } 3562 leaf modifies { 3563 type yang:counter32; 3564 description 3565 "Number of times that a connectivity matrix entry was 3566 modified."; 3567 } 3568 } // connectivity-matrix-entry 3569 } // statistics-per-node 3571 grouping statistics-per-ttp { 3572 description 3573 "Statistics attributes per TE TTP (Tunnel Termination Point)."; 3574 leaf discontinuity-time { 3575 type yang:date-and-time; 3576 mandatory true; 3577 description 3578 "The time on the most recent occasion at which any one or 3579 more of this interface's counters suffered a 3580 discontinuity. If no such discontinuities have occurred 3581 since the last re-initialization of the local management 3582 subsystem, then this node contains the time the local 3583 management subsystem re-initialized itself."; 3584 } 3585 container tunnel-termination-point { 3586 description 3587 "Containing TE TTP (Tunnel Termination Point) level 3588 statistics attributes."; 3589 /* Administrative attributes */ 3590 leaf disables { 3591 type yang:counter32; 3592 description 3593 "Number of times that TTP was disabled."; 3594 } 3595 leaf enables { 3596 type yang:counter32; 3597 description 3598 "Number of times that TTP was enabled."; 3599 } 3600 leaf maintenance-clears { 3601 type yang:counter32; 3602 description 3603 "Number of times that TTP was put out of maintenance."; 3605 } 3606 leaf maintenance-sets { 3607 type yang:counter32; 3608 description 3609 "Number of times that TTP was put in maintenance."; 3610 } 3611 leaf modifies { 3612 type yang:counter32; 3613 description 3614 "Number of times that TTP was modified."; 3615 } 3616 /* Operational attributes */ 3617 leaf downs { 3618 type yang:counter32; 3619 description 3620 "Number of times that TTP was set to operational down."; 3621 } 3622 leaf ups { 3623 type yang:counter32; 3624 description 3625 "Number of times that TTP was set to operational up."; 3626 } 3627 leaf in-service-clears { 3628 type yang:counter32; 3629 description 3630 "Number of times that TTP was taken out of service 3631 (TE tunnel was released)."; 3632 } 3633 leaf in-service-sets { 3634 type yang:counter32; 3635 description 3636 "Number of times that TTP was put in service by a TE 3637 tunnel (TE tunnel was set up)."; 3638 } 3639 } // tunnel-termination-point 3641 container local-link-connectivity { 3642 description 3643 "Containing TE LLCL (Local Link Connectivity List) level 3644 statistics attributes."; 3645 leaf creates { 3646 type yang:counter32; 3647 description 3648 "Number of times that an LLCL entry was created."; 3649 reference 3650 "RFC6241. Section 7.2 for 'create' operation. "; 3651 } 3652 leaf deletes { 3653 type yang:counter32; 3654 description 3655 "Number of times that an LLCL entry was deleted."; 3656 reference 3657 "RFC6241. Section 7.2 for 'delete' operation."; 3658 } 3659 leaf disables { 3660 type yang:counter32; 3661 description 3662 "Number of times that an LLCL entry was disabled."; 3663 } 3664 leaf enables { 3665 type yang:counter32; 3666 description 3667 "Number of times that an LLCL entry was enabled."; 3668 } 3669 leaf modifies { 3670 type yang:counter32; 3671 description 3672 "Number of times that an LLCL entry was modified."; 3673 } 3674 } // local-link-connectivity 3675 } // statistics-per-ttp 3677 grouping te-link-config { 3678 description 3679 "TE link configuration grouping."; 3680 choice bundle-stack-level { 3681 description 3682 "The TE link can be partitioned into bundled 3683 links, or component links."; 3684 case bundle { 3685 container bundled-links { 3686 description 3687 "A set of bundled links."; 3688 reference 3689 "RFC4201: Link Bundling in MPLS Traffic Engineering 3690 (TE)."; 3691 list bundled-link { 3692 key "sequence"; 3693 description 3694 "Specify a bundled interface that is 3695 further partitioned."; 3696 leaf sequence { 3697 type uint32; 3698 description 3699 "Identify the sequence in the bundle."; 3700 } 3701 leaf src-tp-ref { 3702 type leafref { 3703 path "../../../../../../nw:node[nw:node-id = " 3704 + "current()/../../../../../nt:source/" 3705 + "nt:source-node]/" 3706 + "nt:termination-point/nt:tp-id"; 3707 require-instance true; 3708 } 3709 description 3710 "Reference to another TE termination point on the 3711 same souruce node."; 3712 } 3713 leaf des-tp-ref { 3714 type leafref { 3715 path "../../../../../../nw:node[nw:node-id = " 3716 + "current()/../../../../../nt:destination/" 3717 + "nt:dest-node]/" 3718 + "nt:termination-point/nt:tp-id"; 3719 require-instance true; 3720 } 3721 description 3722 "Reference to another TE termination point on the 3723 same destination node."; 3724 } 3725 } // list bundled-link 3726 } 3727 } 3728 case component { 3729 container component-links { 3730 description 3731 "A set of component links"; 3732 list component-link { 3733 key "sequence"; 3734 description 3735 "Specify a component interface that is 3736 sufficient to unambiguously identify the 3737 appropriate resources"; 3739 leaf sequence { 3740 type uint32; 3741 description 3742 "Identify the sequence in the bundle."; 3743 } 3744 leaf src-interface-ref { 3745 type string; 3746 description 3747 "Reference to component link interface on the 3748 source node."; 3749 } 3750 leaf des-interface-ref { 3751 type string; 3752 description 3753 "Reference to component link interface on the 3754 destinatioin node."; 3755 } 3756 } 3757 } 3758 } 3759 } // bundle-stack-level 3761 leaf-list te-link-template { 3762 if-feature template; 3763 type leafref { 3764 path "../../../../../te/templates/link-template/name"; 3765 } 3766 description 3767 "The reference to a TE link template."; 3768 } 3769 uses te-link-config-attributes; 3770 } // te-link-config 3772 grouping te-link-config-attributes { 3773 description 3774 "Link configuration attributes in a TE topology."; 3775 container te-link-attributes { 3776 description "Link attributes in a TE topology."; 3777 leaf access-type { 3778 type te-types:te-link-access-type; 3779 description 3780 "Link access type, which can be point-to-point or 3781 multi-access."; 3782 } 3783 container external-domain { 3784 description 3785 "For an inter-domain link, specify the attributes of 3786 the remote end of link, to facilitate the signalling at 3787 local end."; 3788 uses te-topology-ref; 3789 leaf remote-te-node-id { 3790 type te-types:te-node-id; 3791 description 3792 "Remote TE node identifier, used together with 3793 remote-te-link-id to identify the remote link 3794 termination point in a different domain."; 3795 } 3796 leaf remote-te-link-tp-id { 3797 type te-types:te-tp-id; 3798 description 3799 "Remote TE link termination point identifier, used 3800 together with remote-te-node-id to identify the remote 3801 link termination point in a different domain."; 3802 } 3803 leaf plug-id { 3804 type uint32; 3805 description 3806 "A topology-wide unique number that identifies on the 3807 network a connectivity supporting a given inter-domain 3808 TE link. This is more flexible alternative to specifying 3809 remote-te-node-id and remote-te-link-tp-id, when the 3810 provider does not know remote-te-node-id and 3811 remote-te-link-tp-id or need to give client the 3812 flexibility to mix-n-match multiple topologies."; 3813 } 3814 } 3815 leaf is-abstract { 3816 type empty; 3817 description "Present if the link is abstract."; 3818 } 3819 leaf name { 3820 type string; 3821 description "Link Name."; 3822 } 3823 container underlay { 3824 if-feature te-topology-hierarchy; 3825 description "Attributes of the te-link underlay."; 3826 reference 3827 "RFC4206: Label Switched Paths (LSP) Hierarchy with 3828 Generalized Multi-Protocol Label Switching (GMPLS) 3829 Traffic Engineering (TE)"; 3831 uses te-link-underlay-attributes; 3832 } // underlay 3833 leaf admin-status { 3834 type te-types:te-admin-status; 3835 description 3836 "The administrative state of the link."; 3837 } 3839 uses te-link-info-attributes; 3840 } // te-link-attributes 3841 } // te-link-config-attributes 3843 grouping te-link-connectivity-attributes { 3844 description 3845 "Advertised TE connectivity attributes."; 3846 leaf max-link-bandwidth { 3847 type te-bandwidth; 3848 description 3849 "Maximum bandwidth that can be seen on this link in this 3850 direction. Units in bytes per second."; 3852 reference 3853 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 3854 Version 2. 3855 RFC5305: IS-IS Extensions for Traffic Engineering."; 3856 } 3857 leaf max-resv-link-bandwidth { 3858 type te-bandwidth; 3859 description 3860 "Maximum amount of bandwidth that can be reserved in this 3861 direction in this link. Units in bytes per second."; 3862 reference 3863 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 3864 Version 2. 3865 RFC5305: IS-IS Extensions for Traffic Engineering."; 3866 } 3867 list unreserved-bandwidth { 3868 key "priority"; 3869 max-elements "8"; 3870 description 3871 "Unreserved bandwidth for 0-7 priority levels. Units in 3872 bytes per second."; 3873 reference 3874 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 3875 Version 2. 3876 RFC5305: IS-IS Extensions for Traffic Engineering."; 3877 leaf priority { 3878 type uint8 { 3879 range "0..7"; 3880 } 3881 description "Priority."; 3882 } 3883 leaf bandwidth { 3884 type te-bandwidth; 3885 description 3886 "Unreserved bandwidth for this level."; 3887 } 3888 } 3889 leaf te-default-metric { 3890 type uint32; 3891 description 3892 "Traffic engineering metric."; 3894 } 3895 leaf te-delay-metric { 3896 type uint32; 3897 description 3898 "Traffic engineering delay metric."; 3899 } 3900 container te-srlgs { 3901 description 3902 "Containing a list of SLRGs."; 3903 leaf-list value { 3904 type te-types:srlg; 3905 description "SRLG value."; 3906 reference 3907 "RFC4202: Routing Extensions in Support of 3908 Generalized Multi-Protocol Label Switching (GMPLS)."; 3909 } 3910 } 3911 container te-nsrlgs { 3912 if-feature nsrlg; 3913 description 3914 "Containing a list of NSRLGs (Not Sharing Risk Link 3915 Groups). 3916 When an abstract TE link is configured, this list specifies 3917 the request that underlay TE paths need to be mutually 3918 disjoint with other TE links in the same groups."; 3919 leaf-list id { 3920 type uint32; 3921 description 3922 "NSRLG ID, uniquely configured within a topology."; 3923 reference 3924 "RFC4872: RSVP-TE Extensions in Support of End-to-End 3925 Generalized Multi-Protocol Label Switching (GMPLS) 3926 Recovery"; 3927 } 3928 } 3929 } // te-link-connectivity-attributes 3931 grouping te-link-info-attributes { 3932 description 3933 "Advertised TE information attributes."; 3934 leaf link-index { 3935 type uint64; 3936 description 3937 "The link identifier. If OSPF is used, this represents an 3938 ospfLsdbID. If IS-IS is used, this represents an isisLSPID. 3939 If a locally configured link is used, this object represents 3940 a unique value, which is locally defined in a router."; 3941 } 3942 leaf administrative-group { 3943 type te-types:admin-groups; 3944 description 3945 "Administrative group or color of the link. 3946 This attribute covers both administrative group (defined in 3947 RFC3630, RFC5329, and RFC5305), and extended administrative 3948 group (defined in RFC7308)."; 3949 } 3950 uses interface-switching-capability-list; 3951 leaf link-protection-type { 3952 type enumeration { 3953 enum "unprotected" { 3954 description "Unprotected."; 3955 } 3956 enum "extra-traffic" { 3957 description "Extra traffic."; 3958 } 3959 enum "shared" { 3960 description "Shared."; 3961 } 3962 enum "1-for-1" { 3963 description "One for one protection."; 3964 } 3965 enum "1-plus-1" { 3966 description "One plus one protection."; 3967 } 3968 enum "enhanced" { 3969 description "Enhanced protection."; 3970 } 3971 } 3972 description 3973 "Link Protection Type desired for this link."; 3974 reference 3975 "RFC4202: Routing Extensions in Support of 3976 Generalized Multi-Protocol Label Switching (GMPLS)."; 3977 } 3978 uses te-link-connectivity-attributes; 3979 } // te-link-info-attributes 3981 grouping te-link-iscd-attributes { 3982 description 3983 "TE link ISCD (Interface Switching Capability Descriptor) 3984 attributes."; 3985 reference 3986 "Sec 1.4, RFC4203: OSPF Extensions in Support of Generalized 3987 Multi-Protocol Label Switching (GMPLS). Section 1.4."; 3988 list max-lsp-bandwidth { 3989 key "priority"; 3990 max-elements "8"; 3991 description 3992 "Maximum LSP Bandwidth at priorities 0-7."; 3993 leaf priority { 3994 type uint8 { 3995 range "0..7"; 3996 } 3997 description "Priority."; 3998 } 3999 leaf bandwidth { 4000 type te-bandwidth; 4001 description 4002 "Max LSP Bandwidth for this level"; 4003 } 4004 } 4005 } // te-link-iscd-attributes 4007 grouping te-link-state-derived { 4008 description 4009 "Link state attributes in a TE topology."; 4010 leaf oper-status { 4011 type te-types:te-oper-status; 4012 description 4013 "The current operational state of the link."; 4014 } 4015 leaf is-transitional { 4016 type empty; 4017 description 4018 "Present if the link is transitional, used as an 4019 alternative approach in lieu of inter-layer-lock-id 4020 for path computation in a TE topology covering multiple 4021 layers or multiple regions."; 4022 reference 4023 "RFC5212: Requirements for GMPLS-Based Multi-Region and 4024 Multi-Layer Networks (MRN/MLN). 4025 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 4026 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 4027 } 4028 uses information-source-per-link-attributes; 4029 list information-source-entry { 4030 key "information-source"; 4031 description 4032 "A list of information sources learned, including the one 4033 used."; 4034 uses information-source-per-link-attributes; 4035 uses te-link-info-attributes; 4036 } 4037 container recovery { 4038 description 4039 "Status of the recovery process."; 4040 leaf restoration-status { 4041 type te-types:te-recovery-status; 4042 description 4043 "Restoration status."; 4044 } 4045 leaf protection-status { 4046 type te-types:te-recovery-status; 4047 description 4048 "Protection status."; 4049 } 4050 } 4051 container underlay { 4052 if-feature te-topology-hierarchy; 4053 description "State attributes for te-link underlay."; 4054 leaf dynamic { 4055 type boolean; 4056 description 4057 "true if the underlay is dynamically created."; 4059 } 4060 leaf committed { 4061 type boolean; 4062 description 4063 "true if the underlay is committed."; 4064 } 4065 } 4066 } // te-link-state-derived 4068 grouping te-link-underlay-attributes { 4069 description "Attributes for te-link underlay."; 4070 reference 4071 "RFC4206: Label Switched Paths (LSP) Hierarchy with 4072 Generalized Multi-Protocol Label Switching (GMPLS) 4073 Traffic Engineering (TE)"; 4074 leaf enabled { 4075 type boolean; 4076 description 4077 "'true' if the underlay is enabled. 4078 'false' if the underlay is disabled."; 4079 } 4080 container primary-path { 4081 description 4082 "The service path on the underlay topology that 4083 supports this link."; 4084 uses te-topology-ref; 4085 list path-element { 4086 key "path-element-id"; 4087 description 4088 "A list of path elements describing the service path."; 4089 leaf path-element-id { 4090 type uint32; 4091 description "To identify the element in a path."; 4092 } 4093 uses te-path-element; 4094 } 4095 } // primary-path 4096 list backup-path { 4097 key "index"; 4098 description 4099 "A list of backup service paths on the underlay topology that 4100 protect the underlay primary path. If the primary path is 4101 not protected, the list contains zero elements. If the 4102 primary path is protected, the list contains one or more 4103 elements."; 4104 leaf index { 4105 type uint32; 4106 description 4107 "A sequence number to identify a backup path."; 4108 } 4109 uses te-topology-ref; 4110 list path-element { 4111 key "path-element-id"; 4112 description 4113 "A list of path elements describing the backup service 4114 path"; 4115 leaf path-element-id { 4116 type uint32; 4117 description "To identify the element in a path."; 4118 } 4119 uses te-path-element; 4120 } 4121 } // underlay-backup-path 4122 leaf protection-type { 4123 type identityref { 4124 base te-types:lsp-prot-type; 4125 } 4126 description 4127 "Underlay protection type desired for this link."; 4128 } 4129 container tunnel-termination-points { 4130 description 4131 "Underlay TTP(Tunnel Termination Points) desired for this 4132 link."; 4133 leaf source { 4134 type binary; 4135 description 4136 "Source tunnel termination point identifier."; 4137 } 4138 leaf destination { 4139 type binary; 4140 description 4141 "Destination tunnel termination point identifier."; 4142 } 4143 } 4144 container tunnels { 4145 description 4146 "Underlay TE tunnels supporting this TE link."; 4147 leaf sharing { 4148 type boolean; 4149 default true; 4150 description 4151 "'true' if the underlay tunnel can be shared with other 4152 TE links; 4153 'false' if the underlay tunnel is dedicated to this 4154 TE link. 4155 This leaf is the default option for all TE tunnels, 4156 and may be overridden by the per TE tunnel value."; 4157 } 4158 list tunnel { 4159 key "tunnel-name"; 4160 description 4161 "Zero, one or more underlay TE tunnels that support this TE 4162 link."; 4163 leaf tunnel-name { 4164 type string; 4165 description 4166 "A tunnel name uniquely identifies an underlay TE tunnel, 4167 used together with the source-node of this link. 4168 The detailed information of this tunnel can be retrieved 4169 from the ietf-te model."; 4170 reference "RFC3209"; 4171 } 4172 leaf sharing { 4173 type boolean; 4174 description 4175 "'true' if the underlay tunnel can be shared with other 4176 TE links; 4177 'false' if the underlay tunnel is dedicated to this 4178 TE link."; 4179 } 4180 } // tunnel 4181 } // tunnels 4183 } // te-link-underlay-attributes 4185 grouping te-node-config { 4186 description "TE node configuration grouping."; 4188 leaf-list te-node-template { 4189 if-feature template; 4190 type leafref { 4191 path "../../../../../te/templates/node-template/name"; 4192 } 4193 description 4194 "The reference to a TE node template."; 4195 } 4196 uses te-node-config-attributes; 4197 } // te-node-config 4199 grouping te-node-config-attributes { 4200 description "Configuration node attributes in a TE topology."; 4201 container te-node-attributes { 4202 description "Containing node attributes in a TE topology."; 4203 leaf admin-status { 4204 type te-types:te-admin-status; 4205 description 4206 "The administrative state of the link."; 4207 } 4208 uses te-node-connectivity-matrix; 4209 uses te-node-info-attributes; 4210 } // te-node-attributes 4211 } // te-node-config-attributes 4213 grouping te-node-config-attributes-template { 4214 description 4215 "Configuration node attributes for template in a TE topology."; 4216 container te-node-attributes { 4217 description "Containing node attributes in a TE topology."; 4218 leaf admin-status { 4219 type te-types:te-admin-status; 4220 description 4221 "The administrative state of the link."; 4222 } 4223 uses te-node-info-attributes; 4225 } // te-node-attributes 4226 } // te-node-config-attributes-template 4228 grouping te-node-connectivity-matrix { 4229 description "Connectivity matrix on a TE node."; 4230 container connectivity-matrices { 4231 description 4232 "Containing connectivity matrix on a TE node."; 4233 leaf number-of-entries { 4234 type uint16; 4235 description 4236 "The number of connectivity matrix entries. 4237 If this number is speficied in the configuration request, 4238 the number is requested number of entries, which may not 4239 all be listed in the list; 4240 if this number is reported in the state data, 4241 the number is the current number of operational entries."; 4242 } 4243 uses connectivity-label-restriction-list; 4244 uses connectivity-matrix-entry-attributes; 4245 list connectivity-matrix { 4246 key "id"; 4247 description 4248 "Represents node's switching limitations, i.e. limitations 4249 in interconnecting network TE links across the node."; 4250 reference 4251 "RFC7579: General Network Element Constraint Encoding 4252 for GMPLS-Controlled Networks."; 4253 leaf id { 4254 type uint32; 4255 description "Identifies the connectivity-matrix entry."; 4256 } 4257 container from { 4258 description 4259 "Reference to source link termination point."; 4260 leaf tp-ref { 4261 type leafref { 4262 path "../../../../../../../nt:termination-point/"+ 4263 "nt:tp-id"; 4264 } 4265 description 4266 "Relative reference to source termination point."; 4267 } 4268 uses connectivity-label-restriction-list; 4269 } 4270 container to { 4271 description 4272 "Reference to destination link termination point."; 4273 leaf tp-ref { 4274 type leafref { 4275 path "../../../../../../../nt:termination-point/"+ 4276 "nt:tp-id"; 4277 } 4278 description 4279 "Relative reference to destination termination point."; 4280 } 4281 uses connectivity-label-restriction-list; 4282 } 4283 uses connectivity-matrix-entry-attributes; 4284 } // connectivity-matrix 4285 } // connectivity-matrices 4286 } // te-node-connectivity-matrix 4288 grouping te-node-connectivity-matrix-abs { 4289 description 4290 "Connectivity matrix on a TE node, using absolute 4291 paths to reference termination points."; 4292 list connectivity-matrix { 4293 key "id"; 4294 description 4295 "Represents node's switching limitations, i.e. limitations 4296 in interconnecting network TE links across the node."; 4297 reference 4298 "RFC7579: General Network Element Constraint Encoding 4299 for GMPLS-Controlled Networks."; 4300 leaf id { 4301 type uint32; 4302 description "Identifies the connectivity-matrix entry."; 4303 } 4304 container from { 4305 uses nt:tp-ref; 4306 description 4307 "Reference to source NTP."; 4308 } 4309 container to { 4310 uses nt:tp-ref; 4311 description 4312 "Reference to destination NTP."; 4313 } 4314 leaf is-allowed { 4315 type boolean; 4316 description 4317 "true - switching is allowed, 4318 false - switching is disallowed."; 4319 } 4320 } 4321 } // te-node-connectivity-matrix-abs 4323 grouping te-node-info-attributes { 4324 description 4325 "Advertised TE information attributes."; 4326 leaf domain-id { 4327 type uint32; 4328 description 4329 "Identifies the domain that this node belongs. 4330 This attribute is used to support inter-domain links."; 4331 reference 4332 "RFC5152: A Per-Domain Path Computation Method for 4333 Establishing Inter-Domain Traffic Engineering (TE) 4334 Label Switched Paths (LSPs). 4335 RFC5392: OSPF Extensions in Support of Inter-Autonomous 4336 System (AS) MPLS and GMPLS Traffic Engineering. 4337 RFC5316: ISIS Extensions in Support of Inter-Autonomous 4338 System (AS) MPLS and GMPLS Traffic Engineering."; 4339 } 4340 leaf is-abstract { 4341 type empty; 4342 description 4343 "Present if the node is abstract, not present if the node 4344 is actual."; 4345 } 4346 leaf name { 4347 type inet:domain-name; 4348 description "Node name."; 4349 } 4350 leaf-list signaling-address { 4351 type inet:ip-address; 4352 description "Node signaling address."; 4353 } 4354 container underlay-topology { 4355 if-feature te-topology-hierarchy; 4356 description 4357 "When an abstract node encapsulates a topology, 4358 the attributes in this container point to said topology."; 4359 uses te-topology-ref; 4360 } 4361 } // te-node-info-attributes 4363 grouping te-node-state-derived { 4364 description "Node state attributes in a TE topology."; 4365 leaf oper-status { 4366 type te-types:te-oper-status; 4367 description 4368 "The current operational state of the node."; 4369 } 4370 uses geolocation-container; 4371 leaf is-multi-access-dr { 4372 type empty; 4373 description 4374 "The presence of this attribute indicates that this TE node 4375 is a pseudonode elected as a designated router."; 4376 reference 4377 "RFC3630: Traffic Engineering (TE) Extensions to OSPF 4378 Version 2. 4379 RFC1195: Use of OSI IS-IS for Routing in TCP/IP and Dual 4380 Environments."; 4381 } 4382 uses information-source-per-node-attributes; 4383 list information-source-entry { 4384 key "information-source"; 4385 description 4386 "A list of information sources learned, including the one 4387 used."; 4388 uses information-source-per-node-attributes; 4389 uses te-node-connectivity-matrix; 4390 uses te-node-info-attributes; 4391 } 4392 } // te-node-state-derived 4394 grouping te-node-tunnel-termination-attributes { 4395 description 4396 "Termination capability of a tunnel termination point on a 4397 TE node."; 4399 leaf admin-status { 4400 type te-types:te-admin-status; 4401 description 4402 "The administrative state of the tunnel termination point."; 4403 } 4404 leaf name { 4405 type string; 4406 description 4407 "A descriptive name for the tunnel termination point."; 4408 } 4409 leaf switching-capability { 4410 type identityref { 4411 base te-types:switching-capabilities; 4412 } 4413 description 4414 "Switching Capability for this interface."; 4415 } 4416 leaf encoding { 4417 type identityref { 4418 base te-types:lsp-encoding-types; 4419 } 4420 description 4421 "Encoding supported by this interface."; 4422 } 4423 leaf-list inter-layer-lock-id { 4424 type uint32; 4425 description 4426 "Inter layer lock ID, used for path computation in a TE 4427 topology covering multiple layers or multiple regions."; 4428 reference 4429 "RFC5212: Requirements for GMPLS-Based Multi-Region and 4430 Multi-Layer Networks (MRN/MLN). 4431 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 4432 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 4433 } 4434 leaf protection-type { 4435 type identityref { 4436 base te-types:lsp-prot-type; 4437 } 4438 description 4439 "The protection type that this tunnel termination point 4440 is capable of."; 4441 } 4443 container client-layer-adaptation { 4444 description 4445 "Containing capability information to support a client layer 4446 adaption in multi-layer topology."; 4447 list switching-capability { 4448 key "switching-capability encoding"; 4449 description 4450 "List of supported switching capabilities"; 4451 reference 4452 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 4453 for Multi-Layer and Multi-Region Networks (MLN/MRN). 4454 RFC4202: Routing Extensions in Support of 4455 Generalized Multi-Protocol Label Switching (GMPLS)."; 4456 leaf switching-capability { 4457 type identityref { 4458 base te-types:switching-capabilities; 4459 } 4460 description 4461 "Switching Capability for the client layer adaption."; 4462 } 4463 leaf encoding { 4464 type identityref { 4465 base te-types:lsp-encoding-types; 4466 } 4467 description 4468 "Encoding supported by the client layer adaption."; 4469 } 4470 leaf bandwidth { 4471 type te-bandwidth; 4472 description 4473 "Bandwidth available for the client layer adaption."; 4474 } 4475 } 4476 } 4478 container local-link-connectivities { 4479 description 4480 "Containing local link connectivity list for 4481 a tunnel termination point on a TE node."; 4482 leaf number-of-entries { 4483 type uint16; 4484 description 4485 "The number of local link connectivity list entries. 4486 If this number is speficied in the configuration request, 4487 the number is requested number of entries, which may not 4488 all be listed in the list; 4489 if this number is reported in the state data, 4490 the number is the current number of operational entries."; 4491 } 4492 uses connectivity-label-restriction-list; 4493 uses connectivity-matrix-entry-attributes; 4494 list local-link-connectivity { 4495 key "link-tp-ref"; 4496 description 4497 "The termination capabilities between 4498 tunnel-termination-point and link termination-point. 4499 The capability information can be used to compute 4500 the tunnel path. 4501 The Interface Adjustment Capability Descriptors (IACD) 4502 [RFC6001] on each link-tp can be derived from this 4503 local-link-connectivity list."; 4504 reference 4505 "RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 4506 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 4507 leaf link-tp-ref { 4508 type leafref { 4509 path "../../../../../../nt:termination-point/nt:tp-id"; 4510 } 4511 description 4512 "Link termination point."; 4513 } 4515 uses connectivity-label-restriction-list; 4516 uses connectivity-matrix-entry-attributes; 4517 } // local-link-connectivity 4518 } // local-link-connectivities 4519 } // te-node-tunnel-termination-attributes 4521 grouping te-path-element { 4522 description 4523 "A group of attributes defining an element in a TE path 4524 such as TE node, TE link, TE atomic resource or label."; 4525 uses te-types:explicit-route-hop_config; 4526 } // te-path-element 4528 grouping te-termination-point-config { 4529 description 4530 "TE termination point configuration grouping."; 4531 leaf admin-status { 4532 type te-types:te-admin-status; 4533 description 4534 "The administrative state of the link termination point."; 4535 } 4536 leaf name { 4537 type string; 4538 description 4539 "A descriptive name for the link termination point."; 4540 } 4541 uses interface-switching-capability-list; 4542 leaf-list inter-layer-lock-id { 4543 type uint32; 4544 description 4545 "Inter layer lock ID, used for path computation in a TE 4546 topology covering multiple layers or multiple regions."; 4547 reference 4548 "RFC5212: Requirements for GMPLS-Based Multi-Region and 4549 Multi-Layer Networks (MRN/MLN). 4550 RFC6001: Generalized MPLS (GMPLS) Protocol Extensions 4551 for Multi-Layer and Multi-Region Networks (MLN/MRN)."; 4552 } 4554 } // te-termination-point-config 4556 grouping te-topology-config { 4557 description 4558 "TE topology configuration grouping."; 4559 leaf preference { 4560 type uint8 { 4561 range "1..255"; 4562 } 4563 description 4564 "Specifies a preference for this topology. A lower number 4565 indicates a higher preference."; 4566 } 4567 leaf optimization-criterion { 4568 type identityref { 4569 base te-types:te-optimization-criterion; 4570 } 4571 description 4572 "Optimization criterion applied to this topology."; 4573 reference 4574 "RFC3272: Overview and Principles of Internet Traffic 4575 Engineering."; 4576 } 4577 list nsrlg { 4578 if-feature nsrlg; 4579 key "id"; 4580 description 4581 "List of NSRLGs (Not Sharing Risk Link Groups)."; 4582 reference 4583 "RFC4872: RSVP-TE Extensions in Support of End-to-End 4584 Generalized Multi-Protocol Label Switching (GMPLS) 4585 Recovery"; 4586 leaf id { 4587 type uint32; 4588 description 4589 "Identify the NSRLG entry."; 4590 } 4591 leaf disjointness { 4592 type te-path-disjointness; 4593 description 4594 "The type of resource disjointness."; 4596 } 4597 } // nsrlg 4598 } // te-topology-config 4600 grouping te-topology-ref { 4601 description 4602 "References a TE topology."; 4603 leaf network-ref { 4604 type leafref { 4605 path "/nw:networks/nw:network/nw:network-id"; 4606 require-instance false; 4607 } 4608 description 4609 "A reference to a network-id in base ietf-network module."; 4610 } 4611 } // te-topology-ref 4613 grouping template-attributes { 4614 description 4615 "Common attributes for all templates."; 4617 leaf priority { 4618 type uint16; 4619 description 4620 "The preference value to resolve conflicts between different 4621 templates. When two or more templates specify values for 4622 one configuration attribute, the value from the template 4623 with the highest priority is used."; 4624 } 4625 leaf reference-change-policy { 4626 type enumeration { 4627 enum no-action { 4628 description 4629 "When an attribute changes in this template, the 4630 configuration node referring to this template does 4631 not take any action."; 4632 } 4633 enum not-allowed { 4634 description 4635 "When any configuration object has a reference to this 4636 template, changing this template is not allowed."; 4638 } 4639 enum cascade { 4640 description 4641 "When an attribute changes in this template, the 4642 configuration object referring to this template applies 4643 the new attribute value to the corresponding 4644 configuration."; 4645 } 4646 } 4647 description 4648 "This attribute specifies the action taken to a configuration 4649 node that has a reference to this template."; 4650 } 4651 } // template-attributes 4653 /* 4654 * Configuration data nodes 4655 */ 4656 augment "/nw:networks/nw:network/nw:network-types" { 4657 description 4658 "Introduce new network type for TE topology."; 4659 container te-topology { 4660 presence "Indicates TE topology."; 4661 description 4662 "Its presence identifies the TE topology type."; 4663 } 4664 } 4666 augment "/nw:networks" { 4667 description 4668 "Augmentation parameters for TE topologies."; 4670 container te { 4671 presence "TE support."; 4672 description 4673 "Indicates TE support."; 4675 container templates { 4676 description 4677 "Configuration parameters for templates used for TE 4678 topology."; 4680 list node-template { 4681 if-feature template; 4682 key "name"; 4683 leaf name { 4684 type te-types:te-template-name; 4685 description 4686 "The name to identify a TE node template."; 4687 } 4688 description 4689 "The list of TE node templates used to define sharable 4690 and reusable TE node attributes."; 4691 uses template-attributes; 4692 uses te-node-config-attributes-template; 4693 } // node-template 4695 list link-template { 4696 if-feature template; 4697 key "name"; 4698 leaf name { 4699 type te-types:te-template-name; 4700 description 4701 "The name to identify a TE link template."; 4702 } 4703 description 4704 "The list of TE link templates used to define sharable 4705 and reusable TE link attributes."; 4706 uses template-attributes; 4707 uses te-link-config-attributes; 4708 } // link-template 4709 } // templates 4710 } // te 4711 } 4713 augment "/nw:networks/nw:network" { 4714 when "nw:network-types/te-topology" { 4715 description 4716 "Augmentation parameters apply only for networks with 4717 TE topology type."; 4718 } 4719 description 4720 "Configuration parameters for TE topology."; 4722 leaf provider-id { 4723 type te-types:te-global-id; 4724 description 4725 "An identifier to uniquely identify a provider."; 4726 } 4727 leaf client-id { 4728 type te-types:te-global-id; 4729 description 4730 "An identifier to uniquely identify a client."; 4731 } 4732 leaf te-topology-id { 4733 type te-types:te-topology-id; 4734 description 4735 "It is presumed that a datastore will contain many 4736 topologies. To distinguish between topologies it is 4737 vital to have UNIQUE topology identifiers."; 4738 } 4740 container te { 4741 must "../provider-id and ../client-id and ../te-topology-id"; 4742 presence "TE support."; 4743 description 4744 "Indicates TE support."; 4746 container config { 4747 description 4748 "Configuration data."; 4749 uses te-topology-config; 4750 } // config 4751 container state { 4752 config false; 4753 description 4754 "Operational state data."; 4755 uses te-topology-config; 4756 uses geolocation-container; 4757 } // state 4758 } // te 4759 } 4760 augment "/nw:networks/nw:network/nw:node" { 4761 when "../nw:network-types/te-topology" { 4762 description 4763 "Augmentation parameters apply only for networks with 4764 TE topology type."; 4765 } 4766 description 4767 "Configuration parameters for TE at node level."; 4769 leaf te-node-id { 4770 type te-types:te-node-id; 4771 description 4772 "The identifier of a node in the TE topology. 4773 A node is specific to a topology to which it belongs."; 4774 } 4776 container te { 4777 must "../te-node-id" { 4778 description 4779 "te-node-id is mandatory."; 4780 } 4781 must "count(../nw:supporting-node)<=1" { 4782 description 4783 "For a node in a TE topology, there cannot be more 4784 than 1 supporting node. If multiple nodes are abstracted, 4785 the underlay-topology is used."; 4786 } 4787 presence "TE support."; 4788 description 4789 "Indicates TE support."; 4791 container config { 4792 description 4793 "Configuration data."; 4794 uses te-node-config; 4795 } // config 4796 container state { 4797 config false; 4798 description 4799 "Operational state data."; 4801 uses te-node-config; 4802 uses te-node-state-derived; 4803 } // state 4804 container statistics { 4805 config false; 4806 description 4807 "Statistics data."; 4808 uses statistics-per-node; 4809 } // statistics 4811 list tunnel-termination-point { 4812 key "tunnel-tp-id"; 4813 description 4814 "A termination point can terminate a tunnel."; 4815 leaf tunnel-tp-id { 4816 type binary; 4817 description 4818 "Tunnel termination point identifier."; 4819 } 4821 container config { 4822 description 4823 "Configuration data."; 4824 uses te-node-tunnel-termination-attributes; 4825 } 4826 container state { 4827 config false; 4828 description 4829 "Operational state data."; 4831 uses te-node-tunnel-termination-attributes; 4832 leaf oper-status { 4833 type te-types:te-oper-status; 4834 description 4835 "The current operational state of the tunnel 4836 termination point."; 4837 } 4838 uses geolocation-container; 4839 } // state 4840 container statistics { 4841 config false; 4842 description 4843 "Statistics data."; 4844 uses statistics-per-ttp; 4845 } // statistics 4847 // Relations to other tunnel termination points 4848 list supporting-tunnel-termination-point { 4849 key "node-ref tunnel-tp-ref"; 4850 description 4851 "Identifies the tunnel termination points, that this 4852 tunnel termination point is depending on."; 4853 leaf node-ref { 4854 type inet:uri; 4855 description 4856 "This leaf identifies the node in which the supporting 4857 tunnel termination point is present. 4858 This node is either the supporting node or a node in 4859 an underlay topology."; 4860 } 4861 leaf tunnel-tp-ref { 4862 type binary; 4863 description 4864 "Reference to a tunnel terminiation point, which is 4865 either in the supporting node or a node in an 4866 underlay topology."; 4867 } 4868 } // supporting-tunnel-termination-point 4869 } // tunnel-termination-point 4870 } // te 4871 } 4873 augment "/nw:networks/nw:network/nt:link" { 4874 when "../nw:network-types/te-topology" { 4875 description 4876 "Augmentation parameters apply only for networks with 4877 TE topology type."; 4878 } 4879 description 4880 "Configuration parameters for TE at link level"; 4882 container te { 4883 must "count(../nt:supporting-link)<=1" { 4884 description 4885 "For a link in a TE topology, there cannot be more 4886 than 1 supporting link. If one or more link paths are 4887 abstracted, the underlay is used."; 4888 } 4889 presence "TE support."; 4890 description 4891 "Indicates TE support."; 4893 container config { 4894 description 4895 "Configuration data."; 4896 uses te-link-config; 4897 } // config 4898 container state { 4899 config false; 4900 description 4901 "Operational state data."; 4902 uses te-link-config; 4903 uses te-link-state-derived; 4904 } // state 4905 container statistics { 4906 config false; 4907 description 4908 "Statistics data."; 4909 uses statistics-per-link; 4910 } // statistics 4911 } // te 4912 } 4914 augment "/nw:networks/nw:network/nw:node/" 4915 + "nt:termination-point" { 4916 when "../../nw:network-types/te-topology" { 4917 description 4918 "Augmentation parameters apply only for networks with 4919 TE topology type."; 4920 } 4921 description 4922 "Configuration parameters for TE at termination point level"; 4924 leaf te-tp-id { 4925 type te-types:te-tp-id; 4926 description 4927 "An identifier to uniquely identify a TE termination 4928 point."; 4929 } 4931 container te { 4932 must "../te-tp-id"; 4933 presence "TE support."; 4934 description 4935 "Indicates TE support."; 4937 container config { 4938 description 4939 "Configuration data."; 4940 uses te-termination-point-config; 4941 } // config 4942 container state { 4943 config false; 4944 description 4945 "Operational state data."; 4946 uses te-termination-point-config; 4947 leaf oper-status { 4948 type te-types:te-oper-status; 4949 description 4950 "The current operational state of the link termination 4951 point."; 4952 } 4953 uses geolocation-container; 4954 } // state 4955 } // te 4956 } 4957 } 4958 4960 8. Security Considerations 4962 The transport protocol used for retrieving/manipulating the TE 4963 topology data MUST support authentication and SHOULD support 4964 encryption. The data-model by itself does not create any security 4965 implications. 4967 9. IANA Considerations 4969 This document registers the following URIs in the IETF XML registry 4970 [RFC3688]. Following the format in [RFC3688], the following 4971 registration is requested to be made. 4973 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology 4974 XML: N/A, the requested URI is an XML namespace. 4976 This document registers a YANG module in the YANG Module Names 4977 registry [RFC6020]. 4979 name: ietf-te-topology 4980 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology 4981 prefix: tet 4983 10. References 4985 10.1. Normative References 4987 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 4988 Requirement Levels", BCP 14, RFC 2119, March 1997. 4990 [RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, 4991 January 2004. 4993 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 4994 Network Configuration Protocol (NETCONF)", RFC 6020, 4995 October 2010. 4997 [RFC6991] Schoenwaelder, J., "Common YANG Data Types", RFC 6991, 4998 July 2013. 5000 [RFC3945] Mannie, E., "Generalized Multi-Protocol Label Switching 5001 (GMPLS) Architecture", October 2004. 5003 [YANG-NET-TOPO] Clemm, A., "A Data Model for Network Topologies", 5004 draft-ietf-i2rs-yang-network-topo (Work in Progress). 5006 [YANG-PUSH] Clemm, A., "Subscribing to YANG datastore push updates", 5007 draft-clemm-netconf-yang-push (Work in Progress). 5009 [RFC5277bis] Clemm, A., "Subscribing to Event Notifications", 5010 draft-ietf-netconf-rfc5277bis (Work in Progress). 5012 [YANG-SCHEDULE] Liu, X., " A YANG Data Model for Configuration 5013 Scheduling", draft-liu-netmod-yang-schedule-00 (Work in 5014 Progress). 5016 10.2. Informative References 5018 [RFC2702] Awduche, D., "Requirements for Traffic Engineering Over 5019 MPLS", RFC 2702, September 1999. 5021 11. Acknowledgments 5023 The authors would like to thank Lou Berger, Sue Hares, Mazen Khaddam, 5024 Cyril Margaria and Zafar Ali for participating in design discussions 5025 and providing valuable insights. 5027 Contributors 5029 Sergio Belotti 5030 Nokia 5031 Email: sergio.belotti@nokia.com 5033 Dieter Beller 5034 Nokia 5035 Email: Dieter.Beller@nokia.com 5037 Authors' Addresses 5039 Xufeng Liu 5040 Jabil 5041 Email: Xufeng_Liu@jabil.com 5043 Igor Bryskin 5044 Huawei Technologies 5045 Email: Igor.Bryskin@huawei.com 5047 Vishnu Pavan Beeram 5048 Juniper Networks 5049 Email: vbeeram@juniper.net 5051 Tarek Saad 5052 Cisco Systems Inc 5053 Email: tsaad@cisco.com 5055 Himanshu Shah 5056 Ciena 5057 Email: hshah@ciena.com 5059 Oscar Gonzalez De Dios 5060 Telefonica 5061 Email: oscar.gonzalezdedios@telefonica.com