idnits 2.17.1 draft-ietf-teas-yang-l3-te-topo-01.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 (March 1, 2018) is 2248 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 1259, but not defined == Missing Reference: 'RFC6020' is mentioned on line 1286, but not defined == Missing Reference: 'RFC6241' is mentioned on line 1320, but not defined == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-14 Summary: 0 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 Jabil 4 Intended status: Standards Track I. Bryskin 5 Expires: September 2, 2018 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 March 1, 2018 16 YANG Data Model for Layer 3 TE Topologies 17 draft-ietf-teas-yang-l3-te-topo-01 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 http://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 September 2, 2018. 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 (http://trustee.ietf.org/license-info) in effect on the date of 49 publication of this document. Please review these documents 50 carefully, as they describe your rights and restrictions with respect 51 to this document. Code Components extracted from this document must 52 include Simplified BSD License text as described in Section 4.e of 53 the Trust Legal Provisions and are provided without warranty as 54 described in the Simplified BSD License. 56 Table of Contents 58 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 59 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 60 2. Modeling Considerations . . . . . . . . . . . . . . . . . . . 3 61 2.1. Relationship Between Layer 3 Topology and TE topology . . 3 62 2.2. Relationship Modeling . . . . . . . . . . . . . . . . . . 3 63 3. Model Structure . . . . . . . . . . . . . . . . . . . . . . . 3 64 3.1. Layer 3 TE Topology Module . . . . . . . . . . . . . . . 3 65 3.2. Packet Switching TE Topology Module . . . . . . . . . . . 4 66 4. YANG Modules . . . . . . . . . . . . . . . . . . . . . . . . 18 67 4.1. Layer 3 TE Topology Module . . . . . . . . . . . . . . . 18 68 4.2. Packet Switching TE Topology Module . . . . . . . . . . . 22 69 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 27 70 6. Security Considerations . . . . . . . . . . . . . . . . . . . 28 71 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 28 72 7.1. Normative References . . . . . . . . . . . . . . . . . . 28 73 7.2. Informative References . . . . . . . . . . . . . . . . . 29 74 Appendix A. Companion YANG Model for Non-NMDA Compliant 75 Implementations . . . . . . . . . . . . . . . . . . 30 76 A.1. Layer 3 TE Topology State Module . . . . . . . . . . . . 30 77 A.2. Packet Switching TE Topology State Module . . . . . . . . 32 78 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 36 80 1. Introduction 82 This document defines a YANG [RFC7950] data model for describing the 83 relationship between a layer 3 network topology 84 [I-D.ietf-i2rs-yang-l3-topology] and a TE topology 85 [I-D.ietf-teas-yang-te-topo]. 87 When traffic engineering is enabled on a layer 3 network topology, 88 there will be a corresponding TE topology. The TE topology may or 89 may not be congruent to the layer 3 network topology. When such a 90 congruent TE topology exists, there will be a one-to-one association 91 between the one modeling element in the layer 3 topology to another 92 element in the TE topology. When such a congruent TE topology does 93 not exist, the association will not be one-to-one. This YANG data 94 model allows both cases. 96 1.1. Terminology 98 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 99 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 100 "OPTIONAL" in this document are to be interpreted as described in BCP 101 14, [RFC2119]. 103 The following terms are defined in [RFC7950] and are not redefined 104 here: 106 o augment 108 o data model 110 o data node 112 2. Modeling Considerations 114 2.1. Relationship Between Layer 3 Topology and TE topology 116 In general, layer 3 network topology model and TE topology model can 117 be used independently. When traffic engineering is enabled on a 118 layer 3 network topology, there will be associations between objects 119 in layer 3 network topologies and objects in TE topologies. The 120 properties of these relations are: 122 o The associations are between objects of the same class, i.e. node 123 to node or link to link. 125 o The multiplicity of such an association is: 0..1 to 0..1. An 126 object in a layer 3 network may have zero or one associated object 127 in the corresponding TE network. 129 2.2. Relationship Modeling 131 YANG data type leafref is used to model the association relationship 132 between a layer 3 network topology and a TE topology. YANG must 133 statements are used to enforce the referenced objects are in the 134 topologies of proper type. 136 3. Model Structure 138 3.1. Layer 3 TE Topology Module 140 The model tree structure of the layer 3 TE topology module is as 141 shown below: 143 module: ietf-l3-te-topology 144 augment /nw:networks/nw:network/nw:network-types 145 /l3t:l3-unicast-topology: 146 +--rw l3-te! 147 augment /nw:networks/nw:network/l3t:l3-topology-attributes: 148 +--rw l3-te-topology-attributes 149 +--rw network-ref? -> /nw:networks/network/network-id 150 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: 151 +--rw l3-te-node-attributes 152 +--rw node-ref? -> /nw:networks 153 /network[nw:network-id=current()/../network-ref]/node/node-id 154 +--rw network-ref? -> /nw:networks/network/network-id 155 augment /nw:networks/nw:network/nw:node/nt:termination-point 156 /l3t:l3-termination-point-attributes: 157 +--rw l3-te-tp-attributes 158 +--rw tp-ref? -> /nw:networks 159 /network[nw:network-id=current()/../network-ref] 160 /node[nw:node-id=current()/../node-ref]/nt:termination-point/tp-id 161 +--rw node-ref? -> /nw:networks 162 /network[nw:network-id=current()/../network-ref]/node/node-id 163 +--rw network-ref? -> /nw:networks/network/network-id 164 augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes: 165 +--rw l3-te-link-attributes 166 +--rw link-ref? -> /nw:networks 167 /network[nw:network-id=current()/../network-ref]/nt:link/link-id 168 +--rw network-ref? -> /nw:networks/network/network-id 170 3.2. Packet Switching TE Topology Module 172 This is an augmentation to base TE topology model. 174 module: ietf-te-topology-packet 175 augment /nd:networks/nd:network/nd:node/tet:te 176 /tet:te-node-attributes/tet:connectivity-matrices: 177 +--rw performance-metric 178 +--rw measurement 179 | +--rw unidirectional-delay? uint32 180 | +--rw unidirectional-min-delay? uint32 181 | +--rw unidirectional-max-delay? uint32 182 | +--rw unidirectional-delay-variation? uint32 183 | +--rw unidirectional-packet-loss? decimal64 184 | +--rw unidirectional-residual-bandwidth? 185 rt-types:bandwidth-ieee-float32 186 | +--rw unidirectional-available-bandwidth? 187 rt-types:bandwidth-ieee-float32 188 | +--rw unidirectional-utilized-bandwidth? 189 rt-types:bandwidth-ieee-float32 190 +--rw normality 191 | +--rw unidirectional-delay? 192 te-types:performance-metric-normality 193 | +--rw unidirectional-min-delay? 194 te-types:performance-metric-normality 195 | +--rw unidirectional-max-delay? 196 te-types:performance-metric-normality 197 | +--rw unidirectional-delay-variation? 198 te-types:performance-metric-normality 199 | +--rw unidirectional-packet-loss? 200 te-types:performance-metric-normality 201 | +--rw unidirectional-residual-bandwidth? 202 te-types:performance-metric-normality 203 | +--rw unidirectional-available-bandwidth? 204 te-types:performance-metric-normality 205 | +--rw unidirectional-utilized-bandwidth? 206 te-types:performance-metric-normality 207 +--rw throttle 208 +--rw unidirectional-delay-offset? uint32 209 +--rw measure-interval? uint32 210 +--rw advertisement-interval? uint32 211 +--rw suppression-interval? uint32 212 +--rw threshold-out 213 | +--rw unidirectional-delay? uint32 214 | +--rw unidirectional-min-delay? uint32 215 | +--rw unidirectional-max-delay? uint32 216 | +--rw unidirectional-delay-variation? uint32 217 | +--rw unidirectional-packet-loss? decimal64 218 | +--rw unidirectional-residual-bandwidth? 219 rt-types:bandwidth-ieee-float32 220 | +--rw unidirectional-available-bandwidth? 221 rt-types:bandwidth-ieee-float32 222 | +--rw unidirectional-utilized-bandwidth? 223 rt-types:bandwidth-ieee-float32 224 +--rw threshold-in 225 | +--rw unidirectional-delay? uint32 226 | +--rw unidirectional-min-delay? uint32 227 | +--rw unidirectional-max-delay? uint32 228 | +--rw unidirectional-delay-variation? uint32 229 | +--rw unidirectional-packet-loss? decimal64 230 | +--rw unidirectional-residual-bandwidth? 231 rt-types:bandwidth-ieee-float32 232 | +--rw unidirectional-available-bandwidth? 233 rt-types:bandwidth-ieee-float32 234 | +--rw unidirectional-utilized-bandwidth? 235 rt-types:bandwidth-ieee-float32 236 +--rw threshold-accelerated-advertisement 237 +--rw unidirectional-delay? uint32 238 +--rw unidirectional-min-delay? uint32 239 +--rw unidirectional-max-delay? uint32 240 +--rw unidirectional-delay-variation? uint32 241 +--rw unidirectional-packet-loss? decimal64 242 +--rw unidirectional-residual-bandwidth? 243 rt-types:bandwidth-ieee-float32 244 +--rw unidirectional-available-bandwidth? 245 rt-types:bandwidth-ieee-float32 246 +--rw unidirectional-utilized-bandwidth? 247 rt-types:bandwidth-ieee-float32 248 augment /nd:networks/nd:network/nd:node/tet:te 249 /tet:te-node-attributes/tet:connectivity-matrices 250 /tet:connectivity-matrix: 251 +--rw performance-metric 252 +--rw measurement 253 | +--rw unidirectional-delay? uint32 254 | +--rw unidirectional-min-delay? uint32 255 | +--rw unidirectional-max-delay? uint32 256 | +--rw unidirectional-delay-variation? uint32 257 | +--rw unidirectional-packet-loss? decimal64 258 | +--rw unidirectional-residual-bandwidth? 259 rt-types:bandwidth-ieee-float32 260 | +--rw unidirectional-available-bandwidth? 261 rt-types:bandwidth-ieee-float32 262 | +--rw unidirectional-utilized-bandwidth? 263 rt-types:bandwidth-ieee-float32 264 +--rw normality 265 | +--rw unidirectional-delay? 266 te-types:performance-metric-normality 267 | +--rw unidirectional-min-delay? 268 te-types:performance-metric-normality 269 | +--rw unidirectional-max-delay? 270 te-types:performance-metric-normality 271 | +--rw unidirectional-delay-variation? 272 te-types:performance-metric-normality 273 | +--rw unidirectional-packet-loss? 274 te-types:performance-metric-normality 275 | +--rw unidirectional-residual-bandwidth? 276 te-types:performance-metric-normality 277 | +--rw unidirectional-available-bandwidth? 278 te-types:performance-metric-normality 279 | +--rw unidirectional-utilized-bandwidth? 280 te-types:performance-metric-normality 281 +--rw throttle 282 +--rw unidirectional-delay-offset? uint32 283 +--rw measure-interval? uint32 284 +--rw advertisement-interval? uint32 285 +--rw suppression-interval? uint32 286 +--rw threshold-out 287 | +--rw unidirectional-delay? uint32 288 | +--rw unidirectional-min-delay? uint32 289 | +--rw unidirectional-max-delay? uint32 290 | +--rw unidirectional-delay-variation? uint32 291 | +--rw unidirectional-packet-loss? decimal64 292 | +--rw unidirectional-residual-bandwidth? 293 rt-types:bandwidth-ieee-float32 294 | +--rw unidirectional-available-bandwidth? 295 rt-types:bandwidth-ieee-float32 296 | +--rw unidirectional-utilized-bandwidth? 297 rt-types:bandwidth-ieee-float32 298 +--rw threshold-in 299 | +--rw unidirectional-delay? uint32 300 | +--rw unidirectional-min-delay? uint32 301 | +--rw unidirectional-max-delay? uint32 302 | +--rw unidirectional-delay-variation? uint32 303 | +--rw unidirectional-packet-loss? decimal64 304 | +--rw unidirectional-residual-bandwidth? 305 rt-types:bandwidth-ieee-float32 306 | +--rw unidirectional-available-bandwidth? 307 rt-types:bandwidth-ieee-float32 308 | +--rw unidirectional-utilized-bandwidth? 309 rt-types:bandwidth-ieee-float32 310 +--rw threshold-accelerated-advertisement 311 +--rw unidirectional-delay? uint32 312 +--rw unidirectional-min-delay? uint32 313 +--rw unidirectional-max-delay? uint32 314 +--rw unidirectional-delay-variation? uint32 315 +--rw unidirectional-packet-loss? decimal64 316 +--rw unidirectional-residual-bandwidth? 317 rt-types:bandwidth-ieee-float32 318 +--rw unidirectional-available-bandwidth? 319 rt-types:bandwidth-ieee-float32 320 +--rw unidirectional-utilized-bandwidth? 321 rt-types:bandwidth-ieee-float32 322 augment /nd:networks/nd:network/nd:node/tet:te 323 /tet:information-source-entry/tet:connectivity-matrices: 324 +--ro performance-metric 325 +--ro measurement 326 | +--ro unidirectional-delay? uint32 327 | +--ro unidirectional-min-delay? uint32 328 | +--ro unidirectional-max-delay? uint32 329 | +--ro unidirectional-delay-variation? uint32 330 | +--ro unidirectional-packet-loss? decimal64 331 | +--ro unidirectional-residual-bandwidth? 332 rt-types:bandwidth-ieee-float32 333 | +--ro unidirectional-available-bandwidth? 335 rt-types:bandwidth-ieee-float32 336 | +--ro unidirectional-utilized-bandwidth? 337 rt-types:bandwidth-ieee-float32 338 +--ro normality 339 | +--ro unidirectional-delay? 340 te-types:performance-metric-normality 341 | +--ro unidirectional-min-delay? 342 te-types:performance-metric-normality 343 | +--ro unidirectional-max-delay? 344 te-types:performance-metric-normality 345 | +--ro unidirectional-delay-variation? 346 te-types:performance-metric-normality 347 | +--ro unidirectional-packet-loss? 348 te-types:performance-metric-normality 349 | +--ro unidirectional-residual-bandwidth? 350 te-types:performance-metric-normality 351 | +--ro unidirectional-available-bandwidth? 352 te-types:performance-metric-normality 353 | +--ro unidirectional-utilized-bandwidth? 354 te-types:performance-metric-normality 355 +--ro throttle 356 +--ro unidirectional-delay-offset? uint32 357 +--ro measure-interval? uint32 358 +--ro advertisement-interval? uint32 359 +--ro suppression-interval? uint32 360 +--ro threshold-out 361 | +--ro unidirectional-delay? uint32 362 | +--ro unidirectional-min-delay? uint32 363 | +--ro unidirectional-max-delay? uint32 364 | +--ro unidirectional-delay-variation? uint32 365 | +--ro unidirectional-packet-loss? decimal64 366 | +--ro unidirectional-residual-bandwidth? 367 rt-types:bandwidth-ieee-float32 368 | +--ro unidirectional-available-bandwidth? 369 rt-types:bandwidth-ieee-float32 370 | +--ro unidirectional-utilized-bandwidth? 371 rt-types:bandwidth-ieee-float32 372 +--ro threshold-in 373 | +--ro unidirectional-delay? uint32 374 | +--ro unidirectional-min-delay? uint32 375 | +--ro unidirectional-max-delay? uint32 376 | +--ro unidirectional-delay-variation? uint32 377 | +--ro unidirectional-packet-loss? decimal64 378 | +--ro unidirectional-residual-bandwidth? 379 rt-types:bandwidth-ieee-float32 380 | +--ro unidirectional-available-bandwidth? 381 rt-types:bandwidth-ieee-float32 382 | +--ro unidirectional-utilized-bandwidth? 384 rt-types:bandwidth-ieee-float32 385 +--ro threshold-accelerated-advertisement 386 +--ro unidirectional-delay? uint32 387 +--ro unidirectional-min-delay? uint32 388 +--ro unidirectional-max-delay? uint32 389 +--ro unidirectional-delay-variation? uint32 390 +--ro unidirectional-packet-loss? decimal64 391 +--ro unidirectional-residual-bandwidth? 392 rt-types:bandwidth-ieee-float32 393 +--ro unidirectional-available-bandwidth? 394 rt-types:bandwidth-ieee-float32 395 +--ro unidirectional-utilized-bandwidth? 396 rt-types:bandwidth-ieee-float32 397 augment /nd:networks/nd:network/nd:node/tet:te 398 /tet:information-source-entry/tet:connectivity-matrices 399 /tet:connectivity-matrix: 400 +--ro performance-metric 401 +--ro measurement 402 | +--ro unidirectional-delay? uint32 403 | +--ro unidirectional-min-delay? uint32 404 | +--ro unidirectional-max-delay? uint32 405 | +--ro unidirectional-delay-variation? uint32 406 | +--ro unidirectional-packet-loss? decimal64 407 | +--ro unidirectional-residual-bandwidth? 408 rt-types:bandwidth-ieee-float32 409 | +--ro unidirectional-available-bandwidth? 410 rt-types:bandwidth-ieee-float32 411 | +--ro unidirectional-utilized-bandwidth? 412 rt-types:bandwidth-ieee-float32 413 +--ro normality 414 | +--ro unidirectional-delay? 415 te-types:performance-metric-normality 416 | +--ro unidirectional-min-delay? 417 te-types:performance-metric-normality 418 | +--ro unidirectional-max-delay? 419 te-types:performance-metric-normality 420 | +--ro unidirectional-delay-variation? 421 te-types:performance-metric-normality 422 | +--ro unidirectional-packet-loss? 423 te-types:performance-metric-normality 424 | +--ro unidirectional-residual-bandwidth? 425 te-types:performance-metric-normality 426 | +--ro unidirectional-available-bandwidth? 427 te-types:performance-metric-normality 428 | +--ro unidirectional-utilized-bandwidth? 429 te-types:performance-metric-normality 430 +--ro throttle 431 +--ro unidirectional-delay-offset? uint32 432 +--ro measure-interval? uint32 433 +--ro advertisement-interval? uint32 434 +--ro suppression-interval? uint32 435 +--ro threshold-out 436 | +--ro unidirectional-delay? uint32 437 | +--ro unidirectional-min-delay? uint32 438 | +--ro unidirectional-max-delay? uint32 439 | +--ro unidirectional-delay-variation? uint32 440 | +--ro unidirectional-packet-loss? decimal64 441 | +--ro unidirectional-residual-bandwidth? 442 rt-types:bandwidth-ieee-float32 443 | +--ro unidirectional-available-bandwidth? 444 rt-types:bandwidth-ieee-float32 445 | +--ro unidirectional-utilized-bandwidth? 446 rt-types:bandwidth-ieee-float32 447 +--ro threshold-in 448 | +--ro unidirectional-delay? uint32 449 | +--ro unidirectional-min-delay? uint32 450 | +--ro unidirectional-max-delay? uint32 451 | +--ro unidirectional-delay-variation? uint32 452 | +--ro unidirectional-packet-loss? decimal64 453 | +--ro unidirectional-residual-bandwidth? 454 rt-types:bandwidth-ieee-float32 455 | +--ro unidirectional-available-bandwidth? 456 rt-types:bandwidth-ieee-float32 457 | +--ro unidirectional-utilized-bandwidth? 458 rt-types:bandwidth-ieee-float32 459 +--ro threshold-accelerated-advertisement 460 +--ro unidirectional-delay? uint32 461 +--ro unidirectional-min-delay? uint32 462 +--ro unidirectional-max-delay? uint32 463 +--ro unidirectional-delay-variation? uint32 464 +--ro unidirectional-packet-loss? decimal64 465 +--ro unidirectional-residual-bandwidth? 466 rt-types:bandwidth-ieee-float32 467 +--ro unidirectional-available-bandwidth? 468 rt-types:bandwidth-ieee-float32 469 +--ro unidirectional-utilized-bandwidth? 470 rt-types:bandwidth-ieee-float32 471 augment /nd:networks/nd:network/nd:node/tet:te 472 /tet:tunnel-termination-point/tet:local-link-connectivities: 473 +--rw performance-metric 474 +--rw measurement 475 | +--rw unidirectional-delay? uint32 476 | +--rw unidirectional-min-delay? uint32 477 | +--rw unidirectional-max-delay? uint32 478 | +--rw unidirectional-delay-variation? uint32 479 | +--rw unidirectional-packet-loss? decimal64 480 | +--rw unidirectional-residual-bandwidth? 481 rt-types:bandwidth-ieee-float32 482 | +--rw unidirectional-available-bandwidth? 483 rt-types:bandwidth-ieee-float32 484 | +--rw unidirectional-utilized-bandwidth? 485 rt-types:bandwidth-ieee-float32 486 +--rw normality 487 | +--rw unidirectional-delay? 488 te-types:performance-metric-normality 489 | +--rw unidirectional-min-delay? 490 te-types:performance-metric-normality 491 | +--rw unidirectional-max-delay? 492 te-types:performance-metric-normality 493 | +--rw unidirectional-delay-variation? 494 te-types:performance-metric-normality 495 | +--rw unidirectional-packet-loss? 496 te-types:performance-metric-normality 497 | +--rw unidirectional-residual-bandwidth? 498 te-types:performance-metric-normality 499 | +--rw unidirectional-available-bandwidth? 500 te-types:performance-metric-normality 501 | +--rw unidirectional-utilized-bandwidth? 502 te-types:performance-metric-normality 503 +--rw throttle 504 +--rw unidirectional-delay-offset? uint32 505 +--rw measure-interval? uint32 506 +--rw advertisement-interval? uint32 507 +--rw suppression-interval? uint32 508 +--rw threshold-out 509 | +--rw unidirectional-delay? uint32 510 | +--rw unidirectional-min-delay? uint32 511 | +--rw unidirectional-max-delay? uint32 512 | +--rw unidirectional-delay-variation? uint32 513 | +--rw unidirectional-packet-loss? decimal64 514 | +--rw unidirectional-residual-bandwidth? 515 rt-types:bandwidth-ieee-float32 516 | +--rw unidirectional-available-bandwidth? 517 rt-types:bandwidth-ieee-float32 518 | +--rw unidirectional-utilized-bandwidth? 519 rt-types:bandwidth-ieee-float32 520 +--rw threshold-in 521 | +--rw unidirectional-delay? uint32 522 | +--rw unidirectional-min-delay? uint32 523 | +--rw unidirectional-max-delay? uint32 524 | +--rw unidirectional-delay-variation? uint32 525 | +--rw unidirectional-packet-loss? decimal64 526 | +--rw unidirectional-residual-bandwidth? 527 rt-types:bandwidth-ieee-float32 528 | +--rw unidirectional-available-bandwidth? 529 rt-types:bandwidth-ieee-float32 530 | +--rw unidirectional-utilized-bandwidth? 531 rt-types:bandwidth-ieee-float32 532 +--rw threshold-accelerated-advertisement 533 +--rw unidirectional-delay? uint32 534 +--rw unidirectional-min-delay? uint32 535 +--rw unidirectional-max-delay? uint32 536 +--rw unidirectional-delay-variation? uint32 537 +--rw unidirectional-packet-loss? decimal64 538 +--rw unidirectional-residual-bandwidth? 539 rt-types:bandwidth-ieee-float32 540 +--rw unidirectional-available-bandwidth? 541 rt-types:bandwidth-ieee-float32 542 +--rw unidirectional-utilized-bandwidth? 543 rt-types:bandwidth-ieee-float32 544 augment /nd:networks/nd:network/nd:node/tet:te 545 /tet:tunnel-termination-point/tet:local-link-connectivities 546 /tet:local-link-connectivity: 547 +--rw performance-metric 548 +--rw measurement 549 | +--rw unidirectional-delay? uint32 550 | +--rw unidirectional-min-delay? uint32 551 | +--rw unidirectional-max-delay? uint32 552 | +--rw unidirectional-delay-variation? uint32 553 | +--rw unidirectional-packet-loss? decimal64 554 | +--rw unidirectional-residual-bandwidth? 555 rt-types:bandwidth-ieee-float32 556 | +--rw unidirectional-available-bandwidth? 557 rt-types:bandwidth-ieee-float32 558 | +--rw unidirectional-utilized-bandwidth? 559 rt-types:bandwidth-ieee-float32 560 +--rw normality 561 | +--rw unidirectional-delay? 562 te-types:performance-metric-normality 563 | +--rw unidirectional-min-delay? 564 te-types:performance-metric-normality 565 | +--rw unidirectional-max-delay? 566 te-types:performance-metric-normality 567 | +--rw unidirectional-delay-variation? 568 te-types:performance-metric-normality 569 | +--rw unidirectional-packet-loss? 570 te-types:performance-metric-normality 571 | +--rw unidirectional-residual-bandwidth? 572 te-types:performance-metric-normality 573 | +--rw unidirectional-available-bandwidth? 574 te-types:performance-metric-normality 575 | +--rw unidirectional-utilized-bandwidth? 577 te-types:performance-metric-normality 578 +--rw throttle 579 +--rw unidirectional-delay-offset? uint32 580 +--rw measure-interval? uint32 581 +--rw advertisement-interval? uint32 582 +--rw suppression-interval? uint32 583 +--rw threshold-out 584 | +--rw unidirectional-delay? uint32 585 | +--rw unidirectional-min-delay? uint32 586 | +--rw unidirectional-max-delay? uint32 587 | +--rw unidirectional-delay-variation? uint32 588 | +--rw unidirectional-packet-loss? decimal64 589 | +--rw unidirectional-residual-bandwidth? 590 rt-types:bandwidth-ieee-float32 591 | +--rw unidirectional-available-bandwidth? 592 rt-types:bandwidth-ieee-float32 593 | +--rw unidirectional-utilized-bandwidth? 594 rt-types:bandwidth-ieee-float32 595 +--rw threshold-in 596 | +--rw unidirectional-delay? uint32 597 | +--rw unidirectional-min-delay? uint32 598 | +--rw unidirectional-max-delay? uint32 599 | +--rw unidirectional-delay-variation? uint32 600 | +--rw unidirectional-packet-loss? decimal64 601 | +--rw unidirectional-residual-bandwidth? 602 rt-types:bandwidth-ieee-float32 603 | +--rw unidirectional-available-bandwidth? 604 rt-types:bandwidth-ieee-float32 605 | +--rw unidirectional-utilized-bandwidth? 606 rt-types:bandwidth-ieee-float32 607 +--rw threshold-accelerated-advertisement 608 +--rw unidirectional-delay? uint32 609 +--rw unidirectional-min-delay? uint32 610 +--rw unidirectional-max-delay? uint32 611 +--rw unidirectional-delay-variation? uint32 612 +--rw unidirectional-packet-loss? decimal64 613 +--rw unidirectional-residual-bandwidth? 614 rt-types:bandwidth-ieee-float32 615 +--rw unidirectional-available-bandwidth? 616 rt-types:bandwidth-ieee-float32 617 +--rw unidirectional-utilized-bandwidth? 618 rt-types:bandwidth-ieee-float32 619 augment /nd:networks/tet:te/tet:templates/tet:link-template 620 /tet:te-link-attributes: 621 +--rw performance-metric 622 +--rw measurement 623 | +--rw unidirectional-delay? uint32 624 | +--rw unidirectional-min-delay? uint32 625 | +--rw unidirectional-max-delay? uint32 626 | +--rw unidirectional-delay-variation? uint32 627 | +--rw unidirectional-packet-loss? decimal64 628 | +--rw unidirectional-residual-bandwidth? 629 rt-types:bandwidth-ieee-float32 630 | +--rw unidirectional-available-bandwidth? 631 rt-types:bandwidth-ieee-float32 632 | +--rw unidirectional-utilized-bandwidth? 633 rt-types:bandwidth-ieee-float32 634 +--rw normality 635 | +--rw unidirectional-delay? 636 te-types:performance-metric-normality 637 | +--rw unidirectional-min-delay? 638 te-types:performance-metric-normality 639 | +--rw unidirectional-max-delay? 640 te-types:performance-metric-normality 641 | +--rw unidirectional-delay-variation? 642 te-types:performance-metric-normality 643 | +--rw unidirectional-packet-loss? 644 te-types:performance-metric-normality 645 | +--rw unidirectional-residual-bandwidth? 646 te-types:performance-metric-normality 647 | +--rw unidirectional-available-bandwidth? 648 te-types:performance-metric-normality 649 | +--rw unidirectional-utilized-bandwidth? 650 te-types:performance-metric-normality 651 +--rw throttle 652 +--rw unidirectional-delay-offset? uint32 653 +--rw measure-interval? uint32 654 +--rw advertisement-interval? uint32 655 +--rw suppression-interval? uint32 656 +--rw threshold-out 657 | +--rw unidirectional-delay? uint32 658 | +--rw unidirectional-min-delay? uint32 659 | +--rw unidirectional-max-delay? uint32 660 | +--rw unidirectional-delay-variation? uint32 661 | +--rw unidirectional-packet-loss? decimal64 662 | +--rw unidirectional-residual-bandwidth? 663 rt-types:bandwidth-ieee-float32 664 | +--rw unidirectional-available-bandwidth? 665 rt-types:bandwidth-ieee-float32 666 | +--rw unidirectional-utilized-bandwidth? 667 rt-types:bandwidth-ieee-float32 668 +--rw threshold-in 669 | +--rw unidirectional-delay? uint32 670 | +--rw unidirectional-min-delay? uint32 671 | +--rw unidirectional-max-delay? uint32 672 | +--rw unidirectional-delay-variation? uint32 673 | +--rw unidirectional-packet-loss? decimal64 674 | +--rw unidirectional-residual-bandwidth? 675 rt-types:bandwidth-ieee-float32 676 | +--rw unidirectional-available-bandwidth? 677 rt-types:bandwidth-ieee-float32 678 | +--rw unidirectional-utilized-bandwidth? 679 rt-types:bandwidth-ieee-float32 680 +--rw threshold-accelerated-advertisement 681 +--rw unidirectional-delay? uint32 682 +--rw unidirectional-min-delay? uint32 683 +--rw unidirectional-max-delay? uint32 684 +--rw unidirectional-delay-variation? uint32 685 +--rw unidirectional-packet-loss? decimal64 686 +--rw unidirectional-residual-bandwidth? 687 rt-types:bandwidth-ieee-float32 688 +--rw unidirectional-available-bandwidth? 689 rt-types:bandwidth-ieee-float32 690 +--rw unidirectional-utilized-bandwidth? 691 rt-types:bandwidth-ieee-float32 692 augment /nd:networks/nd:network/lnk:link/tet:te 693 /tet:te-link-attributes: 694 +--rw performance-metric 695 +--rw measurement 696 | +--rw unidirectional-delay? uint32 697 | +--rw unidirectional-min-delay? uint32 698 | +--rw unidirectional-max-delay? uint32 699 | +--rw unidirectional-delay-variation? uint32 700 | +--rw unidirectional-packet-loss? decimal64 701 | +--rw unidirectional-residual-bandwidth? 702 rt-types:bandwidth-ieee-float32 703 | +--rw unidirectional-available-bandwidth? 704 rt-types:bandwidth-ieee-float32 705 | +--rw unidirectional-utilized-bandwidth? 706 rt-types:bandwidth-ieee-float32 707 +--rw normality 708 | +--rw unidirectional-delay? 709 te-types:performance-metric-normality 710 | +--rw unidirectional-min-delay? 711 te-types:performance-metric-normality 712 | +--rw unidirectional-max-delay? 713 te-types:performance-metric-normality 714 | +--rw unidirectional-delay-variation? 715 te-types:performance-metric-normality 716 | +--rw unidirectional-packet-loss? 717 te-types:performance-metric-normality 718 | +--rw unidirectional-residual-bandwidth? 719 te-types:performance-metric-normality 720 | +--rw unidirectional-available-bandwidth? 722 te-types:performance-metric-normality 723 | +--rw unidirectional-utilized-bandwidth? 724 te-types:performance-metric-normality 725 +--rw throttle 726 +--rw unidirectional-delay-offset? uint32 727 +--rw measure-interval? uint32 728 +--rw advertisement-interval? uint32 729 +--rw suppression-interval? uint32 730 +--rw threshold-out 731 | +--rw unidirectional-delay? uint32 732 | +--rw unidirectional-min-delay? uint32 733 | +--rw unidirectional-max-delay? uint32 734 | +--rw unidirectional-delay-variation? uint32 735 | +--rw unidirectional-packet-loss? decimal64 736 | +--rw unidirectional-residual-bandwidth? 737 rt-types:bandwidth-ieee-float32 738 | +--rw unidirectional-available-bandwidth? 739 rt-types:bandwidth-ieee-float32 740 | +--rw unidirectional-utilized-bandwidth? 741 rt-types:bandwidth-ieee-float32 742 +--rw threshold-in 743 | +--rw unidirectional-delay? uint32 744 | +--rw unidirectional-min-delay? uint32 745 | +--rw unidirectional-max-delay? uint32 746 | +--rw unidirectional-delay-variation? uint32 747 | +--rw unidirectional-packet-loss? decimal64 748 | +--rw unidirectional-residual-bandwidth? 749 rt-types:bandwidth-ieee-float32 750 | +--rw unidirectional-available-bandwidth? 751 rt-types:bandwidth-ieee-float32 752 | +--rw unidirectional-utilized-bandwidth? 753 rt-types:bandwidth-ieee-float32 754 +--rw threshold-accelerated-advertisement 755 +--rw unidirectional-delay? uint32 756 +--rw unidirectional-min-delay? uint32 757 +--rw unidirectional-max-delay? uint32 758 +--rw unidirectional-delay-variation? uint32 759 +--rw unidirectional-packet-loss? decimal64 760 +--rw unidirectional-residual-bandwidth? 761 rt-types:bandwidth-ieee-float32 762 +--rw unidirectional-available-bandwidth? 763 rt-types:bandwidth-ieee-float32 764 +--rw unidirectional-utilized-bandwidth? 765 rt-types:bandwidth-ieee-float32 766 augment /nd:networks/nd:network/lnk:link/tet:te 767 /tet:information-source-entry: 768 +--ro performance-metric 769 +--ro measurement 770 | +--ro unidirectional-delay? uint32 771 | +--ro unidirectional-min-delay? uint32 772 | +--ro unidirectional-max-delay? uint32 773 | +--ro unidirectional-delay-variation? uint32 774 | +--ro unidirectional-packet-loss? decimal64 775 | +--ro unidirectional-residual-bandwidth? 776 rt-types:bandwidth-ieee-float32 777 | +--ro unidirectional-available-bandwidth? 778 rt-types:bandwidth-ieee-float32 779 | +--ro unidirectional-utilized-bandwidth? 780 rt-types:bandwidth-ieee-float32 781 +--ro normality 782 | +--ro unidirectional-delay? 783 te-types:performance-metric-normality 784 | +--ro unidirectional-min-delay? 785 te-types:performance-metric-normality 786 | +--ro unidirectional-max-delay? 787 te-types:performance-metric-normality 788 | +--ro unidirectional-delay-variation? 789 te-types:performance-metric-normality 790 | +--ro unidirectional-packet-loss? 791 te-types:performance-metric-normality 792 | +--ro unidirectional-residual-bandwidth? 793 te-types:performance-metric-normality 794 | +--ro unidirectional-available-bandwidth? 795 te-types:performance-metric-normality 796 | +--ro unidirectional-utilized-bandwidth? 797 te-types:performance-metric-normality 798 +--ro throttle 799 +--ro unidirectional-delay-offset? uint32 800 +--ro measure-interval? uint32 801 +--ro advertisement-interval? uint32 802 +--ro suppression-interval? uint32 803 +--ro threshold-out 804 | +--ro unidirectional-delay? uint32 805 | +--ro unidirectional-min-delay? uint32 806 | +--ro unidirectional-max-delay? uint32 807 | +--ro unidirectional-delay-variation? uint32 808 | +--ro unidirectional-packet-loss? decimal64 809 | +--ro unidirectional-residual-bandwidth? 810 rt-types:bandwidth-ieee-float32 811 | +--ro unidirectional-available-bandwidth? 812 rt-types:bandwidth-ieee-float32 813 | +--ro unidirectional-utilized-bandwidth? 814 rt-types:bandwidth-ieee-float32 815 +--ro threshold-in 816 | +--ro unidirectional-delay? uint32 817 | +--ro unidirectional-min-delay? uint32 818 | +--ro unidirectional-max-delay? uint32 819 | +--ro unidirectional-delay-variation? uint32 820 | +--ro unidirectional-packet-loss? decimal64 821 | +--ro unidirectional-residual-bandwidth? 822 rt-types:bandwidth-ieee-float32 823 | +--ro unidirectional-available-bandwidth? 824 rt-types:bandwidth-ieee-float32 825 | +--ro unidirectional-utilized-bandwidth? 826 rt-types:bandwidth-ieee-float32 827 +--ro threshold-accelerated-advertisement 828 +--ro unidirectional-delay? uint32 829 +--ro unidirectional-min-delay? uint32 830 +--ro unidirectional-max-delay? uint32 831 +--ro unidirectional-delay-variation? uint32 832 +--ro unidirectional-packet-loss? decimal64 833 +--ro unidirectional-residual-bandwidth? 834 rt-types:bandwidth-ieee-float32 835 +--ro unidirectional-available-bandwidth? 836 rt-types:bandwidth-ieee-float32 837 +--ro unidirectional-utilized-bandwidth? 838 rt-types:bandwidth-ieee-float32 839 augment /nd:networks/tet:te/tet:templates/tet:link-template 840 /tet:te-link-attributes/tet:interface-switching-capability: 841 +--rw packet-switch-capable 842 +--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 843 +--rw interface-mtu? uint16 844 augment /nd:networks/nd:network/lnk:link/tet:te 845 /tet:te-link-attributes/tet:interface-switching-capability: 846 +--rw packet-switch-capable 847 +--rw minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 848 +--rw interface-mtu? uint16 849 augment /nd:networks/nd:network/lnk:link/tet:te 850 /tet:information-source-entry/tet:interface-switching-capability: 851 +--ro packet-switch-capable 852 +--ro minimum-lsp-bandwidth? rt-types:bandwidth-ieee-float32 853 +--ro interface-mtu? uint16 855 4. YANG Modules 857 4.1. Layer 3 TE Topology Module 859 file "ietf-l3-te-topology@2018-02-28.yang" 860 module ietf-l3-te-topology { 861 yang-version 1.1; 862 namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology"; 863 prefix "l3tet"; 864 import ietf-network { 865 prefix "nw"; 866 } 867 import ietf-network-topology { 868 prefix "nt"; 869 } 870 import ietf-l3-unicast-topology { 871 prefix "l3t"; 872 } 873 import ietf-te-topology { 874 prefix "tet"; 875 } 877 organization "TBD"; 878 contact "TBD"; 879 description "L3 TE Topology model"; 881 revision 2018-02-28 { 883 description "Initial revision"; 884 reference "TBD"; 885 } 887 grouping l3-te-topology-type { 888 description 889 "Identifies the L3 TE topology type."; 890 container l3-te { 891 presence "indiates L3 TE Topology"; 892 description 893 "Its presence identifies the L3 TE topology type."; 894 } 895 } 897 augment "/nw:networks/nw:network/nw:network-types/" 898 + "l3t:l3-unicast-topology" { 899 description 900 "Defines the L3 TE topology type."; 901 uses l3-te-topology-type; 902 } 904 augment "/nw:networks/nw:network/l3t:l3-topology-attributes" { 905 when "../nw:network-types/l3t:l3-unicast-topology/l3tet:l3-te" { 906 description "Augment only for L3 TE topology"; 907 } 908 description "Augment topology configuration"; 909 uses l3-te-topology-attributes; 910 } 911 augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" { 912 when "../../nw:network-types/l3t:l3-unicast-topology/" 913 + "l3tet:l3-te" { 914 description "Augment only for L3 TE topology"; 915 } 916 description "Augment node configuration"; 917 uses l3-te-node-attributes; 918 } 920 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 921 + "l3t:l3-termination-point-attributes" { 922 when "../../../nw:network-types/l3t:l3-unicast-topology/" 923 + "l3tet:l3-te" { 924 description "Augment only for L3 TE topology"; 925 } 926 description "Augment termination point configuration"; 927 uses l3-te-tp-attributes; 928 } 930 augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" { 931 when "../../nw:network-types/l3t:l3-unicast-topology/" 932 + "l3tet:l3-te" { 933 description "Augment only for L3 TE topology"; 934 } 935 description "Augment link configuration"; 936 uses l3-te-link-attributes; 937 } 939 grouping l3-te-topology-attributes { 940 description "L3 TE topology scope attributes"; 941 container l3-te-topology-attributes { 942 must "/nw:networks/nw:network" 943 + "[nw:network-id = current()/network-ref]/nw:network-types/" 944 + "tet:te-topology" { 945 error-message 946 "The referenced network must be a TE topology."; 947 description 948 "The referenced network must be a TE topology."; 949 } 950 description "Containing TE topology references"; 951 uses nw:network-ref; 952 } // l3-te-topology-attributes 953 } // l3-te-topology-attributes 955 grouping l3-te-node-attributes { 956 description "L3 TE node scope attributes"; 957 container l3-te-node-attributes { 958 must "/nw:networks/nw:network" 959 + "[nw:network-id = current()/network-ref]/nw:network-types/" 960 + "tet:te-topology" { 961 error-message 962 "The referenced network must be a TE topology."; 963 description 964 "The referenced network must be a TE topology."; 965 } 966 description "Containing TE node references"; 967 uses nw:node-ref; 968 } // l3-te 969 } // l3-te-node-attributes 971 grouping l3-te-tp-attributes { 972 description "L3 TE termination point scope attributes"; 973 container l3-te-tp-attributes { 974 must "/nw:networks/nw:network" 975 + "[nw:network-id = current()/network-ref]/nw:network-types/" 976 + "tet:te-topology" { 977 error-message 978 "The referenced network must be a TE topology."; 979 description 980 "The referenced network must be a TE topology."; 981 } 982 description "Containing TE termination point references"; 983 uses nt:tp-ref; 984 } // l3-te 985 } // l3-te-tp-attributes 987 grouping l3-te-link-attributes { 988 description "L3 TE link scope attributes"; 989 container l3-te-link-attributes { 990 must "/nw:networks/nw:network" 991 + "[nw:network-id = current()/network-ref]/nw:network-types/" 992 + "tet:te-topology" { 993 error-message 994 "The referenced network must be a TE topology."; 995 description 996 "The referenced network must be a TE topology."; 997 } 998 description "Containing TE link references"; 999 uses nt:link-ref; 1000 } 1001 } // l3-te-link-attributes 1002 } 1003 1005 4.2. Packet Switching TE Topology Module 1007 file "ietf-te-topology-packet@2017-10-29.yang" 1008 module ietf-te-topology-packet { 1009 yang-version 1; 1010 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet"; 1012 prefix "tet-pkt"; 1014 import ietf-network { 1015 prefix "nd"; 1016 } 1018 import ietf-network-topology { 1019 prefix "lnk"; 1020 } 1022 import ietf-routing-types { 1023 prefix "rt-types"; 1024 } 1026 import ietf-te-topology { 1027 prefix "tet"; 1028 } 1030 import ietf-te-types { 1031 prefix "te-types"; 1032 } 1034 organization 1035 "Traffic Engineering Architecture and Signaling (TEAS) 1036 Working Group"; 1038 contact 1039 "WG Web: 1040 WG List: 1042 WG Chair: Lou Berger 1043 1045 WG Chair: Vishnu Pavan Beeram 1046 1048 Editors: Xufeng Liu 1049 1051 Igor Bryskin 1052 1054 Vishnu Pavan Beeram 1055 1057 Tarek Saad 1058 1060 Himanshu Shah 1061 1063 Oscar Gonzalez De Dios 1064 "; 1066 description "TE topology model"; 1068 revision 2017-10-29 { 1069 description "Initial revision"; 1070 reference "TBD"; 1071 } 1073 /* 1074 * Features 1075 */ 1077 feature te-performance-metric { 1078 description 1079 "This feature indicates that the system supports 1080 TE performance metric."; 1081 reference 1082 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 1083 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 1084 RFC7823: Performance-Based Path Selection for Explicitly 1085 Routed Label Switched Paths (LSPs) Using TE Metric 1086 Extensions"; 1087 } 1089 /* 1090 * Groupings 1091 */ 1092 grouping packet-switch-capable-container { 1093 description 1094 "The container of packet switch capable attributes."; 1095 container packet-switch-capable { 1096 description 1097 "Interface has packet-switching capabilities."; 1098 leaf minimum-lsp-bandwidth { 1099 type rt-types:bandwidth-ieee-float32; 1100 description 1101 "Minimum LSP Bandwidth. Units in bytes per second"; 1102 } 1103 leaf interface-mtu { 1104 type uint16; 1105 description 1106 "Interface MTU."; 1107 } 1108 } 1109 } 1111 /* 1112 * Augmentations 1113 */ 1114 /* Augmentations to connectivity-matrix */ 1115 augment "/nd:networks/nd:network/nd:node/tet:te/" 1116 + "tet:te-node-attributes/tet:connectivity-matrices" { 1117 description 1118 "Parameters for PSC TE topology."; 1119 uses te-types:performance-metric-container { 1120 if-feature te-performance-metric; 1121 } 1122 } 1124 augment "/nd:networks/nd:network/nd:node/tet:te/" 1125 + "tet:te-node-attributes/tet:connectivity-matrices/" 1126 + "tet:connectivity-matrix" { 1127 description 1128 "Parameters for PSC TE topology."; 1129 uses te-types:performance-metric-container { 1130 if-feature te-performance-metric; 1131 } 1132 } 1134 augment "/nd:networks/nd:network/nd:node/tet:te/" 1135 + "tet:information-source-entry/tet:connectivity-matrices" { 1136 description 1137 "Parameters for PSC TE topology."; 1138 uses te-types:performance-metric-container { 1139 if-feature te-performance-metric; 1140 } 1141 } 1143 augment "/nd:networks/nd:network/nd:node/tet:te/" 1144 + "tet:information-source-entry/tet:connectivity-matrices/" 1145 + "tet:connectivity-matrix" { 1147 description 1148 "Parameters for PSC TE topology."; 1149 uses te-types:performance-metric-container { 1150 if-feature te-performance-metric; 1151 } 1152 } 1154 /* Augmentations to tunnel-termination-point */ 1155 augment "/nd:networks/nd:network/nd:node/tet:te/" 1156 + "tet:tunnel-termination-point/" 1157 + "tet:local-link-connectivities" { 1158 description 1159 "Parameters for PSC TE topology."; 1160 uses te-types:performance-metric-container { 1161 if-feature te-performance-metric; 1162 } 1163 } 1165 augment "/nd:networks/nd:network/nd:node/tet:te/" 1166 + "tet:tunnel-termination-point/" 1167 + "tet:local-link-connectivities/" 1168 + "tet:local-link-connectivity" { 1169 description 1170 "Parameters for PSC TE topology."; 1171 uses te-types:performance-metric-container { 1172 if-feature te-performance-metric; 1173 } 1174 } 1176 /* Augmentations to te-link-attributes */ 1177 augment "/nd:networks/tet:te/tet:templates/" 1178 + "tet:link-template/tet:te-link-attributes" { 1179 when "tet:interface-switching-capability " 1180 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1181 description "Valid only for PSC"; 1182 } 1183 description 1184 "Parameters for PSC TE topology."; 1185 uses te-types:performance-metric-container { 1186 if-feature te-performance-metric; 1187 } 1188 } 1190 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1191 + "tet:te-link-attributes" { 1192 when "tet:interface-switching-capability " 1193 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1194 description "Valid only for PSC"; 1196 } 1197 description 1198 "Parameters for PSC TE topology."; 1199 uses te-types:performance-metric-container { 1200 if-feature te-performance-metric; 1201 } 1202 } 1204 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1205 + "tet:information-source-entry" { 1206 when "tet:interface-switching-capability " 1207 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1208 description "Valid only for PSC"; 1209 } 1210 description 1211 "Parameters for PSC TE topology."; 1212 uses te-types:performance-metric-container { 1213 if-feature te-performance-metric; 1214 } 1215 } 1217 /* Augmentations to interface-switching-capability */ 1218 augment "/nd:networks/tet:te/tet:templates/" 1219 + "tet:link-template/tet:te-link-attributes/" 1220 + "tet:interface-switching-capability" { 1221 when "tet:switching-capability = 'te-types:switching-psc1' " { 1222 description "Valid only for PSC"; 1223 } 1224 description 1225 "Parameters for PSC TE topology."; 1226 uses packet-switch-capable-container; 1227 } 1229 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1230 + "tet:te-link-attributes/" 1231 + "tet:interface-switching-capability" { 1232 when "tet:switching-capability = 'te-types:switching-psc1' " { 1233 description "Valid only for PSC"; 1234 } 1235 description 1236 "Parameters for PSC TE topology."; 1237 uses packet-switch-capable-container; 1238 } 1240 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1241 + "tet:information-source-entry/" 1242 + "tet:interface-switching-capability" { 1243 when "tet:switching-capability = 'te-types:switching-psc1' " { 1244 description "Valid only for PSC"; 1245 } 1246 description 1247 "Parameters for PSC TE topology."; 1248 uses packet-switch-capable-container; 1249 } 1250 } 1251 1253 5. IANA Considerations 1255 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 1256 actual RFC number (and remove this note). 1258 This document registers the following namespace URIs in the IETF XML 1259 registry [RFC3688]: 1261 -------------------------------------------------------------------- 1262 URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1263 Registrant Contact: The IESG. 1264 XML: N/A, the requested URI is an XML namespace. 1265 -------------------------------------------------------------------- 1267 -------------------------------------------------------------------- 1268 URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state 1269 Registrant Contact: The IESG. 1270 XML: N/A, the requested URI is an XML namespace. 1271 -------------------------------------------------------------------- 1273 -------------------------------------------------------------------- 1274 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1275 Registrant Contact: The IESG. 1276 XML: N/A, the requested URI is an XML namespace. 1277 -------------------------------------------------------------------- 1279 -------------------------------------------------------------------- 1280 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state 1281 Registrant Contact: The IESG. 1282 XML: N/A, the requested URI is an XML namespace. 1283 -------------------------------------------------------------------- 1285 This document registers the following YANG modules in the YANG Module 1286 Names registry [RFC6020]: 1288 -------------------------------------------------------------------- 1289 name: ietf-l3-te-topology 1290 namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1291 prefix: l3te 1292 reference: RFC XXXX 1293 -------------------------------------------------------------------- 1295 -------------------------------------------------------------------- 1296 name: ietf-l3-te-topology-state 1297 namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state 1298 prefix: l3te-s 1299 reference: RFC XXXX 1300 -------------------------------------------------------------------- 1302 -------------------------------------------------------------------- 1303 name: ietf-te-topology-packet 1304 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1305 prefix: tet-pkt 1306 reference: RFC XXXX 1307 -------------------------------------------------------------------- 1309 -------------------------------------------------------------------- 1310 name: ietf-te-topology-packet-state 1311 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state 1312 prefix: tet-pkt-s 1313 reference: RFC XXXX 1314 -------------------------------------------------------------------- 1316 6. Security Considerations 1318 The configuration, state, action and notification data defined in 1319 this document are designed to be accessed via the NETCONF protocol 1320 [RFC6241]. The data-model by itself does not create any security 1321 implications. The security considerations for the NETCONF protocol 1322 are applicable. The NETCONF protocol used for sending the data 1323 supports authentication and encryption. 1325 7. References 1327 7.1. Normative References 1329 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1330 Requirement Levels", BCP 14, RFC 2119, 1331 DOI 10.17487/RFC2119, March 1997, . 1334 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1335 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1336 . 1338 [I-D.ietf-netmod-revised-datastores] 1339 Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 1340 and R. Wilton, "Network Management Datastore 1341 Architecture", draft-ietf-netmod-revised-datastores-10 1342 (work in progress), January 2018. 1344 7.2. Informative References 1346 [I-D.ietf-i2rs-yang-l3-topology] 1347 Clemm, A., Medved, J., Varga, R., Liu, X., 1348 Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model 1349 for Layer 3 Topologies", draft-ietf-i2rs-yang- 1350 l3-topology-16 (work in progress), December 2017. 1352 [I-D.ietf-teas-yang-te-topo] 1353 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 1354 O. Dios, "YANG Data Model for Traffic Engineering (TE) 1355 Topologies", draft-ietf-teas-yang-te-topo-14 (work in 1356 progress), February 2018. 1358 Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations 1360 The YANG modules ietf-l3-te-topology and ietf-te-topology-packet 1361 defined in this document are designed to be used in conjunction with 1362 implementations that support the Network Management Datastore 1363 Architecture (NMDA) defined in [I-D.ietf-netmod-revised-datastores]. 1364 In order to allow implementations to use the model even in cases when 1365 NMDA is not supported, the following companion modules, ietf-l3-te- 1366 topology-state and ietf-te-topology-packet-state, are defined as 1367 state models, which mirror the modules ietf-l3-te-topology and ietf- 1368 te-topology-packet defined earlier in this document. However, all 1369 data nodes in the companion module are non-configurable, to represent 1370 the applied configuration or the derived operational states. 1372 The companion modules, ietf-l3-te-topology-state and ietf-te- 1373 topology-packet-state, are redundant and SHOULD NOT be supported by 1374 implementations that support NMDA. 1376 As the structure of the companion modules mirrors that of the 1377 coorespinding NMDA models, the YANG trees of the companion modules 1378 are not depicted separately. 1380 A.1. Layer 3 TE Topology State Module 1382 file "ietf-l3-te-topology-state@2018-02-28.yang" 1383 module ietf-l3-te-topology-state { 1384 yang-version 1.1; 1385 namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state"; 1386 prefix "l3tet-s"; 1388 import ietf-l3-te-topology { 1389 prefix "l3tet"; 1390 } 1391 import ietf-network-state { 1392 prefix "nw-s"; 1393 } 1394 import ietf-network-topology-state { 1395 prefix "nt-s"; 1396 } 1397 import ietf-l3-unicast-topology-state { 1398 prefix "l3t-s"; 1399 } 1401 organization "TBD"; 1402 contact "TBD"; 1403 description "L3 TE Topology model"; 1404 revision 2018-02-28 { 1406 description "Initial revision"; 1407 reference "TBD"; 1408 } 1410 augment "/nw-s:networks/nw-s:network/nw-s:network-types/" 1411 + "l3t-s:l3-unicast-topology" { 1412 description 1413 "Defines the L3 TE topology type."; 1414 uses l3tet:l3-te-topology-type; 1415 } 1417 augment "/nw-s:networks/nw-s:network/" 1418 + "l3t-s:l3-topology-attributes" { 1419 when "../nw-s:network-types/l3t-s:l3-unicast-topology/" 1420 + "l3tet-s:l3-te" { 1421 description "Augment only for L3 TE topology"; 1422 } 1423 description "Augment topology configuration"; 1424 uses l3tet:l3-te-topology-attributes; 1425 } 1427 augment "/nw-s:networks/nw-s:network/nw-s:node/" 1428 + "l3t-s:l3-node-attributes" { 1429 when "../../nw-s:network-types/l3t-s:l3-unicast-topology/" 1430 + "l3tet-s:l3-te" { 1431 description "Augment only for L3 TE topology"; 1432 } 1433 description "Augment node configuration"; 1434 uses l3tet:l3-te-node-attributes; 1435 } 1437 augment "/nw-s:networks/nw-s:network/nw-s:node/" 1438 + "nt-s:termination-point/" 1439 + "l3t-s:l3-termination-point-attributes" { 1440 when "../../../nw-s:network-types/l3t-s:l3-unicast-topology/" 1441 + "l3tet-s:l3-te" { 1442 description "Augment only for L3 TE topology"; 1443 } 1444 description "Augment termination point configuration"; 1445 uses l3tet:l3-te-tp-attributes; 1446 } 1448 augment "/nw-s:networks/nw-s:network/nt-s:link/" 1449 + "l3t-s:l3-link-attributes" { 1450 when "../../nw-s:network-types/l3t-s:l3-unicast-topology/" 1451 + "l3tet-s:l3-te" { 1452 description "Augment only for L3 TE topology"; 1453 } 1454 description "Augment link configuration"; 1455 uses l3tet:l3-te-link-attributes; 1456 } 1457 } 1458 1460 A.2. Packet Switching TE Topology State Module 1462 file "ietf-te-topology-packet-state@2017-10-29.yang" 1463 module ietf-te-topology-packet-state { 1464 yang-version 1; 1465 namespace 1466 "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state"; 1468 prefix "tet-pkt-s"; 1470 import ietf-te-topology-packet { 1471 prefix "tet-pkt"; 1472 } 1474 import ietf-network-state { 1475 prefix "nd-s"; 1476 } 1478 import ietf-network-topology-state { 1479 prefix "lnk-s"; 1480 } 1482 import ietf-te-topology-state { 1483 prefix "tet-s"; 1484 } 1486 import ietf-te-types { 1487 prefix "te-types"; 1488 } 1490 organization 1491 "Traffic Engineering Architecture and Signaling (TEAS) 1492 Working Group"; 1494 contact 1495 "WG Web: 1496 WG List: 1497 WG Chair: Lou Berger 1498 1500 WG Chair: Vishnu Pavan Beeram 1501 1503 Editors: Xufeng Liu 1504 1506 Igor Bryskin 1507 1509 Vishnu Pavan Beeram 1510 1512 Tarek Saad 1513 1515 Himanshu Shah 1516 1518 Oscar Gonzalez De Dios 1519 "; 1521 description "TE topology model"; 1523 revision 2017-10-29 { 1524 description "Initial revision"; 1525 reference "TBD"; 1526 } 1528 /* 1529 * Augmentations 1530 */ 1531 /* Augmentations to connectivity-matrix */ 1532 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1533 + "tet-s:te-node-attributes/tet-s:connectivity-matrices" { 1534 description 1535 "Parameters for PSC TE topology."; 1536 uses te-types:performance-metric-container { 1537 if-feature tet-pkt:te-performance-metric; 1538 } 1539 } 1541 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1542 + "tet-s:te-node-attributes/tet-s:connectivity-matrices/" 1543 + "tet-s:connectivity-matrix" { 1544 description 1545 "Parameters for PSC TE topology."; 1546 uses te-types:performance-metric-container { 1547 if-feature tet-pkt:te-performance-metric; 1548 } 1549 } 1551 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1552 + "tet-s:information-source-entry/" 1553 + "tet-s:connectivity-matrices" { 1554 description 1555 "Parameters for PSC TE topology."; 1556 uses te-types:performance-metric-container { 1557 if-feature tet-pkt:te-performance-metric; 1558 } 1559 } 1561 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1562 + "tet-s:information-source-entry/" 1563 + "tet-s:connectivity-matrices/" 1564 + "tet-s:connectivity-matrix" { 1565 description 1566 "Parameters for PSC TE topology."; 1567 uses te-types:performance-metric-container { 1568 if-feature tet-pkt:te-performance-metric; 1569 } 1570 } 1572 /* Augmentations to tunnel-termination-point */ 1573 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1574 + "tet-s:tunnel-termination-point/" 1575 + "tet-s:local-link-connectivities" { 1576 description 1577 "Parameters for PSC TE topology."; 1578 uses te-types:performance-metric-container { 1579 if-feature tet-pkt:te-performance-metric; 1580 } 1581 } 1583 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1584 + "tet-s:tunnel-termination-point/" 1585 + "tet-s:local-link-connectivities/" 1586 + "tet-s:local-link-connectivity" { 1587 description 1588 "Parameters for PSC TE topology."; 1589 uses te-types:performance-metric-container { 1590 if-feature tet-pkt:te-performance-metric; 1591 } 1592 } 1593 /* Augmentations to te-link-attributes */ 1594 augment "/nd-s:networks/tet-s:te/tet-s:templates/" 1595 + "tet-s:link-template/tet-s:te-link-attributes" { 1596 when "tet-s:interface-switching-capability " 1597 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 1598 description "Valid only for PSC"; 1599 } 1600 description 1601 "Parameters for PSC TE topology."; 1602 uses te-types:performance-metric-container { 1603 if-feature tet-pkt:te-performance-metric; 1604 } 1605 } 1607 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1608 + "tet-s:te-link-attributes" { 1609 when "tet-s:interface-switching-capability " 1610 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 1611 description "Valid only for PSC"; 1612 } 1613 description 1614 "Parameters for PSC TE topology."; 1615 uses te-types:performance-metric-container { 1616 if-feature tet-pkt:te-performance-metric; 1617 } 1618 } 1620 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1621 + "tet-s:information-source-entry" { 1622 when "tet-s:interface-switching-capability " 1623 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 1624 description "Valid only for PSC"; 1625 } 1626 description 1627 "Parameters for PSC TE topology."; 1628 uses te-types:performance-metric-container { 1629 if-feature tet-pkt:te-performance-metric; 1630 } 1631 } 1633 /* Augmentations to interface-switching-capability */ 1634 augment "/nd-s:networks/tet-s:te/tet-s:templates/" 1635 + "tet-s:link-template/tet-s:te-link-attributes/" 1636 + "tet-s:interface-switching-capability" { 1637 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 1638 description "Valid only for PSC"; 1639 } 1640 description 1641 "Parameters for PSC TE topology."; 1642 uses tet-pkt:packet-switch-capable-container; 1643 } 1645 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1646 + "tet-s:te-link-attributes/" 1647 + "tet-s:interface-switching-capability" { 1648 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 1649 description "Valid only for PSC"; 1650 } 1651 description 1652 "Parameters for PSC TE topology."; 1653 uses tet-pkt:packet-switch-capable-container; 1654 } 1656 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1657 + "tet-s:information-source-entry/" 1658 + "tet-s:interface-switching-capability" { 1659 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 1660 description "Valid only for PSC"; 1661 } 1662 description 1663 "Parameters for PSC TE topology."; 1664 uses tet-pkt:packet-switch-capable-container; 1665 } 1666 } 1667 1669 Authors' Addresses 1671 Xufeng Liu 1672 Jabil 1673 8281 Greensboro Drive, Suite 200 1674 McLean VA 22102 1675 USA 1677 EMail: Xufeng_Liu@jabil.com 1679 Igor Bryskin 1680 Huawei Technologies 1682 EMail: Igor.Bryskin@huawei.com 1683 Vishnu Pavan Beeram 1684 Juniper Networks 1686 EMail: vbeeram@juniper.net 1688 Tarek Saad 1689 Cisco Systems Inc 1691 EMail: tsaad@cisco.com 1693 Himanshu Shah 1694 Ciena 1696 EMail: hshah@ciena.com 1698 Oscar Gonzalez de Dios 1699 Telefonica 1701 EMail: oscar.gonzalezdedios@telefonica.com