idnits 2.17.1 draft-wang-yang-bfd-oam-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 33 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 652 has weird spacing: '...on-type uin...' == Line 675 has weird spacing: '...UdpPort uint3...' == Line 687 has weird spacing: '...ub-type ident...' == Line 700 has weird spacing: '...on-type uin...' == Line 727 has weird spacing: '...UdpPort uint3...' == (7 more instances...) -- The document date (October 27, 2014) is 3468 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: 'LIOAM' is mentioned on line 195, but not defined == Outdated reference: A later version (-06) exists of draft-tissa-lime-yang-oam-model-02 Summary: 1 error (**), 0 flaws (~~), 9 warnings (==), 1 comment (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Z. Wang 3 Internet-Draft Q. Wu 4 Intended status: Standards Track Huawei 5 Expires: April 30, 2015 October 27, 2014 7 A YANG Data Model for BFD Operations, Administration, and Maintenance 8 (OAM) 9 draft-wang-yang-bfd-oam-00 11 Abstract 13 This document presents the YANG Data model for BFD OAM. The YANG 14 Model presented in this document extends the YANG model for Layer 15 independent OAM Management with BFD technology specifics. 17 Status of This Memo 19 This Internet-Draft is submitted in full conformance with the 20 provisions of BCP 78 and BCP 79. 22 Internet-Drafts are working documents of the Internet Engineering 23 Task Force (IETF). Note that other groups may also distribute 24 working documents as Internet-Drafts. The list of current Internet- 25 Drafts is at http://datatracker.ietf.org/drafts/current/. 27 Internet-Drafts are draft documents valid for a maximum of six months 28 and may be updated, replaced, or obsoleted by other documents at any 29 time. It is inappropriate to use Internet-Drafts as reference 30 material or to cite them other than as "work in progress." 32 This Internet-Draft will expire on April 30, 2015. 34 Copyright Notice 36 Copyright (c) 2014 IETF Trust and the persons identified as the 37 document authors. All rights reserved. 39 This document is subject to BCP 78 and the IETF Trust's Legal 40 Provisions Relating to IETF Documents 41 (http://trustee.ietf.org/license-info) in effect on the date of 42 publication of this document. Please review these documents 43 carefully, as they describe your rights and restrictions with respect 44 to this document. Code Components extracted from this document must 45 include Simplified BSD License text as described in Section 4.e of 46 the Trust Legal Provisions and are provided without warranty as 47 described in the Simplified BSD License. 49 Table of Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 52 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 2 53 2.1. Tree Diagrams . . . . . . . . . . . . . . . . . . . . . . 3 54 3. Architecture of OAM YANG Model and Relationship to BFD OAM . 4 55 4. BFD extensions to Management YANG Model . . . . . . . . . . 4 56 4.1. Source MEP/Destination MEP . . . . . . . . . . . . . . . 5 57 4.2. Identity technology-sub-type . . . . . . . . . . . . . . 6 58 4.3. Context-id . . . . . . . . . . . . . . . . . . . . . . . 6 59 4.4. Session type . . . . . . . . . . . . . . . . . . . . . . 7 60 4.5. Session Interval . . . . . . . . . . . . . . . . . . . . 9 61 4.6. rpc definitions . . . . . . . . . . . . . . . . . . . . . 10 62 4.7. Notification definitions . . . . . . . . . . . . . . . . 14 63 5. OAM Data Hierarchy . . . . . . . . . . . . . . . . . . . . . 14 64 6. OAM YANG Module . . . . . . . . . . . . . . . . . . . . . . . 19 65 7. Default Mode for BFD OAM . . . . . . . . . . . . . . . . . . 38 66 8. Security Considerations . . . . . . . . . . . . . . . . . . . 38 67 9. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 38 68 10. Normative References . . . . . . . . . . . . . . . . . . . . 38 69 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 39 71 1. Introduction 73 This document presents the YANG Data model for BFD OAM [RFC5880]. 74 The YANG Model presented in this document extends the YANG model for 75 Layer Independent OAM Management defined in [I-D.tissa-lime-yang-oam- 76 model] and [I-D.wang-lime-rpc-yang-oam-management] 78 2. Conventions and Terminology 80 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 81 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 82 document are to be interpreted as described in [RFC2119]. 84 The following terms are defined in [RFC6241] and are not redefined 85 here: 87 o client 89 o configuration data 91 o server 93 o state data 95 The following terms are defined in [RFC6020] and are not redefined 96 here: 98 o augment 100 o data model 102 o data node 104 The terminology for describing YANG data models is found in 105 [RFC6020]. 107 2.1. Tree Diagrams 109 A simplified graphical representation of the data model is used in 110 this document. The meaning of the symbols in these diagrams is as 111 follows: 113 Each node is printed as: 115 117 is one of: 118 + for current 119 x for deprecated 120 o for obsolete 122 is one of: 124 rw for configuration data 125 ro for non-configuration data 126 -x for rpcs 127 -n for notifications 129 is the name of the node 131 If the node is augmented into the tree from another module, its name 132 is printed as :. 134 is one of: 136 ? for an optional leaf or choice 137 ! for a presence container 138 * for a leaf-list or list 139 [] for a list's keys 141 is the name of the type for leafs and leaf-lists 143 3. Architecture of OAM YANG Model and Relationship to BFD OAM 145 Layer independent OAM YANG model[I-D.tissa-lime-yang-oam-model] and 146 [I-D.wang-lime-rpc-yang-oam-management] is used as the basis for all 147 the other OAM YANG models. This allows users to span across OAM 148 tools of different technologies through a uniform API. The following 149 Figure depicts the relationship of BFD OAM YANG model to the Layer 150 Independent OAM YANG Model. 152 +-+-+-+-+-+ 153 | Layer | 154 |independent 155 |OAM YANG | 156 +-+-+-+-+-+ 157 | 158 O 159 | 160 +--------------------------------------------------+ 161 | | | 162 +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ 163 | Tissa | | BFD | . . .| foo | 164 |OAM YANG | |OAM YANG | |OAM YANG | 165 +-+-+-+-+-+ +-+-+-+-+-+ +-+-+-+-+-+ 166 | | | 167 | | | 168 | | | 169 +----------------------------------------------------+ 170 | Uniform API | 171 +----------------------------------------------------+ 173 Relationship of BFD OAM YANG model to Layer independent OAM YANG 174 model 176 4. BFD extensions to Management YANG Model 178 The Technology parameter is defined in the [I-D.tissa-lime-yang-oam- 179 model] and [I-D.wang-lime-rpc-yang-oam-management] as an identity. 180 This allows easy extension of the YANG model by other technologies. 181 Technology specific extensions are applied only when the technology 182 is set to the specific type. "bfd" is defined as an identity that 183 augments the base technology-types identity. 185 identity bfd { 186 base gen-oam:technology-types; 187 description 188 "bfd type"; 189 } 190 Figure 2 BFD identity type. 192 4.1. Source MEP/Destination MEP 194 In BFD, the MEP ADDRESS is either the IPv4 or IPV6 address. In 195 [LIOAM], MEP ADDRESS is defined as either IP address, or MAC address 196 or any label value and the same definition can be used for BFD. In 197 addition, in bfd, the udp port also is used to identify the port 198 number associated with MEP for BFD session. 200 augment 201 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP" { 203 leaf bfdSess-Source-UdpPort { 204 description 205 " This leaf specifies the source UDP port number used 206 for this BFD session's Control packets. The value may be 207 zero(0) if the session is in adminDown(1) state. Upon 208 creation of a new BFD session via this, the value of 209 zero(0) specified would permit the implementation to 210 choose its own source port number "; 211 type uint32; 212 } 213 leaf bfdSess-echoSrc-Udp{ 214 description 215 " This leaf specifies the source UDP port number used for 216 this BFD session's Echo packets. The value may be zero(0) 217 if the session is not running in the Echo mode, or the 218 session is in adminDown(1) state. Upon creation of a new 219 BFD session via this, the value of zero(0) would 220 permit the implementation to choose its own source port 221 number "; 222 type uint32; 223 } 224 } 226 augment 227 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP /moam:session " { 228 leaf bfdSess-Destination-UdpPort { 229 description 230 " This leaf specifies the destination UDP port number 231 used for this BFD session's Control packets. The value 232 may be zero(0) if the session is in adminDown(1) state"; 233 type uint32; 234 } 235 } 237 4.2. Identity technology-sub-type 239 In BFD, different encapsulation types such as IP/UDP, PW-ACH can be 240 employed. "technology-sub-type" identifies the encapsulation type 241 within the BFD. Technology sub-type is defined as an identity type. 242 This allows different encapsulation types to augment BFD OAM YANG 243 model to include encapsulation type specific extensions without 244 redefining common BFD definitions 246 augment "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA " { 247 leaf technology-sub-type { 248 type identityref { 249 base technology-sub-type; 250 } 251 } 252 } 254 4.3. Context-id 256 In BFD context-id is a pair of 32 bit Discriminators 257 (SessDiscriminator,remotSessDiscriminator). This allows other 258 technologies to easily augment that to include technology specific 259 extensions. The snippet below depicts an example of augmenting 260 context-id to include Discriminator. 262 augment 263 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/ gen-oam:context-id " 264 { 265 case context-id-bfdsess { 266 leaf bfdsess-discriminator { 267 type uint32; 268 description 269 " This leaf specifies the local discriminator for this BFD 270 session, which is used to uniquely identify it "; 271 } 272 leaf bfdsess-remotediscr { 273 type uint32; 274 description 275 " This leaf specifies the session discriminator chosen 276 by the remote system for this BFD session. The value may 277 be zero(0) if the remote discriminator is not yet known 278 or if the session is in the down or adminDown(1) state "; 279 } 280 leaf bfdsess-dismap-index { 281 type uint32; 282 description 283 " This leaf specifies a mapping between a 284 local discriminator and a BFD session "; 285 } 286 } 287 } 289 4.4. Session type 291 The BFD session have several configuration data to specify the 292 session configuration information. i.e.The bfdsess-version-num 293 indicate the he version number of the BFD protocol that this session 294 is running in. And the bfdsess-demandmode-desired indicates the 295 local system's desire to use Demand mode. The bfdsess-controlplanel- 296 indep indicates the local system's ability to continue to function 297 through a disruption of the control plane. And the bfdsess-authpres 298 indicates the local system's desire to use authentication. 300 augment 301 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session " { 302 list session-type-bfd { 303 key " bfdsess-type "; 304 leaf bfdsess-version-num { 305 type uint32; 306 description 307 " The version number of the BFD protocol that this session 308 is running in. Write access is available for this object 309 to provide the ability to set the desired version for this 310 BFD session "; 311 } 312 leaf bfdsess-type { 313 type uint32; 314 description 315 " This leaf specifies the type of this BFD session "; 316 } 317 leaf bfdsess-oper-mode { 318 type uint32; 319 description 320 " This object specifies the operational mode of this 321 BFD session "; 322 } 323 leaf bfdsess-demandmode-desired { 324 type boolean; 325 description 326 " This leaf indicates the local system's 327 desire to use Demand mode. Specifically, it is set 328 to true(1) if the local system wishes to use 329 Demand mode or false(2) if not "; 330 } 331 leaf bfdsess-controlplanel-indep { 332 type boolean; 333 description 334 " This leaf indicates the local system's 335 ability to continue to function through a disruption of 336 the control plane. Specifically, it is set 337 to true(1) if the local system BFD implementation is 338 independent of the control plane. Otherwise, the 339 value is set to false(2) "; 340 } 341 leaf bfdsess-multi-point { 342 type boolean; 343 description 344 " This leaf indicates the Multipoint (M) bit for this 345 session. It is set to true(1) if the Multipoint (M) bit is 346 set to 1. Otherwise, the value is set to false(2) "; 347 } 348 leaf bfdsess-detect-mult { 349 type uint32; 350 description 351 " This leaf specifies the Detect time multiplier "; 352 } 353 leaf bfdsess-authpres { 354 type boolean; 355 description 356 " This leaf indicates the local system's 357 desire to use authentication. Specifically, it is set 358 to true(1) if the local system wishes the session 359 to be authenticated or false(2) if not"; 360 } 361 leaf bfdsess-authentication-type { 362 type uint32; 363 description 364 " The authentication type used for this BFD session. 365 This field is valid only when the Authentication 366 Present bit is set "; 367 } 368 } 369 } 371 4.5. Session Interval 373 In BFD, there may exist several interval such as: bfdSess- 374 DesiredMinTx-Intervl,bfdSess-ReqMinRx-Interval, bfdSess-ReqMinEchoRx- 375 Interval,bfdSess-Negotiated-Interval,bfdSess-NegotiatedEcho-Interval. 377 The bfdSess-DesiredMinTX-Interval can specifies the minimum interval 378 that the local system would like to use when transmitting BFD Control 379 packets. 381 The bfdSess-ReqMinRx-interval specifies the minimum interval between 382 received BFD Echo packets that this system is capable of supporting. 384 The bfdSess-ReqMinEchoRx-Interval specifies the minimum interval, 385 between received BFD Echo packets that this system is capable of 386 supporting. 388 The bfdSess-Negotiated-Interval specifies the minimum interval, in 389 microseconds, between received BFD Echo packets that this system is 390 capable of supporting. 392 The bfdSess-NegotiatedEcho-Interval specifies the negotiated 393 interval, in microseconds, that the local system is transmitting BFD 394 Control packets. 396 augment 397 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP /gen-oam:session/gen-oam:interval " { 398 choice bfdSess-DesiredMinTx-Interval { 399 type uint32; 400 } 401 choice bfdSess-ReqMinRx-Interval { 402 type uint32; 403 } 404 choice bfdSess-ReqMinEchoRx-Interval { 405 type uint32; 406 } 407 choice bfdSess-Negotiated-Interval { 408 type uint32; 409 } 410 choice bfdSess-NegotiatedEcho-Interval { 411 type uint32; 412 } 413 } 415 4.6. rpc definitions 417 The rpc model facilitates issuing commands to a NETCONF server (in 418 this case to the device that need to execute the OAM command) and 419 obtaining a response. 421 CC extension: 423 augment "/ gen-oam:cc/ gen-oam:output/ gen-oam: maintenance-stats " { 424 case session-perform-bfd { 425 leaf bfdSess-PerfCtrlPkt-In { 426 type uint32; 427 description 428 " The total number of BFD control messages received for this 429 BFD session"; 430 } 431 leaf bfdSess-PerfCtrlPkt-Out { 432 type uint32; 433 description 434 " The total number of BFD control messages sent for this BFD 435 session"; 436 } 437 leaf bfdSess-PerfCtrlPkt-Drop { 438 type uint32; 439 description 440 " The total number of BFD control messages received for this 441 session yet dropped for being invalid "; 442 } 443 leaf bfdSess-PerfCtrlPktDrop-LastTime { 444 type uint32; 445 description 446 " The value of sysUpTime on the most recent occasion at 447 which received the BFD control message for this session was 448 dropped. If no such up event exists, this object contains 449 a zero value "; 450 } 451 leaf bfdSess-PerfEchoPkt-In { 452 type uint32; 453 description 454 " The total number of BFD Echo messages received for this 455 BFD session "; 456 } 457 leaf bfdSess-PerfEchoPkt-Out { 458 type uint32; 459 description 460 " The total number of BFD Echo messages sent for this BFD 461 session "; 462 } 463 leaf bfdSess-PerfEchoPkt-Drop { 464 type uint32; 465 description 466 " The total number of BFD Echo messages received for this 467 session yet dropped for being invalid "; 468 } 469 leaf bfdSess-PerfEchoPktDrop-LastTime { 470 type uint32; 471 description 472 " The value of sysUpTime on the most recent occasion at 473 which received the BFD Echo message for this session was 474 dropped. If no such up event has been issued, this 475 object contains a zero value "; 476 } 477 leaf bfdSess-UpTime { 478 type uint32; 479 description 480 "The value of sysUpTime on the most recent occasion at which 481 the session came up. If no such event has been issued, 482 this object contains a zero value"; 483 } 484 leaf bfdSess-PerfLastSessDownTime { 485 type uint32; 486 description 487 " The value of sysUpTime on the most recent occasion at 488 which the last time communication was lost with the 489 neighbor. If no down event has been issued, this object 490 contains a zero value "; 491 } 493 leaf bfdSess-PerfLastCommLostDiag { 494 type uint32; 495 description 496 " The BFD diag code for the last time communication was lost 497 with the neighbor. If such an event has not been issued, 498 this object contains a zero value"; 499 } 500 leaf bfdSess-PerfSess-UpCount { 501 type uint32; 502 description 503 " The number of times this session has gone into the Up 504 state since the system last rebooted "; 505 } 506 leaf bfdSess-Perf-DiscTime { 507 type uint32; 508 description 509 " The value of sysUpTime on the most recent occasion at 510 which any one or more of the session counters suffered 511 a discontinuity "; 512 } 513 } 514 } 516 CV extension: 518 augment "/ gen-oam: cv / gen-oam:output/ gen-oam: maintenance-stats " { 519 case session-perform-bfdctr { 520 leaf bfdSess-PerfCtrlPkt-In { 521 type uint32; 522 description 523 " The total number of BFD control messages received for this 524 BFD session"; 525 } 526 leaf bfdSess-PerfCtrlPkt-Out { 527 type uint32; 528 description 529 " The total number of BFD control messages sent for this BFD 530 session"; 531 } 532 leaf bfdSess-PerfCtrlPkt-Drop { 533 type uint32; 534 description 535 " The total number of BFD control messages received for this 536 session yet dropped for being invalid "; 537 } 538 leaf bfdSess-PerfCtrlPktDrop-LastTime { 539 type uint32; 540 description 541 " The value of sysUpTime on the most recent occasion at 542 which received the BFD control message for this session was 543 dropped. If no such up event exists, this object contains 544 a zero value "; 545 } 546 } 547 leaf bfdSess-UpTime { 548 type uint32; 549 description 550 "The value of sysUpTime on the most recent occasion at which 551 the session came up. If no such event has been issued, 552 this object contains a zero value"; 553 } 554 leaf bfdSess-PerfLastSessDownTime { 555 type uint32; 556 description 557 " The value of sysUpTime on the most recent occasion at 558 which the last time communication was lost with the 559 neighbor. If no down event has been issued, this object 560 contains a zero value "; 561 } 562 leaf bfdSess-PerfLastCommLostDiag { 563 type uint32; 564 description 565 " The BFD diag code for the last time communication was lost 566 with the neighbor. If such an event has not been issued, 567 this object contains a zero value"; 568 } 569 leaf bfdSess-PerfSess-UpCount { 570 type uint32; 571 description 572 " The number of times this session has gone into the Up 573 state since the system last rebooted "; 574 } 575 leaf bfdSess-Perf-DiscTime { 576 type uint32; 577 description 578 " The value of sysUpTime on the most recent occasion at 579 which any one or more of the session counters suffered 580 a discontinuity "; 581 } 582 } 583 } 585 4.7. Notification definitions 587 In BFD, the bfdsess-admin-status, bfdsess-oper-status, bfdsess-status 588 and the bfdsess-remote-heard are used to indicate the session status. 589 i.e. the bfdsess-admin-status denotes the desired operational status 590 of the BFD session. And the bfdsess-oper-status denotes the actual 591 operational status of the BFD session. The bfdsess-status is used to 592 indicate the BFD session state. And the bfdsess-oper-status 593 specifies the status of BFD packet reception from the remote system. 595 augment"/gen-oam:notifications/gen-oam:defect-condition-notification" { 596 leaf bfdsess-admin-status { 597 type enumeration{ 598 enum enabled(1); 599 enum disabled(2); 600 enum adminDown(3); 601 enum down(4); 602 }; 603 } 604 leaf bfdsess-oper-status { 605 type enumeration{ 606 enum up(1); 607 enum down(2); 608 enum adminDown(3); 609 }; 610 } 611 leaf bfdsess-status { 612 type uint32; 613 } 614 leaf bfdsess-remote-heard { 615 type boolean; 616 } 617 } 619 5. OAM Data Hierarchy 621 The complete data hierarchy related to the OAM YANG model is 622 presented below. 624 augment 625 / gen-oam:domains/ gen-oam:domain/ gen-oam:MAs/gen-oam:MA: 626 +--rw technology-sub-type 628 augment 629 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP: 630 +--:(bfdsrc-mep-udp) 631 +--rw bfdSess-Source-UdpPort? uint32 632 +--rw bfdSess-echoSrc-UdpPort? uint32 634 augment 635 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session: 636 +--rw session-status-bfd* [bfdsess-status] 637 +--rw bfdsess-admin-status? enumeration 638 +--rw bfdsess-oper-status? enumeration 639 +--rw bfdsess-status? uint32 640 +--rw bfdsess-remote-heard? boolean 641 augment 642 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session: 643 +--rw session-type* [bfdsess-type] 644 +--rw bfdsess-version-num? uint32 645 +--rw bfdsess-type? uint32 646 +--rw bfdsess-oper-mode? uint32 647 +--rw bfdsess-demandmode-desired? boolean 648 +--rw bfdsess-controlplanel-indep? boolean 649 +--rw bfdsess-multi-point? boolean 650 +--rw bfdsess-detect-mult? uint32 651 +--rw bfdsess-authpres? boolean 652 +--rw bfdsess-authentication-type uint32 654 augment 655 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/ gen-oam:context-id: 656 +--:(context-id-bfdsess) 657 +--rw bfdsess-discriminator? uint32 658 +--rw bfdsess-remotediscr? uint32 659 +--rw bfdsess-dismap-index? uint32 661 augment 662 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session: 663 +--rw bfdsess-authentication*[ bfdsess-authentication-key] 664 +--rw bfdsess-authentication-keyid? uint32 665 +--rw bfdsess-authentication-key? uint32 667 augment 668 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session: 669 +--rw bfd-addr-type* [bfdSess-SrcAddr-Type, bfdSess-DstAddr-Type] 670 +--rw bfdSess-SrcAddr-Type uint32 671 +--rw bfdSess-DstAddr-Type uint32 673 augment 674 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session: 675 +--rw bfdSess-Destination-UdpPort uint32 677 augment 678 /gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session/gen-oam:interval: 679 +--rw bfdSess-DesiredMinTx-Interval? uint32 680 +--rw bfdSess-ReqMinRx-Interval? uint32 681 +--rw bfdSess-ReqMinEchoRx-Interval? unit32 682 +--rw bfdSess-Negotiated-Interval? uint32 683 +--rw bfdSess-NegotiatedEcho-Interval? uint32 685 augment 686 /gen-oam:cc/gen-oam:input: 687 +--ro technology-sub-type identityref 689 augment 690 /gen-oam:cc/gen-oam:input: 691 +--ro session-type* [bfdsess-type] 692 +--ro bfdsess-version-num? uint32 693 +--ro bfdsess-type? uint32 694 +--ro bfdsess-oper-mode? uint32 695 +--ro bfdsess-demandmode-desired? boolean 696 +--ro bfdsess-controlplanel-indep? boolean 697 +--ro bfdsess-multi-point? boolean 698 +--ro bfdsess-detect-mult? uint32 699 +--ro bfdsess-authpres? boolean 700 +--ro bfdsess-authentication-type uint32 702 augment 703 /gen-oam:cc/gen-oam:input: 704 +--ro (context-id)? 705 +--:(context-id-bfdsess) 706 +--ro bfdsess-discriminator? uint32 707 +--ro bfdsess-remotediscr? uint32 708 +--ro bfdsess-dismap-index? uint32 710 augment 711 /gen-oam:cc/gen-oam:input: 712 +--ro bfdsess-authentication*[bfdsess-authentication-key] 713 +--ro bfdsess-authentication-keyid? uint32 714 +--ro bfdsess-authentication-key? uint32 716 augment 717 /gen-oam:cc/gen-oam:input: 718 +--ro bfd-addr-type* [bfdSess-SrcAddr-Type,bfdSess-DstAddr-Type] 719 +--ro bfdSess-SrcAddr-Type uint32 720 +--ro bfdSess-DstAddr-Type uint32 721 augment 722 /gen-oam:cc/gen-oam:input/gen-oam:source-mep: 723 +--rw bfdSess-Source-UdpPort? uint32 724 +--rw bfdSess-echoSrc-UdpPort? uint32 725 augment 726 /gen-oam:cc/gen-oam:input/gen-oam:destination-mep: 727 +--rw bfdSess-Destination-UdpPort uint32 728 augment 729 /gen-oam:cc/gen-oam:input: 731 +--ro session-interface if:interface-ref 733 augment 734 /gen-oam:cc/gen-oam:input: 735 +--ro session-ttl uint32 737 augment 738 /gen-oam:cc/gen-oam:input: 739 +--ro bfdSess-DesiredMinTx-Interval? uint32 740 +--ro bfdSess-ReqMinRx-Interval? uint32 741 +--ro bfdSess-ReqMinEchoRx-Interval? unit32 742 +--ro bfdSess-Negotiated-Interval? uint32 743 +--ro bfdSess-NegotiatedEcho-Interval? uint32 744 augment 745 /gen-oam:cc/gen-oam:output/gen-oam:source-mep: 746 +--rw bfdSess-echoSrc-UdpPort? uint32 748 augment 749 /gen-oam:cc/gen-oam:output/gen-oam:destination-mep: 750 +--rw bfdSess-Destination-UdpPort uint32 751 augment 752 /gen-oam:cc/gen-oam:output/gen-oam:maintenance-stats: 753 +--:(session-perform-bfd) 754 +--ro bfdSess-PerfCtrlPkt-In? uint32 755 +--ro bfdSess-PerfCtrlPkt-Out? uint32 756 +--ro bfdSess-PerfCtrlPkt-Drop? unit32 757 +--ro bfdSess-PerfCtrlPktDrop-LastTime? uint32 758 +--ro bfdSess-PerfEchoPkt-In? uint32 759 +--ro bfdSess-PerfEchoPkt-Out? uint32 760 +--ro bfdSess-PerfEchoPkt-Drop? unit32 761 +--ro bfdSess-PerfEchoPktDrop-LastTime? uint32 762 +--ro bfdSess-UpTime? uint32 763 +--ro bfdSess-PerfLastSessDownTime? uint32 764 +--ro bfdSess-PerfLastCommLostDiag? uint32 765 +--ro bfdSess-PerfSess-UpCount? uint32 766 +--ro bfdSess-Perf-DiscTime? uint32 768 augment 769 /gen-oam:cv/gen-oam:input: 770 +--ro technology-sub-type identityref 772 augment 773 /gen-oam:cv/gen-oam:input: 774 +--ro session-type-bfd* [bfdsess-type] 775 +--ro bfdsess-version-num? uint32 776 +--ro bfdsess-type? uint32 777 +--ro bfdsess-oper-mode? uint32 778 +--ro bfdsess-demandmode-desired? boolean 779 +--ro bfdsess-controlplanel-indep? boolean 780 +--ro bfdsess-multi-point? boolean 781 +--ro bfdsess-detect-mult? uint32 782 +--ro bfdsess-authpres? boolean 783 +--ro bfdsess-authentication-type uint32 785 augment 786 /gen-oam:cv/gen-oam:input: 787 +--ro (context-id)? 788 +--:(context-id-bfdsess) 789 +--ro bfdsess-discriminator? uint32 790 +--ro bfdsess-remotediscr? uint32 791 +--ro bfdsess-dismap-index? uint32 793 augment 794 /gen-oam:cv/gen-oam:input: 795 +--ro bfdsess-authentication*[bfdsess-authentication-key] 796 +--ro bfdsess-authentication-keyid? uint32 797 +--ro bfdsess-authentication-key? uint32 799 augment 800 /gen-oam:cv/gen-oam:input: 801 +--ro bfd-addr-type* [bfdSess-SrcAddr-Type,bfdSess-DstAddr-Type] 802 +--ro bfdSess-SrcAddr-Type uint32 803 +--ro bfdSess-DstAddr-Type uint32 804 augment 805 /gen-oam:cv/gen-oam:input/gen-oam:source-mep: 806 +--rw bfdSess-Source-UdpPort? uint32 808 augment 809 /gen-oam:cv/gen-oam:input/gen-oam:destination-mep: 810 +--rw bfdSess-Destination-UdpPort uint32 811 augment 812 /gen-oam:cv/gen-oam:input: 813 +--ro session-interface if:interface-ref 815 augment 816 /gen-oam:cv/gen-oam:input: 817 +--ro session-ttl uint32 819 augment 820 /gen-oam:cv/gen-oam:input: 821 +--ro bfdSess-DesiredMinTx-Interval? uint32 822 +--ro bfdSess-ReqMinRx-Interval? uint32 823 +--ro bfdSess-ReqMinEchoRx-Interval? uint32 824 +--ro bfdSess-Negotiated-Interval? uint32 825 +--ro bfdSess-NegotiatedEcho-Interval? uint32 826 augment 827 /gen-oam:cv/gen-oam:output/gen-oam:source-mep: 828 +--rw bfdSess-echoSrc-UdpPort? uint32 830 augment 831 /gen-oam:cv/gen-oam:output/gen-oam:destination-mep: 832 +--rw bfdSess-Destination-UdpPort uint32 833 augment 834 /gen-oam:cv/gen-oam:output/gen-oam:maintenance-stats: 835 +--:(session-perform-bfd) 836 +--ro bfdSess-PerfCtrlPkt-In? uint32 837 +--ro bfdSess-PerfCtrlPkt-Out? uint32 838 +--ro bfdSess-PerfCtrlPkt-Drop? unit32 839 +--ro bfdSess-PerfCtrlPktDrop-LastTime? uint32 840 +--ro bfdSess-UpTime? uint32 841 +--ro bfdSess-PerfLastSessDownTime? uint32 842 +--ro bfdSess-PerfLastCommLostDiag? uint32 843 +--ro bfdSess-PerfSess-UpCount? uint32 844 +--ro bfdSess-Perf-DiscTime? uint32 846 Augment 847 /gen-oam:notifications/gen-oam:defect-condition-notification: 848 +--ro session-status * [bfdsess-status] 849 +--ro bfdsess-admin-status? enumeration 850 +--ro bfdsess-oper-status? enumeration 851 +--ro bfdsess-status? uint32 852 +--ro bfdsess-remote-heard? boolean 854 Data hierarchy of BFD OAM 856 6. OAM YANG Module 858 file "xxx.yang" 860 file "xxx.yang" 861 module bfd { 862 namespace "urn:ietf:params:xml:ns:yang:bfd"; 863 prefix bfd; 865 import ietf-management-oam { 866 prefix goam; 867 } 868 import ietf-inet-types { 869 prefix inet; 870 } 871 import ietf-interfaces { 872 prefix if; 873 } 874 import ietf-yang-types { 875 prefix yang; 876 } 878 revision 2014-08-30 { 879 description 880 "Initial revision."; 881 } 883 identity bfd { 884 base bfd:technology-types; 885 description 886 "bfd type"; 887 } 889 identity bfd { 890 base moam:command-sub-type; 891 } 893 identity bfd-contiuity-check { 894 base moam:command-sub-type; 895 } 897 identity bfd-connectity-verification { 898 base moam:command-sub-type; 899 } 901 identity technology-sub-type { 902 description 903 " In BFD, different encapsulation types such as IP/UDP, PW-ACH can be employed. 904 "technology-sub-type" further identifies the encapsulation type within the BFD. 905 Technology sub-type is defined as an identity type. This allows different 906 encapsulation types to augment BFD OAM YANG model to include encapsulation 907 type specific extensions without redefining common BFD definitions. 908 Instead of defining seperate models for each such encapsulation 909 we define technology sub type. Technology subtype is associated at MEG level" } 911 augment "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA " { 912 leaf technology-sub-type { 913 type identityref { 914 base technology-sub-type; 915 } 916 } 917 } 919 augment 920 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/ gen-oam:session "{ 921 list session-status { 922 key " bfdsess-status "; 923 leaf bfdsess-admin-status { 924 type enumeration{ 925 enum enabled(1); 926 enum disabled(2); 927 enum adminDown(3); 928 enum down(4); 929 }; 930 description 931 " Denotes the desired operational status of the BFD session. 933 A transition to enabled(1) will start the BFD state machine 934 for the session. The state machine will have an initial 935 state of down(2). 937 A transition to disabled(2) will stop the BFD state machine 938 for the session. The state machine may first transition to 939 adminDown(1) prior to stopping. 941 A transition to adminDown(3) will cause the BFD state 942 machine to transition to adminDown(1) and will cause the 943 session to remain in this state. 945 A transition to down(4) will cause the BFD state machine 946 to transition to down(2) and will cause the session to 947 remain in this state"; 948 } 949 leaf bfdsess-oper-status { 950 type enumeration{ 951 enum up(1); 952 enum down(2); 953 enum adminDown(3); 954 }; 955 description 956 " Denotes the actual operational status of the BFD session. 957 If the value of bfdOperStatus is down(2), this value MUST 958 eventually be down(2) as well. If the value of 959 bfdOperStatus is adminDown(3), this value MUST eventually 960 be adminDown(3) as well "; 961 } 962 leaf bfdsess-status { 963 type uint32; 964 description 965 " Configured BFD session state "; 966 } 967 leaf bfdsess-remote-heard { 968 type boolean; 969 description 970 " This leaf specifies the status of BFD packet reception from 971 the remote system. Specifically, it is set to true(1) if 972 the local system is actively receiving BFD packets from the 973 remote system and is set to false(2) if the local system 974 has not received BFD packets recently (within the detection 975 time) or if the local system is attempting to tear down 976 the BFD session "; 977 } 978 } 979 } 980 augment 981 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP / gen-oam:session " { 982 list session-type { 983 key " bfdsess-type "; 984 leaf bfdsess-version-num { 985 type uint32; 986 description 987 " The version number of the BFD protocol that this session 988 is running in. Write access is available for this object 989 to provide the ability to set the desired version for this 990 BFD session "; 991 } 992 leaf bfdsess-type { 993 type uint32; 994 description 995 " This leaf specifies the type of this BFD session "; 996 } 997 leaf bfdsess-oper-mode { 998 type uint32; 999 description 1000 " This object specifies the operational mode of this 1001 BFD session "; 1002 } 1003 leaf bfdsess-demandmode-desired { 1004 type boolean; 1005 description 1006 " This leaf indicates the local system's 1007 desire to use Demand mode. Specifically, it is set 1008 to true(1) if the local system wishes to use 1009 Demand mode or false(2) if not "; 1010 } 1011 leaf bfdsess-controlplanel-indep { 1012 type boolean; 1013 description 1014 " This leaf indicates the local system's 1015 ability to continue to function through a disruption of 1016 the control plane. Specifically, it is set 1017 to true(1) if the local system BFD implementation is 1018 independent of the control plane. Otherwise, the 1019 value is set to false(2) "; 1020 } 1021 leaf bfdsess-multi-point { 1022 type boolean; 1023 description 1024 " This leaf indicates the Multipoint (M) bit for this 1025 session. It is set to true(1) if the Multipoint (M) bit is 1026 set to 1. Otherwise, the value is set to false(2) "; 1027 } 1028 leaf bfdsess-detect-mult { 1029 type uint32; 1030 description 1031 " This leaf specifies the Detect time multiplier "; 1032 } 1033 leaf bfdsess-authpres { 1034 type boolean; 1035 description 1036 " This leaf indicates the local system's 1037 desire to use authentication. Specifically, it is set 1038 to true(1) if the local system wishes the session 1039 to be authenticated or false(2) if not"; 1040 } 1041 leaf bfdsess-authentication-type { 1042 type uint32; 1043 description 1044 " The authentication type used for this BFD session. 1045 This field is valid only when the Authentication 1046 Present bit is set "; 1047 } 1048 } 1049 } 1051 augment 1052 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/ gen-oam:context-id " { 1053 case context-id-bfdsess { 1054 leaf bfdsess-discriminator { 1055 type uint32; 1056 description 1057 " This leaf specifies the local discriminator for this BFD 1058 session, which is used to uniquely identify it "; 1059 } 1060 leaf bfdsess-remotediscr { 1061 type uint32; 1062 description 1063 " This leaf specifies the session discriminator chosen 1064 by the remote system for this BFD session. The value may 1065 be zero(0) if the remote discriminator is not yet known 1066 or if the session is in the down or adminDown(1) state "; 1067 } 1068 leaf bfdsess-dismap-index{ 1069 type uint32; 1070 description 1071 " This leaf specifies a mapping between a 1072 local discriminator and a BFD session "; 1073 } 1074 } 1075 } 1077 augment 1078 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP / gen-oam:session " { 1079 list bfdsess-authentication { 1080 key " bfdsess-authentication-keyid,bfdsess-authentication-key "; 1081 leaf bfdsess-authentication-keyid { 1082 type uint32; 1083 description 1084 " This leaf specifies the authentication key ID in use for this session. 1085 This object permits multiple keys to be active simultaneously. 1086 The value -1 indicates that no authentication key ID will 1087 be present in the optional BFD Authentication Section "; 1088 } 1089 leaf bfdsess-authentication-key { 1090 type uint32; 1091 description 1092 " This leaf specifies the authentication key. When the 1093 bfdSess-Authentication-Type is simplePassword(1), the value 1094 of this object is the password present in the BFD packets. 1095 When the bfdSess-Authentication-Type is one of the keyed 1096 authentication types, this value is used in the 1097 computation of the key present in the BFD authentication 1098 packet "; 1099 } 1100 } 1101 } 1102 augment 1103 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP / gen-oam:session " { 1104 list bfd-addr-type { 1105 key " bfdSess-SrcAddr-Type,bfdSess-DstAddr-Type "; 1106 leaf bfdSess-SrcAddr-Type { 1107 description 1108 " This leaf specifies the IP address type of the source IP 1109 address of this BFD session. The value of unknown(0) is 1110 allowed only when the session is singleHop(1) and the 1111 source IP address of this BFD session is derived from 1112 the outgoing interface, or when the BFD session is not 1113 associated with a specific interface. If any other 1114 unsupported values are attempted in a set operation, the 1115 agent MUST return an inconsistentValue error "; 1116 type uint32; 1117 } 1118 leaf bfdSess-DstAddr-Type { 1119 description 1120 " This leaf specifies the IP address type of the neighboring 1121 IP address that is being monitored with this BFD session. 1122 The value of unknown(0) is allowed only when the session is 1123 singleHop(1) and the outgoing interface is of type 1124 point to point, or when the BFD session is not associated 1125 with a specific interface. If any other unsupported values 1126 are attempted in a set operation, the agent MUST return an 1127 inconsistentValue error "; 1128 type uint32; 1129 } 1131 } 1132 } 1134 augment 1135 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP"{ 1137 leaf bfdSess-Source-UdpPort { 1138 description 1139 " This leaf specifies the source UDP port number used 1140 for this BFD session's Control packets. The value may be 1141 zero(0) if the session is in adminDown(1) state. Upon 1142 creation of a new BFD session via this, the value of 1143 zero(0) specified would permit the implementation to 1144 choose its own source port number "; 1145 type uint32; 1146 } 1147 leaf bfdSess-echoSrc-Udp{ 1148 description 1149 " This leaf specifies the source UDP port number used for 1150 this BFD session's Echo packets. The value may be zero(0) 1151 if the session is not running in the Echo mode, or the 1152 session is in adminDown(1) state. Upon creation of a new 1153 BFD session via this, the value of zero(0) would 1154 permit the implementation to choose its own source port 1155 number "; 1156 type uint32; 1157 } 1158 } 1159 augment 1160 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP/moam:session "{ 1162 leaf bfdSess-Destination-UdpPort { 1163 description 1164 " This leaf specifies the destination UDP port number 1165 used for this BFD session's Control packets. The value 1166 may be zero(0) if the session is in adminDown(1) state"; 1167 type uint32; 1168 } 1169 } 1171 augment 1172 "/gen-oam:domains/gen-oam:domain/gen-oam:MAs/gen-oam:MA/gen-oam:MEP 1173 /gen-oam:session/gen-oam:interval " { 1174 choice bfdSess-DesiredMinTx-Interval { 1175 description 1176 " This leaf specifies the minimum interval, in 1177 microseconds, that the local system would like to use 1178 when transmitting BFD Control packets. The value of 1179 zero(0) is reserved in this case and should not be 1180 used "; 1181 type uint32; 1182 } 1183 choice bfdSess-ReqMinRx-Interval { 1184 description 1185 " This leaf specifies the minimum interval, in 1186 microseconds, between received BFD Control packets the 1187 local system is capable of supporting. The value of 1188 zero(0) can be specified when the transmitting system 1189 does not want the remote system to send any periodic BFD 1190 Control packets "; 1191 type uint32; 1192 } 1193 choice bfdSess-ReqMinEchoRx-Interval { 1194 description 1195 " This leaf specifies the minimum interval, in 1196 microseconds, between received BFD Echo packets that this 1197 system is capable of supporting. The value must be zero(0) if 1198 this is a multihop BFD session "; 1199 type uint32; 1200 } 1201 choice bfdSess-Negotiated-Interval { 1202 description 1203 " This leaf specifies the negotiated interval, in 1204 microseconds, that the local system is transmitting 1205 BFD Control packets "; 1206 type uint32; 1207 } 1208 choice bfdSess-NegotiatedEcho-Interval { 1209 description 1210 " This leaf specifies the negotiated interval, in 1211 microseconds, that the local system is transmitting 1212 BFD Echo packets. The value is expected to be zero if 1213 the sessions are not running in Echo mode "; 1214 type uint32; 1215 } 1216 } 1218 augment "/gen-oam:cc/gen-oam:input " { 1219 leaf technology-sub-type { 1220 type identityref { 1221 base technology-sub-type; 1222 } 1223 } 1224 } 1226 augment "/gen-oam:cc/gen-oam:input " { 1227 list session-type{ 1228 key " bfdsess-type "; 1229 leaf bfdsess-version-num { 1230 type uint32; 1231 } 1232 leaf bfdsess-type { 1233 type uint32; 1234 } 1235 leaf bfdsess-oper-mode { 1236 type uint32; 1237 } 1238 leaf bfdsess-demandmode-desired { 1239 type boolean; 1240 } 1241 leaf bfdsess-controlplanel-indep { 1242 type boolean; 1243 } 1244 leaf bfdsess-multi-point { 1245 type boolean; 1246 } 1247 leaf bfdsess-detect-mult { 1248 type uint32; 1249 } 1251 leaf bfdsess-authpres { 1252 type boolean; 1253 } 1254 leaf bfdsess-authentication-type { 1255 type uint32; 1256 } 1257 } 1258 } 1260 augment 1261 "/gen-oam:cc/gen-oam:input " { 1262 list session-status { 1263 key " bfdsess-status " 1264 leaf bfdsess-admin-status { 1265 type enumeration{ 1266 enum enabled(1); 1267 enum disabled(2); 1268 enum adminDown(3); 1269 enum down(4); 1270 }; 1271 } 1272 leaf bfdsess-oper-status { 1273 type enumeration{ 1274 enum up(1); 1275 enum down(2); 1276 enum adminDown(3); 1277 }; 1278 } 1279 leaf bfdsess-status { 1280 type uint32; 1281 } 1282 leaf bfdsess-remote-heard { 1283 type boolean; 1284 } 1285 } 1286 } 1288 augment 1289 "/gen-oam:cc/gen-oam:input " { 1290 choice context-id{ 1291 case context-id-bfdsess { 1292 leaf bfdsess-discriminator { 1293 type uint32; 1294 } 1295 leaf bfdsess-remotediscr { 1296 type uint32; 1297 } 1299 leaf bfdsess-dismap-index { 1300 type uint32; 1301 } 1302 } 1303 } 1304 } 1306 augment 1307 "/gen-oam:cc/gen-oam:input " { 1308 list bfdsess-authentication { 1309 key"bfdsess-authentication-keyid,bfdsess-authentication-key "; 1310 leaf bfdsess-authentication-keyid { 1311 type uint32; 1312 } 1313 leaf bfdsess-authentication-key { 1314 type uint32; 1315 } 1316 } 1317 } 1319 augment 1320 "/gen-oam:cc/gen-oam:input " { 1322 leaf bfdSess-SrcAddr-Type { 1323 type uint32; 1324 } 1325 leaf bfdSess-DstAddr-Type { 1326 type uint32; 1327 } 1328 } 1329 } 1331 augment 1332 "/gen-oam:cc/gen-oam:input " { 1333 leaf bfdSess-Source-UdpPort{ 1334 type uint32; 1335 } 1336 leaf bfdSess-echoSrc-Udp{ 1337 type uint32; 1338 } 1339 } 1340 augment 1341 "/gen-oam:cc/gen-oam:input " { 1342 leaf bfdSess-Destination-UdpPort { 1343 type uint32; 1344 } 1345 } 1346 augment 1347 "/gen-oam:cc/gen-oam:input "{ 1348 list session-interval { 1349 key " bfdSess-DesiredMinTx-Interval "; 1350 leaf bfdSess-DesiredMinTx-Interval { 1351 type uint32; 1352 } 1353 leaf bfdSess-ReqMinRx-Interval { 1354 type uint32; 1355 } 1356 leaf bfdSess-ReqMinEchoRx-Interval { 1357 type uint32; 1358 } 1359 leaf bfdSess-Negotiated-Interval { 1360 type uint32; 1361 } 1362 leaf bfdSess-NegotiatedEcho-Interval { 1363 type uint32; 1364 } 1365 } 1366 } 1368 augment 1369 "/gen-oam:cc/gen-oam:output " { 1371 leaf bfdSess-Source-UdpPort { 1372 type uint32; 1373 } 1374 leaf bfdSess-echoSrc-Udp{ 1375 type uint32; 1376 } 1377 } 1378 augment 1379 "/gen-oam:cc/gen-oam:output " { 1380 leaf bfdSess-Destination-UdpPort { 1381 type uint32; 1382 } 1383 } 1385 augment 1386 "/gen-oam:cc/gen-oam:output /gen-oam: maintenance-stats " { 1387 case session-perform-bfd { 1388 leaf bfdSess-PerfCtrlPkt-In { 1389 type uint32; 1390 description 1391 " The total number of BFD control messages received for this 1392 BFD session"; 1393 } 1395 leaf bfdSess-PerfCtrlPkt-Out { 1396 type uint32; 1397 description 1398 " The total number of BFD control messages sent for this BFD 1399 session"; 1400 } 1401 leaf bfdSess-PerfCtrlPkt-Drop { 1402 type uint32; 1403 description 1404 " The total number of BFD control messages received for this 1405 session yet dropped for being invalid "; 1406 } 1407 leaf bfdSess-PerfCtrlPktDrop-LastTime { 1408 type uint32; 1409 description 1410 " The value of sysUpTime on the most recent occasion at 1411 which received the BFD control message for this session was 1412 dropped. If no such up event exists, this object contains 1413 a zero value "; 1414 } 1415 leaf bfdSess-PerfEchoPkt-In { 1416 type uint32; 1417 description 1418 " The total number of BFD Echo messages received for this 1419 BFD session "; 1420 } 1421 leaf bfdSess-PerfEchoPkt-Out { 1422 type uint32; 1423 description 1424 " The total number of BFD Echo messages sent for this BFD 1425 session "; 1426 } 1427 leaf bfdSess-PerfEchoPkt-Drop { 1428 type uint32; 1429 description 1430 " The total number of BFD Echo messages received for this 1431 session yet dropped for being invalid "; 1432 } 1433 leaf bfdSess-PerfEchoPktDrop-LastTime { 1434 type uint32; 1435 description 1436 " The value of sysUpTime on the most recent occasion at 1437 which received the BFD Echo message for this session was 1438 dropped. If no such up event has been issued, this 1439 object contains a zero value "; 1440 } 1441 leaf bfdSess-UpTime { 1442 type uint32; 1444 description 1445 "The value of sysUpTime on the most recent occasion at which 1446 the session came up. If no such event has been issued, 1447 this object contains a zero value"; 1448 } 1449 leaf bfdSess-PerfLastSessDownTime { 1450 type uint32; 1451 description 1452 " The value of sysUpTime on the most recent occasion at 1453 which the last time communication was lost with the 1454 neighbor. If no down event has been issued, this object 1455 contains a zero value "; 1456 } 1457 leaf bfdSess-PerfLastCommLostDiag { 1458 type uint32; 1459 description 1460 " The BFD diag code for the last time communication was lost 1461 with the neighbor. If such an event has not been issued, 1462 this object contains a zero value"; 1463 } 1464 leaf bfdSess-PerfSess-UpCount { 1465 type uint32; 1466 description 1467 " The number of times this session has gone into the Up 1468 state since the system last rebooted "; 1469 } 1470 leaf bfdSess-Perf-DiscTime { 1471 type uint32; 1472 description 1473 " The value of sysUpTime on the most recent occasion at 1474 which any one or more of the session counters suffered 1475 a discontinuity "; 1476 } 1477 } 1478 } 1480 augment "/gen-oam:cv/gen-oam:input " { 1481 leaf technology-sub-type { 1482 type identityref { 1483 base technology-sub-type; 1484 } 1485 } 1486 } 1488 augment "/gen-oam:cv/gen-oam:input " { 1489 list session-type{ 1490 key " bfdsess-type "; 1491 leaf bfdsess-version-num { 1492 type uint32; 1493 } 1494 leaf bfdsess-type { 1495 type uint32; 1496 } 1497 leaf bfdsess-oper-mode { 1498 type uint32; 1499 } 1500 leaf bfdsess-demandmode-desired { 1501 type boolean; 1502 } 1503 leaf bfdsess-controlplanel-indep { 1504 type boolean; 1505 } 1506 leaf bfdsess-multi-point { 1507 type boolean; 1508 } 1509 leaf bfdsess-detect-mult { 1510 type uint32; 1511 } 1512 leaf bfdsess-authpres { 1513 type boolean; 1514 } 1515 leaf bfdsess-authentication-type { 1516 type uint32; 1517 } 1518 } 1519 } 1521 augment 1522 "/gen-oam:cv/gen-oam:input " { 1523 list session-status { 1524 key " bfdsess-status " 1525 leaf bfdsess-admin-status { 1526 type enumeration{ 1527 enum enabled(1); 1528 enum disabled(2); 1529 enum adminDown(3); 1530 enum down(4); 1531 }; 1532 } 1533 leaf bfdsess-oper-status { 1534 type enumeration{ 1535 enum up(1); 1536 enum down(2); 1537 enum adminDown(3); 1538 }; 1539 } 1540 leaf bfdsess-status { 1541 type uint32; 1542 } 1543 leaf bfdsess-remote-heard { 1544 type boolean; 1545 } 1546 } 1547 } 1549 augment 1550 "/gen-oam:cv/gen-oam:input " { 1551 choice context-id{ 1552 case context-id-bfdsess { 1553 leaf bfdsess-discriminator { 1554 type uint32; 1555 } 1556 leaf bfdsess-remotediscr { 1557 type uint32; 1558 } 1559 leaf bfdsess-dismap-index { 1560 type uint32; 1561 } 1562 } 1563 } 1564 } 1566 augment 1567 "/gen-oam:cv/gen-oam:input " { 1568 list bfdsess-authentication { 1569 key"bfdsess-authentication-keyid,bfdsess-authentication-key "; 1570 leaf bfdsess-authentication-keyid { 1571 type uint32; 1572 } 1573 leaf bfdsess-authentication-key { 1574 type uint32; 1575 } 1576 } 1577 } 1579 augment 1580 "/gen-oam:cv/gen-oam:input " { 1582 leaf bfdSess-SrcAddr-Type { 1583 type uint32; 1585 } 1586 leaf bfdSess-DstAddr-Type { 1587 type uint32; 1588 } 1589 } 1590 } 1592 augment 1593 "/gen-oam:cv/gen-oam:input " { 1594 leaf bfdSess-Source-UdpPort{ 1595 type uint32; 1596 } 1597 } 1599 augment 1600 "/gen-oam:cv/gen-oam:input " { 1601 leaf bfdSess-Destination-UdpPort { 1602 type uint32; 1603 } 1604 } 1606 augment 1607 "/gen-oam:cv/gen-oam:input "{ 1608 list session-interval { 1609 key " bfdSess-DesiredMinTx-Interval "; 1610 leaf bfdSess-DesiredMinTx-Interval { 1611 type uint32; 1612 } 1613 leaf bfdSess-ReqMinRx-Interval { 1614 type uint32; 1615 } 1616 leaf bfdSess-ReqMinEchoRx-Interval { 1617 type uint32; 1618 } 1619 leaf bfdSess-Negotiated-Interval { 1620 type uint32; 1621 } 1622 leaf bfdSess-NegotiatedEcho-Interval { 1623 type uint32; 1624 } 1625 } 1626 } 1628 augment 1629 "/gen-oam:cv/gen-oam:output " { 1631 leaf bfdSess-Source-UdpPort { 1632 type uint32; 1634 } 1635 } 1636 augment 1637 "/gen-oam:cv/gen-oam:output " { 1638 leaf bfdSess-Destination-UdpPort { 1639 type uint32; 1640 } 1641 } 1643 augment 1644 "/gen-oam:cv/gen-oam:output /gen-oam: maintenance-stats " { 1645 case session-perform-bfd { 1646 leaf bfdSess-PerfCtrlPkt-In { 1647 type uint32; 1648 description 1649 " The total number of BFD control messages received for this 1650 BFD session"; 1651 } 1652 leaf bfdSess-PerfCtrlPkt-Out { 1653 type uint32; 1654 description 1655 " The total number of BFD control messages sent for this BFD 1656 session"; 1657 } 1658 leaf bfdSess-PerfCtrlPkt-Drop { 1659 type uint32; 1660 description 1661 " The total number of BFD control messages received for this 1662 session yet dropped for being invalid "; 1663 } 1664 leaf bfdSess-PerfCtrlPktDrop-LastTime { 1665 type uint32; 1666 description 1667 " The value of sysUpTime on the most recent occasion at 1668 which received the BFD control message for this session was 1669 dropped. If no such up event exists, this object contains 1670 a zero value "; 1671 } 1672 leaf bfdSess-UpTime { 1673 type uint32; 1674 description 1675 "The value of sysUpTime on the most recent occasion at which 1676 the session came up. If no such event has been issued, 1677 this object contains a zero value"; 1678 } 1679 leaf bfdSess-PerfLastSessDownTime { 1680 type uint32; 1681 description 1682 " The value of sysUpTime on the most recent occasion at 1683 which the last time communication was lost with the 1684 neighbor. If no down event has been issued, this object 1685 contains a zero value "; 1686 } 1687 leaf bfdSess-PerfLastCommLostDiag { 1688 type uint32; 1689 description 1690 " The BFD diag code for the last time communication was lost 1691 with the neighbor. If such an event has not been issued, 1692 this object contains a zero value"; 1693 } 1694 leaf bfdSess-PerfSess-UpCount { 1695 type uint32; 1696 description 1697 " The number of times this session has gone into the Up 1698 state since the system last rebooted "; 1699 } 1700 leaf bfdSess-Perf-DiscTime { 1701 type uint32; 1702 description 1703 " The value of sysUpTime on the most recent occasion at 1704 which any one or more of the session counters suffered 1705 a discontinuity "; 1706 } 1707 } 1708 } 1710 augment"/gen-oam:notifications/gen-oam:defect-condition-notification 1711 " { 1712 leaf bfdsess-admin-status { 1713 type enumeration{ 1714 enum enabled(1); 1715 enum disabled(2); 1716 enum adminDown(3); 1717 enum down(4); 1718 }; 1719 } 1720 leaf bfdsess-oper-status { 1721 type enumeration{ 1722 enum up(1); 1723 enum down(2); 1724 enum adminDown(3); 1725 }; 1726 } 1727 leaf bfdsess-status { 1728 type uint32; 1729 } 1731 leaf bfdsess-remote-heard { 1732 type boolean; 1733 } 1734 } 1736 1738 7. Default Mode for BFD OAM 1740 This document defines default configuration that MUST be present in 1741 the devices that comply with this document. Base Mode allows users 1742 to have zero-touch experience. Details of BFD Base Mode for OAM are 1743 defined in [RFC7331]. 1745 8. Security Considerations 1747 TBD. 1749 9. IANA Considerations 1751 TBD. 1753 10. Normative References 1755 [I-D.tissa-lime-yang-oam-model] 1756 Senevirathne, T., Finn, N., Kumar, D., Salam, S., and Q. 1757 Wu, "Generic YANG Data Model for Operations, 1758 Administration, and Maintenance (OAM)", draft-tissa-lime- 1759 yang-oam-model-02 (work in progress), October 2014. 1761 [I-D.wang-lime-rpc-yang-oam-management] 1762 Wang, Z., "Additional RPC definitions to Generic YANG Data 1763 Model for layer Independent OAM Management", October 2014. 1765 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1766 Requirement Levels", March 1997. 1768 [RFC5880] Katz, D. and D. Ward, "Bidirectional Forwarding Detection 1769 (BFD)", RFC 5880, June 2010. 1771 [RFC6020] Bjorklund, M., "YANG - A Data Modeling Language for the 1772 Network Configuration Protocol (NETCONF)", RFC 6020, 1773 October 2010. 1775 [RFC6241] Enns, R., Bjorklund, M., Schoenwaelder, J., and A. 1776 Bierman, "Network Configuration Protocol (NETCONF)", RFC 1777 6241, June 2011. 1779 [RFC7331] Nadeau, T., Ali, Z., and N. Akiya, "Bidirectional 1780 Forwarding Detection (BFD) Management Information Base", 1781 RFC 7331, August 2014. 1783 Authors' Addresses 1785 Zitao Wang 1786 Huawei Technologies,Co.,Ltd 1787 101 Software Avenue, Yuhua District 1788 Nanjing 210012 1789 China 1791 Email: wangzitao@huawei.com 1793 Qin Wu 1794 Huawei Technologies,Co.,Ltd 1795 101 Software Avenue, Yuhua District 1796 Nanjing 210012 1797 China 1799 Phone: +86 25 56623633 1800 Email: bill.wu@huawei.com