idnits 2.17.1 draft-liu-teas-yang-l3-te-topo-05.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 30, 2017) is 2362 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 1257, but not defined == Missing Reference: 'RFC6020' is mentioned on line 1284, but not defined == Missing Reference: 'RFC6241' is mentioned on line 1318, but not defined == Outdated reference: A later version (-10) exists of draft-ietf-netmod-revised-datastores-05 == Outdated reference: A later version (-16) exists of draft-ietf-i2rs-yang-l3-topology-12 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-12 Summary: 0 errors (**), 0 flaws (~~), 8 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: May 3, 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 October 30, 2017 16 YANG Data Model for Layer 3 TE Topologies 17 draft-liu-teas-yang-l3-te-topo-05 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 May 3, 2018. 41 Copyright Notice 43 Copyright (c) 2017 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 /nd:networks/nd:network/nd:network-types 145 /l3t:l3-unicast-topology: 146 +--rw l3-te! 147 augment /nd:networks/nd:network/l3t:l3-topology-attributes: 148 +--rw l3-te-topology-attributes 149 +--rw network-ref? -> /nw:networks/network/network-id 150 augment /nd:networks/nd:network/nd: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 /nd:networks/nd:network/nd:node/lnk: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 /nd:networks/nd:network/lnk: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@2017-07-03.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 "nd"; 866 } 867 import ietf-network-topology { 868 prefix "lnk"; 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 2017-07-03 { 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 "/nd:networks/nd:network/nd: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 "/nd:networks/nd:network/l3t:l3-topology-attributes" { 905 when "../nd:network-types/l3t:l3-unicast-topology/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 "/nd:networks/nd:network/nd:node/l3t:l3-node-attributes" { 912 when "../../nd:network-types/l3t:l3-unicast-topology/l3-te" { 913 description "Augment only for L3 TE topology"; 914 } 915 description "Augment node configuration"; 916 uses l3-te-node-attributes; 917 } 919 augment "/nd:networks/nd:network/nd:node/lnk:termination-point/" 920 + "l3t:l3-termination-point-attributes" { 921 when "../../../nd:network-types/l3t:l3-unicast-topology/" 922 + "l3-te" { 923 description "Augment only for L3 TE topology"; 924 } 925 description "Augment termination point configuration"; 926 uses l3-te-tp-attributes; 927 } 929 augment "/nd:networks/nd:network/lnk:link/l3t:l3-link-attributes" { 930 when "../../nd:network-types/l3t:l3-unicast-topology/l3-te" { 931 description "Augment only for L3 TE topology"; 932 } 933 description "Augment link configuration"; 934 uses l3-te-link-attributes; 935 } 937 grouping l3-te-topology-attributes { 938 description "L3 TE topology scope attributes"; 939 container l3-te-topology-attributes { 940 must "/nd:networks/nd:network" 941 + "[nd:network-id = current()/network-ref]/nd:network-types/" 942 + "tet:te-topology" { 943 error-message 944 "The referenced network must be a TE topology."; 945 description 946 "The referenced network must be a TE topology."; 947 } 948 description "Containing TE topology references"; 949 uses nd:network-ref; 950 } // l3-te-topology-attributes 951 } // l3-te-topology-attributes 953 grouping l3-te-node-attributes { 954 description "L3 TE node scope attributes"; 955 container l3-te-node-attributes { 956 must "/nd:networks/nd:network" 957 + "[nd:network-id = current()/network-ref]/nd:network-types/" 958 + "tet:te-topology" { 959 error-message 960 "The referenced network must be a TE topology."; 961 description 962 "The referenced network must be a TE topology."; 963 } 964 description "Containing TE node references"; 965 uses nd:node-ref; 966 } // l3-te 967 } // l3-te-node-attributes 969 grouping l3-te-tp-attributes { 970 description "L3 TE termination point scope attributes"; 971 container l3-te-tp-attributes { 972 must "/nd:networks/nd:network" 973 + "[nd:network-id = current()/network-ref]/nd:network-types/" 974 + "tet:te-topology" { 975 error-message 976 "The referenced network must be a TE topology."; 977 description 978 "The referenced network must be a TE topology."; 979 } 980 description "Containing TE termination point references"; 981 uses lnk:tp-ref; 982 } // l3-te 983 } // l3-te-tp-attributes 985 grouping l3-te-link-attributes { 986 description "L3 TE link scope attributes"; 987 container l3-te-link-attributes { 988 must "/nd:networks/nd:network" 989 + "[nd:network-id = current()/network-ref]/nd:network-types/" 990 + "tet:te-topology" { 991 error-message 992 "The referenced network must be a TE topology."; 993 description 994 "The referenced network must be a TE topology."; 995 } 996 description "Containing TE link references"; 997 uses lnk:link-ref; 998 } 999 } // l3-te-link-attributes 1000 } 1001 1003 4.2. Packet Switching TE Topology Module 1005 file "ietf-te-topology-packet@2017-10-29.yang" 1006 module ietf-te-topology-packet { 1007 yang-version 1; 1008 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet"; 1010 prefix "tet-pkt"; 1012 import ietf-network { 1013 prefix "nd"; 1014 } 1016 import ietf-network-topology { 1017 prefix "lnk"; 1018 } 1020 import ietf-routing-types { 1021 prefix "rt-types"; 1022 } 1024 import ietf-te-topology { 1025 prefix "tet"; 1026 } 1028 import ietf-te-types { 1029 prefix "te-types"; 1030 } 1032 organization 1033 "Traffic Engineering Architecture and Signaling (TEAS) 1034 Working Group"; 1036 contact 1037 "WG Web: 1038 WG List: 1040 WG Chair: Lou Berger 1041 1043 WG Chair: Vishnu Pavan Beeram 1044 1046 Editors: Xufeng Liu 1047 1049 Igor Bryskin 1050 1052 Vishnu Pavan Beeram 1053 1055 Tarek Saad 1056 1058 Himanshu Shah 1059 1061 Oscar Gonzalez De Dios 1062 "; 1064 description "TE topology model"; 1066 revision 2017-10-29 { 1067 description "Initial revision"; 1068 reference "TBD"; 1069 } 1071 /* 1072 * Features 1073 */ 1075 feature te-performance-metric { 1076 description 1077 "This feature indicates that the system supports 1078 TE performance metric."; 1079 reference 1080 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 1081 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 1082 RFC7823: Performance-Based Path Selection for Explicitly 1083 Routed Label Switched Paths (LSPs) Using TE Metric 1084 Extensions"; 1085 } 1087 /* 1088 * Groupings 1089 */ 1090 grouping packet-switch-capable-container { 1091 description 1092 "The container of packet switch capable attributes."; 1093 container packet-switch-capable { 1094 description 1095 "Interface has packet-switching capabilities."; 1096 leaf minimum-lsp-bandwidth { 1097 type rt-types:bandwidth-ieee-float32; 1098 description 1099 "Minimum LSP Bandwidth. Units in bytes per second"; 1100 } 1101 leaf interface-mtu { 1102 type uint16; 1103 description 1104 "Interface MTU."; 1105 } 1106 } 1107 } 1109 /* 1110 * Augmentations 1111 */ 1112 /* Augmentations to connectivity-matrix */ 1113 augment "/nd:networks/nd:network/nd:node/tet:te/" 1114 + "tet:te-node-attributes/tet:connectivity-matrices" { 1115 description 1116 "Parameters for PSC TE topology."; 1117 uses te-types:performance-metric-container { 1118 if-feature te-performance-metric; 1119 } 1120 } 1122 augment "/nd:networks/nd:network/nd:node/tet:te/" 1123 + "tet:te-node-attributes/tet:connectivity-matrices/" 1124 + "tet:connectivity-matrix" { 1125 description 1126 "Parameters for PSC TE topology."; 1127 uses te-types:performance-metric-container { 1128 if-feature te-performance-metric; 1129 } 1130 } 1132 augment "/nd:networks/nd:network/nd:node/tet:te/" 1133 + "tet:information-source-entry/tet:connectivity-matrices" { 1134 description 1135 "Parameters for PSC TE topology."; 1136 uses te-types:performance-metric-container { 1137 if-feature te-performance-metric; 1138 } 1139 } 1141 augment "/nd:networks/nd:network/nd:node/tet:te/" 1142 + "tet:information-source-entry/tet:connectivity-matrices/" 1143 + "tet:connectivity-matrix" { 1145 description 1146 "Parameters for PSC TE topology."; 1147 uses te-types:performance-metric-container { 1148 if-feature te-performance-metric; 1149 } 1150 } 1152 /* Augmentations to tunnel-termination-point */ 1153 augment "/nd:networks/nd:network/nd:node/tet:te/" 1154 + "tet:tunnel-termination-point/" 1155 + "tet:local-link-connectivities" { 1156 description 1157 "Parameters for PSC TE topology."; 1158 uses te-types:performance-metric-container { 1159 if-feature te-performance-metric; 1160 } 1161 } 1163 augment "/nd:networks/nd:network/nd:node/tet:te/" 1164 + "tet:tunnel-termination-point/" 1165 + "tet:local-link-connectivities/" 1166 + "tet:local-link-connectivity" { 1167 description 1168 "Parameters for PSC TE topology."; 1169 uses te-types:performance-metric-container { 1170 if-feature te-performance-metric; 1171 } 1172 } 1174 /* Augmentations to te-link-attributes */ 1175 augment "/nd:networks/tet:te/tet:templates/" 1176 + "tet:link-template/tet:te-link-attributes" { 1177 when "tet:interface-switching-capability " 1178 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1179 description "Valid only for PSC"; 1180 } 1181 description 1182 "Parameters for PSC TE topology."; 1183 uses te-types:performance-metric-container { 1184 if-feature te-performance-metric; 1185 } 1186 } 1188 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1189 + "tet:te-link-attributes" { 1190 when "tet:interface-switching-capability " 1191 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1192 description "Valid only for PSC"; 1194 } 1195 description 1196 "Parameters for PSC TE topology."; 1197 uses te-types:performance-metric-container { 1198 if-feature te-performance-metric; 1199 } 1200 } 1202 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1203 + "tet:information-source-entry" { 1204 when "tet:interface-switching-capability " 1205 + "[tet:switching-capability = 'te-types:switching-psc1']" { 1206 description "Valid only for PSC"; 1207 } 1208 description 1209 "Parameters for PSC TE topology."; 1210 uses te-types:performance-metric-container { 1211 if-feature te-performance-metric; 1212 } 1213 } 1215 /* Augmentations to interface-switching-capability */ 1216 augment "/nd:networks/tet:te/tet:templates/" 1217 + "tet:link-template/tet:te-link-attributes/" 1218 + "tet:interface-switching-capability" { 1219 when "tet:switching-capability = 'te-types:switching-psc1' " { 1220 description "Valid only for PSC"; 1221 } 1222 description 1223 "Parameters for PSC TE topology."; 1224 uses packet-switch-capable-container; 1225 } 1227 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1228 + "tet:te-link-attributes/" 1229 + "tet:interface-switching-capability" { 1230 when "tet:switching-capability = 'te-types:switching-psc1' " { 1231 description "Valid only for PSC"; 1232 } 1233 description 1234 "Parameters for PSC TE topology."; 1235 uses packet-switch-capable-container; 1236 } 1238 augment "/nd:networks/nd:network/lnk:link/tet:te/" 1239 + "tet:information-source-entry/" 1240 + "tet:interface-switching-capability" { 1241 when "tet:switching-capability = 'te-types:switching-psc1' " { 1242 description "Valid only for PSC"; 1243 } 1244 description 1245 "Parameters for PSC TE topology."; 1246 uses packet-switch-capable-container; 1247 } 1248 } 1249 1251 5. IANA Considerations 1253 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 1254 actual RFC number (and remove this note). 1256 This document registers the following namespace URIs in the IETF XML 1257 registry [RFC3688]: 1259 -------------------------------------------------------------------- 1260 URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1261 Registrant Contact: The IESG. 1262 XML: N/A, the requested URI is an XML namespace. 1263 -------------------------------------------------------------------- 1265 -------------------------------------------------------------------- 1266 URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state 1267 Registrant Contact: The IESG. 1268 XML: N/A, the requested URI is an XML namespace. 1269 -------------------------------------------------------------------- 1271 -------------------------------------------------------------------- 1272 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1273 Registrant Contact: The IESG. 1274 XML: N/A, the requested URI is an XML namespace. 1275 -------------------------------------------------------------------- 1277 -------------------------------------------------------------------- 1278 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state 1279 Registrant Contact: The IESG. 1280 XML: N/A, the requested URI is an XML namespace. 1281 -------------------------------------------------------------------- 1283 This document registers the following YANG modules in the YANG Module 1284 Names registry [RFC6020]: 1286 -------------------------------------------------------------------- 1287 name: ietf-l3-te-topology 1288 namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1289 prefix: l3te 1290 reference: RFC XXXX 1291 -------------------------------------------------------------------- 1293 -------------------------------------------------------------------- 1294 name: ietf-l3-te-topology-state 1295 namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state 1296 prefix: l3te-s 1297 reference: RFC XXXX 1298 -------------------------------------------------------------------- 1300 -------------------------------------------------------------------- 1301 name: ietf-te-topology-packet 1302 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1303 prefix: tet-pkt 1304 reference: RFC XXXX 1305 -------------------------------------------------------------------- 1307 -------------------------------------------------------------------- 1308 name: ietf-te-topology-packet-state 1309 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state 1310 prefix: tet-pkt-s 1311 reference: RFC XXXX 1312 -------------------------------------------------------------------- 1314 6. Security Considerations 1316 The configuration, state, action and notification data defined in 1317 this document are designed to be accessed via the NETCONF protocol 1318 [RFC6241]. The data-model by itself does not create any security 1319 implications. The security considerations for the NETCONF protocol 1320 are applicable. The NETCONF protocol used for sending the data 1321 supports authentication and encryption. 1323 7. References 1325 7.1. Normative References 1327 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1328 Requirement Levels", BCP 14, RFC 2119, 1329 DOI 10.17487/RFC2119, March 1997, . 1332 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1333 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1334 . 1336 [I-D.ietf-netmod-revised-datastores] 1337 Bjorklund, M., Schoenwaelder, J., Shafer, P., Watsen, K., 1338 and R. Wilton, "Network Management Datastore 1339 Architecture", draft-ietf-netmod-revised-datastores-05 1340 (work in progress), October 2017. 1342 7.2. Informative References 1344 [I-D.ietf-i2rs-yang-l3-topology] 1345 Clemm, A., Medved, J., Varga, R., Liu, X., 1346 Ananthakrishnan, H., and N. Bahadur, "A YANG Data Model 1347 for Layer 3 Topologies", draft-ietf-i2rs-yang- 1348 l3-topology-12 (work in progress), October 2017. 1350 [I-D.ietf-teas-yang-te-topo] 1351 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 1352 O. Dios, "YANG Data Model for TE Topologies", draft-ietf- 1353 teas-yang-te-topo-12 (work in progress), July 2017. 1355 Appendix A. Companion YANG Model for Non-NMDA Compliant Implementations 1357 The YANG modules ietf-l3-te-topology and ietf-te-topology-packet 1358 defined in this document are designed to be used in conjunction with 1359 implementations that support the Network Management Datastore 1360 Architecture (NMDA) defined in [I-D.ietf-netmod-revised-datastores]. 1361 In order to allow implementations to use the model even in cases when 1362 NMDA is not supported, the following companion modules, ietf-l3-te- 1363 topology-state and ietf-te-topology-packet-state, are defined as 1364 state models, which mirror the modules ietf-l3-te-topology and ietf- 1365 te-topology-packet defined earlier in this document. However, all 1366 data nodes in the companion module are non-configurable, to represent 1367 the applied configuration or the derived operational states. 1369 The companion modules, ietf-l3-te-topology-state and ietf-te- 1370 topology-packet-state, are redundant and SHOULD NOT be supported by 1371 implementations that support NMDA. 1373 As the structure of the companion modules mirrors that of the 1374 coorespinding NMDA models, the YANG trees of the companion modules 1375 are not depicted separately. 1377 A.1. Layer 3 TE Topology State Module 1379 file "ietf-l3-te-topology-state@2017-07-03.yang" 1380 module ietf-l3-te-topology-state { 1381 yang-version 1.1; 1382 namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology-state"; 1383 prefix "l3tet-s"; 1385 import ietf-l3-te-topology { 1386 prefix "l3tet"; 1387 } 1388 import ietf-network-state { 1389 prefix "nd-s"; 1390 } 1391 import ietf-network-topology-state { 1392 prefix "lnk-s"; 1393 } 1394 import ietf-l3-unicast-topology-state { 1395 prefix "l3t-s"; 1396 } 1398 organization "TBD"; 1399 contact "TBD"; 1400 description "L3 TE Topology model"; 1401 revision 2017-07-03 { 1403 description "Initial revision"; 1404 reference "TBD"; 1405 } 1407 augment "/nd-s:networks/nd-s:network/nd-s:network-types/" 1408 + "l3t-s:l3-unicast-topology" { 1409 description 1410 "Defines the L3 TE topology type."; 1411 uses l3tet:l3-te-topology-type; 1412 } 1414 augment "/nd-s:networks/nd-s:network/" 1415 + "l3t-s:l3-topology-attributes" { 1416 when "../nd-s:network-types/l3t-s:l3-unicast-topology/l3-te" { 1417 description "Augment only for L3 TE topology"; 1418 } 1419 description "Augment topology configuration"; 1420 uses l3tet:l3-te-topology-attributes; 1421 } 1423 augment "/nd-s:networks/nd-s:network/nd-s:node/" 1424 + "l3t-s:l3-node-attributes" { 1425 when "../../nd-s:network-types/l3t-s:l3-unicast-topology/l3-te" { 1426 description "Augment only for L3 TE topology"; 1427 } 1428 description "Augment node configuration"; 1429 uses l3tet:l3-te-node-attributes; 1430 } 1432 augment "/nd-s:networks/nd-s:network/nd-s:node/" 1433 + "lnk-s:termination-point/" 1434 + "l3t-s:l3-termination-point-attributes" { 1435 when "../../../nd-s:network-types/l3t-s:l3-unicast-topology/" 1436 + "l3-te" { 1437 description "Augment only for L3 TE topology"; 1438 } 1439 description "Augment termination point configuration"; 1440 uses l3tet:l3-te-tp-attributes; 1441 } 1443 augment "/nd-s:networks/nd-s:network/lnk-s:link/" 1444 + "l3t-s:l3-link-attributes" { 1445 when "../../nd-s:network-types/l3t-s:l3-unicast-topology/l3-te" { 1446 description "Augment only for L3 TE topology"; 1447 } 1448 description "Augment link configuration"; 1449 uses l3tet:l3-te-link-attributes; 1450 } 1451 } 1452 1454 A.2. Packet Switching TE Topology State Module 1456 file "ietf-te-topology-packet-state@2017-10-29.yang" 1457 module ietf-te-topology-packet-state { 1458 yang-version 1; 1459 namespace 1460 "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet-state"; 1462 prefix "tet-pkt-s"; 1464 import ietf-te-topology-packet { 1465 prefix "tet-pkt"; 1466 } 1468 import ietf-network-state { 1469 prefix "nd-s"; 1470 } 1472 import ietf-network-topology-state { 1473 prefix "lnk-s"; 1474 } 1476 import ietf-te-topology-state { 1477 prefix "tet-s"; 1478 } 1480 import ietf-te-types { 1481 prefix "te-types"; 1482 } 1484 organization 1485 "Traffic Engineering Architecture and Signaling (TEAS) 1486 Working Group"; 1488 contact 1489 "WG Web: 1490 WG List: 1492 WG Chair: Lou Berger 1493 1495 WG Chair: Vishnu Pavan Beeram 1496 1498 Editors: Xufeng Liu 1499 1501 Igor Bryskin 1502 1504 Vishnu Pavan Beeram 1505 1507 Tarek Saad 1508 1510 Himanshu Shah 1511 1513 Oscar Gonzalez De Dios 1514 "; 1516 description "TE topology model"; 1518 revision 2017-10-29 { 1519 description "Initial revision"; 1520 reference "TBD"; 1521 } 1523 /* 1524 * Augmentations 1525 */ 1526 /* Augmentations to connectivity-matrix */ 1527 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1528 + "tet-s:te-node-attributes/tet-s:connectivity-matrices" { 1529 description 1530 "Parameters for PSC TE topology."; 1531 uses te-types:performance-metric-container { 1532 if-feature tet-pkt:te-performance-metric; 1533 } 1534 } 1536 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1537 + "tet-s:te-node-attributes/tet-s:connectivity-matrices/" 1538 + "tet-s:connectivity-matrix" { 1539 description 1540 "Parameters for PSC TE topology."; 1541 uses te-types:performance-metric-container { 1542 if-feature tet-pkt:te-performance-metric; 1544 } 1545 } 1547 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1548 + "tet-s:information-source-entry/" 1549 + "tet-s:connectivity-matrices" { 1550 description 1551 "Parameters for PSC TE topology."; 1552 uses te-types:performance-metric-container { 1553 if-feature tet-pkt:te-performance-metric; 1554 } 1555 } 1557 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1558 + "tet-s:information-source-entry/" 1559 + "tet-s:connectivity-matrices/" 1560 + "tet-s:connectivity-matrix" { 1561 description 1562 "Parameters for PSC TE topology."; 1563 uses te-types:performance-metric-container { 1564 if-feature tet-pkt:te-performance-metric; 1565 } 1566 } 1568 /* Augmentations to tunnel-termination-point */ 1569 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1570 + "tet-s:tunnel-termination-point/" 1571 + "tet-s:local-link-connectivities" { 1572 description 1573 "Parameters for PSC TE topology."; 1574 uses te-types:performance-metric-container { 1575 if-feature tet-pkt:te-performance-metric; 1576 } 1577 } 1579 augment "/nd-s:networks/nd-s:network/nd-s:node/tet-s:te/" 1580 + "tet-s:tunnel-termination-point/" 1581 + "tet-s:local-link-connectivities/" 1582 + "tet-s:local-link-connectivity" { 1583 description 1584 "Parameters for PSC TE topology."; 1585 uses te-types:performance-metric-container { 1586 if-feature tet-pkt:te-performance-metric; 1587 } 1588 } 1590 /* Augmentations to te-link-attributes */ 1591 augment "/nd-s:networks/tet-s:te/tet-s:templates/" 1592 + "tet-s:link-template/tet-s:te-link-attributes" { 1593 when "tet-s:interface-switching-capability " 1594 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 1595 description "Valid only for PSC"; 1596 } 1597 description 1598 "Parameters for PSC TE topology."; 1599 uses te-types:performance-metric-container { 1600 if-feature tet-pkt:te-performance-metric; 1601 } 1602 } 1604 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1605 + "tet-s:te-link-attributes" { 1606 when "tet-s:interface-switching-capability " 1607 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 1608 description "Valid only for PSC"; 1609 } 1610 description 1611 "Parameters for PSC TE topology."; 1612 uses te-types:performance-metric-container { 1613 if-feature tet-pkt:te-performance-metric; 1614 } 1615 } 1617 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1618 + "tet-s:information-source-entry" { 1619 when "tet-s:interface-switching-capability " 1620 + "[tet-s:switching-capability = 'te-types:switching-psc1']" { 1621 description "Valid only for PSC"; 1622 } 1623 description 1624 "Parameters for PSC TE topology."; 1625 uses te-types:performance-metric-container { 1626 if-feature tet-pkt:te-performance-metric; 1627 } 1628 } 1630 /* Augmentations to interface-switching-capability */ 1631 augment "/nd-s:networks/tet-s:te/tet-s:templates/" 1632 + "tet-s:link-template/tet-s:te-link-attributes/" 1633 + "tet-s:interface-switching-capability" { 1634 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 1635 description "Valid only for PSC"; 1636 } 1637 description 1638 "Parameters for PSC TE topology."; 1639 uses tet-pkt:packet-switch-capable-container; 1641 } 1643 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1644 + "tet-s:te-link-attributes/" 1645 + "tet-s:interface-switching-capability" { 1646 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 1647 description "Valid only for PSC"; 1648 } 1649 description 1650 "Parameters for PSC TE topology."; 1651 uses tet-pkt:packet-switch-capable-container; 1652 } 1654 augment "/nd-s:networks/nd-s:network/lnk-s:link/tet-s:te/" 1655 + "tet-s:information-source-entry/" 1656 + "tet-s:interface-switching-capability" { 1657 when "tet-s:switching-capability = 'te-types:switching-psc1' " { 1658 description "Valid only for PSC"; 1659 } 1660 description 1661 "Parameters for PSC TE topology."; 1662 uses tet-pkt:packet-switch-capable-container; 1663 } 1664 } 1665 1667 Authors' Addresses 1669 Xufeng Liu 1670 Jabil 1671 8281 Greensboro Drive, Suite 200 1672 McLean VA 22102 1673 USA 1675 EMail: Xufeng_Liu@jabil.com 1677 Igor Bryskin 1678 Huawei Technologies 1680 EMail: Igor.Bryskin@huawei.com 1681 Vishnu Pavan Beeram 1682 Juniper Networks 1684 EMail: vbeeram@juniper.net 1686 Tarek Saad 1687 Cisco Systems Inc 1689 EMail: tsaad@cisco.com 1691 Himanshu Shah 1692 Ciena 1694 EMail: hshah@ciena.com 1696 Oscar Gonzalez de Dios 1697 Telefonica 1699 EMail: oscar.gonzalezdedios@telefonica.com