idnits 2.17.1 draft-lee-teas-actn-pm-telemetry-autonomics-06.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 25 instances of too long lines in the document, the longest one being 14 characters in excess of 72. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == Line 138 has weird spacing: '... rw for r...' == Line 139 has weird spacing: '... ro for r...' == Line 407 has weird spacing: '...lemetry xmlns...' -- The document date (April 30, 2018) is 2187 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: 'TE-tunnel' is mentioned on line 174, but not defined == Missing Reference: 'This I-D' is mentioned on line 175, but not defined == Missing Reference: 'I-D.ietf-netconf-yang-push' is mentioned on line 344, but not defined == Missing Reference: 'I-D.ietf-netconf-rfc5277bis' is mentioned on line 345, but not defined == Missing Reference: 'RFC6241' is mentioned on line 1046, but not defined == Missing Reference: 'RFC6536' is mentioned on line 1047, but not defined ** Obsolete undefined reference: RFC 6536 (Obsoleted by RFC 8341) == Unused Reference: 'RFC4110' is defined on line 1065, but no explicit reference was found in the text == Unused Reference: 'Netconf' is defined on line 1081, but no explicit reference was found in the text == Unused Reference: 'Restconf' is defined on line 1085, but no explicit reference was found in the text == Unused Reference: 'ACTN-Frame' is defined on line 1093, but no explicit reference was found in the text == Unused Reference: 'TE-Topology' is defined on line 1097, but no explicit reference was found in the text == Unused Reference: 'TE-Tunnel' is defined on line 1100, but no explicit reference was found in the text == Unused Reference: 'L3SM-YANG' is defined on line 1107, but no explicit reference was found in the text ** Downref: Normative reference to an Informational draft: draft-ietf-teas-actn-framework (ref. 'ACTN-Frame') -- Possible downref: Normative reference to a draft: ref. 'ACTN-PERF' Summary: 3 errors (**), 0 flaws (~~), 17 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 TEAS Working Group Y. Lee (Editor) 2 Internet Draft Dhruv Dhody 3 Intended Status: Standard Track Satish Karunanithi 4 Expires: October 31, 2018 Huawei 5 Ricard Vilalta 6 CTTC 7 Daniel King 8 Lancaster University 9 Daniele Ceccarelli 10 Ericsson 12 April 30, 2018 14 YANG models for ACTN TE Performance Monitoring Telemetry and Network 15 Autonomics 17 draft-lee-teas-actn-pm-telemetry-autonomics-06 19 Status of this Memo 21 This Internet-Draft is submitted to IETF in full conformance with 22 the provisions of BCP 78 and BCP 79. 24 Internet-Drafts are working documents of the Internet Engineering 25 Task Force (IETF), its areas, and its working groups. Note that 26 other groups may also distribute working documents as Internet- 27 Drafts. 29 Internet-Drafts are draft documents valid for a maximum of six 30 months and may be updated, replaced, or obsoleted by other documents 31 at any time. It is inappropriate to use Internet-Drafts as 32 reference material or to cite them other than as "work in progress." 34 The list of current Internet-Drafts can be accessed at 35 http://www.ietf.org/ietf/1id-abstracts.txt 37 The list of Internet-Draft Shadow Directories can be accessed at 38 http://www.ietf.org/shadow.html. 40 This Internet-Draft will expire on October 31, 2018. 42 Copyright Notice 44 Copyright (c) 2018 IETF Trust and the persons identified as the 45 document authors. All rights reserved. 47 This document is subject to BCP 78 and the IETF Trust's Legal 48 Provisions Relating to IETF Documents 49 (http://trustee.ietf.org/license-info) in effect on the date of 50 publication of this document. Please review these documents 51 carefully, as they describe your rights and restrictions with 52 respect to this document. Code Components extracted from this 53 document must include Simplified BSD License text as described in 54 Section 4.e of the Trust Legal Provisions and are provided without 55 warranty as described in the Simplified BSD License. 57 Abstract 59 Abstraction and Control of TE Networks (ACTN) refers to the set of 60 virtual network operations needed to operate, control and manage 61 large-scale multi-domain, multi-layer and multi-vendor TE networks, 62 so as to facilitate network programmability, automation, efficient 63 resource sharing. 65 This document provides YANG data models that describe Key 66 Performance Indicator (KPI) telemetry and network autonomics for TE- 67 tunnels and ACTN VNs. 69 Table of Contents 71 1. Introduction...................................................3 72 1.1. Terminology...............................................3 73 1.2. Tree Structure - Legend...................................3 74 2. Use-Cases......................................................5 75 3. Design of the Data Models......................................6 76 3.1. TE KPI Telemetry Model....................................7 77 3.2. ACTN TE KPI Telemetry Model...............................7 78 4. Notification...................................................9 79 4.1. YANG Push Subscription Examples...........................9 80 5. YANG Data Tree................................................10 81 6. Yang Data Model...............................................13 82 6.1. ietf-te-kpi-telemetry model..............................13 83 6.2. ietf-actn-te-kpi-telemetry model.........................21 84 7. Security Considerations.......................................24 85 8. IANA Considerations...........................................25 86 9. Acknowledgements..............................................25 87 10. References...................................................25 88 10.1. Informative References..................................25 89 10.2. Normative References....................................25 90 11. Contributors.................................................26 91 Authors' Addresses...............................................26 93 1. Introduction 95 Abstraction and Control of TE Networks (ACTN) describes a method for 96 operating a Traffic Engineered (TE) network (such as an MPLS-TE 97 network or a layer 1/0 transport network) to provide connectivity 98 and virtual network services for customers of the TE network [ACTN- 99 Frame]. The services provided can be optimized to meet the 100 requirements (such as traffic patterns, quality, and reliability) of 101 the applications hosted by the customers. Data models are a 102 representation of objects that can be configured or monitored within 103 a system. Within the IETF, YANG [RFC6020] is the language of choice 104 for documenting data models, and YANG models have been produced to 105 allow configuration or modeling of a variety of network devices, 106 protocol instances, and network services. YANG data models have been 107 classified in [Netmod-Yang-Model-Classification] and [Service-YANG]. 109 [ACTN-VN] describes how customers or end to end orchestrators can 110 request and/or instantiate a generic virtual network service. [ACTN- 111 Applicability] describes a connection between IETF YANG model 112 classifications to ACTN interfaces. In particular, it describes the 113 customer service model can be mapped into the CMI (CNC-MDSC 114 Interface) of the ACTN architecture. 116 The YANG model on the ACTN CMI is known as customer service model in 117 [Service-YANG]. [PCEP-Service-Aware] describes key network 118 performance data to be considered for end-to-end path computation in 119 TE networks. Key performance indicator is a term that describes 120 critical performance data that may affect VN/TE service. 122 1.1. Terminology 124 1.2. Tree Structure - Legend 126 A simplified graphical representation of the data model is presented 127 in Section 5. of this document. The following notations are used for 128 the YANG model data tree representation. 130 132 is one of: 133 + for current 134 x for deprecated 135 o for obsolete 137 is one of: 138 rw for read-write configuration data 139 ro for read-only non-configuration data 140 -x for execution rpcs 141 -n for notifications 143 is the name of the node 145 If the node is augmented into the tree from another module, 146 Its name is printed as : 148 is one of: 149 ? for an optional leaf or node 150 ! for a presence container 151 * for a leaf-list or list 152 Brackets [] for a list's keys 153 Curly braces {} for optional feature that make 154 Node conditional 156 Colon : for marking case nodes 157 Ellipses ("...") subtree contents not shown 159 Parentheses enclose choice and case nodes, and case nodes are 160 also marked with a colon (":"). 162 is the name of the type for leafs and leaf-lists. 164 1.3. Prefixes in Data Node Names 166 In this document, names of data nodes and other data model objects 167 are prefixed using the standard prefix associated with the 168 corresponding YANG imported modules, as shown in Table 1. 170 +---------+------------------------------+-----------------+ 171 | Prefix | YANG module | Reference | 172 +---------+------------------------------+-----------------+ 173 | rt | ietf-routing-types | [Routing-Types] | 174 | te | ietf-te | [TE-tunnel] | 175 | te-kpi | ietf-te-kpi-telemetry | [This I-D] | 176 | actn-vn | ietf-actn-vn | [ACTN-VN] | 177 | actn-tel| ietf-actn-te-kpi-telemetry | {This I-D] | 178 +---------+------------------------------+-----------------+ 180 Table 1: Prefixes and corresponding YANG modules 182 2. Use-Cases 184 [ACTN-PERF] describes use-cases relevant to this draft. It 185 introduces the dynamic creation, modification and optimization of 186 services based on the performance monitoring in the Abstraction and 187 Control of Transport Networks (ACTN) architecture. Figure 1 shows a 188 high-level workflows for dynamic service control based on traffic 189 monitoring. 191 Some of the key points from [ACTN-PERF] are as follows: 193 . Network traffic monitoring is important to facilitate automatic 194 discovery of the imbalance of network traffic, and initiate the 195 network optimization, thus helping the network operator or the 196 virtual network service provider to use the network more 197 efficiently and save CAPEX/OPEX. 198 . Customer services have various SLA requirements, such as 199 service availability, latency, latency jitter, packet loss 200 rate, BER, etc. The transport network can satisfy service 201 availability and BER requirements by providing different 202 protection and restoration mechanisms. However, for other 203 performance parameters, there are no such mechanisms. In order 204 to provide high quality services according to customer SLA, one 205 possible solution is to measure the service SLA related 206 performance parameters, and dynamically provision and optimize 207 services based on the performance monitoring results. 208 . Performance monitoring in a large scale network could generate 209 a huge amount of performance information. Therefore, the 210 appropriate way to deliver the information in CMI and MPI 211 interfaces should be carefully considered. 213 +-------------------------------------------+ 214 | CNC +-----------------------------+ | 215 | | Dynamic Service Control APP | | 216 | +-----------------------------+ | 217 +-------------------------------------------+ 218 1.Traffic| /|\4.Traffic | /|\ 219 Monitor& | | Monitor | | 8.Traffic 220 Optimize | | Result 5.Service | | modify & 221 Policy | | modify& | | optimize 222 \|/ | optimize Req.\|/ | result 223 +------------------------------------------------+ 224 | MDSC +-------------------------------+ | 225 | |Dynamic Service Control Agent | | 226 | +-------------------------------+ | 227 | +---------------+ +-------------------+ | 228 | | Flow Optimize | | vConnection Agent | | 229 | +---------------+ +-------------------+ | 230 +------------------------------------------------+ 231 2. Path | /|\3.Traffic | | 232 Monitor | | Monitor | |7.Path 233 Request | | Result 6.Path | | modify & 234 | | modify& | | optimize 235 \|/ | optimize Req.\|/ | result 236 +-------------------------------------------------------+ 237 | PNC +----------------------+ +----------------------+ | 238 | | Network Provisioning | |Abstract Topology Gen.| | 239 | +----------------------+ +----------------------+ | 240 | +------------------+ +--------------------+ | 241 | |Network Monitoring| |Physical Topology DB| | 242 | +------------------+ +--------------------+ | 243 +-------------------------------------------------------+ 245 Figure 1 Workflows for dynamic service control based on traffic 246 monitoring 248 3. Design of the Data Models 250 The YANG models developed in this document describe two models: 252 (i) TE KPI Telemetry Model which provides the TE-Tunnel level of 253 performance monitoring mechanism (See Section 4 for details) 255 (ii) ACTN TE KPI Telemetry Model which provides the VN level of the 256 aggregated performance monitoring mechanism (See Section 5 257 for details) 259 The models include - 261 (i) Performance Telemetry details as measured during the last 262 interval, ex delay. 264 (ii) Scaling Intent based on with TE/VN could be scaled in/out. 266 [Editor's Note - Need to decide if scaling and telemetry can be in 267 the same model as per the current draft.] 269 3.1. TE KPI Telemetry Model 271 This module describes performance telemetry for TE-tunnel model. The 272 telemetry data is augmented to tunnel state. This module also 273 allows autonomic traffic engineering scaling intent configuration 274 mechanism on the TE-tunnel level. Various conditions can be set for 275 auto-scaling based on the telemetry data. 277 The TE KPI Telemetry Model augments the TE-Tunnel Model to enhance 278 TE performance monitoring capability. This monitoring capability 279 will facilitate proactive re-optimization and reconfiguration of TEs 280 based on the performance monitoring data collected via the TE KPI 281 Telemetry YANG model. 283 +------------+ +--------------+ 284 | TE-Tunnel | | TE KPI | 285 | Model |<---------| Telemetry | 286 +------------+ augments | Model | 287 +--------------+ 289 3.2. ACTN TE KPI Telemetry Model 291 This module describes performance telemetry for ACTN VN model. The 292 telemetry data is augmented both at the VN Level as well as 293 individual VN member level. This module also allows autonomic 294 traffic engineering scaling intent configuration mechanism on the VN 295 level. Scale in/out criteria might be used for network autonomics in 296 order the controller to react to a certain set of variations in 297 monitored parameters. 299 Moreover, this module also provides mechanism to define aggregated 300 telemetry parameters as a grouping of underlying VN level telemetry 301 parameters. Grouping operation (such as maximum, mean) could be set 302 at the time of configuration. For example, if maximum grouping 303 operation is used for delay at the VN level, the VN telemetry data 304 is reported as the maximum {delay_vn_member_1, delay_vn_member_2,.. 305 delay_vn_member_N}. Thus, this telemetry abstraction mechanism 306 allows the grouping of a certain common set of telemetry values 307 under a grouping operation. This can be done at the VN-member level 308 to suggest how the E2E telemetry be inferred from the per domain 309 tunnel created and monitored by PNCs. One proposed example is the 310 following: 312 +------------------------------------------------------------+ 313 | CNC | 314 | | 315 +------------------------------------------------------------+ 317 1.CNC sets the | /|\ 2. MDSC gets VN Telemetry 318 grouping op, and | | 319 subscribes to the | | VN KPI TELEMETRY (VN Level) 320 VN level telemetry for | | VN Utilized-bw-percentage: 321 Delay and | | Minimum across VN Members 322 Utilized-bw-pecentage | | VN Delay: Maximum across VN 323 \|/ | Members 324 +------------------------------------------------------------+ 325 | MDSC | 326 | | 327 +------------------------------------------------------------+ 329 The ACTN VN TE-Telemetry Model augments the basic ACTN VN model to 330 enhance VN monitoring capability. This monitoring capability will 331 facilitate proactive re-optimization and reconfiguration of VNs 332 based on the performance monitoring data collected via the ACTN VN 333 Telemetry YANG model. 335 +----------+ +--------------+ 336 | ACTN VN | augments | ACTN | 337 | Model |<---------| TE-Telemetry | 338 +----------+ | Model | 339 +--------------+ 341 4. Notification 343 This model does not define specific notifications. To enable 344 notifications, the mechanism defined in [I-D.ietf-netconf-yang-push] 345 and [I-D.ietf-netconf-rfc5277bis] can be used. This mechanism 346 currently allows the user to: 348 . Subscribe notifications on a per client basis. 350 . Specify subtree filters or xpath filters so that only interested 351 contents will be sent. 353 . Specify either periodic or on-demand notifications. 355 4.1. YANG Push Subscription Examples 357 Below example shows the way for a client to subscribe for the 358 telemetry information for a particular tunnel (Tunnel1). The 359 telemetry parameter that the client is interested in is the utilized 360 bandwidth percentage. 362 364 366 367 368 369 370 Tunnel1 371 372 373 375 378 379 380 382 383 384 385 500 386 encode-xml 387 388 390 This example shows the way for a client to subscribe for the 391 telemetry information for all VNs. The telemetry parameter that the 392 client is interested in is one-way delay and utilized bandwidth 393 percentage. 395 397 399 400 402 403 404 405 406 409 410 413 414 415 416 417 418 500 419 420 422 5. YANG Data Tree 424 module: ietf-te-kpi-telemetry 425 module: ietf-te-kpi-telemetry 426 augment /te:te/te:tunnels/te:tunnel: 427 +--rw te-telemetry 428 +--rw id? string 429 +--rw unidirectional-delay? uint32 430 +--rw unidirectional-min-delay? uint32 431 +--rw unidirectional-max-delay? uint32 432 +--rw unidirectional-delay-variation? uint32 433 +--rw unidirectional-packet-loss? decimal64 434 +--rw unidirectional-residual-bandwidth? rt-types:bandwidth-ieee-float32 435 +--rw unidirectional-available-bandwidth? rt-types:bandwidth-ieee-float32 436 +--rw unidirectional-utilized-bandwidth? rt-types:bandwidth-ieee-float32 437 +--rw bidirectional-delay? uint32 438 +--rw bidirectional-min-delay? uint32 439 +--rw bidirectional-max-delay? uint32 440 +--rw bidirectional-delay-variation? uint32 441 +--rw bidirectional-packet-loss? decimal64 442 +--rw utilized-bandwidth? rt-types:bandwidth-ieee-float32 443 +--rw utilized-percentage? uint8 444 +--rw te-ref? -> /te:te/tunnels/tunnel/name 445 augment /te:te/te:tunnels/te:tunnel: 446 +--rw te-scaling-intent 447 +--rw scale-in-intent 448 | +--rw threshold-time? uint32 449 | +--rw cooldown-time? uint32 450 | +--rw scale-in-operation-type? scaling-criteria-operation 451 | +--rw scale-out-operation-type? scaling-criteria-operation 452 | +--rw scaling-condition* [performance-type] 453 | +--rw performance-type identityref 454 | +--rw te-telemetry-tunnel-ref? -> /te:te/tunnels/tunnel/name 455 +--rw scale-out-intent 456 +--rw threshold-time? uint32 457 +--rw cooldown-time? uint32 458 +--rw scale-in-operation-type? scaling-criteria-operation 459 +--rw scale-out-operation-type? scaling-criteria-operation 460 +--rw scaling-condition* [performance-type] 461 +--rw performance-type identityref 462 +--rw te-telemetry-tunnel-ref? -> /te:te/tunnels/tunnel/name 464 module: ietf-actn-te-kpi-telemetry 465 augment /actn-vn:actn/actn-vn:vn/actn-vn:vn-list: 466 +--rw vn-telemetry 467 | +--rw grouping-op 468 | | +--rw delay-op? identityref 469 | | +--rw delay-variation-op? identityref 470 | | +--rw utilized-bandwidth-op? identityref 471 | +--rw id? string 472 | +--rw unidirectional-delay? uint32 473 | +--rw unidirectional-min-delay? uint32 474 | +--rw unidirectional-max-delay? uint32 475 | +--rw unidirectional-delay-variation? uint32 476 | +--rw unidirectional-packet-loss? decimal64 477 | +--rw unidirectional-residual-bandwidth? rt-types:bandwidth-ieee-float32 478 | +--rw unidirectional-available-bandwidth? rt-types:bandwidth-ieee-float32 479 | +--rw unidirectional-utilized-bandwidth? rt-types:bandwidth-ieee-float32 480 | +--rw bidirectional-delay? uint32 481 | +--rw bidirectional-min-delay? uint32 482 | +--rw bidirectional-max-delay? uint32 483 | +--rw bidirectional-delay-variation? uint32 484 | +--rw bidirectional-packet-loss? decimal64 485 | +--rw utilized-bandwidth? rt-types:bandwidth-ieee-float32 486 | +--rw utilized-percentage? uint8 487 | +--rw te-ref? -> /te:te/tunnels/tunnel/name 488 +--rw vn-scaling-intent 489 +--rw threshold-time? uint32 490 +--rw cooldown-time? uint32 491 +--rw scale-in-operation-type? scaling-criteria-operation 492 +--rw scale-out-operation-type? scaling-criteria-operation 493 +--rw scaling-condition* [performance-type] 494 +--rw performance-type identityref 495 +--rw te-telemetry-tunnel-ref? -> /te:te/tunnels/tunnel/name 496 augment /actn-vn:actn/actn-vn:vn/actn-vn:vn-list/actn-vn:vn-member-list: 497 +--rw vn-telemetry 498 +--rw grouping-op 499 | +--rw delay-op? identityref 500 | +--rw delay-variation-op? identityref 501 | +--rw utilized-bandwidth-op? identityref 502 +--rw id? string 503 +--rw unidirectional-delay? uint32 504 +--rw unidirectional-min-delay? uint32 505 +--rw unidirectional-max-delay? uint32 506 +--rw unidirectional-delay-variation? uint32 507 +--rw unidirectional-packet-loss? decimal64 508 +--rw unidirectional-residual-bandwidth? rt-types:bandwidth-ieee-float32 509 +--rw unidirectional-available-bandwidth? rt-types:bandwidth-ieee-float32 510 +--rw unidirectional-utilized-bandwidth? rt-types:bandwidth-ieee-float32 511 +--rw bidirectional-delay? uint32 512 +--rw bidirectional-min-delay? uint32 513 +--rw bidirectional-max-delay? uint32 514 +--rw bidirectional-delay-variation? uint32 515 +--rw bidirectional-packet-loss? decimal64 516 +--rw utilized-bandwidth? rt-types:bandwidth-ieee-float32 517 +--rw utilized-percentage? uint8 518 +--rw te-ref? -> /te:te/tunnels/tunnel/name 520 6. Yang Data Model 522 6.1. ietf-te-kpi-telemetry model 524 The YANG code is as follows: 526 file "ietf-te-kpi-telemetry@2018-04-30.yang" 528 module ietf-te-kpi-telemetry { 530 namespace "urn:ietf:params:xml:ns:yang:ietf-te-kpi-telemetry"; 532 prefix "te-tel"; 534 import ietf-te { 535 prefix "te"; 536 } 538 import ietf-te-types { 539 prefix "te-types"; 540 } 542 import ietf-routing-types { 543 prefix "rt-types"; 544 } 546 organization 547 "IETF Traffic Engineering Architecture and Signaling (TEAS) 548 Working Group"; 550 contact 551 "Editor: Young Lee 552 Editor: Dhruv Dhody 553 Editor: Ricard Vilalta 554 Editor: Satish Karunanithi "; 556 description 557 "This module describes telemetry for teas tunnel model"; 559 revision 2018-04-30 { 560 description 561 "Initial revision. This YANG file defines 562 the reusable base types for TE telemetry."; 563 reference 564 "Derived from earlier versions of base YANG files"; 565 } 567 /* 568 * Identities 569 */ 571 identity telemetry-param-type { 572 description 573 "Base identity for telemetry param types"; 574 } 576 identity one-way-delay { 577 base telemetry-param-type; 578 description 579 "To specify average Delay in one (forward) direction"; 580 } 582 identity bidirectional-delay { 583 base telemetry-param-type; 584 description 585 "To specify average Delay in both (forward and reverse) 586 directions"; 587 } 589 identity one-way-delay-variation { 590 base telemetry-param-type; 591 description 592 "To specify average Delay Variation in one (forward) direction"; 593 } 595 identity bidirectional-delay-variation { 596 base telemetry-param-type; 597 description 598 "To specify average Delay Variation in both (forward and reverse) 599 directions"; 600 } 602 identity one-way-packet-loss { 603 base telemetry-param-type; 604 description 605 "To specify packet loss in one (forward) direction."; 606 } 607 identity bidirectional-packet-loss { 608 base telemetry-param-type; 609 description 610 "To specify packet loss in in both (forward and reverse) 611 directions"; 612 } 614 identity utilized-bandwidth { 615 base telemetry-param-type; 616 description 617 "To specify utilized bandwidth over the specified source 618 and destination."; 619 } 621 identity utilized-percentage { 622 base telemetry-param-type; 623 description 624 "To specify utilization percentage of the entity (e.g., 625 tunnel, link, etc.)"; 626 } 627 /* 628 * Enums 629 */ 630 typedef scaling-criteria-operation { 631 type enumeration { 632 enum AND { 633 description 634 "AND operation"; 635 } 636 enum OR { 637 description 638 "OR operation"; 639 } 640 } 641 description 642 "Operations to analize list of scaling criterias"; 643 } 645 /* 646 * Groupings 647 */ 649 grouping telemetry-delay { 650 description 651 "Base telemetry delay parameters"; 653 leaf bidirectional-delay { 654 type uint32; 655 units "microseconds"; 656 description 657 "To specify average Delay in both (forward and reverse) 658 directions during the measurement interval"; 659 } 661 leaf bidirectional-min-delay { 662 type uint32; 663 units "microseconds"; 664 description 665 "To specify minimum Delay in both (forward and reverse) 666 directions during the measurement interval"; 667 } 669 leaf bidirectional-max-delay { 670 type uint32; 671 units "microseconds"; 672 description 673 "To specify maximum Delay in both (forward and reverse) 674 directions during the measurement interval"; 675 } 677 } 679 grouping telemetry-delay-variance { 681 description 682 "Base telemetry delay variance parameters"; 684 leaf bidirectional-delay-variation { 685 type uint32; 686 units "microseconds"; 687 description 688 "To specify average Delay Variation in both 689 (forward and reverse) directions during the 690 measurement interval"; 691 } 693 } 695 grouping telemetry-packet-loss { 697 description 698 "Base telemetry packet loss parameters"; 700 leaf bidirectional-packet-loss { 701 type decimal64 { 702 fraction-digits 4; 703 range "0.0000..100.0000"; 704 } 705 units "percent"; 706 description 707 "To specify packet loss in in both (forward and reverse) 708 directions"; 709 } 710 } 712 grouping telemetry-bandwidth { 713 description 714 "Base telemetry bandwidth parameters"; 715 leaf utilized-bandwidth { 716 type rt-types:bandwidth-ieee-float32; 717 description 718 "To specify utilized bandwidth over the specified source 719 and destination in bytes per seconds."; 720 reference 721 "RFC 3471"; 722 } 723 leaf utilized-percentage { 724 type uint8; 725 units "percentage"; 726 description 727 "integer indicating a percentage value (0..100) for 728 utilization"; 729 } 731 } 733 grouping scaling-duration { 734 description 735 "Base scaling criteria durations"; 736 leaf threshold-time { 737 type uint32; 738 units "seconds"; 739 description 740 "The duration for which the criteria must hold true"; 741 } 743 leaf cooldown-time { 744 type uint32; 745 units "seconds"; 746 description 747 "The duration after a scaling-in/scaling-out action has been 748 triggered, for which there will be no further operation"; 749 } 750 } 752 grouping scaling-criteria { 753 description 754 "Grouping for scaling criteria"; 755 leaf performance-type { 756 type identityref { 757 base telemetry-param-type; 758 } 759 description 760 "Reference to the tunnel level telemetry type"; 761 } 763 leaf te-telemetry-tunnel-ref { 764 type leafref { 765 path "/te:te/te:tunnels/te:tunnel/te:name"; 766 } 767 description 768 "Reference to tunnel"; 769 } 770 } 772 grouping scaling-intent { 773 description 774 "Basic sclaing intent"; 776 uses scaling-duration; 778 leaf scale-in-operation-type { 779 type scaling-criteria-operation; 780 default AND; 781 description 782 "Operation to be applied to check between scaling criterias to 783 check if the scale in threshold condition has been met. 784 Defaults to AND"; 785 } 787 leaf scale-out-operation-type { 788 type scaling-criteria-operation; 789 default OR; 790 description 791 "Operation to be applied to check between scaling criterias to 792 check if the scale out threshold condition has been met. 793 Defauls to OR"; 794 } 796 list scaling-condition { 797 key "performance-type"; 798 description 799 "Scaling conditions"; 800 uses scaling-criteria; 801 } 803 } 805 grouping telemetry-param { 807 description 808 "Base telemetry parameters"; 809 leaf id { 810 type string; 811 description "Id of telemetry param"; 812 } 813 uses te-types:performance-metric-attributes; 815 uses telemetry-delay; 817 uses telemetry-delay-variance; 819 uses telemetry-packet-loss; 820 uses telemetry-bandwidth; 822 leaf te-ref{ 823 type leafref{ path '/te:te/te:tunnels/te:tunnel/te:name'; } 824 description "Reference to measured te tunnel"; 825 } 826 } 828 /* 829 * Augments 830 */ 832 augment "/te:te/te:tunnels/te:tunnel" { 834 description 835 "Augmentation parameters for state TE tunnel topologies."; 836 container te-telemetry { 837 description 838 "telemetry params"; 839 uses telemetry-param; 840 } 841 } 843 augment "/te:te/te:tunnels/te:tunnel" { 845 description 846 "Augmentation parameters for config scaling-criteria 847 TE tunnel topologies. Scale in/out criteria might be used 848 for network autonomics in order the controller 849 to react to a certain set of monitored params."; 851 container te-scaling-intent { 852 description 853 "scaling intent"; 855 container scale-in-intent{ 856 description 857 "scale-in"; 858 uses scaling-intent; 859 } 860 container scale-out-intent{ 861 description 862 "scale-out"; 864 uses scaling-intent; 865 } 866 } 867 } 869 } 871 873 6.2. ietf-actn-te-kpi-telemetry model 875 The YANG code is as follows: 877 file "ietf-actn-te-kpi-telemetry@2017-07-03.yang" 879 module ietf-actn-te-kpi-telemetry { 881 namespace 882 "urn:ietf:params:xml:ns:yang:ietf-actn-te-kpi-telemetry"; 884 prefix "actn-tel"; 886 import ietf-actn-vn { 887 prefix "actn-vn"; 888 } 890 import ietf-te-kpi-telemetry { 891 prefix "te-kpi"; 892 } 894 organization 895 "IETF Traffic Engineering Architecture and Signaling (TEAS) 896 Working Group"; 898 contact 899 "Editor: Young Lee 900 Editor: Dhruv Dhody 901 Editor: Ricard Vilalta 902 Editor: Satish Karunanithi "; 904 description 905 "This module describes telemetry for actn vn model"; 907 revision 2017-07-03 { 908 description 909 "Initial revision. This YANG file defines 910 the reusable base types for ACTN VN telemetry."; 911 reference 912 "xxx"; 913 } 915 /* 916 * Identities 917 */ 919 identity grouping-operation { 920 description "Base identity for operations to analize list of monitored param"; 921 } 923 identity minimum-grouping-operation { 924 base grouping-operation; 925 description 926 "Select the minimum param"; 927 } 929 identity maximum-grouping-operation { 930 base grouping-operation; 931 description 932 "Select the maximum param"; 933 } 935 identity mean-grouping-operation { 936 base grouping-operation; 937 description 938 "Select the MEAN of the params"; 939 } 941 identity stddev-grouping-operation { 942 base grouping-operation; 943 description 944 "Select the STD deviation of the params"; 945 } 947 identity sum-grouping-operation { 948 base grouping-operation; 949 description 950 "Select the sum of the params"; 951 reference 952 "RFC 7823"; 953 } 955 /* 956 * Groupings 957 */ 959 grouping vn-telemetry-param { 960 description 961 "telemetry-parameter for VN"; 962 uses te-kpi:telemetry-param; 963 } 964 grouping telemetry-grouping-op { 965 description 966 "Config how the VN telemetry should be applied"; 967 container grouping-op { 968 description 969 "The grouping operations"; 970 leaf delay-op { 971 type identityref { 972 base grouping-operation; 973 } 974 default maximum-grouping-operation; 975 description 976 "The operation that should be applied on the 977 VN-member telemetry to get the VN telemetry"; 978 } 980 leaf delay-variation-op { 981 type identityref { 982 base grouping-operation; 983 } 984 default maximum-grouping-operation; 985 description 986 "The operation that should be applied on the 987 VN-member telemetry to get the VN telemetry"; 988 } 990 leaf utilized-bandwidth-op { 991 type identityref { 992 base grouping-operation; 993 } 994 default maximum-grouping-operation; 995 description 996 "The operation that should be applied on the 997 VN-member telemetry to get the VN telemetry"; 998 } 999 } 1001 } 1003 /* 1004 * Augments 1005 */ 1006 augment "/actn-vn:actn/actn-vn:vn/actn-vn:vn-list" { 1007 description 1008 "Augmentation parameters for state TE VN topologies."; 1010 container vn-telemetry { 1011 description 1012 "VN telemetry configurations"; 1013 uses telemetry-grouping-op; 1014 uses vn-telemetry-param; 1015 } 1016 container vn-scaling-intent { 1017 description 1018 "scaling intent"; 1019 uses te-kpi:scaling-intent; 1020 } 1021 } 1023 /* 1024 * VN-member augment 1025 */ 1026 augment "/actn-vn:actn/actn-vn:vn/actn-vn:vn-list/" + 1027 "actn-vn:vn-member-list" { 1028 description 1029 "Augmentation parameters for state TE vn member 1030 topologies."; 1031 container vn-telemetry { 1032 description 1033 "VN Member config"; 1034 uses telemetry-grouping-op; 1035 uses vn-telemetry-param; 1036 } 1037 } 1038 } 1040 1042 7. Security Considerations 1044 The configuration, state, and action data defined in this document 1045 are designed to be accessed via a management protocol with a secure 1046 transport layer, such as NETCONF [RFC6241]. The NETCONF access 1047 control model [RFC6536] provides the means to restrict access for 1048 particular NETCONF users to a preconfigured subset of all available 1049 NETCONF protocol operations and content. 1051 A number of configuration data nodes defined in this document are 1052 writable/deletable (i.e., "config true") These data nodes may be 1053 considered sensitive or vulnerable in some network environments. 1055 8. IANA Considerations 1057 TDB 1059 9. Acknowledgements 1061 10. References 1063 10.1. Informative References 1065 [RFC4110] R. Callon and M. Suzuki, "A Framework for Layer 3 1066 Provider-Provisioned Virtual Private Networks (PPVPNs)", 1067 RFC 4110, July 2005. 1069 [RFC6020] M. Bjorklund, Ed., "YANG - A Data Modeling Language for 1070 the Network Configuration Protocol (NETCONF)", RFC 6020, 1071 October 2010. 1073 [Service-YANG] Q. Wu, W. Liu and A. Farrel, "Service Models 1074 Explained", draft-wu-opsawg-service-model-explained, work 1075 in progress. 1077 [Netmod-Yang-Model-Classification] D. Bogdanovic, B. Claise, and C. 1078 Moberg, "YANG Module Classification", draft-ietf-netmod- 1079 yang-model-classification, work in progress. 1081 [Netconf] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1082 and A. Bierman, Ed., "Network Configuration Protocol 1083 (NETCONF)", RFC 6241. 1085 [Restconf] A. Bierman, M. Bjorklund, and K. Watsen, "RESTCONF 1086 Protocol", draft-ietf-netconf-restconf, work in progress. 1088 [Routing-Types] X. Liu, et al, "Routing Area Common YANG Data 1089 Types", draft-ietf-rtgwg-routing-types, work in progress. 1091 10.2. Normative References 1093 [ACTN-Frame] D. Cecarelli and Y. Lee, "Framework for Abstraction and 1094 Control of Traffic Engineered Networks", draft-ietf-teas- 1095 actn-framework, work in progress. 1097 [TE-Topology] X. Liu, et al., "YANG Data Model for TE Topologies", 1098 draft-ietf-teas-yang-te-topo, work in progress. 1100 [TE-Tunnel] T. Saad (Editor), "A YANG Data Model for Traffic 1101 Engineering Tunnels and Interfaces", draft-ietf-teas-yang- 1102 te, work in progress. 1104 [ACTN-VN] Y. Lee (Editor), "A Yang Data Model for ACTN VN 1105 Operation", draft-lee-teas-actn-vn-yang, work in progress. 1107 [L3SM-YANG] S. Litkowski, L.Tomotaki, and K. Ogaki, "YANG Data Model 1108 for L3VPN service delivery", draft-ietf-l3sm-l3vpn- 1109 service-model, work in progress. 1111 [PCEP-Service-Aware] D. Dhody, et al., "Extensions to the Path 1112 Computation Element Communication Protocol (PCEP) to 1113 compute service aware Label Switched Path (LSP)", draft- 1114 ietf-pce-pcep-service-aware, work in progress. 1116 [ACTN-PERF] Y. XU, et al., "Use Cases and Requirements of Dynamic 1117 Service Control based on Performance Monitoring in ACTN 1118 Architecture", draft-xu-actn-perf-dynamic-service-control- 1119 03, work in progress. 1121 11. Contributors 1123 Authors' Addresses 1125 Young Lee 1126 Huawei Technologies 1127 5340 Legacy Drive Suite 173 1128 Plano, TX 75024, USA 1130 Email: leeyoung@huawei.com 1132 Dhruv Dhody 1133 Huawei Technology 1134 Leela Palace 1135 Bangalore, Karnataka 560008 1136 India 1138 Email: dhruv.dhody@huawei.com 1140 Satish Karunanithi 1141 Huawei Technology 1142 Leela Palace 1143 Bangalore, Karnataka 560008 1144 India 1146 Email: satish.karunanithi@gmail.com 1148 Ricard Vilalta 1149 Centre Tecnologic de Telecomunicacions de Catalunya (CTTC/CERCA) 1150 Av. Carl Friedrich Gauss 7 1151 08860 - Castelldefels 1152 Barcelona (Spain) 1153 Email: ricard.vilalta@cttc.es 1155 Daniel King 1156 Lancaster University 1158 Email: d.king@lancaster.ac.uk 1160 Daniele Ceccarelli 1161 Ericsson 1162 Torshamnsgatan,48 1163 Stockholm, Sweden 1165 Email: daniele.ceccarelli@ericsson.com