idnits 2.17.1 draft-ietf-teas-yang-l3-te-topo-03.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- No issues found here. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document seems to lack the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords. (The document does seem to have the reference to RFC 2119 which the ID-Checklist requires). -- The document date (October 22, 2018) is 2006 days in the past. Is this intentional? 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: 'RFC3688' is mentioned on line 1464, but not defined == Missing Reference: 'RFC6020' is mentioned on line 1490, but not defined ** Obsolete normative reference: RFC 5246 (Obsoleted by RFC 8446) ** Obsolete normative reference: RFC 6536 (Obsoleted by RFC 8341) ** Obsolete normative reference: RFC 7810 (Obsoleted by RFC 8570) ** Downref: Normative reference to an Informational RFC: RFC 7823 == Outdated reference: A later version (-36) exists of draft-ietf-teas-yang-te-16 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-18 Summary: 4 errors (**), 0 flaws (~~), 6 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group X. Liu 3 Internet-Draft Volta Networks 4 Intended status: Standards Track I. Bryskin 5 Expires: April 25, 2019 Huawei Technologies 6 V. Beeram 7 Juniper Networks 8 T. Saad 9 Cisco Systems Inc 10 H. Shah 11 Ciena 12 O. Gonzalez de Dios 13 Telefonica 14 October 22, 2018 16 YANG Data Model for Layer 3 TE Topologies 17 draft-ietf-teas-yang-l3-te-topo-03 19 Abstract 21 This document defines a YANG data model for layer 3 traffic 22 engineering topologies. 24 Status of This Memo 26 This Internet-Draft is submitted in full conformance with the 27 provisions of BCP 78 and BCP 79. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF). Note that other groups may also distribute 31 working documents as Internet-Drafts. The list of current Internet- 32 Drafts is at https://datatracker.ietf.org/drafts/current/. 34 Internet-Drafts are draft documents valid for a maximum of six months 35 and may be updated, replaced, or obsoleted by other documents at any 36 time. It is inappropriate to use Internet-Drafts as reference 37 material or to cite them other than as "work in progress." 39 This Internet-Draft will expire on April 25, 2019. 41 Copyright Notice 43 Copyright (c) 2018 IETF Trust and the persons identified as the 44 document authors. All rights reserved. 46 This document is subject to BCP 78 and the IETF Trust's Legal 47 Provisions Relating to IETF Documents 48 (https://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 60 1.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 61 2. Modeling Considerations for L3 TE Topologies . . . . . . . . 3 62 2.1. Relationship Between Layer 3 Topology and TE topology . . 3 63 2.2. Relationship Modeling . . . . . . . . . . . . . . . . . . 4 64 2.2.1. Topology Referencing . . . . . . . . . . . . . . . . 4 65 2.2.2. Node Referencing . . . . . . . . . . . . . . . . . . 4 66 2.2.3. Link Termination Point Referencing . . . . . . . . . 4 67 2.2.4. Link Referencing . . . . . . . . . . . . . . . . . . 5 68 2.3. Topology Type Modeling . . . . . . . . . . . . . . . . . 5 69 3. Packet Switching Technology Extensions . . . . . . . . . . . 5 70 3.1. Technology Specific Link Attributes . . . . . . . . . . . 5 71 3.2. Performance Metric . . . . . . . . . . . . . . . . . . . 6 72 4. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 6 73 4.1. Layer 3 TE Topology Module . . . . . . . . . . . . . . . 6 74 4.2. Packet Switching TE Topology Module . . . . . . . . . . . 7 75 5. YANG Modules . . . . . . . . . . . . . . . . . . . . . . . . 21 76 5.1. Layer 3 TE Topology Module . . . . . . . . . . . . . . . 21 77 5.2. Packet Switching TE Topology Module . . . . . . . . . . . 26 78 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 31 79 7. Security Considerations . . . . . . . . . . . . . . . . . . . 33 80 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 35 81 8.1. Normative References . . . . . . . . . . . . . . . . . . 35 82 8.2. Informative References . . . . . . . . . . . . . . . . . 37 83 Appendix A. Companion YANG Model for Non-NMDA Compliant 84 Implementations . . . . . . . . . . . . . . . . . . 38 85 A.1. Layer 3 TE Topology State Module . . . . . . . . . . . . 38 86 A.2. Packet Switching TE Topology State Module . . . . . . . . 41 87 Appendix B. Data Tree Example . . . . . . . . . . . . . . . . . 46 88 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 55 90 1. Introduction 92 This document defines a YANG [RFC7950] data model for describing the 93 relationship between a layer 3 network topology [RFC8346] and a TE 94 topology [I-D.ietf-teas-yang-te-topo]. 96 When traffic engineering is enabled on a layer 3 network topology, 97 there will be a corresponding TE topology. The TE topology may or 98 may not be congruent to the layer 3 network topology. When such a 99 congruent TE topology exists, there will be a one-to-one association 100 between the one modeling element in the layer 3 topology to another 101 element in the TE topology. When such a congruent TE topology does 102 not exist, the association will not be one-to-one. This YANG data 103 model allows both cases. 105 1.1. Terminology 107 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 109 "OPTIONAL" in this document are to be interpreted as described in BCP 110 14, [RFC2119]. 112 The following terms are defined in [RFC7950] and are not redefined 113 here: 115 o augment 117 o data model 119 o data node 121 1.2. Tree Diagrams 123 Tree diagrams used in this document follow the notation defined in 124 [RFC8340]. 126 2. Modeling Considerations for L3 TE Topologies 128 2.1. Relationship Between Layer 3 Topology and TE topology 130 In general, layer 3 network topology model and TE topology model can 131 be used independently. When traffic engineering is enabled on a 132 layer 3 network topology, there will be associations between objects 133 in layer 3 network topologies and objects in TE topologies. The 134 properties of these relations are: 136 o The associations are between objects of the same class, i.e. node 137 to node or link to link. 139 o The multiplicity of such an association is: 0..1 to 0..1. An 140 object in a layer 3 network may have zero or one associated object 141 in the corresponding TE network. 143 2.2. Relationship Modeling 145 YANG data type leafref is used to model the association relationship 146 between a layer 3 network topology and a TE topology. YANG must 147 statements are used to enforce the referenced objects are in the 148 topologies of proper type. 150 2.2.1. Topology Referencing 152 When TE is enabled on a layer 3 network topology, if the TE topology 153 is not congruent to the layer 3 network topology, the layer 3 network 154 topology will have a reference to the corresponding TE topology. 155 Such a reference is modeled as follows: 157 augment /nw:networks/nw:network/l3t:l3-topology-attributes: 158 +--rw l3-te-topology-attributes 159 +--rw network-ref? -> /nw:networks/network/network-id 161 If the TE topology is congruent to the layer 3 network topology, the 162 above reference can still be used to specified TE paramenters defined 163 in the TE topology model. 165 2.2.2. Node Referencing 167 When TE is enabled on a layer 3 network topology, if the TE topology 168 is not congruent to the layer 3 network topology, a layer 3 network 169 node may have a reference to the corresponding TE node. Such a 170 reference is modeled as follows: 172 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: 173 +--rw l3-te-node-attributes 174 +--rw node-ref? leafref 175 +--rw network-ref? -> /nw:networks/network/network-id 177 2.2.3. Link Termination Point Referencing 179 When TE is enabled on a layer 3 network topology, if the TE topology 180 is not congruent to the layer 3 network topology, a layer 3 link 181 termination point may have a reference to the corresponding TE link 182 termination point. Such a reference is modeled as follows: 184 augment /nw:networks/nw:network/nw:node/nt:termination-point 185 /l3t:l3-termination-point-attributes: 186 +--rw l3-te-tp-attributes 187 +--rw tp-ref? leafref 188 +--rw node-ref? leafref 189 +--rw network-ref? -> /nw:networks/network/network-id 191 2.2.4. Link Referencing 193 When TE is enabled on a layer 3 network topology, if the TE topology 194 is not congruent to the layer 3 network topology, a layer 3 link may 195 have a reference to the corresponding TE link. Such a reference is 196 modeled as follows: 198 augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes: 199 +--rw l3-te-link-attributes 200 +--rw link-ref? leafref 201 +--rw network-ref? -> /nw:networks/network/network-id 203 2.3. Topology Type Modeling 205 A new topology type is defined in this document, to indicate a 206 topology that is a layer 3 topology with TE enabled. 208 augment /nw:networks/nw:network/nw:network-types 209 /l3t:l3-unicast-topology: 210 +--rw l3-te! 212 3. Packet Switching Technology Extensions 214 3.1. Technology Specific Link Attributes 216 The technology agnostic TE Topology model is augmented with packet 217 switching specific link attributes: 219 augment /nw:networks/tet:te/tet:templates/tet:link-template 220 /tet:te-link-attributes 221 /tet:interface-switching-capability: 222 +--rw packet-switch-capable 223 +--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 224 +--rw interface-mtu? uint16 225 augment /nw:networks/nw:network/nt:link/tet:te 226 /tet:te-link-attributes 227 /tet:interface-switching-capability: 228 +--rw packet-switch-capable 229 +--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 230 +--rw interface-mtu? uint16 231 augment /nw:networks/nw:network/nt:link/tet:te 232 /tet:information-source-entry 233 /tet:interface-switching-capability: 234 +--ro packet-switch-capable 235 +--ro minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 236 +--ro interface-mtu? uint16 238 3.2. Performance Metric 240 [RFC7471], [RFC7810] and [RFC7823] specify TE performance metric 241 parameters and their usage. The packet switching augmentations 242 specified in this moducment support such a capability, which can be 243 conditional enabled by a YANG feature "te-performance-metric". 245 augment /nw:networks/nw:network/nw:node/tet:te 246 /tet:te-node-attributes/tet:connectivity-matrices: 247 +--rw performance-metric 248 +--rw measurement 249 | ...... 250 +--rw normality 251 | ...... 252 +--rw throttle 253 ...... 255 Such an augmentation has been applied to: 257 o Connectivity matrices container 259 o Connectivity matrix entry 261 o Local ink connectivities container 263 o Local ink connectivity entry 265 o TE link attributes container in a TE link template 267 o TE link attributes container in a TE link 269 o Information source entry in a TE link 271 4. Model Structure 273 4.1. Layer 3 TE Topology Module 275 The model tree structure of the layer 3 TE topology module is as 276 shown below: 278 module: ietf-l3-te-topology 279 augment /nw:networks/nw:network/nw:network-types 280 /l3t:l3-unicast-topology: 281 +--rw l3-te! 282 augment /nw:networks/nw:network/l3t:l3-topology-attributes: 283 +--rw l3-te-topology-attributes 284 +--rw network-ref? -> /nw:networks/network/network-id 285 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: 286 +--rw l3-te-node-attributes 287 +--rw node-ref? leafref 288 +--rw network-ref? -> /nw:networks/network/network-id 289 augment /nw:networks/nw:network/nw:node/nt:termination-point 290 /l3t:l3-termination-point-attributes: 291 +--rw l3-te-tp-attributes 292 +--rw tp-ref? leafref 293 +--rw node-ref? leafref 294 +--rw network-ref? -> /nw:networks/network/network-id 295 augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes: 296 +--rw l3-te-link-attributes 297 +--rw link-ref? leafref 298 +--rw network-ref? -> /nw:networks/network/network-id 300 4.2. Packet Switching TE Topology Module 302 This is an augmentation to base TE topology model. 304 module: ietf-te-topology-packet 305 augment /nw:networks/nw:network/nw:node/tet:te 306 /tet:te-node-attributes/tet:connectivity-matrices: 307 +--rw performance-metric 308 +--rw measurement 309 | +--rw unidirectional-delay? uint32 310 | +--rw unidirectional-min-delay? uint32 311 | +--rw unidirectional-max-delay? uint32 312 | +--rw unidirectional-delay-variation? uint32 313 | +--rw unidirectional-packet-loss? decimal64 314 | +--rw unidirectional-residual-bandwidth? 315 | | rt-types:bandwidth-ieee-float32 316 | +--rw unidirectional-available-bandwidth? 317 | | rt-types:bandwidth-ieee-float32 318 | +--rw unidirectional-utilized-bandwidth? 319 | rt-types:bandwidth-ieee-float32 320 +--rw normality 321 | +--rw unidirectional-delay? 322 | | te-types:performance-metric-normality 323 | +--rw unidirectional-min-delay? 324 | | te-types:performance-metric-normality 325 | +--rw unidirectional-max-delay? 326 | | te-types:performance-metric-normality 327 | +--rw unidirectional-delay-variation? 328 | | te-types:performance-metric-normality 329 | +--rw unidirectional-packet-loss? 330 | | te-types:performance-metric-normality 331 | +--rw unidirectional-residual-bandwidth? 332 | | te-types:performance-metric-normality 333 | +--rw unidirectional-available-bandwidth? 334 | | te-types:performance-metric-normality 335 | +--rw unidirectional-utilized-bandwidth? 336 | te-types:performance-metric-normality 337 +--rw throttle 338 +--rw unidirectional-delay-offset? uint32 339 +--rw measure-interval? uint32 340 +--rw advertisement-interval? uint32 341 +--rw suppression-interval? uint32 342 +--rw threshold-out 343 | +--rw unidirectional-delay? uint32 344 | +--rw unidirectional-min-delay? uint32 345 | +--rw unidirectional-max-delay? uint32 346 | +--rw unidirectional-delay-variation? uint32 347 | +--rw unidirectional-packet-loss? decimal64 348 | +--rw unidirectional-residual-bandwidth? 349 | | rt-types:bandwidth-ieee-float32 350 | +--rw unidirectional-available-bandwidth? 351 | | rt-types:bandwidth-ieee-float32 352 | +--rw unidirectional-utilized-bandwidth? 353 | rt-types:bandwidth-ieee-float32 354 +--rw threshold-in 355 | +--rw unidirectional-delay? uint32 356 | +--rw unidirectional-min-delay? uint32 357 | +--rw unidirectional-max-delay? uint32 358 | +--rw unidirectional-delay-variation? uint32 359 | +--rw unidirectional-packet-loss? decimal64 360 | +--rw unidirectional-residual-bandwidth? 361 | | rt-types:bandwidth-ieee-float32 362 | +--rw unidirectional-available-bandwidth? 363 | | rt-types:bandwidth-ieee-float32 364 | +--rw unidirectional-utilized-bandwidth? 365 | rt-types:bandwidth-ieee-float32 366 +--rw threshold-accelerated-advertisement 367 +--rw unidirectional-delay? uint32 368 +--rw unidirectional-min-delay? uint32 369 +--rw unidirectional-max-delay? uint32 370 +--rw unidirectional-delay-variation? uint32 371 +--rw unidirectional-packet-loss? decimal64 372 +--rw unidirectional-residual-bandwidth? 373 | rt-types:bandwidth-ieee-float32 374 +--rw unidirectional-available-bandwidth? 375 | rt-types:bandwidth-ieee-float32 376 +--rw unidirectional-utilized-bandwidth? 377 rt-types:bandwidth-ieee-float32 378 augment /nw:networks/nw:network/nw:node/tet:te 379 /tet:te-node-attributes/tet:connectivity-matrices 380 /tet:connectivity-matrix: 381 +--rw performance-metric 382 +--rw measurement 383 | +--rw unidirectional-delay? uint32 384 | +--rw unidirectional-min-delay? uint32 385 | +--rw unidirectional-max-delay? uint32 386 | +--rw unidirectional-delay-variation? uint32 387 | +--rw unidirectional-packet-loss? decimal64 388 | +--rw unidirectional-residual-bandwidth? 389 | | rt-types:bandwidth-ieee-float32 390 | +--rw unidirectional-available-bandwidth? 391 | | rt-types:bandwidth-ieee-float32 392 | +--rw unidirectional-utilized-bandwidth? 393 | rt-types:bandwidth-ieee-float32 394 +--rw normality 395 | +--rw unidirectional-delay? 396 | | te-types:performance-metric-normality 397 | +--rw unidirectional-min-delay? 398 | | te-types:performance-metric-normality 399 | +--rw unidirectional-max-delay? 400 | | te-types:performance-metric-normality 401 | +--rw unidirectional-delay-variation? 402 | | te-types:performance-metric-normality 403 | +--rw unidirectional-packet-loss? 404 | | te-types:performance-metric-normality 405 | +--rw unidirectional-residual-bandwidth? 406 | | te-types:performance-metric-normality 407 | +--rw unidirectional-available-bandwidth? 408 | | te-types:performance-metric-normality 409 | +--rw unidirectional-utilized-bandwidth? 410 | te-types:performance-metric-normality 411 +--rw throttle 412 +--rw unidirectional-delay-offset? uint32 413 +--rw measure-interval? uint32 414 +--rw advertisement-interval? uint32 415 +--rw suppression-interval? uint32 416 +--rw threshold-out 417 | +--rw unidirectional-delay? uint32 418 | +--rw unidirectional-min-delay? uint32 419 | +--rw unidirectional-max-delay? uint32 420 | +--rw unidirectional-delay-variation? uint32 421 | +--rw unidirectional-packet-loss? decimal64 422 | +--rw unidirectional-residual-bandwidth? 423 | | rt-types:bandwidth-ieee-float32 424 | +--rw unidirectional-available-bandwidth? 425 | | rt-types:bandwidth-ieee-float32 426 | +--rw unidirectional-utilized-bandwidth? 427 | rt-types:bandwidth-ieee-float32 428 +--rw threshold-in 429 | +--rw unidirectional-delay? uint32 430 | +--rw unidirectional-min-delay? uint32 431 | +--rw unidirectional-max-delay? uint32 432 | +--rw unidirectional-delay-variation? uint32 433 | +--rw unidirectional-packet-loss? decimal64 434 | +--rw unidirectional-residual-bandwidth? 435 | | rt-types:bandwidth-ieee-float32 436 | +--rw unidirectional-available-bandwidth? 437 | | rt-types:bandwidth-ieee-float32 438 | +--rw unidirectional-utilized-bandwidth? 439 | rt-types:bandwidth-ieee-float32 440 +--rw threshold-accelerated-advertisement 441 +--rw unidirectional-delay? uint32 442 +--rw unidirectional-min-delay? uint32 443 +--rw unidirectional-max-delay? uint32 444 +--rw unidirectional-delay-variation? uint32 445 +--rw unidirectional-packet-loss? decimal64 446 +--rw unidirectional-residual-bandwidth? 447 | rt-types:bandwidth-ieee-float32 448 +--rw unidirectional-available-bandwidth? 449 | rt-types:bandwidth-ieee-float32 450 +--rw unidirectional-utilized-bandwidth? 451 rt-types:bandwidth-ieee-float32 452 augment /nw:networks/nw:network/nw:node/tet:te 453 /tet:information-source-entry/tet:connectivity-matrices: 454 +--ro performance-metric 455 +--ro measurement 456 | +--ro unidirectional-delay? uint32 457 | +--ro unidirectional-min-delay? uint32 458 | +--ro unidirectional-max-delay? uint32 459 | +--ro unidirectional-delay-variation? uint32 460 | +--ro unidirectional-packet-loss? decimal64 461 | +--ro unidirectional-residual-bandwidth? 462 | | rt-types:bandwidth-ieee-float32 463 | +--ro unidirectional-available-bandwidth? 464 | | rt-types:bandwidth-ieee-float32 465 | +--ro unidirectional-utilized-bandwidth? 466 | rt-types:bandwidth-ieee-float32 467 +--ro normality 468 | +--ro unidirectional-delay? 469 | | te-types:performance-metric-normality 470 | +--ro unidirectional-min-delay? 471 | | te-types:performance-metric-normality 472 | +--ro unidirectional-max-delay? 473 | | te-types:performance-metric-normality 474 | +--ro unidirectional-delay-variation? 475 | | te-types:performance-metric-normality 476 | +--ro unidirectional-packet-loss? 477 | | te-types:performance-metric-normality 478 | +--ro unidirectional-residual-bandwidth? 479 | | te-types:performance-metric-normality 480 | +--ro unidirectional-available-bandwidth? 481 | | te-types:performance-metric-normality 482 | +--ro unidirectional-utilized-bandwidth? 483 | te-types:performance-metric-normality 484 +--ro throttle 485 +--ro unidirectional-delay-offset? uint32 486 +--ro measure-interval? uint32 487 +--ro advertisement-interval? uint32 488 +--ro suppression-interval? uint32 489 +--ro threshold-out 490 | +--ro unidirectional-delay? uint32 491 | +--ro unidirectional-min-delay? uint32 492 | +--ro unidirectional-max-delay? uint32 493 | +--ro unidirectional-delay-variation? uint32 494 | +--ro unidirectional-packet-loss? decimal64 495 | +--ro unidirectional-residual-bandwidth? 496 | | rt-types:bandwidth-ieee-float32 497 | +--ro unidirectional-available-bandwidth? 498 | | rt-types:bandwidth-ieee-float32 499 | +--ro unidirectional-utilized-bandwidth? 500 | rt-types:bandwidth-ieee-float32 501 +--ro threshold-in 502 | +--ro unidirectional-delay? uint32 503 | +--ro unidirectional-min-delay? uint32 504 | +--ro unidirectional-max-delay? uint32 505 | +--ro unidirectional-delay-variation? uint32 506 | +--ro unidirectional-packet-loss? decimal64 507 | +--ro unidirectional-residual-bandwidth? 508 | | rt-types:bandwidth-ieee-float32 509 | +--ro unidirectional-available-bandwidth? 510 | | rt-types:bandwidth-ieee-float32 511 | +--ro unidirectional-utilized-bandwidth? 512 | rt-types:bandwidth-ieee-float32 513 +--ro threshold-accelerated-advertisement 514 +--ro unidirectional-delay? uint32 515 +--ro unidirectional-min-delay? uint32 516 +--ro unidirectional-max-delay? uint32 517 +--ro unidirectional-delay-variation? uint32 518 +--ro unidirectional-packet-loss? decimal64 519 +--ro unidirectional-residual-bandwidth? 520 | rt-types:bandwidth-ieee-float32 521 +--ro unidirectional-available-bandwidth? 522 | rt-types:bandwidth-ieee-float32 523 +--ro unidirectional-utilized-bandwidth? 524 rt-types:bandwidth-ieee-float32 525 augment /nw:networks/nw:network/nw:node/tet:te 526 /tet:information-source-entry/tet:connectivity-matrices 527 /tet:connectivity-matrix: 528 +--ro performance-metric 529 +--ro measurement 530 | +--ro unidirectional-delay? uint32 531 | +--ro unidirectional-min-delay? uint32 532 | +--ro unidirectional-max-delay? uint32 533 | +--ro unidirectional-delay-variation? uint32 534 | +--ro unidirectional-packet-loss? decimal64 535 | +--ro unidirectional-residual-bandwidth? 536 | | rt-types:bandwidth-ieee-float32 537 | +--ro unidirectional-available-bandwidth? 538 | | rt-types:bandwidth-ieee-float32 539 | +--ro unidirectional-utilized-bandwidth? 540 | rt-types:bandwidth-ieee-float32 541 +--ro normality 542 | +--ro unidirectional-delay? 543 | | te-types:performance-metric-normality 544 | +--ro unidirectional-min-delay? 545 | | te-types:performance-metric-normality 546 | +--ro unidirectional-max-delay? 547 | | te-types:performance-metric-normality 548 | +--ro unidirectional-delay-variation? 549 | | te-types:performance-metric-normality 550 | +--ro unidirectional-packet-loss? 551 | | te-types:performance-metric-normality 552 | +--ro unidirectional-residual-bandwidth? 553 | | te-types:performance-metric-normality 554 | +--ro unidirectional-available-bandwidth? 555 | | te-types:performance-metric-normality 556 | +--ro unidirectional-utilized-bandwidth? 557 | te-types:performance-metric-normality 558 +--ro throttle 559 +--ro unidirectional-delay-offset? uint32 560 +--ro measure-interval? uint32 561 +--ro advertisement-interval? uint32 562 +--ro suppression-interval? uint32 563 +--ro threshold-out 564 | +--ro unidirectional-delay? uint32 565 | +--ro unidirectional-min-delay? uint32 566 | +--ro unidirectional-max-delay? uint32 567 | +--ro unidirectional-delay-variation? uint32 568 | +--ro unidirectional-packet-loss? decimal64 569 | +--ro unidirectional-residual-bandwidth? 570 | | rt-types:bandwidth-ieee-float32 571 | +--ro unidirectional-available-bandwidth? 572 | | rt-types:bandwidth-ieee-float32 573 | +--ro unidirectional-utilized-bandwidth? 574 | rt-types:bandwidth-ieee-float32 575 +--ro threshold-in 576 | +--ro unidirectional-delay? uint32 577 | +--ro unidirectional-min-delay? uint32 578 | +--ro unidirectional-max-delay? uint32 579 | +--ro unidirectional-delay-variation? uint32 580 | +--ro unidirectional-packet-loss? decimal64 581 | +--ro unidirectional-residual-bandwidth? 582 | | rt-types:bandwidth-ieee-float32 583 | +--ro unidirectional-available-bandwidth? 584 | | rt-types:bandwidth-ieee-float32 585 | +--ro unidirectional-utilized-bandwidth? 586 | rt-types:bandwidth-ieee-float32 587 +--ro threshold-accelerated-advertisement 588 +--ro unidirectional-delay? uint32 589 +--ro unidirectional-min-delay? uint32 590 +--ro unidirectional-max-delay? uint32 591 +--ro unidirectional-delay-variation? uint32 592 +--ro unidirectional-packet-loss? decimal64 593 +--ro unidirectional-residual-bandwidth? 594 | rt-types:bandwidth-ieee-float32 595 +--ro unidirectional-available-bandwidth? 596 | rt-types:bandwidth-ieee-float32 597 +--ro unidirectional-utilized-bandwidth? 598 rt-types:bandwidth-ieee-float32 599 augment /nw:networks/nw:network/nw:node/tet:te 600 /tet:tunnel-termination-point 601 /tet:local-link-connectivities: 602 +--rw performance-metric 603 +--rw measurement 604 | +--rw unidirectional-delay? uint32 605 | +--rw unidirectional-min-delay? uint32 606 | +--rw unidirectional-max-delay? uint32 607 | +--rw unidirectional-delay-variation? uint32 608 | +--rw unidirectional-packet-loss? decimal64 609 | +--rw unidirectional-residual-bandwidth? 610 | | rt-types:bandwidth-ieee-float32 611 | +--rw unidirectional-available-bandwidth? 612 | | rt-types:bandwidth-ieee-float32 613 | +--rw unidirectional-utilized-bandwidth? 614 | rt-types:bandwidth-ieee-float32 615 +--rw normality 616 | +--rw unidirectional-delay? 617 | | te-types:performance-metric-normality 618 | +--rw unidirectional-min-delay? 619 | | te-types:performance-metric-normality 620 | +--rw unidirectional-max-delay? 621 | | te-types:performance-metric-normality 622 | +--rw unidirectional-delay-variation? 623 | | te-types:performance-metric-normality 624 | +--rw unidirectional-packet-loss? 625 | | te-types:performance-metric-normality 626 | +--rw unidirectional-residual-bandwidth? 627 | | te-types:performance-metric-normality 628 | +--rw unidirectional-available-bandwidth? 629 | | te-types:performance-metric-normality 630 | +--rw unidirectional-utilized-bandwidth? 631 | te-types:performance-metric-normality 632 +--rw throttle 633 +--rw unidirectional-delay-offset? uint32 634 +--rw measure-interval? uint32 635 +--rw advertisement-interval? uint32 636 +--rw suppression-interval? uint32 637 +--rw threshold-out 638 | +--rw unidirectional-delay? uint32 639 | +--rw unidirectional-min-delay? uint32 640 | +--rw unidirectional-max-delay? uint32 641 | +--rw unidirectional-delay-variation? uint32 642 | +--rw unidirectional-packet-loss? decimal64 643 | +--rw unidirectional-residual-bandwidth? 644 | | rt-types:bandwidth-ieee-float32 645 | +--rw unidirectional-available-bandwidth? 646 | | rt-types:bandwidth-ieee-float32 647 | +--rw unidirectional-utilized-bandwidth? 648 | rt-types:bandwidth-ieee-float32 649 +--rw threshold-in 650 | +--rw unidirectional-delay? uint32 651 | +--rw unidirectional-min-delay? uint32 652 | +--rw unidirectional-max-delay? uint32 653 | +--rw unidirectional-delay-variation? uint32 654 | +--rw unidirectional-packet-loss? decimal64 655 | +--rw unidirectional-residual-bandwidth? 656 | | rt-types:bandwidth-ieee-float32 657 | +--rw unidirectional-available-bandwidth? 658 | | rt-types:bandwidth-ieee-float32 659 | +--rw unidirectional-utilized-bandwidth? 660 | rt-types:bandwidth-ieee-float32 661 +--rw threshold-accelerated-advertisement 662 +--rw unidirectional-delay? uint32 663 +--rw unidirectional-min-delay? uint32 664 +--rw unidirectional-max-delay? uint32 665 +--rw unidirectional-delay-variation? uint32 666 +--rw unidirectional-packet-loss? decimal64 667 +--rw unidirectional-residual-bandwidth? 668 | rt-types:bandwidth-ieee-float32 669 +--rw unidirectional-available-bandwidth? 670 | rt-types:bandwidth-ieee-float32 671 +--rw unidirectional-utilized-bandwidth? 672 rt-types:bandwidth-ieee-float32 673 augment /nw:networks/nw:network/nw:node/tet:te 674 /tet:tunnel-termination-point 675 /tet:local-link-connectivities 676 /tet:local-link-connectivity: 677 +--rw performance-metric 678 +--rw measurement 679 | +--rw unidirectional-delay? uint32 680 | +--rw unidirectional-min-delay? uint32 681 | +--rw unidirectional-max-delay? uint32 682 | +--rw unidirectional-delay-variation? uint32 683 | +--rw unidirectional-packet-loss? decimal64 684 | +--rw unidirectional-residual-bandwidth? 685 | | rt-types:bandwidth-ieee-float32 686 | +--rw unidirectional-available-bandwidth? 687 | | rt-types:bandwidth-ieee-float32 688 | +--rw unidirectional-utilized-bandwidth? 689 | rt-types:bandwidth-ieee-float32 690 +--rw normality 691 | +--rw unidirectional-delay? 692 | | te-types:performance-metric-normality 693 | +--rw unidirectional-min-delay? 694 | | te-types:performance-metric-normality 695 | +--rw unidirectional-max-delay? 696 | | te-types:performance-metric-normality 697 | +--rw unidirectional-delay-variation? 698 | | te-types:performance-metric-normality 699 | +--rw unidirectional-packet-loss? 700 | | te-types:performance-metric-normality 701 | +--rw unidirectional-residual-bandwidth? 702 | | te-types:performance-metric-normality 703 | +--rw unidirectional-available-bandwidth? 704 | | te-types:performance-metric-normality 705 | +--rw unidirectional-utilized-bandwidth? 706 | te-types:performance-metric-normality 707 +--rw throttle 708 +--rw unidirectional-delay-offset? uint32 709 +--rw measure-interval? uint32 710 +--rw advertisement-interval? uint32 711 +--rw suppression-interval? uint32 712 +--rw threshold-out 713 | +--rw unidirectional-delay? uint32 714 | +--rw unidirectional-min-delay? uint32 715 | +--rw unidirectional-max-delay? uint32 716 | +--rw unidirectional-delay-variation? uint32 717 | +--rw unidirectional-packet-loss? decimal64 718 | +--rw unidirectional-residual-bandwidth? 719 | | rt-types:bandwidth-ieee-float32 720 | +--rw unidirectional-available-bandwidth? 721 | | rt-types:bandwidth-ieee-float32 722 | +--rw unidirectional-utilized-bandwidth? 723 | rt-types:bandwidth-ieee-float32 724 +--rw threshold-in 725 | +--rw unidirectional-delay? uint32 726 | +--rw unidirectional-min-delay? uint32 727 | +--rw unidirectional-max-delay? uint32 728 | +--rw unidirectional-delay-variation? uint32 729 | +--rw unidirectional-packet-loss? decimal64 730 | +--rw unidirectional-residual-bandwidth? 731 | | rt-types:bandwidth-ieee-float32 732 | +--rw unidirectional-available-bandwidth? 733 | | rt-types:bandwidth-ieee-float32 734 | +--rw unidirectional-utilized-bandwidth? 735 | rt-types:bandwidth-ieee-float32 736 +--rw threshold-accelerated-advertisement 737 +--rw unidirectional-delay? uint32 738 +--rw unidirectional-min-delay? uint32 739 +--rw unidirectional-max-delay? uint32 740 +--rw unidirectional-delay-variation? uint32 741 +--rw unidirectional-packet-loss? decimal64 742 +--rw unidirectional-residual-bandwidth? 743 | rt-types:bandwidth-ieee-float32 744 +--rw unidirectional-available-bandwidth? 745 | rt-types:bandwidth-ieee-float32 746 +--rw unidirectional-utilized-bandwidth? 747 rt-types:bandwidth-ieee-float32 748 augment /nw:networks/tet:te/tet:templates/tet:link-template 749 /tet:te-link-attributes: 750 +--rw performance-metric 751 +--rw measurement 752 | +--rw unidirectional-delay? uint32 753 | +--rw unidirectional-min-delay? uint32 754 | +--rw unidirectional-max-delay? uint32 755 | +--rw unidirectional-delay-variation? uint32 756 | +--rw unidirectional-packet-loss? decimal64 757 | +--rw unidirectional-residual-bandwidth? 758 | | rt-types:bandwidth-ieee-float32 759 | +--rw unidirectional-available-bandwidth? 760 | | rt-types:bandwidth-ieee-float32 761 | +--rw unidirectional-utilized-bandwidth? 762 | rt-types:bandwidth-ieee-float32 763 +--rw normality 764 | +--rw unidirectional-delay? 765 | | te-types:performance-metric-normality 766 | +--rw unidirectional-min-delay? 767 | | te-types:performance-metric-normality 768 | +--rw unidirectional-max-delay? 769 | | te-types:performance-metric-normality 770 | +--rw unidirectional-delay-variation? 771 | | te-types:performance-metric-normality 772 | +--rw unidirectional-packet-loss? 773 | | te-types:performance-metric-normality 774 | +--rw unidirectional-residual-bandwidth? 775 | | te-types:performance-metric-normality 776 | +--rw unidirectional-available-bandwidth? 777 | | te-types:performance-metric-normality 778 | +--rw unidirectional-utilized-bandwidth? 779 | te-types:performance-metric-normality 780 +--rw throttle 781 +--rw unidirectional-delay-offset? uint32 782 +--rw measure-interval? uint32 783 +--rw advertisement-interval? uint32 784 +--rw suppression-interval? uint32 785 +--rw threshold-out 786 | +--rw unidirectional-delay? uint32 787 | +--rw unidirectional-min-delay? uint32 788 | +--rw unidirectional-max-delay? uint32 789 | +--rw unidirectional-delay-variation? uint32 790 | +--rw unidirectional-packet-loss? decimal64 791 | +--rw unidirectional-residual-bandwidth? 792 | | rt-types:bandwidth-ieee-float32 793 | +--rw unidirectional-available-bandwidth? 794 | | rt-types:bandwidth-ieee-float32 795 | +--rw unidirectional-utilized-bandwidth? 796 | rt-types:bandwidth-ieee-float32 797 +--rw threshold-in 798 | +--rw unidirectional-delay? uint32 799 | +--rw unidirectional-min-delay? uint32 800 | +--rw unidirectional-max-delay? uint32 801 | +--rw unidirectional-delay-variation? uint32 802 | +--rw unidirectional-packet-loss? decimal64 803 | +--rw unidirectional-residual-bandwidth? 804 | | rt-types:bandwidth-ieee-float32 805 | +--rw unidirectional-available-bandwidth? 806 | | rt-types:bandwidth-ieee-float32 807 | +--rw unidirectional-utilized-bandwidth? 808 | rt-types:bandwidth-ieee-float32 809 +--rw threshold-accelerated-advertisement 810 +--rw unidirectional-delay? uint32 811 +--rw unidirectional-min-delay? uint32 812 +--rw unidirectional-max-delay? uint32 813 +--rw unidirectional-delay-variation? uint32 814 +--rw unidirectional-packet-loss? decimal64 815 +--rw unidirectional-residual-bandwidth? 816 | rt-types:bandwidth-ieee-float32 817 +--rw unidirectional-available-bandwidth? 818 | rt-types:bandwidth-ieee-float32 819 +--rw unidirectional-utilized-bandwidth? 820 rt-types:bandwidth-ieee-float32 821 augment /nw:networks/nw:network/nt:link/tet:te 822 /tet:te-link-attributes: 823 +--rw performance-metric 824 +--rw measurement 825 | +--rw unidirectional-delay? uint32 826 | +--rw unidirectional-min-delay? uint32 827 | +--rw unidirectional-max-delay? uint32 828 | +--rw unidirectional-delay-variation? uint32 829 | +--rw unidirectional-packet-loss? decimal64 830 | +--rw unidirectional-residual-bandwidth? 831 | | rt-types:bandwidth-ieee-float32 832 | +--rw unidirectional-available-bandwidth? 833 | | rt-types:bandwidth-ieee-float32 834 | +--rw unidirectional-utilized-bandwidth? 835 | rt-types:bandwidth-ieee-float32 836 +--rw normality 837 | +--rw unidirectional-delay? 838 | | te-types:performance-metric-normality 839 | +--rw unidirectional-min-delay? 840 | | te-types:performance-metric-normality 841 | +--rw unidirectional-max-delay? 842 | | te-types:performance-metric-normality 843 | +--rw unidirectional-delay-variation? 844 | | te-types:performance-metric-normality 845 | +--rw unidirectional-packet-loss? 846 | | te-types:performance-metric-normality 847 | +--rw unidirectional-residual-bandwidth? 848 | | te-types:performance-metric-normality 849 | +--rw unidirectional-available-bandwidth? 850 | | te-types:performance-metric-normality 851 | +--rw unidirectional-utilized-bandwidth? 852 | te-types:performance-metric-normality 853 +--rw throttle 854 +--rw unidirectional-delay-offset? uint32 855 +--rw measure-interval? uint32 856 +--rw advertisement-interval? uint32 857 +--rw suppression-interval? uint32 858 +--rw threshold-out 859 | +--rw unidirectional-delay? uint32 860 | +--rw unidirectional-min-delay? uint32 861 | +--rw unidirectional-max-delay? uint32 862 | +--rw unidirectional-delay-variation? uint32 863 | +--rw unidirectional-packet-loss? decimal64 864 | +--rw unidirectional-residual-bandwidth? 865 | | rt-types:bandwidth-ieee-float32 866 | +--rw unidirectional-available-bandwidth? 867 | | rt-types:bandwidth-ieee-float32 868 | +--rw unidirectional-utilized-bandwidth? 869 | rt-types:bandwidth-ieee-float32 870 +--rw threshold-in 871 | +--rw unidirectional-delay? uint32 872 | +--rw unidirectional-min-delay? uint32 873 | +--rw unidirectional-max-delay? uint32 874 | +--rw unidirectional-delay-variation? uint32 875 | +--rw unidirectional-packet-loss? decimal64 876 | +--rw unidirectional-residual-bandwidth? 877 | | rt-types:bandwidth-ieee-float32 878 | +--rw unidirectional-available-bandwidth? 879 | | rt-types:bandwidth-ieee-float32 880 | +--rw unidirectional-utilized-bandwidth? 881 | rt-types:bandwidth-ieee-float32 882 +--rw threshold-accelerated-advertisement 883 +--rw unidirectional-delay? uint32 884 +--rw unidirectional-min-delay? uint32 885 +--rw unidirectional-max-delay? uint32 886 +--rw unidirectional-delay-variation? uint32 887 +--rw unidirectional-packet-loss? decimal64 888 +--rw unidirectional-residual-bandwidth? 889 | rt-types:bandwidth-ieee-float32 890 +--rw unidirectional-available-bandwidth? 891 | rt-types:bandwidth-ieee-float32 892 +--rw unidirectional-utilized-bandwidth? 893 rt-types:bandwidth-ieee-float32 894 augment /nw:networks/nw:network/nt:link/tet:te 895 /tet:information-source-entry: 896 +--ro performance-metric 897 +--ro measurement 898 | +--ro unidirectional-delay? uint32 899 | +--ro unidirectional-min-delay? uint32 900 | +--ro unidirectional-max-delay? uint32 901 | +--ro unidirectional-delay-variation? uint32 902 | +--ro unidirectional-packet-loss? decimal64 903 | +--ro unidirectional-residual-bandwidth? 904 | | rt-types:bandwidth-ieee-float32 905 | +--ro unidirectional-available-bandwidth? 906 | | rt-types:bandwidth-ieee-float32 907 | +--ro unidirectional-utilized-bandwidth? 908 | rt-types:bandwidth-ieee-float32 909 +--ro normality 910 | +--ro unidirectional-delay? 911 | | te-types:performance-metric-normality 912 | +--ro unidirectional-min-delay? 913 | | te-types:performance-metric-normality 914 | +--ro unidirectional-max-delay? 915 | | te-types:performance-metric-normality 916 | +--ro unidirectional-delay-variation? 917 | | te-types:performance-metric-normality 918 | +--ro unidirectional-packet-loss? 919 | | te-types:performance-metric-normality 920 | +--ro unidirectional-residual-bandwidth? 921 | | te-types:performance-metric-normality 922 | +--ro unidirectional-available-bandwidth? 923 | | te-types:performance-metric-normality 924 | +--ro unidirectional-utilized-bandwidth? 925 | te-types:performance-metric-normality 926 +--ro throttle 927 +--ro unidirectional-delay-offset? uint32 928 +--ro measure-interval? uint32 929 +--ro advertisement-interval? uint32 930 +--ro suppression-interval? uint32 931 +--ro threshold-out 932 | +--ro unidirectional-delay? uint32 933 | +--ro unidirectional-min-delay? uint32 934 | +--ro unidirectional-max-delay? uint32 935 | +--ro unidirectional-delay-variation? uint32 936 | +--ro unidirectional-packet-loss? decimal64 937 | +--ro unidirectional-residual-bandwidth? 938 | | rt-types:bandwidth-ieee-float32 939 | +--ro unidirectional-available-bandwidth? 940 | | rt-types:bandwidth-ieee-float32 941 | +--ro unidirectional-utilized-bandwidth? 942 | rt-types:bandwidth-ieee-float32 943 +--ro threshold-in 944 | +--ro unidirectional-delay? uint32 945 | +--ro unidirectional-min-delay? uint32 946 | +--ro unidirectional-max-delay? uint32 947 | +--ro unidirectional-delay-variation? uint32 948 | +--ro unidirectional-packet-loss? decimal64 949 | +--ro unidirectional-residual-bandwidth? 950 | | rt-types:bandwidth-ieee-float32 951 | +--ro unidirectional-available-bandwidth? 952 | | rt-types:bandwidth-ieee-float32 953 | +--ro unidirectional-utilized-bandwidth? 954 | rt-types:bandwidth-ieee-float32 955 +--ro threshold-accelerated-advertisement 956 +--ro unidirectional-delay? uint32 957 +--ro unidirectional-min-delay? uint32 958 +--ro unidirectional-max-delay? uint32 959 +--ro unidirectional-delay-variation? uint32 960 +--ro unidirectional-packet-loss? decimal64 961 +--ro unidirectional-residual-bandwidth? 962 | rt-types:bandwidth-ieee-float32 963 +--ro unidirectional-available-bandwidth? 964 | rt-types:bandwidth-ieee-float32 965 +--ro unidirectional-utilized-bandwidth? 966 rt-types:bandwidth-ieee-float32 967 augment /nw:networks/tet:te/tet:templates/tet:link-template 968 /tet:te-link-attributes 969 /tet:interface-switching-capability: 970 +--rw packet-switch-capable 971 +--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 972 +--rw interface-mtu? uint16 973 augment /nw:networks/nw:network/nt:link/tet:te 974 /tet:te-link-attributes 975 /tet:interface-switching-capability: 976 +--rw packet-switch-capable 977 +--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 978 +--rw interface-mtu? uint16 979 augment /nw:networks/nw:network/nt:link/tet:te 980 /tet:information-source-entry 981 /tet:interface-switching-capability: 982 +--ro packet-switch-capable 983 +--ro minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 984 +--ro interface-mtu? uint16 986 5. YANG Modules 988 5.1. Layer 3 TE Topology Module 990 This module references [RFC8345], [RFC8346], and 991 [I-D.ietf-teas-yang-te-topo]. 993 file "ietf-l3-te-topology@2018-06-22.yang" 994 module ietf-l3-te-topology { 995 yang-version 1.1; 996 namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology"; 997 prefix "l3tet"; 999 import ietf-network { 1000 prefix "nw"; 1001 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1002 } 1003 import ietf-network-topology { 1004 prefix "nt"; 1005 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1006 } 1007 import ietf-l3-unicast-topology { 1008 prefix "l3t"; 1009 reference "RFC 8346: A YANG Data Model for Layer 3 Topologies"; 1010 } 1011 import ietf-te-topology { 1012 prefix "tet"; 1013 reference 1014 "I-D.ietf-teas-yang-te-topo: YANG Data Model for Traffic 1015 Engineering (TE) Topologies"; 1016 } 1018 organization 1019 "IETF Traffic Engineering Architecture and Signaling (TEAS) 1020 Working Group"; 1022 contact 1023 "WG Web: 1024 WG List: 1026 Editor: Xufeng Liu 1027 1029 Editor: Igor Bryskin 1030 1032 Editor: Vishnu Pavan Beeram 1033 1035 Editor: Tarek Saad 1036 1038 Editor: Himanshu Shah 1039 1041 Editor: Oscar Gonzalez De Dios 1042 "; 1044 description 1045 "YANG data model for representing and manipulating Layer 3 TE 1046 Topologies. 1048 Copyright (c) 2018 IETF Trust and the persons identified as 1049 authors of the code. All rights reserved. 1051 Redistribution and use in source and binary forms, with or 1052 without modification, is permitted pursuant to, and subject to 1053 the license terms contained in, the Simplified BSD License set 1054 forth in Section 4.c of the IETF Trust's Legal Provisions 1055 Relating to IETF Documents 1056 (http://trustee.ietf.org/license-info). 1058 This version of this YANG module is part of RFC XXXX; see the 1059 RFC itself for full legal notices."; 1061 revision 2018-06-22 { 1063 description "Initial revision"; 1064 reference "RFC XXXX: YANG Data Model for Layer 3 TE Topologies"; 1065 } 1067 grouping l3-te-topology-type { 1068 description 1069 "Identifies the L3 TE topology type."; 1070 container l3-te { 1071 presence "indiates L3 TE Topology"; 1072 description 1073 "Its presence identifies the L3 TE topology type."; 1074 } 1075 } 1077 augment "/nw:networks/nw:network/nw:network-types/" 1078 + "l3t:l3-unicast-topology" { 1079 description 1080 "Defines the L3 TE topology type."; 1081 uses l3-te-topology-type; 1082 } 1084 augment "/nw:networks/nw:network/l3t:l3-topology-attributes" { 1085 when "../nw:network-types/l3t:l3-unicast-topology/l3tet:l3-te" { 1086 description "Augment only for L3 TE topology"; 1087 } 1088 description "Augment topology configuration"; 1089 uses l3-te-topology-attributes; 1091 } 1093 augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" { 1094 when "../../nw:network-types/l3t:l3-unicast-topology/" 1095 + "l3tet:l3-te" { 1096 description "Augment only for L3 TE topology"; 1097 } 1098 description "Augment node configuration"; 1099 uses l3-te-node-attributes; 1100 } 1102 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 1103 + "l3t:l3-termination-point-attributes" { 1104 when "../../../nw:network-types/l3t:l3-unicast-topology/" 1105 + "l3tet:l3-te" { 1106 description "Augment only for L3 TE topology"; 1107 } 1108 description "Augment termination point configuration"; 1109 uses l3-te-tp-attributes; 1110 } 1112 augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" { 1113 when "../../nw:network-types/l3t:l3-unicast-topology/" 1114 + "l3tet:l3-te" { 1115 description "Augment only for L3 TE topology"; 1116 } 1117 description "Augment link configuration"; 1118 uses l3-te-link-attributes; 1119 } 1121 grouping l3-te-topology-attributes { 1122 description "L3 TE topology scope attributes"; 1123 container l3-te-topology-attributes { 1124 must "/nw:networks/nw:network" 1125 + "[nw:network-id = current()/network-ref]/nw:network-types/" 1126 + "tet:te-topology" { 1127 error-message 1128 "The referenced network must be a TE topology."; 1129 description 1130 "The referenced network must be a TE topology."; 1131 } 1132 description "Containing TE topology references"; 1133 uses nw:network-ref; 1134 } // l3-te-topology-attributes 1135 } // l3-te-topology-attributes 1137 grouping l3-te-node-attributes { 1138 description "L3 TE node scope attributes"; 1139 container l3-te-node-attributes { 1140 must "/nw:networks/nw:network" 1141 + "[nw:network-id = current()/network-ref]/nw:network-types/" 1142 + "tet:te-topology" { 1143 error-message 1144 "The referenced network must be a TE topology."; 1145 description 1146 "The referenced network must be a TE topology."; 1147 } 1148 description "Containing TE node references"; 1149 uses nw:node-ref; 1150 } // l3-te 1151 } // l3-te-node-attributes 1153 grouping l3-te-tp-attributes { 1154 description "L3 TE termination point scope attributes"; 1155 container l3-te-tp-attributes { 1156 must "/nw:networks/nw:network" 1157 + "[nw:network-id = current()/network-ref]/nw:network-types/" 1158 + "tet:te-topology" { 1159 error-message 1160 "The referenced network must be a TE topology."; 1161 description 1162 "The referenced network must be a TE topology."; 1163 } 1164 description "Containing TE termination point references"; 1165 uses nt:tp-ref; 1166 } // l3-te 1167 } // l3-te-tp-attributes 1169 grouping l3-te-link-attributes { 1170 description "L3 TE link scope attributes"; 1171 container l3-te-link-attributes { 1172 must "/nw:networks/nw:network" 1173 + "[nw:network-id = current()/network-ref]/nw:network-types/" 1174 + "tet:te-topology" { 1175 error-message 1176 "The referenced network must be a TE topology."; 1177 description 1178 "The referenced network must be a TE topology."; 1179 } 1180 description "Containing TE link references"; 1181 uses nt:link-ref; 1182 } 1183 } // l3-te-link-attributes 1184 } 1185 1187 5.2. Packet Switching TE Topology Module 1189 This module references [RFC7471], [RFC7810], [RFC7823], [RFC8294], 1190 [RFC8345], [RFC8346]. [I-D.ietf-teas-yang-te], and 1191 [I-D.ietf-teas-yang-te-topo]. 1193 file "ietf-te-topology-packet@2018-06-22.yang" 1194 module ietf-te-topology-packet { 1195 yang-version 1.1; 1196 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet"; 1198 prefix "tet-pkt"; 1200 import ietf-network { 1201 prefix "nw"; 1202 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1203 } 1205 import ietf-network-topology { 1206 prefix "nt"; 1207 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1208 } 1210 import ietf-routing-types { 1211 prefix "rt-types"; 1212 reference 1213 "RFC 8294: Common YANG Data Types for the Routing Area"; 1214 } 1216 import ietf-te-topology { 1217 prefix "tet"; 1218 reference 1219 "I-D.ietf-teas-yang-te-topo: YANG Data Model for Traffic 1220 Engineering (TE) Topologies"; 1221 } 1223 import ietf-te-types { 1224 prefix "te-types"; 1225 reference 1226 "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic 1227 Engineering Tunnels and Interfaces"; 1228 } 1230 organization 1231 "Traffic Engineering Architecture and Signaling (TEAS) 1232 Working Group"; 1234 contact 1235 "WG Web: 1236 WG List: 1238 Editor: Xufeng Liu 1239 1241 Editor: Igor Bryskin 1242 1244 Editor: Vishnu Pavan Beeram 1245 1247 Editor: Tarek Saad 1248 1250 Editor: Himanshu Shah 1251 1253 Editor: Oscar Gonzalez De Dios 1254 "; 1256 description 1257 "YANG data model for representing and manipulating PSC (Packet 1258 Switching) TE Topologies. 1260 Copyright (c) 2018 IETF Trust and the persons identified as 1261 authors of the code. All rights reserved. 1263 Redistribution and use in source and binary forms, with or 1264 without modification, is permitted pursuant to, and subject to 1265 the license terms contained in, the Simplified BSD License set 1266 forth in Section 4.c of the IETF Trust's Legal Provisions 1267 Relating to IETF Documents 1268 (http://trustee.ietf.org/license-info). 1270 This version of this YANG module is part of RFC XXXX; see the 1271 RFC itself for full legal notices."; 1273 revision 2018-06-22 { 1274 description "Initial revision"; 1275 reference "RFC XXXX: YANG Data Model for Layer 3 TE Topologies"; 1276 } 1278 /* 1279 * Features 1280 */ 1282 feature te-performance-metric { 1283 description 1284 "This feature indicates that the system supports 1285 TE performance metric."; 1286 reference 1287 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 1288 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 1289 RFC7823: Performance-Based Path Selection for Explicitly 1290 Routed Label Switched Paths (LSPs) Using TE Metric 1291 Extensions"; 1292 } 1294 /* 1295 * Groupings 1296 */ 1297 grouping packet-switch-capable-container { 1298 description 1299 "The container of packet switch capable attributes."; 1300 container packet-switch-capable { 1301 description 1302 "Interface has packet-switching capabilities."; 1303 leaf minimum-lsp-bandwidth { 1304 type rt-types:bandwidth-ieee-float32; 1305 description 1306 "Minimum LSP Bandwidth. Units in bytes per second"; 1307 } 1308 leaf interface-mtu { 1309 type uint16; 1310 description 1311 "Interface MTU."; 1312 } 1313 } 1314 } 1316 /* 1317 * Augmentations 1318 */ 1319 /* Augmentations to connectivity-matrix */ 1320 augment "/nw:networks/nw:network/nw:node/tet:te/" 1321 + "tet:te-node-attributes/tet:connectivity-matrices" { 1322 description 1323 "Parameters for PSC TE topology."; 1324 uses te-types:performance-metric-container { 1325 if-feature te-performance-metric; 1326 } 1327 } 1329 augment "/nw:networks/nw:network/nw:node/tet:te/" 1330 + "tet:te-node-attributes/tet:connectivity-matrices/" 1331 + "tet:connectivity-matrix" { 1332 description 1333 "Parameters for PSC TE topology."; 1334 uses te-types:performance-metric-container { 1335 if-feature te-performance-metric; 1336 } 1337 } 1339 augment "/nw:networks/nw:network/nw:node/tet:te/" 1340 + "tet:information-source-entry/tet:connectivity-matrices" { 1341 description 1342 "Parameters for PSC TE topology."; 1343 uses te-types:performance-metric-container { 1344 if-feature te-performance-metric; 1345 } 1346 } 1348 augment "/nw:networks/nw:network/nw:node/tet:te/" 1349 + "tet:information-source-entry/tet:connectivity-matrices/" 1350 + "tet:connectivity-matrix" { 1351 description 1352 "Parameters for PSC TE topology."; 1353 uses te-types:performance-metric-container { 1354 if-feature te-performance-metric; 1355 } 1356 } 1358 /* Augmentations to tunnel-termination-point */ 1359 augment "/nw:networks/nw:network/nw:node/tet:te/" 1360 + "tet:tunnel-termination-point/" 1361 + "tet:local-link-connectivities" { 1362 description 1363 "Parameters for PSC TE topology."; 1364 uses te-types:performance-metric-container { 1365 if-feature te-performance-metric; 1366 } 1367 } 1369 augment "/nw:networks/nw:network/nw:node/tet:te/" 1370 + "tet:tunnel-termination-point/" 1371 + "tet:local-link-connectivities/" 1372 + "tet:local-link-connectivity" { 1373 description 1374 "Parameters for PSC TE topology."; 1375 uses te-types:performance-metric-container { 1376 if-feature te-performance-metric; 1377 } 1379 } 1381 /* Augmentations to te-link-attributes */ 1382 augment "/nw:networks/tet:te/tet:templates/" 1383 + "tet:link-template/tet:te-link-attributes" { 1384 when "tet:interface-switching-capability " 1385 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1386 description "Valid only for PSC"; 1387 } 1388 description 1389 "Parameters for PSC TE topology."; 1390 uses te-types:performance-metric-container { 1391 if-feature te-performance-metric; 1392 } 1393 } 1395 augment "/nw:networks/nw:network/nt:link/tet:te/" 1396 + "tet:te-link-attributes" { 1397 when "tet:interface-switching-capability " 1398 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1399 description "Valid only for PSC"; 1400 } 1401 description 1402 "Parameters for PSC TE topology."; 1403 uses te-types:performance-metric-container { 1404 if-feature te-performance-metric; 1405 } 1406 } 1408 augment "/nw:networks/nw:network/nt:link/tet:te/" 1409 + "tet:information-source-entry" { 1410 when "tet:interface-switching-capability " 1411 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1412 description "Valid only for PSC"; 1413 } 1414 description 1415 "Parameters for PSC TE topology."; 1416 uses te-types:performance-metric-container { 1417 if-feature te-performance-metric; 1418 } 1419 } 1421 /* Augmentations to interface-switching-capability */ 1422 augment "/nw:networks/tet:te/tet:templates/" 1423 + "tet:link-template/tet:te-link-attributes/" 1424 + "tet:interface-switching-capability" { 1425 when "tet:switching-capability = 'te-types:switching-psc1' " { 1426 description "Valid only for PSC"; 1428 } 1429 description 1430 "Parameters for PSC TE topology."; 1431 uses packet-switch-capable-container; 1432 } 1434 augment "/nw:networks/nw:network/nt:link/tet:te/" 1435 + "tet:te-link-attributes/" 1436 + "tet:interface-switching-capability" { 1437 when "tet:switching-capability = 'te-types:switching-psc1' " { 1438 description "Valid only for PSC"; 1439 } 1440 description 1441 "Parameters for PSC TE topology."; 1442 uses packet-switch-capable-container; 1443 } 1445 augment "/nw:networks/nw:network/nt:link/tet:te/" 1446 + "tet:information-source-entry/" 1447 + "tet:interface-switching-capability" { 1448 when "tet:switching-capability = 'te-types:switching-psc1' " { 1449 description "Valid only for PSC"; 1450 } 1451 description 1452 "Parameters for PSC TE topology."; 1453 uses packet-switch-capable-container; 1454 } 1455 } 1456 1458 6. IANA Considerations 1460 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 1461 actual RFC number (and remove this note). 1463 This document registers the following namespace URIs in the IETF XML 1464 registry [RFC3688]: 1466 -------------------------------------------------------------------- 1467 URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1468 Registrant Contact: The IESG. 1469 XML: N/A, the requested URI is an XML namespace. 1470 -------------------------------------------------------------------- 1471 -------------------------------------------------------------------- 1472 URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state 1473 Registrant Contact: The IESG. 1474 XML: N/A, the requested URI is an XML namespace. 1475 -------------------------------------------------------------------- 1477 -------------------------------------------------------------------- 1478 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1479 Registrant Contact: The IESG. 1480 XML: N/A, the requested URI is an XML namespace. 1481 -------------------------------------------------------------------- 1483 -------------------------------------------------------------------- 1484 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state 1485 Registrant Contact: The IESG. 1486 XML: N/A, the requested URI is an XML namespace. 1487 -------------------------------------------------------------------- 1489 This document registers the following YANG modules in the YANG Module 1490 Names registry [RFC6020]: 1492 -------------------------------------------------------------------- 1493 name: ietf-l3-te-topology 1494 namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1495 prefix: l3te 1496 reference: RFC XXXX 1497 -------------------------------------------------------------------- 1499 -------------------------------------------------------------------- 1500 name: ietf-l3-te-topology-state 1501 namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state 1502 prefix: l3te-s 1503 reference: RFC XXXX 1504 -------------------------------------------------------------------- 1506 -------------------------------------------------------------------- 1507 name: ietf-te-topology-packet 1508 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1509 prefix: tet-pkt 1510 reference: RFC XXXX 1511 -------------------------------------------------------------------- 1513 -------------------------------------------------------------------- 1514 name: ietf-te-topology-packet-state 1515 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state 1516 prefix: tet-pkt-s 1517 reference: RFC XXXX 1518 -------------------------------------------------------------------- 1520 7. Security Considerations 1522 The YANG module specified in this document defines a schema for data 1523 that is designed to be accessed via network management protocols such 1524 as NETCONF [RFC6241] or RESTCONF [RFC8040]. The lowest NETCONF layer 1525 is the secure transport layer, and the mandatory-to-implement secure 1526 transport is Secure Shell (SSH) [RFC6242]. The lowest RESTCONF layer 1527 is HTTPS, and the mandatory-to-implement secure transport is TLS 1528 [RFC5246]. 1530 The NETCONF access control model [RFC6536] provides the means to 1531 restrict access for particular NETCONF or RESTCONF users to a 1532 preconfigured subset of all available NETCONF or RESTCONF protocol 1533 operations and content. 1535 There are a number of data nodes defined in this YANG module that are 1536 writable/creatable/deletable (i.e., config true, which is the 1537 default). These data nodes may be considered sensitive or vulnerable 1538 in some network environments. Write operations (e.g., edit-config) 1539 to these data nodes without proper protection can have a negative 1540 effect on network operations. These are the subtrees and data nodes 1541 and their sensitivity/vulnerability: 1543 /nw:networks/nw:network/nw:network-types/l3t:l3-unicast-topology/ 1544 l3-te 1545 This subtree specifies the layer 3 TE topology type. Modifying 1546 the configurations can make layer 3 TE topology type invalid and 1547 cause interruption to all layer 3 TE networks. 1549 /nw:networks/nw:network/l3t:l3-topology-attributes/l3-te-topology- 1550 attributes 1551 This subtree specifies the topology-wide configurations, including 1552 the reference to a TE topology from a layer 3 network topolopy. 1553 Modifying the configurations here can cause traffic disabled or 1554 rerouted in this topology and the connected topologies. 1556 /nw:networks/nw:network/nw:node/l3t:l3-node-attributes/l3-te-node- 1557 attributes 1558 This subtree specifies the configurations of layer 3 TE nodes. 1559 Modifying the configurations in this subtree can change the 1560 relationship between a TE node and a layer 3 node, causing traffic 1561 disabled or rerouted in the specified nodes and the related layer 1562 3 topologies. 1564 /nw:networks/nw:network/nw:node/nt:termination-point//l3t:l3- 1565 termination-point-attributes/l3-te-tp-attributes 1566 This subtree specifies the configurations of layer 3 TE link 1567 termination points. Modifying the configurations in this subtree 1568 can change the relationship between a TE link termination point 1569 and a layer 3 link termination point, causing traffic disabled or 1570 rerouted on the related layer 3 links and the related layer 3 1571 topologies. 1573 /nw:networks/nw:network/nt:link/l3t:l3-link-attributes/l3-te-link- 1574 attributes 1575 This subtree specifies the configurations of layer 3 TE links. 1576 Modifying the configurations in this subtree can change the 1577 relationship between a TE link and a layer 3 link, causing traffic 1578 disabled or rerouted on the specified layer 3 link and the related 1579 layer 3 topologies. 1581 performance-metric containers 1582 The container "performance-metric" is augmented to multiple 1583 locations of the base TE topology model, as specified in 1584 Section 3.2. Modifying the configuration in such a container can 1585 change the behavours of performance metric monitoring, causing 1586 traffic disabled or rerouted on the related layer 3 links, nodes, 1587 or topologies. 1589 Some of the readable data nodes in this YANG module may be considered 1590 sensitive or vulnerable in some network environments. It is thus 1591 important to control read access (e.g., via get, get-config, or 1592 notification) to these data nodes. These are the subtrees and data 1593 nodes and their sensitivity/vulnerability: 1595 /nw:networks/nw:network/nw:network-types/l3t:l3-unicast-topology/ 1596 l3-te 1597 Unauthorized access to this subtree can disclose the layer 3 TE 1598 topology type. 1600 /nw:networks/nw:network/l3t:l3-topology-attributes/l3-te-topology- 1601 attributes 1602 Unauthorized access to this subtree can disclose the topology-wide 1603 configurations, including the reference to a TE topology from a 1604 layer 3 network topolopy. 1606 /nw:networks/nw:network/nw:node/l3t:l3-node-attributes/l3-te-node- 1607 attributes 1608 Unauthorized access to this subtree can disclose the operational 1609 state information of layer 3 TE nodes. 1611 /nw:networks/nw:network/nw:node/nt:termination-point//l3t:l3- 1612 termination-point-attributes/l3-te-tp-attributes 1613 Unauthorized access to this subtree can disclose the operational 1614 state information of layer 3 TE link termination points. 1616 /nw:networks/nw:network/nt:link/l3t:l3-link-attributes/l3-te-link- 1617 attributes 1618 Unauthorized access to this subtree can disclose the operational 1619 state information of layer 3 TE links. 1621 performance-metric containers 1622 The container "performance-metric" is augmented to multiple 1623 locations of the base TE topology model, as specified in 1624 Section 3.2. Unauthorized access to this subtree can disclose the 1625 operational state information of performance metric monitoring. 1627 8. References 1629 8.1. Normative References 1631 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1632 Requirement Levels", BCP 14, RFC 2119, 1633 DOI 10.17487/RFC2119, March 1997, 1634 . 1636 [RFC5246] Dierks, T. and E. Rescorla, "The Transport Layer Security 1637 (TLS) Protocol Version 1.2", RFC 5246, 1638 DOI 10.17487/RFC5246, August 2008, 1639 . 1641 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1642 and A. Bierman, Ed., "Network Configuration Protocol 1643 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1644 . 1646 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1647 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1648 . 1650 [RFC6536] Bierman, A. and M. Bjorklund, "Network Configuration 1651 Protocol (NETCONF) Access Control Model", RFC 6536, 1652 DOI 10.17487/RFC6536, March 2012, 1653 . 1655 [RFC7471] Giacalone, S., Ward, D., Drake, J., Atlas, A., and S. 1656 Previdi, "OSPF Traffic Engineering (TE) Metric 1657 Extensions", RFC 7471, DOI 10.17487/RFC7471, March 2015, 1658 . 1660 [RFC7810] Previdi, S., Ed., Giacalone, S., Ward, D., Drake, J., and 1661 Q. Wu, "IS-IS Traffic Engineering (TE) Metric Extensions", 1662 RFC 7810, DOI 10.17487/RFC7810, May 2016, 1663 . 1665 [RFC7823] Atlas, A., Drake, J., Giacalone, S., and S. Previdi, 1666 "Performance-Based Path Selection for Explicitly Routed 1667 Label Switched Paths (LSPs) Using TE Metric Extensions", 1668 RFC 7823, DOI 10.17487/RFC7823, May 2016, 1669 . 1671 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1672 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1673 . 1675 [RFC8040] Bierman, A., Bjorklund, M., and K. Watsen, "RESTCONF 1676 Protocol", RFC 8040, DOI 10.17487/RFC8040, January 2017, 1677 . 1679 [RFC8294] Liu, X., Qu, Y., Lindem, A., Hopps, C., and L. Berger, 1680 "Common YANG Data Types for the Routing Area", RFC 8294, 1681 DOI 10.17487/RFC8294, December 2017, 1682 . 1684 [RFC8342] Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 1685 and R. Wilton, "Network Management Datastore Architecture 1686 (NMDA)", RFC 8342, DOI 10.17487/RFC8342, March 2018, 1687 . 1689 [RFC8345] Clemm, A., Medved, J., Varga, R., Bahadur, N., 1690 Ananthakrishnan, H., and X. Liu, "A YANG Data Model for 1691 Network Topologies", RFC 8345, DOI 10.17487/RFC8345, March 1692 2018, . 1694 [RFC8346] Clemm, A., Medved, J., Varga, R., Liu, X., 1695 Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model 1696 for Layer 3 Topologies", RFC 8346, DOI 10.17487/RFC8346, 1697 March 2018, . 1699 [I-D.ietf-teas-yang-te] 1700 Saad, T., Gandhi, R., Liu, X., Beeram, V., Shah, H., and 1701 I. Bryskin, "A YANG Data Model for Traffic Engineering 1702 Tunnels and Interfaces", draft-ietf-teas-yang-te-16 (work 1703 in progress), July 2018. 1705 [I-D.ietf-teas-yang-te-topo] 1706 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 1707 O. Dios, "YANG Data Model for Traffic Engineering (TE) 1708 Topologies", draft-ietf-teas-yang-te-topo-18 (work in 1709 progress), June 2018. 1711 8.2. Informative References 1713 [RFC7951] Lhotka, L., "JSON Encoding of Data Modeled with YANG", 1714 RFC 7951, DOI 10.17487/RFC7951, August 2016, 1715 . 1717 [RFC8340] Bjorklund, M. and L. Berger, Ed., "YANG Tree Diagrams", 1718 BCP 215, RFC 8340, DOI 10.17487/RFC8340, March 2018, 1719 . 1721 Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations 1723 The YANG modules ietf-l3-te-topology and ietf-te-topology-packet 1724 defined in this document are designed to be used in conjunction with 1725 implementations that support the Network Management Datastore 1726 Architecture (NMDA) defined in [RFC8342]. In order to allow 1727 implementations to use the model even in cases when NMDA is not 1728 supported, the following companion modules, ietf-l3-te-topology-state 1729 and ietf-te-topology-packet-state, are defined as state models, which 1730 mirror the modules ietf-l3-te-topology and ietf-te-topology-packet 1731 defined earlier in this document. However, all data nodes in the 1732 companion module are non-configurable, to represent the applied 1733 configuration or the derived operational states. 1735 The companion modules, ietf-l3-te-topology-state and ietf-te- 1736 topology-packet-state, are redundant and SHOULD NOT be supported by 1737 implementations that support NMDA. 1739 As the structure of the companion modules mirrors that of the 1740 coorespinding NMDA models, the YANG trees of the companion modules 1741 are not depicted separately. 1743 A.1. Layer 3 TE Topology State Module 1745 This module references [RFC8345], and [RFC8346]. 1747 file "ietf-l3-te-topology-state@2018-06-22.yang" 1748 module ietf-l3-te-topology-state { 1749 yang-version 1.1; 1750 namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state"; 1751 prefix "l3tet-s"; 1753 import ietf-l3-te-topology { 1754 prefix "l3tet"; 1755 } 1756 import ietf-network-state { 1757 prefix "nw-s"; 1758 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1759 } 1760 import ietf-network-topology-state { 1761 prefix "nt-s"; 1762 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1763 } 1764 import ietf-l3-unicast-topology-state { 1765 prefix "l3t-s"; 1766 reference "RFC 8346: A YANG Data Model for Layer 3 Topologies"; 1767 } 1768 organization 1769 "IETF Traffic Engineering Architecture and Signaling (TEAS) 1770 Working Group"; 1772 contact 1773 "WG Web: 1774 WG List: 1776 Editor: Xufeng Liu 1777 1779 Editor: Igor Bryskin 1780 1782 Editor: Vishnu Pavan Beeram 1783 1785 Editor: Tarek Saad 1786 1788 Editor: Himanshu Shah 1789 1791 Editor: Oscar Gonzalez De Dios 1792 "; 1794 description 1795 "YANG data model for representing operational state information 1796 of Layer 3 TE Topologies, when NMDA is not supported. 1798 Copyright (c) 2018 IETF Trust and the persons identified as 1799 authors of the code. All rights reserved. 1801 Redistribution and use in source and binary forms, with or 1802 without modification, is permitted pursuant to, and subject to 1803 the license terms contained in, the Simplified BSD License set 1804 forth in Section 4.c of the IETF Trust's Legal Provisions 1805 Relating to IETF Documents 1806 (http://trustee.ietf.org/license-info). 1808 This version of this YANG module is part of RFC XXXX; see the 1809 RFC itself for full legal notices."; 1811 revision 2018-06-22 { 1813 description "Initial revision"; 1814 reference "RFC XXXX: YANG Data Model for Layer 3 TE Topologies"; 1815 } 1816 augment "/nw-s:networks/nw-s:network/nw-s:network-types/" 1817 + "l3t-s:l3-unicast-topology" { 1818 description 1819 "Defines the L3 TE topology type."; 1820 uses l3tet:l3-te-topology-type; 1821 } 1823 augment "/nw-s:networks/nw-s:network/" 1824 + "l3t-s:l3-topology-attributes" { 1825 when "../nw-s:network-types/l3t-s:l3-unicast-topology/" 1826 + "l3tet-s:l3-te" { 1827 description "Augment only for L3 TE topology"; 1828 } 1829 description "Augment topology configuration"; 1830 uses l3tet:l3-te-topology-attributes; 1831 } 1833 augment "/nw-s:networks/nw-s:network/nw-s:node/" 1834 + "l3t-s:l3-node-attributes" { 1835 when "../../nw-s:network-types/l3t-s:l3-unicast-topology/" 1836 + "l3tet-s:l3-te" { 1837 description "Augment only for L3 TE topology"; 1838 } 1839 description "Augment node configuration"; 1840 uses l3tet:l3-te-node-attributes; 1841 } 1843 augment "/nw-s:networks/nw-s:network/nw-s:node/" 1844 + "nt-s:termination-point/" 1845 + "l3t-s:l3-termination-point-attributes" { 1846 when "../../../nw-s:network-types/l3t-s:l3-unicast-topology/" 1847 + "l3tet-s:l3-te" { 1848 description "Augment only for L3 TE topology"; 1849 } 1850 description "Augment termination point configuration"; 1851 uses l3tet:l3-te-tp-attributes; 1852 } 1854 augment "/nw-s:networks/nw-s:network/nt-s:link/" 1855 + "l3t-s:l3-link-attributes" { 1856 when "../../nw-s:network-types/l3t-s:l3-unicast-topology/" 1857 + "l3tet-s:l3-te" { 1858 description "Augment only for L3 TE topology"; 1859 } 1860 description "Augment link configuration"; 1861 uses l3tet:l3-te-link-attributes; 1862 } 1863 } 1864 1866 A.2. Packet Switching TE Topology State Module 1868 file "ietf-te-topology-packet-state@2018-06-22.yang" 1869 module ietf-te-topology-packet-state { 1870 yang-version 1.1; 1871 namespace 1872 "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state"; 1874 prefix "tet-pkt-s"; 1876 import ietf-te-topology-packet { 1877 prefix "tet-pkt"; 1878 } 1880 import ietf-network-state { 1881 prefix "nw-s"; 1882 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1883 } 1885 import ietf-network-topology-state { 1886 prefix "nt-s"; 1887 reference "RFC 8345: A YANG Data Model for Network Topologies"; 1888 } 1890 import ietf-te-topology-state { 1891 prefix "tet-s"; 1892 reference 1893 "I-D.ietf-teas-yang-te-topo: YANG Data Model for Traffic 1894 Engineering (TE) Topologies"; 1895 } 1897 import ietf-te-types { 1898 prefix "te-types"; 1899 reference 1900 "I-D.ietf-teas-yang-te: A YANG Data Model for Traffic 1901 Engineering Tunnels and Interfaces"; 1902 } 1904 organization 1905 "Traffic Engineering Architecture and Signaling (TEAS) 1906 Working Group"; 1908 contact 1909 "WG Web: 1910 WG List: 1912 Editor: Xufeng Liu 1913 1915 Editor: Igor Bryskin 1916 1918 Editor: Vishnu Pavan Beeram 1919 1921 Editor: Tarek Saad 1922 1924 Editor: Himanshu Shah 1925 1927 Editor: Oscar Gonzalez De Dios 1928 "; 1930 description 1931 "YANG data model for representing operational state information 1932 of PSC (Packet Switching) TE Topologies, when NMDA is not 1933 supported. 1935 Copyright (c) 2018 IETF Trust and the persons identified as 1936 authors of the code. All rights reserved. 1938 Redistribution and use in source and binary forms, with or 1939 without modification, is permitted pursuant to, and subject to 1940 the license terms contained in, the Simplified BSD License set 1941 forth in Section 4.c of the IETF Trust's Legal Provisions 1942 Relating to IETF Documents 1943 (http://trustee.ietf.org/license-info). 1945 This version of this YANG module is part of RFC XXXX; see the 1946 RFC itself for full legal notices."; 1948 revision 2018-06-22 { 1949 description "Initial revision"; 1950 reference "RFC XXXX: YANG Data Model for Layer 3 TE Topologies"; 1951 } 1953 /* 1954 * Augmentations 1955 */ 1956 /* Augmentations to connectivity-matrix */ 1957 augment "/nw-s:networks/nw-s:network/nw-s:node/tet-s:te/" 1958 + "tet-s:te-node-attributes/tet-s:connectivity-matrices" { 1959 description 1960 "Parameters for PSC (Packet Switching) TE topology."; 1961 uses te-types:performance-metric-container { 1962 if-feature tet-pkt:te-performance-metric; 1963 } 1964 } 1966 augment "/nw-s:networks/nw-s:network/nw-s:node/tet-s:te/" 1967 + "tet-s:te-node-attributes/tet-s:connectivity-matrices/" 1968 + "tet-s:connectivity-matrix" { 1969 description 1970 "Parameters for PSC TE topology."; 1971 uses te-types:performance-metric-container { 1972 if-feature tet-pkt:te-performance-metric; 1973 } 1974 } 1976 augment "/nw-s:networks/nw-s:network/nw-s:node/tet-s:te/" 1977 + "tet-s:information-source-entry/" 1978 + "tet-s:connectivity-matrices" { 1979 description 1980 "Parameters for PSC TE topology."; 1981 uses te-types:performance-metric-container { 1982 if-feature tet-pkt:te-performance-metric; 1983 } 1984 } 1986 augment "/nw-s:networks/nw-s:network/nw-s:node/tet-s:te/" 1987 + "tet-s:information-source-entry/" 1988 + "tet-s:connectivity-matrices/" 1989 + "tet-s:connectivity-matrix" { 1990 description 1991 "Parameters for PSC TE topology."; 1992 uses te-types:performance-metric-container { 1993 if-feature tet-pkt:te-performance-metric; 1994 } 1995 } 1997 /* Augmentations to tunnel-termination-point */ 1998 augment "/nw-s:networks/nw-s:network/nw-s:node/tet-s:te/" 1999 + "tet-s:tunnel-termination-point/" 2000 + "tet-s:local-link-connectivities" { 2001 description 2002 "Parameters for PSC TE topology."; 2003 uses te-types:performance-metric-container { 2004 if-feature tet-pkt:te-performance-metric; 2006 } 2007 } 2009 augment "/nw-s:networks/nw-s:network/nw-s:node/tet-s:te/" 2010 + "tet-s:tunnel-termination-point/" 2011 + "tet-s:local-link-connectivities/" 2012 + "tet-s:local-link-connectivity" { 2013 description 2014 "Parameters for PSC TE topology."; 2015 uses te-types:performance-metric-container { 2016 if-feature tet-pkt:te-performance-metric; 2017 } 2018 } 2020 /* Augmentations to te-link-attributes */ 2021 augment "/nw-s:networks/tet-s:te/tet-s:templates/" 2022 + "tet-s:link-template/tet-s:te-link-attributes" { 2023 when "tet-s:interface-switching-capability " 2024 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 2025 description "Valid only for PSC"; 2026 } 2027 description 2028 "Parameters for PSC TE topology."; 2029 uses te-types:performance-metric-container { 2030 if-feature tet-pkt:te-performance-metric; 2031 } 2032 } 2034 augment "/nw-s:networks/nw-s:network/nt-s:link/tet-s:te/" 2035 + "tet-s:te-link-attributes" { 2036 when "tet-s:interface-switching-capability " 2037 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 2038 description "Valid only for PSC"; 2039 } 2040 description 2041 "Parameters for PSC TE topology."; 2042 uses te-types:performance-metric-container { 2043 if-feature tet-pkt:te-performance-metric; 2044 } 2045 } 2047 augment "/nw-s:networks/nw-s:network/nt-s:link/tet-s:te/" 2048 + "tet-s:information-source-entry" { 2049 when "tet-s:interface-switching-capability " 2050 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 2051 description "Valid only for PSC"; 2052 } 2053 description 2054 "Parameters for PSC TE topology."; 2055 uses te-types:performance-metric-container { 2056 if-feature tet-pkt:te-performance-metric; 2057 } 2058 } 2060 /* Augmentations to interface-switching-capability */ 2061 augment "/nw-s:networks/tet-s:te/tet-s:templates/" 2062 + "tet-s:link-template/tet-s:te-link-attributes/" 2063 + "tet-s:interface-switching-capability" { 2064 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 2065 description "Valid only for PSC"; 2066 } 2067 description 2068 "Parameters for PSC TE topology."; 2069 uses tet-pkt:packet-switch-capable-container; 2070 } 2072 augment "/nw-s:networks/nw-s:network/nt-s:link/tet-s:te/" 2073 + "tet-s:te-link-attributes/" 2074 + "tet-s:interface-switching-capability" { 2075 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 2076 description "Valid only for PSC"; 2077 } 2078 description 2079 "Parameters for PSC TE topology."; 2080 uses tet-pkt:packet-switch-capable-container; 2081 } 2083 augment "/nw-s:networks/nw-s:network/nt-s:link/tet-s:te/" 2084 + "tet-s:information-source-entry/" 2085 + "tet-s:interface-switching-capability" { 2086 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 2087 description "Valid only for PSC"; 2088 } 2089 description 2090 "Parameters for PSC TE topology."; 2091 uses tet-pkt:packet-switch-capable-container; 2092 } 2093 } 2094 2096 Appendix B. Data Tree Example 2098 This section contains an example of an instance data tree in the JSON 2099 encoding [RFC7951]. The example instantiates "ietf-l3-te-topology" 2100 for the topology that is depicted in the following diagram. 2102 +------------+ +------------+ 2103 | D1 | | D2 | 2104 /-\ /-\ (TE) /-\ /-\ 2105 | | 1-0-1 | |---------------->| | 2-1-1 | | 2106 | | 1-2-1 | |<----------------| | 2-0-1 | | 2107 \-/ 1-3-1 \-/ (TE) \-/ 2-3-1 \-/ 2108 | /----\ | | /----\ | 2109 +---| |---+ +---| |---+ 2110 \----/ \----/ 2111 A | A | 2112 (TE)| |(TE) (Non-TE)| |(Non-TE) 2113 | | | | 2114 | | +------------+ | | 2115 | | | D3 | | | 2116 | | /-\ /-\ | | 2117 | +----->| | 3-1-1 | |-------+ | 2118 +---------| | 3-2-1 | |<---------+ 2119 \-/ \-/ 2120 | | 2121 +------------+ 2123 The corresponding instance data tree is depicted below. Note that 2124 some lines have been wrapped to adhere to the 72-character line 2125 limitation of RFCs. 2127 { 2128 "ietf-network:networks": { 2129 "network": [ 2130 { 2131 "network-types": { 2132 "ietf-te-topology:te-topology": {} 2133 }, 2134 "network-id": "example-topo-te", 2135 "ietf-te-topology:provider-id": 200, 2136 "ietf-te-topology:client-id": 300, 2137 "ietf-te-topology:te-topology-id": "example-topo-te", 2138 "ietf-te-topology:te": { 2139 }, 2140 "node": [ 2141 { 2142 "node-id": "D1", 2143 "ietf-te-topology:te-node-id": "2.0.1.1", 2144 "ietf-te-topology:te": { 2145 "te-node-attributes": { 2146 } 2147 }, 2148 "ietf-network-topology:termination-point": [ 2149 { 2150 "tp-id": "1-2-1", 2151 "ietf-te-topology:te-tp-id": 10201, 2152 "ietf-te-topology:te": { 2153 "interface-switching-capability": [ 2154 { 2155 "switching-capability": "switching-psc1", 2156 "encoding": "lsp-encoding-ethernet" 2157 } 2158 ] 2159 } 2160 }, 2161 { 2162 "tp-id": "1-3-1", 2163 "ietf-te-topology:te-tp-id": 10301, 2164 "ietf-te-topology:te": { 2165 "interface-switching-capability": [ 2166 { 2167 "switching-capability": "switching-psc1", 2168 "encoding": "lsp-encoding-ethernet" 2169 } 2170 ] 2171 } 2172 } 2173 ] 2174 }, 2175 { 2176 "node-id": "D2", 2177 "ietf-te-topology:te-node-id": "2.0.2.1", 2178 "ietf-te-topology:te": { 2179 "te-node-attributes": { 2180 } 2181 }, 2182 "ietf-network-topology:termination-point": [ 2183 { 2184 "tp-id": "2-1-1", 2185 "ietf-te-topology:te-tp-id": 20101, 2186 "ietf-te-topology:te": { 2187 "interface-switching-capability": [ 2188 { 2189 "switching-capability": "switching-psc1", 2190 "encoding": "lsp-encoding-ethernet" 2191 } 2192 ] 2193 } 2194 } 2195 ] 2196 }, 2197 { 2198 "node-id": "D3", 2199 "ietf-te-topology:te-node-id": "2.0.3.1", 2200 "ietf-te-topology:te": { 2201 "te-node-attributes": { 2202 } 2203 }, 2204 "ietf-network-topology:termination-point": [ 2205 { 2206 "tp-id": "3-1-1", 2207 "ietf-te-topology:te-tp-id": 30101, 2208 "ietf-te-topology:te": { 2209 "interface-switching-capability": [ 2210 { 2211 "switching-capability": "switching-psc1", 2212 "encoding": "lsp-encoding-ethernet" 2213 } 2214 ] 2215 } 2216 } 2217 ] 2218 } 2219 ], 2220 "ietf-network-topology:link": [ 2221 { 2222 "link-id": "D1,1-2-1,D2,2-1-1", 2223 "source": { 2224 "source-node": "D1", 2225 "source-tp": "1-2-1" 2226 }, 2227 "destination": { 2228 "dest-node": "D2", 2229 "dest-tp": "2-1-1" 2230 }, 2231 "ietf-te-topology:te": { 2232 "te-link-attributes": { 2233 "interface-switching-capability": [ 2234 { 2235 "switching-capability": "switching-psc1", 2236 "encoding": "lsp-encoding-ethernet" 2237 } 2239 ], 2240 "max-link-bandwidth": { 2241 "te-bandwidth": { 2242 "generic": "0x1p+18" 2243 } 2244 }, 2245 "te-default-metric": 100 2246 } 2247 } 2248 }, 2249 { 2250 "link-id": "D2,2-1-1,D1,1-2-1", 2251 "source": { 2252 "source-node": "D2", 2253 "source-tp": "2-1-1" 2254 }, 2255 "destination": { 2256 "dest-node": "D1", 2257 "dest-tp": "1-2-1" 2258 }, 2259 "ietf-te-topology:te": { 2260 "te-link-attributes": { 2261 "interface-switching-capability": [ 2262 { 2263 "switching-capability": "switching-psc1", 2264 "encoding": "lsp-encoding-ethernet" 2265 } 2266 ], 2267 "max-link-bandwidth": { 2268 "te-bandwidth": { 2269 "generic": "0x1p+18" 2270 } 2271 }, 2272 "te-default-metric": 100 2273 } 2274 } 2275 }, 2276 { 2277 "link-id": "D1,1-3-1,D3,3-1-1", 2278 "source": { 2279 "source-node": "D1", 2280 "source-tp": "1-3-1" 2281 }, 2282 "destination": { 2283 "dest-node": "D3", 2284 "dest-tp": "3-1-1" 2285 }, 2286 "ietf-te-topology:te": { 2287 "te-link-attributes": { 2288 "interface-switching-capability": [ 2289 { 2290 "switching-capability": "switching-psc1", 2291 "encoding": "lsp-encoding-ethernet" 2292 } 2293 ], 2294 "max-link-bandwidth": { 2295 "te-bandwidth": { 2296 "generic": "0x1p+18" 2297 } 2298 }, 2299 "te-default-metric": 100 2300 } 2301 } 2302 }, 2303 { 2304 "link-id": "D3,3-1-1,D1,1-3-1", 2305 "source": { 2306 "source-node": "D3", 2307 "source-tp": "3-1-1" 2308 }, 2309 "destination": { 2310 "dest-node": "D1", 2311 "dest-tp": "1-3-1" 2312 }, 2313 "ietf-te-topology:te": { 2314 "te-link-attributes": { 2315 "interface-switching-capability": [ 2316 { 2317 "switching-capability": "switching-psc1", 2318 "encoding": "lsp-encoding-ethernet" 2319 } 2320 ], 2321 "max-link-bandwidth": { 2322 "te-bandwidth": { 2323 "generic": "0x1p+18" 2324 } 2325 }, 2326 "te-default-metric": 100 2327 } 2328 } 2329 } 2330 ] 2331 }, 2332 { 2333 "network-types": { 2334 "ietf-l3-unicast-topology:l3-unicast-topology": { 2335 "ietf-l3-te-topology:l3-te": {} 2336 } 2337 }, 2338 "network-id": "example-topo-l3-te", 2339 "ietf-l3-unicast-topology:l3-topology-attributes": { 2340 "ietf-l3-te-topology:l3-te-topology-attributes": { 2341 "network-ref": "example-topo-te" 2342 } 2343 }, 2344 "node": [ 2345 { 2346 "node-id": "D1", 2347 "ietf-network-topology:termination-point": [ 2348 { 2349 "tp-id": "1-0-1", 2350 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2351 "unnumbered-id": 101 2352 } 2353 }, 2354 { 2355 "tp-id": "1-2-1", 2356 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2357 "unnumbered-id": 121, 2358 "ietf-l3-te-topology:l3-te-tp-attributes": { 2359 "tp-ref": "1-2-1" 2360 } 2361 } 2362 }, 2363 { 2364 "tp-id": "1-3-1", 2365 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2366 "unnumbered-id": 131, 2367 "ietf-l3-te-topology:l3-te-tp-attributes": { 2368 "tp-ref": "1-3-1" 2369 } 2370 } 2371 } 2372 ], 2373 "ietf-l3-unicast-topology:l3-node-attributes": { 2374 "router-id": ["203.0.113.1"], 2375 "prefix": [ 2376 { 2377 "prefix": "203.0.113.1/32" 2378 } 2379 ], 2380 "ietf-l3-te-topology:l3-te-node-attributes": { 2381 "node-ref": "D1" 2382 } 2384 } 2385 }, 2386 { 2387 "node-id": "D2", 2388 "ietf-network-topology:termination-point": [ 2389 { 2390 "tp-id": "2-0-1", 2391 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2392 "unnumbered-id": 201 2393 } 2394 }, 2395 { 2396 "tp-id": "2-1-1", 2397 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2398 "unnumbered-id": 211, 2399 "ietf-l3-te-topology:l3-te-tp-attributes": { 2400 "tp-ref": "2-1-1" 2401 } 2402 } 2403 }, 2404 { 2405 "tp-id": "2-3-1", 2406 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2407 "unnumbered-id": 231 2408 } 2409 } 2410 ], 2411 "ietf-l3-unicast-topology:l3-node-attributes": { 2412 "router-id": ["203.0.113.2"], 2413 "prefix": [ 2414 { 2415 "prefix": "203.0.113.2/32" 2416 } 2417 ], 2418 "ietf-l3-te-topology:l3-te-node-attributes": { 2419 "node-ref": "D2" 2420 } 2421 } 2422 }, 2423 { 2424 "node-id": "D3", 2425 "ietf-network-topology:termination-point": [ 2426 { 2427 "tp-id": "3-1-1", 2428 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2429 "unnumbered-id": 311, 2430 "ietf-l3-te-topology:l3-te-tp-attributes": { 2431 "tp-ref": "3-1-1" 2433 } 2434 } 2435 }, 2436 { 2437 "tp-id": "3-2-1", 2438 "ietf-l3-unicast-topology:l3-termination-point-attributes": { 2439 "unnumbered-id": 321 2440 } 2441 } 2442 ], 2443 "ietf-l3-unicast-topology:l3-node-attributes": { 2444 "router-id": ["203.0.113.3"], 2445 "prefix": [ 2446 { 2447 "prefix": "203.0.113.3/32" 2448 } 2449 ], 2450 "ietf-l3-te-topology:l3-te-node-attributes": { 2451 "node-ref": "D3" 2452 } 2453 } 2454 } 2455 ], 2456 "ietf-network-topology:link": [ 2457 { 2458 "link-id": "D1,1-2-1,D2,2-1-1", 2459 "source": { 2460 "source-node": "D1", 2461 "source-tp": "1-2-1" 2462 }, 2463 "destination": { 2464 "dest-node": "D2", 2465 "dest-tp": "2-1-1" 2466 }, 2467 "ietf-l3-unicast-topology:l3-link-attributes": { 2468 "metric1": "100", 2469 "ietf-l3-te-topology:l3-te-link-attributes": { 2470 "link-ref": "D1,1-2-1,D2,2-1-1" 2471 } 2472 } 2473 }, 2474 { 2475 "link-id": "D2,2-1-1,D1,1-2-1", 2476 "source": { 2477 "source-node": "D2", 2478 "source-tp": "2-1-1" 2479 }, 2480 "destination": { 2481 "dest-node": "D1", 2482 "dest-tp": "1-2-1" 2483 }, 2484 "ietf-l3-unicast-topology:l3-link-attributes": { 2485 "metric1": "100", 2486 "ietf-l3-te-topology:l3-te-link-attributes": { 2487 "link-ref": "D2,2-1-1,D1,1-2-1" 2488 } 2489 } 2490 }, 2491 { 2492 "link-id": "D1,1-3-1,D3,3-1-1", 2493 "source": { 2494 "source-node": "D1", 2495 "source-tp": "1-3-1" 2496 }, 2497 "destination": { 2498 "dest-node": "D3", 2499 "dest-tp": "3-1-1" 2500 }, 2501 "ietf-l3-unicast-topology:l3-link-attributes": { 2502 "metric1": "100", 2503 "ietf-l3-te-topology:l3-te-link-attributes": { 2504 "link-ref": "D1,1-3-1,D3,3-1-1" 2505 } 2506 } 2507 }, 2508 { 2509 "link-id": "D3,3-1-1,D1,1-3-1", 2510 "source": { 2511 "source-node": "D3", 2512 "source-tp": "3-1-1" 2513 }, 2514 "destination": { 2515 "dest-node": "D1", 2516 "dest-tp": "1-3-1" 2517 }, 2518 "ietf-l3-unicast-topology:l3-link-attributes": { 2519 "metric1": "100", 2520 "ietf-l3-te-topology:l3-te-link-attributes": { 2521 "link-ref": "D3,3-1-1,D1,1-3-1" 2522 } 2523 } 2524 }, 2525 { 2526 "link-id": "D2,2-3-1,D3,3-2-1", 2527 "source": { 2528 "source-node": "D2", 2529 "source-tp": "2-3-1" 2530 }, 2531 "destination": { 2532 "dest-node": "D3", 2533 "dest-tp": "3-2-1" 2534 }, 2535 "ietf-l3-unicast-topology:l3-link-attributes": { 2536 "metric1": "100" 2537 } 2538 }, 2539 { 2540 "link-id": "D3,3-2-1,D2,2-3-1", 2541 "source": { 2542 "source-node": "D3", 2543 "source-tp": "3-2-1" 2544 }, 2545 "destination": { 2546 "dest-node": "D2", 2547 "dest-tp": "2-3-1" 2548 }, 2549 "ietf-l3-unicast-topology:l3-link-attributes": { 2550 "metric1": "100" 2551 } 2552 } 2553 ] 2554 } 2555 ] 2556 } 2557 } 2559 Authors' Addresses 2561 Xufeng Liu 2562 Volta Networks 2564 EMail: xufeng.liu.ietf@gmail.com 2566 Igor Bryskin 2567 Huawei Technologies 2569 EMail: Igor.Bryskin@huawei.com 2570 Vishnu Pavan Beeram 2571 Juniper Networks 2573 EMail: vbeeram@juniper.net 2575 Tarek Saad 2576 Cisco Systems Inc 2578 EMail: tsaad@cisco.com 2580 Himanshu Shah 2581 Ciena 2583 EMail: hshah@ciena.com 2585 Oscar Gonzalez de Dios 2586 Telefonica 2588 EMail: oscar.gonzalezdedios@telefonica.com