idnits 2.17.1 draft-liu-teas-yang-l3-te-topo-02.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 date (October 29, 2016) is 2737 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 1370, but not defined == Missing Reference: 'RFC6020' is mentioned on line 1384, but not defined == Missing Reference: 'RFC6241' is mentioned on line 1404, but not defined == Unused Reference: 'RFC6021' is defined on line 1418, but no explicit reference was found in the text ** Obsolete normative reference: RFC 6021 (Obsoleted by RFC 6991) == Outdated reference: A later version (-16) exists of draft-ietf-i2rs-yang-l3-topology-04 == Outdated reference: A later version (-22) exists of draft-ietf-teas-yang-te-topo-06 Summary: 1 error (**), 0 flaws (~~), 7 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 Kuatro Technologies 4 Intended status: Standards Track I. Bryskin 5 Expires: May 2, 2017 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 29, 2016 16 YANG Data Model for Layer 3 TE Topologies 17 draft-liu-teas-yang-l3-te-topo-02 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 2, 2017. 41 Copyright Notice 43 Copyright (c) 2016 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 . . . . . . . . . . . . . . . . . . . . . . . 2 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 . . . . . . . . . . . . . . . . . . . . . . . . 16 67 4.1. Layer 3 TE Topology Module . . . . . . . . . . . . . . . 16 68 4.2. Packet Switching TE Topology Module . . . . . . . . . . . 19 69 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 29 70 6. Security Considerations . . . . . . . . . . . . . . . . . . . 30 71 7. References . . . . . . . . . . . . . . . . . . . . . . . . . 30 72 7.1. Normative References . . . . . . . . . . . . . . . . . . 30 73 7.2. Informative References . . . . . . . . . . . . . . . . . 31 74 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 31 76 1. Introduction 78 This document defines a YANG [RFC7950] data model for describing the 79 relationship between a layer 3 network topology 80 [I-D.ietf-i2rs-yang-l3-topology] and a TE topology 81 [I-D.ietf-teas-yang-te-topo]. 83 When traffic engineering is enabled on a layer 3 network topology, 84 there will be a corresponding TE topology. The TE topology may or 85 may not be congruent to the layer 3 network topology. When such a 86 congruent TE topology exists, there will be a one-to-one association 87 between the one modeling element in the layer 3 topology to another 88 element in the TE topology. When such a congruent TE topology does 89 not exist, the association will not be one-to-one. This YANG data 90 model allows both cases. 92 1.1. Terminology 94 The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 95 "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and 96 "OPTIONAL" in this document are to be interpreted as described in BCP 97 14, [RFC2119]. 99 The following terms are defined in [RFC7950] and are not redefined 100 here: 102 o augment 104 o data model 106 o data node 108 2. Modeling Considerations 110 2.1. Relationship Between Layer 3 Topology and TE topology 112 In general, layer 3 network topology model and TE topology model can 113 be used independently. When traffic engineering is enabled on a 114 layer 3 network topology, there will be associations between objects 115 in layer 3 network topologies and objects in TE topologies. The 116 properties of these relations are: 118 o The associations are between objects of the same class, i.e. node 119 to node or link to link. 121 o The multiplicity of such an association is: 0..1 to 0..1. An 122 object in a layer 3 network may have zero or one associated object 123 in the corresponding TE network. 125 2.2. Relationship Modeling 127 YANG data type leafref is used to model the association relationship 128 between a layer 3 network topology and a TE topology. YANG must 129 statements are used to enforce the referenced objects are in the 130 topologies of proper type. 132 3. Model Structure 134 3.1. Layer 3 TE Topology Module 136 The model tree structure of the layer 3 TE topology module is as 137 shown below: 139 module: ietf-l3-te-topology 140 augment /nw:networks/nw:network/nw:network-types/ 141 l3t:l3-unicast-topology: 142 +--rw l3-te! 143 augment /nw:networks/nw:network/l3t:l3-topology-attributes: 144 +--rw l3-te-topology-attributes 145 +--rw network-ref? leafref 146 augment /nw:networks/nw:network/nw:node/l3t:l3-node-attributes: 147 +--rw l3-te-node-attributes 148 +--rw node-ref? leafref 149 +--rw network-ref? leafref 150 augment /nw:networks/nw:network/nw:node/nt:termination-point/ 151 l3t:l3-termination-point-attributes: 152 +--rw l3-te-tp-attributes 153 +--rw tp-ref? leafref 154 +--rw node-ref? leafref 155 +--rw network-ref? leafref 156 augment /nw:networks/nw:network/nt:link/l3t:l3-link-attributes: 157 +--rw l3-te-link-attributes 158 +--rw link-ref? leafref 159 +--rw network-ref? leafref 161 3.2. Packet Switching TE Topology Module 163 This is an augmentation to base TE topology model. 165 module: ietf-te-topology-packet 166 augment /nw:networks/nw:network/nw:node/tet:te/tet:config/ 167 tet:te-node-attributes/tet:connectivity-matrix: 168 +--rw performance-metric {te-performance-metric}? 169 | +--rw measurement 170 | | +--rw unidirectional-delay? uint32 171 | | +--rw unidirectional-min-delay? uint32 172 | | +--rw unidirectional-max-delay? uint32 173 | | +--rw unidirectional-delay-variation? uint32 174 | | +--rw unidirectional-packet-loss? decimal64 175 | | +--rw unidirectional-residual-bandwidth? decimal64 176 | | +--rw unidirectional-available-bandwidth? decimal64 177 | | +--rw unidirectional-utilized-bandwidth? decimal64 178 | +--rw normality 179 | +--rw unidirectional-delay? 180 te-types:performance-metric-normality 181 | +--rw unidirectional-min-delay? 182 te-types:performance-metric-normality 183 | +--rw unidirectional-max-delay? 185 te-types:performance-metric-normality 186 | +--rw unidirectional-delay-variation? 187 te-types:performance-metric-normality 188 | +--rw unidirectional-packet-loss? 189 te-types:performance-metric-normality 190 | +--rw unidirectional-residual-bandwidth? 191 te-types:performance-metric-normality 192 | +--rw unidirectional-available-bandwidth? 193 te-types:performance-metric-normality 194 | +--rw unidirectional-utilized-bandwidth? 195 te-types:performance-metric-normality 196 +--rw performance-metric-throttle {te-performance-metric}? 197 +--rw unidirectional-delay-offset? uint32 198 +--rw measure-interval? uint32 199 +--rw advertisement-interval? uint32 200 +--rw suppression-interval? uint32 201 +--rw threshold-out 202 | +--rw unidirectional-delay? uint32 203 | +--rw unidirectional-min-delay? uint32 204 | +--rw unidirectional-max-delay? uint32 205 | +--rw unidirectional-delay-variation? uint32 206 | +--rw unidirectional-packet-loss? decimal64 207 | +--rw unidirectional-residual-bandwidth? decimal64 208 | +--rw unidirectional-available-bandwidth? decimal64 209 | +--rw unidirectional-utilized-bandwidth? decimal64 210 +--rw threshold-in 211 | +--rw unidirectional-delay? uint32 212 | +--rw unidirectional-min-delay? uint32 213 | +--rw unidirectional-max-delay? uint32 214 | +--rw unidirectional-delay-variation? uint32 215 | +--rw unidirectional-packet-loss? decimal64 216 | +--rw unidirectional-residual-bandwidth? decimal64 217 | +--rw unidirectional-available-bandwidth? decimal64 218 | +--rw unidirectional-utilized-bandwidth? decimal64 219 +--rw threshold-accelerated-advertisement 220 +--rw unidirectional-delay? uint32 221 +--rw unidirectional-min-delay? uint32 222 +--rw unidirectional-max-delay? uint32 223 +--rw unidirectional-delay-variation? uint32 224 +--rw unidirectional-packet-loss? decimal64 225 +--rw unidirectional-residual-bandwidth? decimal64 226 +--rw unidirectional-available-bandwidth? decimal64 227 +--rw unidirectional-utilized-bandwidth? decimal64 228 augment /nw:networks/nw:network/nw:node/tet:te/tet:state/ 229 tet:te-node-attributes/tet:connectivity-matrix: 230 +--ro performance-metric {te-performance-metric}? 231 | +--ro measurement 232 | | +--ro unidirectional-delay? uint32 233 | | +--ro unidirectional-min-delay? uint32 234 | | +--ro unidirectional-max-delay? uint32 235 | | +--ro unidirectional-delay-variation? uint32 236 | | +--ro unidirectional-packet-loss? decimal64 237 | | +--ro unidirectional-residual-bandwidth? decimal64 238 | | +--ro unidirectional-available-bandwidth? decimal64 239 | | +--ro unidirectional-utilized-bandwidth? decimal64 240 | +--ro normality 241 | +--ro unidirectional-delay? 242 te-types:performance-metric-normality 243 | +--ro unidirectional-min-delay? 244 te-types:performance-metric-normality 245 | +--ro unidirectional-max-delay? 246 te-types:performance-metric-normality 247 | +--ro unidirectional-delay-variation? 248 te-types:performance-metric-normality 249 | +--ro unidirectional-packet-loss? 250 te-types:performance-metric-normality 251 | +--ro unidirectional-residual-bandwidth? 252 te-types:performance-metric-normality 253 | +--ro unidirectional-available-bandwidth? 254 te-types:performance-metric-normality 255 | +--ro unidirectional-utilized-bandwidth? 256 te-types:performance-metric-normality 257 +--ro performance-metric-throttle {te-performance-metric}? 258 +--ro unidirectional-delay-offset? uint32 259 +--ro measure-interval? uint32 260 +--ro advertisement-interval? uint32 261 +--ro suppression-interval? uint32 262 +--ro threshold-out 263 | +--ro unidirectional-delay? uint32 264 | +--ro unidirectional-min-delay? uint32 265 | +--ro unidirectional-max-delay? uint32 266 | +--ro unidirectional-delay-variation? uint32 267 | +--ro unidirectional-packet-loss? decimal64 268 | +--ro unidirectional-residual-bandwidth? decimal64 269 | +--ro unidirectional-available-bandwidth? decimal64 270 | +--ro unidirectional-utilized-bandwidth? decimal64 271 +--ro threshold-in 272 | +--ro unidirectional-delay? uint32 273 | +--ro unidirectional-min-delay? uint32 274 | +--ro unidirectional-max-delay? uint32 275 | +--ro unidirectional-delay-variation? uint32 276 | +--ro unidirectional-packet-loss? decimal64 277 | +--ro unidirectional-residual-bandwidth? decimal64 278 | +--ro unidirectional-available-bandwidth? decimal64 279 | +--ro unidirectional-utilized-bandwidth? decimal64 280 +--ro threshold-accelerated-advertisement 281 +--ro unidirectional-delay? uint32 282 +--ro unidirectional-min-delay? uint32 283 +--ro unidirectional-max-delay? uint32 284 +--ro unidirectional-delay-variation? uint32 285 +--ro unidirectional-packet-loss? decimal64 286 +--ro unidirectional-residual-bandwidth? decimal64 287 +--ro unidirectional-available-bandwidth? decimal64 288 +--ro unidirectional-utilized-bandwidth? decimal64 289 augment /nw:networks/nw:network/nw:node/tet:te/tet:state/ 290 tet:information-source-entry/tet:connectivity-matrix: 291 +--ro performance-metric {te-performance-metric}? 292 | +--ro measurement 293 | | +--ro unidirectional-delay? uint32 294 | | +--ro unidirectional-min-delay? uint32 295 | | +--ro unidirectional-max-delay? uint32 296 | | +--ro unidirectional-delay-variation? uint32 297 | | +--ro unidirectional-packet-loss? decimal64 298 | | +--ro unidirectional-residual-bandwidth? decimal64 299 | | +--ro unidirectional-available-bandwidth? decimal64 300 | | +--ro unidirectional-utilized-bandwidth? decimal64 301 | +--ro normality 302 | +--ro unidirectional-delay? 303 te-types:performance-metric-normality 304 | +--ro unidirectional-min-delay? 305 te-types:performance-metric-normality 306 | +--ro unidirectional-max-delay? 307 te-types:performance-metric-normality 308 | +--ro unidirectional-delay-variation? 309 te-types:performance-metric-normality 310 | +--ro unidirectional-packet-loss? 311 te-types:performance-metric-normality 312 | +--ro unidirectional-residual-bandwidth? 313 te-types:performance-metric-normality 314 | +--ro unidirectional-available-bandwidth? 315 te-types:performance-metric-normality 316 | +--ro unidirectional-utilized-bandwidth? 317 te-types:performance-metric-normality 318 +--ro performance-metric-throttle {te-performance-metric}? 319 +--ro unidirectional-delay-offset? uint32 320 +--ro measure-interval? uint32 321 +--ro advertisement-interval? uint32 322 +--ro suppression-interval? uint32 323 +--ro threshold-out 324 | +--ro unidirectional-delay? uint32 325 | +--ro unidirectional-min-delay? uint32 326 | +--ro unidirectional-max-delay? uint32 327 | +--ro unidirectional-delay-variation? uint32 328 | +--ro unidirectional-packet-loss? decimal64 329 | +--ro unidirectional-residual-bandwidth? decimal64 330 | +--ro unidirectional-available-bandwidth? decimal64 331 | +--ro unidirectional-utilized-bandwidth? decimal64 332 +--ro threshold-in 333 | +--ro unidirectional-delay? uint32 334 | +--ro unidirectional-min-delay? uint32 335 | +--ro unidirectional-max-delay? uint32 336 | +--ro unidirectional-delay-variation? uint32 337 | +--ro unidirectional-packet-loss? decimal64 338 | +--ro unidirectional-residual-bandwidth? decimal64 339 | +--ro unidirectional-available-bandwidth? decimal64 340 | +--ro unidirectional-utilized-bandwidth? decimal64 341 +--ro threshold-accelerated-advertisement 342 +--ro unidirectional-delay? uint32 343 +--ro unidirectional-min-delay? uint32 344 +--ro unidirectional-max-delay? uint32 345 +--ro unidirectional-delay-variation? uint32 346 +--ro unidirectional-packet-loss? decimal64 347 +--ro unidirectional-residual-bandwidth? decimal64 348 +--ro unidirectional-available-bandwidth? decimal64 349 +--ro unidirectional-utilized-bandwidth? decimal64 350 augment /nw:networks/nw:network/nw:node/tet:te/ 351 tet:tunnel-termination-point/tet:config/tet:local-link-connectivity: 352 +--rw performance-metric {te-performance-metric}? 353 | +--rw measurement 354 | | +--rw unidirectional-delay? uint32 355 | | +--rw unidirectional-min-delay? uint32 356 | | +--rw unidirectional-max-delay? uint32 357 | | +--rw unidirectional-delay-variation? uint32 358 | | +--rw unidirectional-packet-loss? decimal64 359 | | +--rw unidirectional-residual-bandwidth? decimal64 360 | | +--rw unidirectional-available-bandwidth? decimal64 361 | | +--rw unidirectional-utilized-bandwidth? decimal64 362 | +--rw normality 363 | +--rw unidirectional-delay? 364 te-types:performance-metric-normality 365 | +--rw unidirectional-min-delay? 366 te-types:performance-metric-normality 367 | +--rw unidirectional-max-delay? 368 te-types:performance-metric-normality 369 | +--rw unidirectional-delay-variation? 370 te-types:performance-metric-normality 371 | +--rw unidirectional-packet-loss? 372 te-types:performance-metric-normality 373 | +--rw unidirectional-residual-bandwidth? 374 te-types:performance-metric-normality 375 | +--rw unidirectional-available-bandwidth? 376 te-types:performance-metric-normality 377 | +--rw unidirectional-utilized-bandwidth? 378 te-types:performance-metric-normality 379 +--rw performance-metric-throttle {te-performance-metric}? 380 +--rw unidirectional-delay-offset? uint32 381 +--rw measure-interval? uint32 382 +--rw advertisement-interval? uint32 383 +--rw suppression-interval? uint32 384 +--rw threshold-out 385 | +--rw unidirectional-delay? uint32 386 | +--rw unidirectional-min-delay? uint32 387 | +--rw unidirectional-max-delay? uint32 388 | +--rw unidirectional-delay-variation? uint32 389 | +--rw unidirectional-packet-loss? decimal64 390 | +--rw unidirectional-residual-bandwidth? decimal64 391 | +--rw unidirectional-available-bandwidth? decimal64 392 | +--rw unidirectional-utilized-bandwidth? decimal64 393 +--rw threshold-in 394 | +--rw unidirectional-delay? uint32 395 | +--rw unidirectional-min-delay? uint32 396 | +--rw unidirectional-max-delay? uint32 397 | +--rw unidirectional-delay-variation? uint32 398 | +--rw unidirectional-packet-loss? decimal64 399 | +--rw unidirectional-residual-bandwidth? decimal64 400 | +--rw unidirectional-available-bandwidth? decimal64 401 | +--rw unidirectional-utilized-bandwidth? decimal64 402 +--rw threshold-accelerated-advertisement 403 +--rw unidirectional-delay? uint32 404 +--rw unidirectional-min-delay? uint32 405 +--rw unidirectional-max-delay? uint32 406 +--rw unidirectional-delay-variation? uint32 407 +--rw unidirectional-packet-loss? decimal64 408 +--rw unidirectional-residual-bandwidth? decimal64 409 +--rw unidirectional-available-bandwidth? decimal64 410 +--rw unidirectional-utilized-bandwidth? decimal64 411 augment /nw:networks/nw:network/nw:node/tet:te/ 412 tet:tunnel-termination-point/tet:state/tet:local-link-connectivity: 413 +--ro performance-metric {te-performance-metric}? 414 | +--ro measurement 415 | | +--ro unidirectional-delay? uint32 416 | | +--ro unidirectional-min-delay? uint32 417 | | +--ro unidirectional-max-delay? uint32 418 | | +--ro unidirectional-delay-variation? uint32 419 | | +--ro unidirectional-packet-loss? decimal64 420 | | +--ro unidirectional-residual-bandwidth? decimal64 421 | | +--ro unidirectional-available-bandwidth? decimal64 422 | | +--ro unidirectional-utilized-bandwidth? decimal64 423 | +--ro normality 424 | +--ro unidirectional-delay? 426 te-types:performance-metric-normality 427 | +--ro unidirectional-min-delay? 428 te-types:performance-metric-normality 429 | +--ro unidirectional-max-delay? 430 te-types:performance-metric-normality 431 | +--ro unidirectional-delay-variation? 432 te-types:performance-metric-normality 433 | +--ro unidirectional-packet-loss? 434 te-types:performance-metric-normality 435 | +--ro unidirectional-residual-bandwidth? 436 te-types:performance-metric-normality 437 | +--ro unidirectional-available-bandwidth? 438 te-types:performance-metric-normality 439 | +--ro unidirectional-utilized-bandwidth? 440 te-types:performance-metric-normality 441 +--ro performance-metric-throttle {te-performance-metric}? 442 +--ro unidirectional-delay-offset? uint32 443 +--ro measure-interval? uint32 444 +--ro advertisement-interval? uint32 445 +--ro suppression-interval? uint32 446 +--ro threshold-out 447 | +--ro unidirectional-delay? uint32 448 | +--ro unidirectional-min-delay? uint32 449 | +--ro unidirectional-max-delay? uint32 450 | +--ro unidirectional-delay-variation? uint32 451 | +--ro unidirectional-packet-loss? decimal64 452 | +--ro unidirectional-residual-bandwidth? decimal64 453 | +--ro unidirectional-available-bandwidth? decimal64 454 | +--ro unidirectional-utilized-bandwidth? decimal64 455 +--ro threshold-in 456 | +--ro unidirectional-delay? uint32 457 | +--ro unidirectional-min-delay? uint32 458 | +--ro unidirectional-max-delay? uint32 459 | +--ro unidirectional-delay-variation? uint32 460 | +--ro unidirectional-packet-loss? decimal64 461 | +--ro unidirectional-residual-bandwidth? decimal64 462 | +--ro unidirectional-available-bandwidth? decimal64 463 | +--ro unidirectional-utilized-bandwidth? decimal64 464 +--ro threshold-accelerated-advertisement 465 +--ro unidirectional-delay? uint32 466 +--ro unidirectional-min-delay? uint32 467 +--ro unidirectional-max-delay? uint32 468 +--ro unidirectional-delay-variation? uint32 469 +--ro unidirectional-packet-loss? decimal64 470 +--ro unidirectional-residual-bandwidth? decimal64 471 +--ro unidirectional-available-bandwidth? decimal64 472 +--ro unidirectional-utilized-bandwidth? decimal64 473 augment /nw:networks/tet:te/tet:templates/tet:link-template/ 474 tet:te-link-attributes: 475 +--rw performance-metric {te-performance-metric}? 476 | +--rw measurement 477 | | +--rw unidirectional-delay? uint32 478 | | +--rw unidirectional-min-delay? uint32 479 | | +--rw unidirectional-max-delay? uint32 480 | | +--rw unidirectional-delay-variation? uint32 481 | | +--rw unidirectional-packet-loss? decimal64 482 | | +--rw unidirectional-residual-bandwidth? decimal64 483 | | +--rw unidirectional-available-bandwidth? decimal64 484 | | +--rw unidirectional-utilized-bandwidth? decimal64 485 | +--rw normality 486 | +--rw unidirectional-delay? 487 te-types:performance-metric-normality 488 | +--rw unidirectional-min-delay? 489 te-types:performance-metric-normality 490 | +--rw unidirectional-max-delay? 491 te-types:performance-metric-normality 492 | +--rw unidirectional-delay-variation? 493 te-types:performance-metric-normality 494 | +--rw unidirectional-packet-loss? 495 te-types:performance-metric-normality 496 | +--rw unidirectional-residual-bandwidth? 497 te-types:performance-metric-normality 498 | +--rw unidirectional-available-bandwidth? 499 te-types:performance-metric-normality 500 | +--rw unidirectional-utilized-bandwidth? 501 te-types:performance-metric-normality 502 +--rw performance-metric-throttle {te-performance-metric}? 503 +--rw unidirectional-delay-offset? uint32 504 +--rw measure-interval? uint32 505 +--rw advertisement-interval? uint32 506 +--rw suppression-interval? uint32 507 +--rw threshold-out 508 | +--rw unidirectional-delay? uint32 509 | +--rw unidirectional-min-delay? uint32 510 | +--rw unidirectional-max-delay? uint32 511 | +--rw unidirectional-delay-variation? uint32 512 | +--rw unidirectional-packet-loss? decimal64 513 | +--rw unidirectional-residual-bandwidth? decimal64 514 | +--rw unidirectional-available-bandwidth? decimal64 515 | +--rw unidirectional-utilized-bandwidth? decimal64 516 +--rw threshold-in 517 | +--rw unidirectional-delay? uint32 518 | +--rw unidirectional-min-delay? uint32 519 | +--rw unidirectional-max-delay? uint32 520 | +--rw unidirectional-delay-variation? uint32 521 | +--rw unidirectional-packet-loss? decimal64 522 | +--rw unidirectional-residual-bandwidth? decimal64 523 | +--rw unidirectional-available-bandwidth? decimal64 524 | +--rw unidirectional-utilized-bandwidth? decimal64 525 +--rw threshold-accelerated-advertisement 526 +--rw unidirectional-delay? uint32 527 +--rw unidirectional-min-delay? uint32 528 +--rw unidirectional-max-delay? uint32 529 +--rw unidirectional-delay-variation? uint32 530 +--rw unidirectional-packet-loss? decimal64 531 +--rw unidirectional-residual-bandwidth? decimal64 532 +--rw unidirectional-available-bandwidth? decimal64 533 +--rw unidirectional-utilized-bandwidth? decimal64 534 augment /nw:networks/nw:network/nt:link/tet:te/tet:config/ 535 tet:te-link-attributes: 536 +--rw performance-metric {te-performance-metric}? 537 | +--rw measurement 538 | | +--rw unidirectional-delay? uint32 539 | | +--rw unidirectional-min-delay? uint32 540 | | +--rw unidirectional-max-delay? uint32 541 | | +--rw unidirectional-delay-variation? uint32 542 | | +--rw unidirectional-packet-loss? decimal64 543 | | +--rw unidirectional-residual-bandwidth? decimal64 544 | | +--rw unidirectional-available-bandwidth? decimal64 545 | | +--rw unidirectional-utilized-bandwidth? decimal64 546 | +--rw normality 547 | +--rw unidirectional-delay? 548 te-types:performance-metric-normality 549 | +--rw unidirectional-min-delay? 550 te-types:performance-metric-normality 551 | +--rw unidirectional-max-delay? 552 te-types:performance-metric-normality 553 | +--rw unidirectional-delay-variation? 554 te-types:performance-metric-normality 555 | +--rw unidirectional-packet-loss? 556 te-types:performance-metric-normality 557 | +--rw unidirectional-residual-bandwidth? 558 te-types:performance-metric-normality 559 | +--rw unidirectional-available-bandwidth? 560 te-types:performance-metric-normality 561 | +--rw unidirectional-utilized-bandwidth? 562 te-types:performance-metric-normality 563 +--rw performance-metric-throttle {te-performance-metric}? 564 +--rw unidirectional-delay-offset? uint32 565 +--rw measure-interval? uint32 566 +--rw advertisement-interval? uint32 567 +--rw suppression-interval? uint32 568 +--rw threshold-out 569 | +--rw unidirectional-delay? uint32 570 | +--rw unidirectional-min-delay? uint32 571 | +--rw unidirectional-max-delay? uint32 572 | +--rw unidirectional-delay-variation? uint32 573 | +--rw unidirectional-packet-loss? decimal64 574 | +--rw unidirectional-residual-bandwidth? decimal64 575 | +--rw unidirectional-available-bandwidth? decimal64 576 | +--rw unidirectional-utilized-bandwidth? decimal64 577 +--rw threshold-in 578 | +--rw unidirectional-delay? uint32 579 | +--rw unidirectional-min-delay? uint32 580 | +--rw unidirectional-max-delay? uint32 581 | +--rw unidirectional-delay-variation? uint32 582 | +--rw unidirectional-packet-loss? decimal64 583 | +--rw unidirectional-residual-bandwidth? decimal64 584 | +--rw unidirectional-available-bandwidth? decimal64 585 | +--rw unidirectional-utilized-bandwidth? decimal64 586 +--rw threshold-accelerated-advertisement 587 +--rw unidirectional-delay? uint32 588 +--rw unidirectional-min-delay? uint32 589 +--rw unidirectional-max-delay? uint32 590 +--rw unidirectional-delay-variation? uint32 591 +--rw unidirectional-packet-loss? decimal64 592 +--rw unidirectional-residual-bandwidth? decimal64 593 +--rw unidirectional-available-bandwidth? decimal64 594 +--rw unidirectional-utilized-bandwidth? decimal64 595 augment /nw:networks/nw:network/nt:link/tet:te/tet:state/ 596 tet:te-link-attributes: 597 +--ro performance-metric {te-performance-metric}? 598 | +--ro measurement 599 | | +--ro unidirectional-delay? uint32 600 | | +--ro unidirectional-min-delay? uint32 601 | | +--ro unidirectional-max-delay? uint32 602 | | +--ro unidirectional-delay-variation? uint32 603 | | +--ro unidirectional-packet-loss? decimal64 604 | | +--ro unidirectional-residual-bandwidth? decimal64 605 | | +--ro unidirectional-available-bandwidth? decimal64 606 | | +--ro unidirectional-utilized-bandwidth? decimal64 607 | +--ro normality 608 | +--ro unidirectional-delay? 609 te-types:performance-metric-normality 610 | +--ro unidirectional-min-delay? 611 te-types:performance-metric-normality 612 | +--ro unidirectional-max-delay? 613 te-types:performance-metric-normality 614 | +--ro unidirectional-delay-variation? 615 te-types:performance-metric-normality 616 | +--ro unidirectional-packet-loss? 617 te-types:performance-metric-normality 618 | +--ro unidirectional-residual-bandwidth? 619 te-types:performance-metric-normality 620 | +--ro unidirectional-available-bandwidth? 621 te-types:performance-metric-normality 622 | +--ro unidirectional-utilized-bandwidth? 623 te-types:performance-metric-normality 624 +--ro performance-metric-throttle {te-performance-metric}? 625 +--ro unidirectional-delay-offset? uint32 626 +--ro measure-interval? uint32 627 +--ro advertisement-interval? uint32 628 +--ro suppression-interval? uint32 629 +--ro threshold-out 630 | +--ro unidirectional-delay? uint32 631 | +--ro unidirectional-min-delay? uint32 632 | +--ro unidirectional-max-delay? uint32 633 | +--ro unidirectional-delay-variation? uint32 634 | +--ro unidirectional-packet-loss? decimal64 635 | +--ro unidirectional-residual-bandwidth? decimal64 636 | +--ro unidirectional-available-bandwidth? decimal64 637 | +--ro unidirectional-utilized-bandwidth? decimal64 638 +--ro threshold-in 639 | +--ro unidirectional-delay? uint32 640 | +--ro unidirectional-min-delay? uint32 641 | +--ro unidirectional-max-delay? uint32 642 | +--ro unidirectional-delay-variation? uint32 643 | +--ro unidirectional-packet-loss? decimal64 644 | +--ro unidirectional-residual-bandwidth? decimal64 645 | +--ro unidirectional-available-bandwidth? decimal64 646 | +--ro unidirectional-utilized-bandwidth? decimal64 647 +--ro threshold-accelerated-advertisement 648 +--ro unidirectional-delay? uint32 649 +--ro unidirectional-min-delay? uint32 650 +--ro unidirectional-max-delay? uint32 651 +--ro unidirectional-delay-variation? uint32 652 +--ro unidirectional-packet-loss? decimal64 653 +--ro unidirectional-residual-bandwidth? decimal64 654 +--ro unidirectional-available-bandwidth? decimal64 655 +--ro unidirectional-utilized-bandwidth? decimal64 656 augment /nw:networks/nw:network/nt:link/tet:te/tet:state/ 657 tet:information-source-entry: 658 +--ro performance-metric {te-performance-metric}? 659 | +--ro measurement 660 | | +--ro unidirectional-delay? uint32 661 | | +--ro unidirectional-min-delay? uint32 662 | | +--ro unidirectional-max-delay? uint32 663 | | +--ro unidirectional-delay-variation? uint32 664 | | +--ro unidirectional-packet-loss? decimal64 665 | | +--ro unidirectional-residual-bandwidth? decimal64 666 | | +--ro unidirectional-available-bandwidth? decimal64 667 | | +--ro unidirectional-utilized-bandwidth? decimal64 668 | +--ro normality 669 | +--ro unidirectional-delay? 670 te-types:performance-metric-normality 671 | +--ro unidirectional-min-delay? 672 te-types:performance-metric-normality 673 | +--ro unidirectional-max-delay? 674 te-types:performance-metric-normality 675 | +--ro unidirectional-delay-variation? 676 te-types:performance-metric-normality 677 | +--ro unidirectional-packet-loss? 678 te-types:performance-metric-normality 679 | +--ro unidirectional-residual-bandwidth? 680 te-types:performance-metric-normality 681 | +--ro unidirectional-available-bandwidth? 682 te-types:performance-metric-normality 683 | +--ro unidirectional-utilized-bandwidth? 684 te-types:performance-metric-normality 685 +--ro performance-metric-throttle {te-performance-metric}? 686 +--ro unidirectional-delay-offset? uint32 687 +--ro measure-interval? uint32 688 +--ro advertisement-interval? uint32 689 +--ro suppression-interval? uint32 690 +--ro threshold-out 691 | +--ro unidirectional-delay? uint32 692 | +--ro unidirectional-min-delay? uint32 693 | +--ro unidirectional-max-delay? uint32 694 | +--ro unidirectional-delay-variation? uint32 695 | +--ro unidirectional-packet-loss? decimal64 696 | +--ro unidirectional-residual-bandwidth? decimal64 697 | +--ro unidirectional-available-bandwidth? decimal64 698 | +--ro unidirectional-utilized-bandwidth? decimal64 699 +--ro threshold-in 700 | +--ro unidirectional-delay? uint32 701 | +--ro unidirectional-min-delay? uint32 702 | +--ro unidirectional-max-delay? uint32 703 | +--ro unidirectional-delay-variation? uint32 704 | +--ro unidirectional-packet-loss? decimal64 705 | +--ro unidirectional-residual-bandwidth? decimal64 706 | +--ro unidirectional-available-bandwidth? decimal64 707 | +--ro unidirectional-utilized-bandwidth? decimal64 708 +--ro threshold-accelerated-advertisement 709 +--ro unidirectional-delay? uint32 710 +--ro unidirectional-min-delay? uint32 711 +--ro unidirectional-max-delay? uint32 712 +--ro unidirectional-delay-variation? uint32 713 +--ro unidirectional-packet-loss? decimal64 714 +--ro unidirectional-residual-bandwidth? decimal64 715 +--ro unidirectional-available-bandwidth? decimal64 716 +--ro unidirectional-utilized-bandwidth? decimal64 717 augment /nw:networks/tet:te/tet:templates/tet:link-template/ 718 tet:te-link-attributes/tet:interface-switching-capability: 719 +--rw packet-switch-capable 720 +--rw minimum-lsp-bandwidth? decimal64 721 +--rw interface-mtu? uint16 722 augment /nw:networks/nw:network/nt:link/tet:te/tet:config/ 723 tet:te-link-attributes/tet:interface-switching-capability: 724 +--rw packet-switch-capable 725 +--rw minimum-lsp-bandwidth? decimal64 726 +--rw interface-mtu? uint16 727 augment /nw:networks/nw:network/nt:link/tet:te/tet:state/ 728 tet:te-link-attributes/tet:interface-switching-capability: 729 +--ro packet-switch-capable 730 +--ro minimum-lsp-bandwidth? decimal64 731 +--ro interface-mtu? uint16 732 augment /nw:networks/nw:network/nt:link/tet:te/tet:state/ 733 tet:information-source-entry/tet:interface-switching-capability: 734 +--ro packet-switch-capable 735 +--ro minimum-lsp-bandwidth? decimal64 736 +--ro interface-mtu? uint16 738 4. YANG Modules 740 4.1. Layer 3 TE Topology Module 742 file "ietf-l3-te-topology@2016-10-28.yang" 743 module ietf-l3-te-topology { 744 yang-version 1.1; 745 namespace "urn:ietf:params:xml:ns:yang:ietf-l3-te-topology"; 746 prefix "l3tet"; 748 import ietf-network { 749 prefix "nw"; 750 } 751 import ietf-network-topology { 752 prefix "nt"; 753 } 754 import ietf-l3-unicast-topology { 755 prefix "l3t"; 756 } 757 import ietf-te-topology { 758 prefix "tet"; 760 } 762 organization "TBD"; 763 contact "TBD"; 764 description "L3 TE Topology model"; 766 revision 2016-10-28 { 768 description "Initial revision"; 769 reference "TBD"; 770 } 772 grouping l3-te-topology-type { 773 description 774 "Identifies the L3 TE topology type."; 775 container l3-te { 776 presence "indiates L3 TE Topology"; 777 description 778 "Its presence identifies the L3 TE topology type."; 779 } 780 } 782 augment "/nw:networks/nw:network/nw:network-types/" 783 + "l3t:l3-unicast-topology" { 784 description 785 "Defines the L3 TE topology type."; 786 uses l3-te-topology-type; 787 } 789 augment "/nw:networks/nw:network/l3t:l3-topology-attributes" { 790 when "../nw:network-types/l3t:l3-unicast-topology/l3-te" { 791 description "Augment only for L3 TE topology"; 792 } 793 description "Augment topology configuration"; 794 uses l3-te-topology-attributes; 795 } 797 augment "/nw:networks/nw:network/nw:node/l3t:l3-node-attributes" { 798 when "../../nw:network-types/l3t:l3-unicast-topology/l3-te" { 799 description "Augment only for L3 TE topology"; 800 } 801 description "Augment node configuration"; 802 uses l3-te-node-attributes; 803 } 805 augment "/nw:networks/nw:network/nw:node/nt:termination-point/" 806 + "l3t:l3-termination-point-attributes" { 807 when "../../../nw:network-types/l3t:l3-unicast-topology/" 808 + "l3-te" { 809 description "Augment only for L3 TE topology"; 810 } 811 description "Augment termination point configuration"; 812 uses l3-te-tp-attributes; 813 } 815 augment "/nw:networks/nw:network/nt:link/l3t:l3-link-attributes" { 816 when "../../nw:network-types/l3t:l3-unicast-topology/l3-te" { 817 description "Augment only for L3 TE topology"; 818 } 819 description "Augment link configuration"; 820 uses l3-te-link-attributes; 821 } 823 grouping l3-te-topology-attributes { 824 description "L3 TE topology scope attributes"; 825 container l3-te-topology-attributes { 826 must "/nw:networks/nw:network" 827 + "[nw:network-id = current()/network-ref]/nw:network-types/" 828 + "tet:te-topology" { 829 error-message 830 "The referenced network must be a TE topology."; 831 description 832 "The referenced network must be a TE topology."; 833 } 834 description "Containing TE topology references"; 835 uses nw:network-ref; 836 } // l3-te-topology-attributes 837 } // l3-te-topology-attributes 839 grouping l3-te-node-attributes { 840 description "L3 TE node scope attributes"; 841 container l3-te-node-attributes { 842 must "/nw:networks/nw:network" 843 + "[nw:network-id = current()/network-ref]/nw:network-types/" 844 + "tet:te-topology" { 845 error-message 846 "The referenced network must be a TE topology."; 847 description 848 "The referenced network must be a TE topology."; 849 } 850 description "Containing TE node references"; 851 uses nw:node-ref; 852 } // l3-te 853 } // l3-te-node-attributes 855 grouping l3-te-tp-attributes { 856 description "L3 TE termination point scope attributes"; 857 container l3-te-tp-attributes { 858 must "/nw:networks/nw:network" 859 + "[nw:network-id = current()/network-ref]/nw:network-types/" 860 + "tet:te-topology" { 861 error-message 862 "The referenced network must be a TE topology."; 863 description 864 "The referenced network must be a TE topology."; 865 } 866 description "Containing TE termination point references"; 867 uses nt:tp-ref; 868 } // l3-te 869 } // l3-te-tp-attributes 871 grouping l3-te-link-attributes { 872 description "L3 TE link scope attributes"; 873 container l3-te-link-attributes { 874 must "/nw:networks/nw:network" 875 + "[nw:network-id = current()/network-ref]/nw:network-types/" 876 + "tet:te-topology" { 877 error-message 878 "The referenced network must be a TE topology."; 879 description 880 "The referenced network must be a TE topology."; 881 } 882 description "Containing TE link references"; 883 uses nt:link-ref; 884 } 885 } // l3-te-link-attributes 886 } 887 889 4.2. Packet Switching TE Topology Module 891 file "ietf-te-topology-packet@2016-10-28.yang" 892 module ietf-te-topology-packet { 893 yang-version 1; 894 namespace "urn:ietf:params:xml:ns:yang:ietf-te-topology-packet"; 896 prefix "tet-pkt"; 898 import ietf-network { 899 prefix "nw"; 900 } 901 import ietf-network-topology { 902 prefix "nt"; 903 } 905 import ietf-te-topology { 906 prefix "tet"; 907 } 909 import ietf-te-types { 910 prefix "te-types"; 911 } 913 organization 914 "Traffic Engineering Architecture and Signaling (TEAS) 915 Working Group"; 917 contact 918 "WG Web: 919 WG List: 921 WG Chair: Lou Berger 922 924 WG Chair: Vishnu Pavan Beeram 925 927 Editors: Xufeng Liu 928 930 Igor Bryskin 931 933 Vishnu Pavan Beeram 934 936 Tarek Saad 937 939 Himanshu Shah 940 942 Oscar Gonzalez De Dios 943 "; 945 description "TE topology model"; 947 revision 2016-10-28 { 948 description "Initial revision"; 949 reference "TBD"; 950 } 952 /* 953 * Features 954 */ 956 feature te-performance-metric { 957 description 958 "This feature indicates that the system supports 959 TE performance metric."; 960 reference 961 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 962 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 963 RFC7823: Performance-Based Path Selection for Explicitly 964 Routed Label Switched Paths (LSPs) Using TE Metric 965 Extensions"; 966 } 968 /* 969 * Groupings 970 */ 971 grouping packet-switch-capable-container { 972 description 973 "The container of packet switch capable attributes."; 974 container packet-switch-capable { 975 description 976 "Interface has packet-switching capabilities."; 977 leaf minimum-lsp-bandwidth { 978 type decimal64 { 979 fraction-digits 2; 980 } 981 description 982 "Minimum LSP Bandwidth. Units in bytes per second"; 983 } 984 leaf interface-mtu { 985 type uint16; 986 description 987 "Interface MTU."; 988 } 989 } 990 } 992 grouping performance-metric-attributes { 993 description 994 "Link performance information in real time."; 995 reference 996 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 998 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 999 RFC7823: Performance-Based Path Selection for Explicitly 1000 Routed Label Switched Paths (LSPs) Using TE Metric 1001 Extensions"; 1002 leaf unidirectional-delay { 1003 type uint32 { 1004 range 0..16777215; 1005 } 1006 description "Delay or latency in micro seconds."; 1007 } 1008 leaf unidirectional-min-delay { 1009 type uint32 { 1010 range 0..16777215; 1011 } 1012 description "Minimum delay or latency in micro seconds."; 1013 } 1014 leaf unidirectional-max-delay { 1015 type uint32 { 1016 range 0..16777215; 1017 } 1018 description "Maximum delay or latency in micro seconds."; 1019 } 1020 leaf unidirectional-delay-variation { 1021 type uint32 { 1022 range 0..16777215; 1023 } 1024 description "Delay variation in micro seconds."; 1025 } 1026 leaf unidirectional-packet-loss { 1027 type decimal64 { 1028 fraction-digits 6; 1029 range "0 .. 50.331642"; 1030 } 1031 description 1032 "Packet loss as a percentage of the total traffic sent 1033 over a configurable interval. The finest precision is 1034 0.000003%."; 1035 } 1036 leaf unidirectional-residual-bandwidth { 1037 type decimal64 { 1038 fraction-digits 2; 1039 } 1040 description 1041 "Residual bandwidth that subtracts tunnel 1042 reservations from Maximum Bandwidth (or link capacity) 1043 [RFC3630] and provides an aggregated remainder across QoS 1044 classes."; 1045 } 1046 leaf unidirectional-available-bandwidth { 1047 type decimal64 { 1048 fraction-digits 2; 1049 } 1050 description 1051 "Available bandwidth that is defined to be residual 1052 bandwidth minus the measured bandwidth used for the 1053 actual forwarding of non-RSVP-TE LSP packets. For a 1054 bundled link, available bandwidth is defined to be the 1055 sum of the component link available bandwidths."; 1056 } 1057 leaf unidirectional-utilized-bandwidth { 1058 type decimal64 { 1059 fraction-digits 2; 1060 } 1061 description 1062 "Bandwidth utilization that represents the actual 1063 utilization of the link (i.e. as measured in the router). 1064 For a bundled link, bandwidth utilization is defined to 1065 be the sum of the component link bandwidth 1066 utilizations."; 1067 } 1068 } // performance-metric-attributes 1070 grouping performance-metric-container { 1071 description 1072 "A container containing performance metric attributes."; 1073 container performance-metric { 1074 if-feature te-performance-metric; 1075 description 1076 "Link performance information in real time."; 1077 reference 1078 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 1079 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 1080 RFC7823: Performance-Based Path Selection for Explicitly 1081 Routed Label Switched Paths (LSPs) Using TE Metric 1082 Extensions"; 1083 container measurement { 1084 description 1085 "Measured performance metric values. Static configuration 1086 and manual overrides of these measurements are also 1087 allowed."; 1088 uses performance-metric-attributes; 1089 } 1090 container normality 1091 { 1092 description 1093 "Performance metric normality values."; 1095 uses performance-metric-normality-attributes; 1096 } 1097 } 1098 } // performance-metric-container 1100 grouping performance-metric-normality-attributes { 1101 description 1102 "Link performance metric normality attributes."; 1103 reference 1104 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 1105 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 1106 RFC7823: Performance-Based Path Selection for Explicitly 1107 Routed Label Switched Paths (LSPs) Using TE Metric 1108 Extensions"; 1109 leaf unidirectional-delay { 1110 type te-types:performance-metric-normality; 1111 description "Delay normality."; 1112 } 1113 leaf unidirectional-min-delay { 1114 type te-types:performance-metric-normality; 1115 description "Minimum delay or latency normality."; 1116 } 1117 leaf unidirectional-max-delay { 1118 type te-types:performance-metric-normality; 1119 description "Maximum delay or latency normality."; 1120 } 1121 leaf unidirectional-delay-variation { 1122 type te-types:performance-metric-normality; 1123 description "Delay variation normality."; 1124 } 1125 leaf unidirectional-packet-loss { 1126 type te-types:performance-metric-normality; 1127 description "Packet loss normality."; 1128 } 1129 leaf unidirectional-residual-bandwidth { 1130 type te-types:performance-metric-normality; 1131 description "Residual bandwidth normality."; 1132 } 1133 leaf unidirectional-available-bandwidth { 1134 type te-types:performance-metric-normality; 1135 description "Available bandwidth normality."; 1136 } 1137 leaf unidirectional-utilized-bandwidth { 1138 type te-types:performance-metric-normality; 1139 description "Bandwidth utilization normality."; 1140 } 1141 } // performance-metric-normality-attributes 1142 grouping performance-metric-throttle-container { 1143 description 1144 "A container controlling performance metric throttle."; 1145 container performance-metric-throttle { 1146 if-feature te-performance-metric; 1147 must "suppression-interval >= measure-interval" { 1148 error-message 1149 "suppression-interval cannot be less then 1150 measure-interval."; 1151 description 1152 "Constraint on suppression-interval and 1153 measure-interval."; 1154 } 1155 description 1156 "Link performance information in real time."; 1157 reference 1158 "RFC7471: OSPF Traffic Engineering (TE) Metric Extensions. 1159 RFC7810: IS-IS Traffic Engineering (TE) Metric Extensions. 1160 RFC7823: Performance-Based Path Selection for Explicitly 1161 Routed Label Switched Paths (LSPs) Using TE Metric 1162 Extensions"; 1163 leaf unidirectional-delay-offset { 1164 type uint32 { 1165 range 0..16777215; 1166 } 1167 description 1168 "Offset value to be added to the measured delay value."; 1169 } 1170 leaf measure-interval { 1171 type uint32; 1172 default 30; 1173 description 1174 "Interval in seconds to measure the extended metric 1175 values."; 1176 } 1177 leaf advertisement-interval { 1178 type uint32; 1179 description 1180 "Interval in seconds to advertise the extended metric 1181 values."; 1182 } 1183 leaf suppression-interval { 1184 type uint32 { 1185 range "1 .. max"; 1186 } 1187 default 120; 1188 description 1189 "Interval in seconds to suppress advertising the extended 1190 metric values."; 1191 } 1192 container threshold-out { 1193 uses performance-metric-attributes; 1194 description 1195 "If the measured parameter falls outside an upper bound 1196 for all but the min delay metric (or lower bound for 1197 min-delay metric only) and the advertised value is not 1198 already outside that bound, anomalous announcement will be 1199 triggered."; 1200 } 1201 container threshold-in { 1202 uses performance-metric-attributes; 1203 description 1204 "If the measured parameter falls inside an upper bound 1205 for all but the min delay metric (or lower bound for 1206 min-delay metric only) and the advertised value is not 1207 already inside that bound, normal (anomalous-flag cleared) 1208 announcement will be triggered."; 1209 } 1210 container threshold-accelerated-advertisement { 1211 description 1212 "When the difference between the last advertised value and 1213 current measured value exceed this threshold, anomalous 1214 announcement will be triggered."; 1215 uses performance-metric-attributes; 1216 } 1217 } 1218 } // performance-metric-throttle-container 1220 /* 1221 * Augmentations 1222 */ 1223 /* Augmentations to connectivity-matrix */ 1224 augment "/nw:networks/nw:network/nw:node/tet:te/tet:config/" 1225 + "tet:te-node-attributes/tet:connectivity-matrix" { 1226 description 1227 "Parameters for PSC TE topology."; 1228 uses performance-metric-container; 1229 uses performance-metric-throttle-container; 1230 } 1232 augment "/nw:networks/nw:network/nw:node/tet:te/tet:state/" 1233 + "tet:te-node-attributes/tet:connectivity-matrix" { 1234 description 1235 "Parameters for PSC TE topology."; 1236 uses performance-metric-container; 1237 uses performance-metric-throttle-container; 1239 } 1241 augment "/nw:networks/nw:network/nw:node/tet:te/tet:state/" 1242 + "tet:information-source-entry/tet:connectivity-matrix" { 1243 description 1244 "Parameters for PSC TE topology."; 1245 uses performance-metric-container; 1246 uses performance-metric-throttle-container; 1247 } 1249 /* Augmentations to tunnel-termination-point */ 1250 augment "/nw:networks/nw:network/nw:node/tet:te/" 1251 + "tet:tunnel-termination-point/tet:config/" 1252 + "tet:local-link-connectivity" { 1253 description 1254 "Parameters for PSC TE topology."; 1255 uses performance-metric-container; 1256 uses performance-metric-throttle-container; 1257 } 1259 augment "/nw:networks/nw:network/nw:node/tet:te/" 1260 + "tet:tunnel-termination-point/tet:state/" 1261 + "tet:local-link-connectivity" { 1262 description 1263 "Parameters for PSC TE topology."; 1264 uses performance-metric-container; 1265 uses performance-metric-throttle-container; 1266 } 1268 /* Augmentations to te-link-attributes */ 1269 augment "/nw:networks/tet:te/tet:templates/" 1270 + "tet:link-template/tet:te-link-attributes" { 1271 when "tet:interface-switching-capability " 1272 + "[tet:switching-capability = 'switching-psc1']" { 1273 description "Valid only for PSC"; 1274 } 1275 description 1276 "Parameters for PSC TE topology."; 1277 uses performance-metric-container; 1278 uses performance-metric-throttle-container; 1279 } 1281 augment "/nw:networks/nw:network/nt:link/tet:te/tet:config/" 1282 + "tet:te-link-attributes" { 1283 when "tet:interface-switching-capability " 1284 + "[tet:switching-capability = 'switching-psc1']" { 1285 description "Valid only for PSC"; 1286 } 1287 description 1288 "Parameters for PSC TE topology."; 1289 uses performance-metric-container; 1290 uses performance-metric-throttle-container; 1291 } 1293 augment "/nw:networks/nw:network/nt:link/tet:te/tet:state/" 1294 + "tet:te-link-attributes" { 1295 when "tet:interface-switching-capability " 1296 + "[tet:switching-capability = 'switching-psc1']" { 1297 description "Valid only for PSC"; 1298 } 1299 description 1300 "Parameters for PSC TE topology."; 1301 uses performance-metric-container; 1302 uses performance-metric-throttle-container; 1303 } 1305 augment "/nw:networks/nw:network/nt:link/tet:te/tet:state/" 1306 + "tet:information-source-entry" { 1307 when "tet:interface-switching-capability " 1308 + "[tet:switching-capability = 'switching-psc1']" { 1309 description "Valid only for PSC"; 1310 } 1311 description 1312 "Parameters for PSC TE topology."; 1313 uses performance-metric-container; 1314 uses performance-metric-throttle-container; 1315 } 1317 /* Augmentations to interface-switching-capability */ 1318 augment "/nw:networks/tet:te/tet:templates/" 1319 + "tet:link-template/tet:te-link-attributes/" 1320 + "tet:interface-switching-capability" { 1321 when "tet:switching-capability = 'switching-psc1' " { 1322 description "Valid only for PSC"; 1323 } 1324 description 1325 "Parameters for PSC TE topology."; 1326 uses packet-switch-capable-container; 1327 } 1329 augment "/nw:networks/nw:network/nt:link/tet:te/tet:config/" 1330 + "tet:te-link-attributes/" 1331 + "tet:interface-switching-capability" { 1332 when "tet:switching-capability = 'switching-psc1' " { 1333 description "Valid only for PSC"; 1334 } 1335 description 1336 "Parameters for PSC TE topology."; 1337 uses packet-switch-capable-container; 1338 } 1340 augment "/nw:networks/nw:network/nt:link/tet:te/tet:state/" 1341 + "tet:te-link-attributes/" 1342 + "tet:interface-switching-capability" { 1343 when "tet:switching-capability = 'switching-psc1' " { 1344 description "Valid only for PSC"; 1345 } 1346 description 1347 "Parameters for PSC TE topology."; 1348 uses packet-switch-capable-container; 1349 } 1351 augment "/nw:networks/nw:network/nt:link/tet:te/tet:state/" 1352 + "tet:information-source-entry/" 1353 + "tet:interface-switching-capability" { 1354 when "tet:switching-capability = 'switching-psc1' " { 1355 description "Valid only for PSC"; 1356 } 1357 description 1358 "Parameters for PSC TE topology."; 1359 uses packet-switch-capable-container; 1360 } 1361 } 1362 1364 5. IANA Considerations 1366 RFC Ed.: In this section, replace all occurrences of 'XXXX' with the 1367 actual RFC number (and remove this note). 1369 This document registers the following namespace URIs in the IETF XML 1370 registry [RFC3688]: 1372 -------------------------------------------------------------------- 1373 URI: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1374 Registrant Contact: The IESG. 1375 XML: N/A, the requested URI is an XML namespace. 1376 -------------------------------------------------------------------- 1377 -------------------------------------------------------------------- 1378 URI: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1379 Registrant Contact: The IESG. 1380 XML: N/A, the requested URI is an XML namespace. 1381 -------------------------------------------------------------------- 1383 This document registers the following YANG modules in the YANG Module 1384 Names registry [RFC6020]: 1386 -------------------------------------------------------------------- 1387 name: ietf-l3-te-topology 1388 namespace: urn:ietf:params:xml:ns:yang:ietf-l3-te-topology 1389 prefix: l3te 1390 reference: RFC XXXX 1391 -------------------------------------------------------------------- 1393 -------------------------------------------------------------------- 1394 name: ietf-te-topology-packet 1395 namespace: urn:ietf:params:xml:ns:yang:ietf-te-topology-packet 1396 prefix: tet-pkt 1397 reference: RFC XXXX 1398 -------------------------------------------------------------------- 1400 6. Security Considerations 1402 The configuration, state, action and notification data defined in 1403 this document are designed to be accessed via the NETCONF protocol 1404 [RFC6241]. The data-model by itself does not create any security 1405 implications. The security considerations for the NETCONF protocol 1406 are applicable. The NETCONF protocol used for sending the data 1407 supports authentication and encryption. 1409 7. References 1411 7.1. Normative References 1413 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1414 Requirement Levels", BCP 14, RFC 2119, 1415 DOI 10.17487/RFC2119, March 1997, 1416 . 1418 [RFC6021] Schoenwaelder, J., Ed., "Common YANG Data Types", 1419 RFC 6021, DOI 10.17487/RFC6021, October 2010, 1420 . 1422 [RFC7950] Bjorklund, M., Ed., "The YANG 1.1 Data Modeling Language", 1423 RFC 7950, DOI 10.17487/RFC7950, August 2016, 1424 . 1426 7.2. Informative References 1428 [I-D.ietf-i2rs-yang-l3-topology] 1429 Clemm, A., Medved, J., Varga, R., Tkacik, T., Liu, X., 1430 Bryskin, I., Guo, A., Ananthakrishnan, H., Bahadur, N., 1431 and V. Beeram, "A YANG Data Model for Layer 3 Topologies", 1432 draft-ietf-i2rs-yang-l3-topology-04 (work in progress), 1433 September 2016. 1435 [I-D.ietf-teas-yang-te-topo] 1436 Liu, X., Bryskin, I., Beeram, V., Saad, T., Shah, H., and 1437 O. Dios, "YANG Data Model for TE Topologies", draft-ietf- 1438 teas-yang-te-topo-06 (work in progress), October 2016. 1440 Authors' Addresses 1442 Xufeng Liu 1443 Kuatro Technologies 1444 8281 Greensboro Drive, Suite 200 1445 McLean VA 22102 1446 USA 1448 EMail: xliu@kuatrotech.com 1450 Igor Bryskin 1451 Huawei Technologies 1453 EMail: Igor.Bryskin@huawei.com 1455 Vishnu Pavan Beeram 1456 Juniper Networks 1458 EMail: vbeeram@juniper.net 1460 Tarek Saad 1461 Cisco Systems Inc 1463 EMail: tsaad@cisco.com 1465 Himanshu Shah 1466 Ciena 1468 EMail: hshah@ciena.com 1469 Oscar Gonzalez de Dios 1470 Telefonica 1472 EMail: oscar.gonzalezdedios@telefonica.com