idnits 2.17.00 (12 Aug 2021) /tmp/idnits26911/draft-ietf-lime-yang-connectionless-oam-methods-00.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 24 instances of too long lines in the document, the longest one being 20 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 815 has weird spacing: '...aghavan srih...' == Line 816 has weird spacing: '...ao Wang wang...' == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (October 31, 2016) is 2027 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: 'RFC7276' is mentioned on line 202, but not defined == Missing Reference: 'RFC4443' is mentioned on line 89, but not defined == Missing Reference: 'RFC3688' is mentioned on line 990, but not defined == Unused Reference: 'RFC6242' is defined on line 1024, but no explicit reference was found in the text Summary: 1 error (**), 0 flaws (~~), 8 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group D. Kumar 3 Internet-Draft Cisco 4 Intended status: Standards Track M. Wang 5 Expires: May 4, 2017 Q. Wu 6 Huawei 7 R. Rahman 8 S. Raghavan 9 Cisco 10 October 31, 2016 12 Retrieval Methods YANG Data Model for Connectionless Operations, 13 Administration, and Maintenance(OAM) protocols 14 draft-ietf-lime-yang-connectionless-oam-methods-00 16 Abstract 18 This document presents a retrieval method YANG Data model for 19 connectionless OAM protocols. It provides a technology-independent 20 RPC commands for connectionless OAM protocols. The retrieval methods 21 model presented here can be extended to include technology specific 22 details. This is leading to uniformity between OAM protocols and 23 support nested OAM workflows (i.e., performing OAM functions at 24 different or same levels through a unified interface). 26 Status of This Memo 28 This Internet-Draft is submitted in full conformance with the 29 provisions of BCP 78 and BCP 79. 31 Internet-Drafts are working documents of the Internet Engineering 32 Task Force (IETF). Note that other groups may also distribute 33 working documents as Internet-Drafts. The list of current Internet- 34 Drafts is at http://datatracker.ietf.org/drafts/current/. 36 Internet-Drafts are draft documents valid for a maximum of six months 37 and may be updated, replaced, or obsoleted by other documents at any 38 time. It is inappropriate to use Internet-Drafts as reference 39 material or to cite them other than as "work in progress." 41 This Internet-Draft will expire on May 4, 2017. 43 Copyright Notice 45 Copyright (c) 2016 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 50 This document is subject to BCP 78 and the IETF Trust's Legal 51 Provisions Relating to IETF Documents 52 (http://trustee.ietf.org/license-info) in effect on the date of 53 publication of this document. Please review these documents 54 carefully, as they describe your rights and restrictions with respect 55 to this document. Code Components extracted from this document must 56 include Simplified BSD License text as described in Section 4.e of 57 the Trust Legal Provisions and are provided without warranty as 58 described in the Simplified BSD License. 60 Table of Contents 62 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 63 2. Conventions used in this document . . . . . . . . . . . . . . 3 64 2.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 3 65 2.2. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 66 3. Overview of the Connectionless OAM retrieval methods Model . 4 67 3.1. RPC definitions . . . . . . . . . . . . . . . . . . . . . 4 68 3.2. OAM Retrieval Methods Hierarchy . . . . . . . . . . . . . 8 69 4. OAM Retrieval Methods YANG Module . . . . . . . . . . . . . . 16 70 5. Security Considerations . . . . . . . . . . . . . . . . . . . 20 71 6. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 20 72 7. Normative References . . . . . . . . . . . . . . . . . . . . 20 73 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21 75 1. Introduction 77 Operations, Administration, and Maintenance (OAM) are important 78 networking functions that allow operators to: 80 1. Monitor networks connections (Reachability Verification, 81 Continuity Check). 83 2. Troubleshoot failures (Fault verification and localization). 85 3. Monitor Performance 87 An overview of OAM tools is presented at [RFC7276]. 89 Ping and Traceroute [RFC792], [RFC4443] are well-known fault 90 verification and isolation tools, respectively, for IP networks. 91 Over the years, different technologies have developed similar tools 92 for similar purposes. 94 In this document, we present a retrieval method YANG Data model for 95 connectionless OAM protocols. This module provides technology- 96 independent RPC commands for connectionless OAM protocols. It is 97 separated from the generic YANG model for connectionless OAM [lime 99 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 101 base model]and can avoid mixing the models for the retrieved-data 102 from the retrieval procedures. It is expected that retrieval 103 procedures would evolve faster than the data model[lime base model] 104 and will allow new procedures to be defined for retrieval of the same 105 data defined by the base data model. 107 2. Conventions used in this document 109 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 110 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 111 document are to be interpreted as described in [RFC2119]. 113 The following terms are defined in [RFC6241] and are not redefined 114 here: 116 o client 118 o configuration data 120 o server 122 o state data 124 The following terms are defined in [RFC6020] and are not redefined 125 here: 127 o augment 129 o data model 131 o data node 133 The terminology for describing YANG data models is found in 134 [RFC6020]. 136 2.1. Terminology 138 TP - Test Point 140 MAC - Media Access Control 142 RPC - A Remote Procedure Call, as used within the NETCONF protocol 144 2.2. Tree Diagrams 146 A simplified graphical representation of the data model is used in 147 this document. The meaning of the symbols in these diagrams is as 148 follows: 150 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 152 Each node is printed as: 154 156 is one of: 157 + for current 158 x for deprecated 159 o for obsolete 161 is one of: 163 rw for configuration data 164 ro for non-configuration data 165 -x for rpcs 166 -n for notifications 168 is the name of the node 170 If the node is augmented into the tree from another module, its name 171 is printed as :. 173 is one of: 175 ? for an optional leaf or choice 176 ! for a presence container 177 * for a leaf-list or list 178 [] for a list's keys 180 is the name of the type for leafs and leaf-lists 182 3. Overview of the Connectionless OAM retrieval methods Model 184 In this document, we present a retrieval method YANG Data model for 185 connectionless OAM protocols. This module provides technology- 186 independent retrieval procedures (RPC commands) for connectionless 187 OAM protocols. It will allow the user to flexibility to retrieve the 188 retrieved-data which defined by the base data model[lime base model]. 190 3.1. RPC definitions 192 The rpc model facilitates issuing commands to a NETCONF server (in 193 this case to the device that need to execute the OAM command) and 194 obtaining a response. 196 Under connectionless-oam-methods module, we summarize the common OAM 197 functions and define the generic rpc commands: continuity-check and 199 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 201 path-discovery. In practice, these commands are supported by 202 corresponding technology-specific OAM tools [RFC7276]. For example, 203 for the IP OAM model, the continuity-check rpc corresponds to the IP 204 Ping, while the path-discovery rpc command corresponds to IP 205 Traceroute. 207 Note that the rpc command presented in this document is the base 208 building block, which is used to derive a model for a technology- 209 specific OAM(i.e., icmp ping, lsp ping), the base building block 210 should be extended with corresponding technology specific parameters. 211 To facilitate this and for future enhancements to data retrieval 212 methods, the RPCs are captured under a separate module. 214 The generic path-discovery-data and continuity-check-data are used as 215 data outputs from the different RPCs described in the document. 216 Similar methods including other RPCs can retrieve the data using the 217 same data model. 219 rpc continuity-check { 220 if-feature coam:continuity-check; 221 description 222 "Generates continuity-check as per RFC7276."; 223 input { 224 container destination-tp { 225 uses coam:tp-address; 226 description 227 "destination test point."; 228 } 229 uses coam:session-type; 230 leaf source-interface { 231 type if:interface-ref; 232 description 233 "source interface."; 234 } 235 leaf outbound-interface { 236 type if:interface-ref; 238 description 239 "outbound interface."; 240 } 241 leaf count { 242 type uint32; 243 default "5"; 244 description 245 "Specifies the number of packets that will be sent."; 246 } 247 leaf vrf { 248 type coam:routing-instance-ref; 250 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 252 description 253 "vrf instance."; 254 } 255 leaf ttl { 256 type uint8; 257 default "255"; 258 description 259 "Time to live (TTL)."; 260 } 261 leaf packet-size { 262 type uint32 { 263 range "64..10000"; 264 } 265 default "64"; 266 description 267 "Size of ping echo request packets, in octets"; 268 } 269 } 270 output { 271 list error-code-list { 272 key "response-index"; 273 leaf response-index { 274 type uint32; 275 description 276 "response index."; 277 } 278 leaf status-code { 279 type int32; 280 description 281 "error code is "; 282 } 283 leaf status-sub-code { 284 type uint8; 285 description 286 "sub code."; 287 } 288 description 289 "error code list."; 290 } 292 uses coam:continuity-check-data; 293 } 294 } 296 rpc path-discovery { 297 description 298 "Generates path discovery as per RFC7276."; 299 input { 301 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 303 container destination-tp { 304 uses coam:tp-address; 305 description 306 "destination test point."; 307 } 308 uses coam:session-type; 309 leaf source-interface { 310 type if:interface-ref; 311 description 312 "source interface."; 313 } 314 leaf outbound-interface { 315 type if:interface-ref; 316 description 317 "outbound interface."; 318 } 319 leaf vrf { 320 type coam:routing-instance-ref; 321 description 322 "vrf"; 323 } 324 leaf max-ttl { 325 type uint8; 326 default "255"; 327 description 328 "max ttl."; 329 } 330 } 331 output { 332 list response-list { 333 key "response-index"; 334 description 335 "path discovery response list."; 336 leaf response-index { 337 type uint32; 338 description 339 "response index."; 340 } 341 leaf status-code { 342 type int32; 343 description 344 "error code is "; 345 } 346 leaf status-sub-code { 347 type uint8; 349 description 350 "sub code is "; 352 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 354 } 355 } 357 uses coam:path-discovery-data; 358 } 359 } 361 Snippet of data hierarchy related to rpc calls 363 3.2. OAM Retrieval Methods Hierarchy 365 The complete data hierarchy related to the Connectionless OAM 366 Retrieval Methods YANG model is presented below. 368 module: ietf-connectionless-oam-methods 369 rpcs: 370 +---x continuity-check {coam:continuity-check}? 371 | +---w input 372 | | +---w destination-tp 373 | | | +---w tp-address-type-value? identityref 374 | | | +---w (tp-address)? 375 | | | +--:(mac-address) 376 | | | | +---w mac-address? yang:mac-address 377 | | | +--:(ipv4-address) 378 | | | | +---w ipv4-address? inet:ipv4-address 379 | | | +--:(ipv6-address) 380 | | | | +---w ipv6-address? inet:ipv6-address 381 | | | +--:(src-dst-address) 382 | | | | +---w src-ip-address? inet:ip-address 383 | | | | +---w dst-ip-address? inet:ip-address 384 | | | | +---w Interface? if:interface-ref 385 | | | +--:(fec) 386 | | | | +---w fec-type? fec-type 387 | | | | +---w (fec-value)? 388 | | | | +--:(ip-prefix) 389 | | | | | +---w ip-prefix? inet:ip-prefix 390 | | | | +--:(bgp) 391 | | | | | +---w bgp? inet:ip-prefix 392 | | | | +--:(tunnel) 393 | | | | | +---w tunnel-interface? uint32 394 | | | | +--:(pw) 395 | | | | | +---w remote-pe-address? inet:ip-address 396 | | | | | +---w pw-id? uint32 397 | | | | +--:(vpls) 398 | | | | | +---w route-distinguisher? uint32 399 | | | | | +---w sender-ve-id? uint32 400 | | | | | +---w receiver-ve-id? uint32 402 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 404 | | | | +--:(mpls-mldp) 405 | | | | +---w (root-address)? 406 | | | | +--:(ip-address) 407 | | | | | +---w source-address? inet:ip-address 408 | | | | | +---w group-ip-address? IP-Multicast-Group-Address 409 | | | | +--:(vpn) 410 | | | | | +---w as-number? inet:as-number 411 | | | | +--:(global-id) 412 | | | | +---w lsp-id? string 413 | | | +--:(tlv-address) 414 | | | | +---w tlv-type? int16 415 | | | | +---w tlv-len? int16 416 | | | | +---w tlv-value? binary 417 | | | +--:(system-info) 418 | | | +---w system-id? inet:uri 419 | | +---w session-type-enum? enumeration 420 | | +---w source-interface? if:interface-ref 421 | | +---w outbound-interface? if:interface-ref 422 | | +---w count? uint32 423 | | +---w vrf? coam:routing-instance-ref 424 | | +---w ttl? uint8 425 | | +---w packet-size? uint32 426 | +--ro output 427 | +--ro error-code-list* [response-index] 428 | | +--ro response-index uint32 429 | | +--ro status-code? int32 430 | | +--ro status-sub-code? uint8 431 | +--ro src-test-point 432 | | +--ro vrf? routing-instance-ref 433 | | +--ro tp-address-type-value? identityref 434 | | +--ro (tp-address)? 435 | | | +--:(mac-address) 436 | | | | +--ro mac-address? yang:mac-address 437 | | | +--:(ipv4-address) 438 | | | | +--ro ipv4-address? inet:ipv4-address 439 | | | +--:(ipv6-address) 440 | | | | +--ro ipv6-address? inet:ipv6-address 441 | | | +--:(src-dst-address) 442 | | | | +--ro src-ip-address? inet:ip-address 443 | | | | +--ro dst-ip-address? inet:ip-address 444 | | | | +--ro Interface? if:interface-ref 445 | | | +--:(fec) 446 | | | | +--ro fec-type? fec-type 447 | | | | +--ro (fec-value)? 448 | | | | +--:(ip-prefix) 449 | | | | | +--ro ip-prefix? inet:ip-prefix 450 | | | | +--:(bgp) 451 | | | | | +--ro bgp? inet:ip-prefix 453 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 455 | | | | +--:(tunnel) 456 | | | | | +--ro tunnel-interface? uint32 457 | | | | +--:(pw) 458 | | | | | +--ro remote-pe-address? inet:ip-address 459 | | | | | +--ro pw-id? uint32 460 | | | | +--:(vpls) 461 | | | | | +--ro route-distinguisher? uint32 462 | | | | | +--ro sender-ve-id? uint32 463 | | | | | +--ro receiver-ve-id? uint32 464 | | | | +--:(mpls-mldp) 465 | | | | +--ro (root-address)? 466 | | | | +--:(ip-address) 467 | | | | | +--ro source-address? inet:ip-address 468 | | | | | +--ro group-ip-address? IP-Multicast-Group-Address 469 | | | | +--:(vpn) 470 | | | | | +--ro as-number? inet:as-number 471 | | | | +--:(global-id) 472 | | | | +--ro lsp-id? string 473 | | | +--:(tlv-address) 474 | | | | +--ro tlv-type? int16 475 | | | | +--ro tlv-len? int16 476 | | | | +--ro tlv-value? binary 477 | | | +--:(system-info) 478 | | | +--ro system-id? inet:uri 479 | | +--ro egress-intf-name? if:interface-ref 480 | +--ro dest-test-point 481 | | +--ro vrf? routing-instance-ref 482 | | +--ro tp-address-type-value? identityref 483 | | +--ro (tp-address)? 484 | | | +--:(mac-address) 485 | | | | +--ro mac-address? yang:mac-address 486 | | | +--:(ipv4-address) 487 | | | | +--ro ipv4-address? inet:ipv4-address 488 | | | +--:(ipv6-address) 489 | | | | +--ro ipv6-address? inet:ipv6-address 490 | | | +--:(src-dst-address) 491 | | | | +--ro src-ip-address? inet:ip-address 492 | | | | +--ro dst-ip-address? inet:ip-address 493 | | | | +--ro Interface? if:interface-ref 494 | | | +--:(fec) 495 | | | | +--ro fec-type? fec-type 496 | | | | +--ro (fec-value)? 497 | | | | +--:(ip-prefix) 498 | | | | | +--ro ip-prefix? inet:ip-prefix 499 | | | | +--:(bgp) 500 | | | | | +--ro bgp? inet:ip-prefix 501 | | | | +--:(tunnel) 502 | | | | | +--ro tunnel-interface? uint32 504 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 506 | | | | +--:(pw) 507 | | | | | +--ro remote-pe-address? inet:ip-address 508 | | | | | +--ro pw-id? uint32 509 | | | | +--:(vpls) 510 | | | | | +--ro route-distinguisher? uint32 511 | | | | | +--ro sender-ve-id? uint32 512 | | | | | +--ro receiver-ve-id? uint32 513 | | | | +--:(mpls-mldp) 514 | | | | +--ro (root-address)? 515 | | | | +--:(ip-address) 516 | | | | | +--ro source-address? inet:ip-address 517 | | | | | +--ro group-ip-address? IP-Multicast-Group-Address 518 | | | | +--:(vpn) 519 | | | | | +--ro as-number? inet:as-number 520 | | | | +--:(global-id) 521 | | | | +--ro lsp-id? string 522 | | | +--:(tlv-address) 523 | | | | +--ro tlv-type? int16 524 | | | | +--ro tlv-len? int16 525 | | | | +--ro tlv-value? binary 526 | | | +--:(system-info) 527 | | | +--ro system-id? inet:uri 528 | | +--ro ingress-intf-name? if:interface-ref 529 | +--ro sequence-number? uint64 530 | +--ro hop-cnt? uint8 531 | +--ro session-packet-statistics 532 | | +--ro rx-packet-count? uint32 533 | | +--ro tx-packet-count? uint32 534 | | +--ro rx-bad-packet? uint32 535 | | +--ro tx-packet-failed? uint32 536 | +--ro session-error-statistics 537 | | +--ro packet-drops-count? uint32 538 | | +--ro packet-reorder-count? uint32 539 | | +--ro packets-out-of-seq-count? uint32 540 | | +--ro packets-dup-count? uint32 541 | +--ro session-delay-statistics 542 | | +--ro time-resolution-value? identityref 543 | | +--ro min-delay-value? uint32 544 | | +--ro max-delay-value? uint32 545 | | +--ro average-delay-value? uint32 546 | +--ro session-jitter-statistics 547 | +--ro time-resolution-value? identityref 548 | +--ro min-jitter-value? uint32 549 | +--ro max-jitter-value? uint32 550 | +--ro average-jitter-value? uint32 551 +---x path-discovery 552 +---w input 553 | +---w destination-tp 555 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 557 | | +---w tp-address-type-value? identityref 558 | | +---w (tp-address)? 559 | | +--:(mac-address) 560 | | | +---w mac-address? yang:mac-address 561 | | +--:(ipv4-address) 562 | | | +---w ipv4-address? inet:ipv4-address 563 | | +--:(ipv6-address) 564 | | | +---w ipv6-address? inet:ipv6-address 565 | | +--:(src-dst-address) 566 | | | +---w src-ip-address? inet:ip-address 567 | | | +---w dst-ip-address? inet:ip-address 568 | | | +---w Interface? if:interface-ref 569 | | +--:(fec) 570 | | | +---w fec-type? fec-type 571 | | | +---w (fec-value)? 572 | | | +--:(ip-prefix) 573 | | | | +---w ip-prefix? inet:ip-prefix 574 | | | +--:(bgp) 575 | | | | +---w bgp? inet:ip-prefix 576 | | | +--:(tunnel) 577 | | | | +---w tunnel-interface? uint32 578 | | | +--:(pw) 579 | | | | +---w remote-pe-address? inet:ip-address 580 | | | | +---w pw-id? uint32 581 | | | +--:(vpls) 582 | | | | +---w route-distinguisher? uint32 583 | | | | +---w sender-ve-id? uint32 584 | | | | +---w receiver-ve-id? uint32 585 | | | +--:(mpls-mldp) 586 | | | +---w (root-address)? 587 | | | +--:(ip-address) 588 | | | | +---w source-address? inet:ip-address 589 | | | | +---w group-ip-address? IP-Multicast-Group-Address 590 | | | +--:(vpn) 591 | | | | +---w as-number? inet:as-number 592 | | | +--:(global-id) 593 | | | +---w lsp-id? string 594 | | +--:(tlv-address) 595 | | | +---w tlv-type? int16 596 | | | +---w tlv-len? int16 597 | | | +---w tlv-value? binary 598 | | +--:(system-info) 599 | | +---w system-id? inet:uri 600 | +---w session-type-enum? enumeration 601 | +---w source-interface? if:interface-ref 602 | +---w outbound-interface? if:interface-ref 603 | +---w vrf? coam:routing-instance-ref 604 | +---w max-ttl? uint8 606 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 608 +--ro output 609 +--ro response-list* [response-index] 610 | +--ro response-index uint32 611 | +--ro status-code? int32 612 | +--ro status-sub-code? uint8 613 +--ro src-test-point 614 | +--ro vrf? routing-instance-ref 615 | +--ro tp-address-type-value? identityref 616 | +--ro (tp-address)? 617 | +--:(mac-address) 618 | | +--ro mac-address? yang:mac-address 619 | +--:(ipv4-address) 620 | | +--ro ipv4-address? inet:ipv4-address 621 | +--:(ipv6-address) 622 | | +--ro ipv6-address? inet:ipv6-address 623 | +--:(src-dst-address) 624 | | +--ro src-ip-address? inet:ip-address 625 | | +--ro dst-ip-address? inet:ip-address 626 | | +--ro Interface? if:interface-ref 627 | +--:(fec) 628 | | +--ro fec-type? fec-type 629 | | +--ro (fec-value)? 630 | | +--:(ip-prefix) 631 | | | +--ro ip-prefix? inet:ip-prefix 632 | | +--:(bgp) 633 | | | +--ro bgp? inet:ip-prefix 634 | | +--:(tunnel) 635 | | | +--ro tunnel-interface? uint32 636 | | +--:(pw) 637 | | | +--ro remote-pe-address? inet:ip-address 638 | | | +--ro pw-id? uint32 639 | | +--:(vpls) 640 | | | +--ro route-distinguisher? uint32 641 | | | +--ro sender-ve-id? uint32 642 | | | +--ro receiver-ve-id? uint32 643 | | +--:(mpls-mldp) 644 | | +--ro (root-address)? 645 | | +--:(ip-address) 646 | | | +--ro source-address? inet:ip-address 647 | | | +--ro group-ip-address? IP-Multicast-Group-Address 648 | | +--:(vpn) 649 | | | +--ro as-number? inet:as-number 650 | | +--:(global-id) 651 | | +--ro lsp-id? string 652 | +--:(tlv-address) 653 | | +--ro tlv-type? int16 654 | | +--ro tlv-len? int16 655 | | +--ro tlv-value? binary 657 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 659 | +--:(system-info) 660 | +--ro system-id? inet:uri 661 +--ro dest-test-point 662 | +--ro vrf? routing-instance-ref 663 | +--ro tp-address-type-value? identityref 664 | +--ro (tp-address)? 665 | +--:(mac-address) 666 | | +--ro mac-address? yang:mac-address 667 | +--:(ipv4-address) 668 | | +--ro ipv4-address? inet:ipv4-address 669 | +--:(ipv6-address) 670 | | +--ro ipv6-address? inet:ipv6-address 671 | +--:(src-dst-address) 672 | | +--ro src-ip-address? inet:ip-address 673 | | +--ro dst-ip-address? inet:ip-address 674 | | +--ro Interface? if:interface-ref 675 | +--:(fec) 676 | | +--ro fec-type? fec-type 677 | | +--ro (fec-value)? 678 | | +--:(ip-prefix) 679 | | | +--ro ip-prefix? inet:ip-prefix 680 | | +--:(bgp) 681 | | | +--ro bgp? inet:ip-prefix 682 | | +--:(tunnel) 683 | | | +--ro tunnel-interface? uint32 684 | | +--:(pw) 685 | | | +--ro remote-pe-address? inet:ip-address 686 | | | +--ro pw-id? uint32 687 | | +--:(vpls) 688 | | | +--ro route-distinguisher? uint32 689 | | | +--ro sender-ve-id? uint32 690 | | | +--ro receiver-ve-id? uint32 691 | | +--:(mpls-mldp) 692 | | +--ro (root-address)? 693 | | +--:(ip-address) 694 | | | +--ro source-address? inet:ip-address 695 | | | +--ro group-ip-address? IP-Multicast-Group-Address 696 | | +--:(vpn) 697 | | | +--ro as-number? inet:as-number 698 | | +--:(global-id) 699 | | +--ro lsp-id? string 700 | +--:(tlv-address) 701 | | +--ro tlv-type? int16 702 | | +--ro tlv-len? int16 703 | | +--ro tlv-value? binary 704 | +--:(system-info) 705 | +--ro system-id? inet:uri 706 +--ro sequence-number? uint64 708 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 710 +--ro hop-cnt? uint8 711 +--ro session-packet-statistics 712 | +--ro rx-packet-count? uint32 713 | +--ro tx-packet-count? uint32 714 | +--ro rx-bad-packet? uint32 715 | +--ro tx-packet-failed? uint32 716 +--ro session-error-statistics 717 | +--ro packet-drops-count? uint32 718 | +--ro packet-reorder-count? uint32 719 | +--ro packets-out-of-seq-count? uint32 720 | +--ro packets-dup-count? uint32 721 +--ro session-delay-statistics 722 | +--ro time-resolution-value? identityref 723 | +--ro min-delay-value? uint32 724 | +--ro max-delay-value? uint32 725 | +--ro average-delay-value? uint32 726 +--ro session-jitter-statistics 727 | +--ro time-resolution-value? identityref 728 | +--ro min-jitter-value? uint32 729 | +--ro max-jitter-value? uint32 730 | +--ro average-jitter-value? uint32 731 +--ro path-verification 732 | +--ro flow-info? string 733 | +--ro session-path-verification-statistics 734 | +--ro verified-count? uint32 735 | +--ro failed-count? uint32 736 +--ro path-trace-info 737 +--ro path-trace-info-list* [index] 738 +--ro index uint32 739 +--ro vrf? routing-instance-ref 740 +--ro tp-address-type-value? identityref 741 +--ro (tp-address)? 742 | +--:(mac-address) 743 | | +--ro mac-address? yang:mac-address 744 | +--:(ipv4-address) 745 | | +--ro ipv4-address? inet:ipv4-address 746 | +--:(ipv6-address) 747 | | +--ro ipv6-address? inet:ipv6-address 748 | +--:(src-dst-address) 749 | | +--ro src-ip-address? inet:ip-address 750 | | +--ro dst-ip-address? inet:ip-address 751 | | +--ro Interface? if:interface-ref 752 | +--:(fec) 753 | | +--ro fec-type? fec-type 754 | | +--ro (fec-value)? 755 | | +--:(ip-prefix) 756 | | | +--ro ip-prefix? inet:ip-prefix 757 | | +--:(bgp) 759 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 761 | | | +--ro bgp? inet:ip-prefix 762 | | +--:(tunnel) 763 | | | +--ro tunnel-interface? uint32 764 | | +--:(pw) 765 | | | +--ro remote-pe-address? inet:ip-address 766 | | | +--ro pw-id? uint32 767 | | +--:(vpls) 768 | | | +--ro route-distinguisher? uint32 769 | | | +--ro sender-ve-id? uint32 770 | | | +--ro receiver-ve-id? uint32 771 | | +--:(mpls-mldp) 772 | | +--ro (root-address)? 773 | | +--:(ip-address) 774 | | | +--ro source-address? inet:ip-address 775 | | | +--ro group-ip-address? IP-Multicast-Group-Address 776 | | +--:(vpn) 777 | | | +--ro as-number? inet:as-number 778 | | +--:(global-id) 779 | | +--ro lsp-id? string 780 | +--:(tlv-address) 781 | | +--ro tlv-type? int16 782 | | +--ro tlv-len? int16 783 | | +--ro tlv-value? binary 784 | +--:(system-info) 785 | +--ro system-id? inet:uri 786 +--ro timestamp-val? yang:date-and-time 787 +--ro ingress-intf-name? if:interface-ref 788 +--ro egress-intf-name? if:interface-ref 789 +--ro app-meta-data? uint32 791 data hierarchy of OAM Retrieval Methods 793 4. OAM Retrieval Methods YANG Module 795 file "ietf-connectionless-oam-methods.yang" 797 module ietf-connectionless-oam-methods { 798 namespace "urn:ietf:params:xml:ns:yang:ietf-connectionless-oam-methods"; 799 prefix coam-methods; 801 import ietf-interfaces { 802 prefix if; 803 } 804 import ietf-connectionless-oam { 805 prefix coam; 806 } 808 organization "IETF LIME Working Group"; 810 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 812 contact 813 "Deepak Kumar dekumar@cisco.com 814 Qin Wu bill.wu@huawei.com 815 S Raghavan srihari@cisco.com 816 Zitao Wang wangzitao@huawei.com 817 R Rahman rrahman@cisco.com"; 819 description 820 "This YANG module defines the RPCs for , 821 connectionless OAM to be used within IETF 822 in a protocol Independent manner. 823 Functional level abstraction is indendent with 824 YANG modeling. It is assumed that each protocol maps 825 corresponding abstracts to its native format. 826 Each protocol may extend the YANG model defined 827 here to include protocol specific extensions"; 828 revision 2016-06-23 { 829 description 830 "06 version"; 831 reference ""; 832 } 834 rpc continuity-check { 835 if-feature coam:continuity-check; 836 description 837 "Generates continuity-check as per RFC7276."; 838 input { 839 container destination-tp { 840 uses coam:tp-address; 841 description 842 "destination test point."; 843 } 844 uses coam:session-type; 845 leaf source-interface { 846 type if:interface-ref; 847 description 848 "source interface."; 849 } 850 leaf outbound-interface { 851 type if:interface-ref; 853 description 854 "outbound interface."; 855 } 856 leaf count { 857 type uint32; 858 default "5"; 859 description 861 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 863 "Specifies the number of packets that will be sent."; 864 } 865 leaf vrf { 866 type coam:routing-instance-ref; 867 description 868 "vrf instance."; 869 } 871 leaf ttl { 872 type uint8; 873 default "255"; 874 description 875 "Time to live (TTL)."; 876 } 877 leaf packet-size { 878 type uint32 { 879 range "64..10000"; 880 } 881 default "64"; 882 description 883 "Size of ping echo request packets, in octets"; 884 } 885 } 886 output { 887 list error-code-list { 888 key "response-index"; 889 leaf response-index { 890 type uint32; 891 description 892 "response index."; 893 } 894 leaf status-code { 895 type int32; 896 description 897 "error code is "; 898 } 899 leaf status-sub-code { 900 type uint8; 901 description 902 "sub code."; 903 } 904 description 905 "error code list."; 906 } 908 uses coam:continuity-check-data; 909 } 910 } 912 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 914 rpc path-discovery { 915 description 916 "Generates path discovery as per RFC7276."; 917 input { 918 container destination-tp { 919 uses coam:tp-address; 920 description 921 "destination test point."; 923 } 924 uses coam:session-type; 925 leaf source-interface { 926 type if:interface-ref; 927 description 928 "source interface."; 929 } 930 leaf outbound-interface { 931 type if:interface-ref; 932 description 933 "outbound interface."; 934 } 935 leaf vrf { 936 type coam:routing-instance-ref; 937 description 938 "vrf"; 939 } 940 leaf max-ttl { 941 type uint8; 942 default "255"; 943 description 944 "max ttl."; 945 } 946 } 947 output { 948 list response-list { 949 key "response-index"; 950 description 951 "path discovery response list."; 952 leaf response-index { 953 type uint32; 954 description 955 "response index."; 956 } 957 leaf status-code { 958 type int32; 959 description 960 "error code is "; 961 } 963 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 965 leaf status-sub-code { 966 type uint8; 968 description 969 "sub code is "; 970 } 971 } 973 uses coam:path-discovery-data; 975 } 976 } 977 } 979 YANG module of OAM 981 983 5. Security Considerations 985 TBD. 987 6. IANA Considerations 989 This document registers a URI in the IETF XML registry [RFC3688] 990 [RFC3688]. Following the format in RFC 3688, the following 991 registration is requested to be made: 993 URI: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam 995 Registrant Contact: The IESG. 997 XML: N/A, the requested URI is an XML namespace. 999 This document registers a YANG module in the YANG Module Names 1000 registry [RFC6020]. 1002 name: ietf-connectionless-oam namespace: urn:ietf:params:xml:ns:yang:ietf-connectionless-oam 1003 prefix: goam reference: RFC XXXX 1005 7. Normative References 1007 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1008 Requirement Levels", BCP 14, RFC 2119, 1009 DOI 10.17487/RFC2119, March 1997, 1010 . 1012 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 1014 [RFC6020] Bjorklund, M., Ed., "YANG - A Data Modeling Language for 1015 the Network Configuration Protocol (NETCONF)", RFC 6020, 1016 DOI 10.17487/RFC6020, October 2010, 1017 . 1019 [RFC6241] Enns, R., Ed., Bjorklund, M., Ed., Schoenwaelder, J., Ed., 1020 and A. Bierman, Ed., "Network Configuration Protocol 1021 (NETCONF)", RFC 6241, DOI 10.17487/RFC6241, June 2011, 1022 . 1024 [RFC6242] Wasserman, M., "Using the NETCONF Protocol over Secure 1025 Shell (SSH)", RFC 6242, DOI 10.17487/RFC6242, June 2011, 1026 . 1028 [RFC792] Postel, J., "Internet Control Message Protocol", RFC 792, 1029 September 1981. 1031 Authors' Addresses 1033 Deepak Kumar 1034 CISCO Systems 1035 510 McCarthy Blvd 1036 Milpitas, CA 95035 1037 USA 1039 Email: dekumar@cisco.com 1041 Michael Wang 1042 Huawei Technologies,Co.,Ltd 1043 101 Software Avenue, Yuhua District 1044 Nanjing 210012 1045 China 1047 Email: wangzitao@huawei.com 1049 Qin Wu 1050 Huawei 1051 101 Software Avenue, Yuhua District 1052 Nanjing, Jiangsu 210012 1053 China 1055 Email: bill.wu@huawei.com 1057 Internet-DrafRetrieval Methods Connection-Less OAM YANG mod October 2016 1059 Reshad Rahman 1060 CISCO Systems 1061 2000 Innovation Drive 1062 KANATA, ONTARIO K2K 3E8 1063 CANADA 1065 Email: rrahman@cisco.com 1067 Srihari Raghavan 1068 CISCO Systems 1069 TRIL INFOPARK SEZ, Ramanujan IT City 1070 NEVILLE BLOCK, 2nd floor, Old Mahabalipuram Road 1071 CHENNAI, TAMIL NADU 600113 1072 INDIA 1074 Email: srihari@cisco.com