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