idnits 2.17.1 draft-xia-sfc-yang-oam-05.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- No issues found here. Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** There are 21 instances of too long lines in the document, the longest one being 14 characters in excess of 72. ** The abstract seems to contain references ([I-D.ietf-lime-yang-oam-model]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the IETF Trust and authors Copyright Line does not match the current year == The document doesn't use any RFC 2119 keywords, yet seems to have RFC 2119 boilerplate text. -- The document date (December 11, 2015) is 3052 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: 'RFC6020' is mentioned on line 132, but not defined == Missing Reference: 'RFC6241' is mentioned on line 111, but not defined == Missing Reference: '8021Q' is mentioned on line 183, but not defined == Missing Reference: 'RFC6371' is mentioned on line 181, but not defined == Missing Reference: 'Y1731' is mentioned on line 179, but not defined == Missing Reference: 'RFC6325' is mentioned on line 195, but not defined == Unused Reference: 'IEEE.802.1Q-2011' is defined on line 1018, but no explicit reference was found in the text == Unused Reference: 'RFC2234' is defined on line 1026, but no explicit reference was found in the text -- Possible downref: Non-RFC (?) normative reference: ref. 'IEEE.802.1Q-2011' ** Obsolete normative reference: RFC 2234 (Obsoleted by RFC 4234) == Outdated reference: A later version (-10) exists of draft-ietf-lime-yang-oam-model-01 == Outdated reference: A later version (-15) exists of draft-ietf-sfc-oam-framework-00 == Outdated reference: A later version (-15) exists of draft-penno-sfc-yang-13 Summary: 3 errors (**), 0 flaws (~~), 13 warnings (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group L. Xia 3 Internet-Draft Q. Wu 4 Intended status: Standards Track Huawei 5 Expires: June 13, 2016 D. Kumar 6 Cisco 7 M. Boucadair 8 France Telecom 9 Z. Wang 10 Huawei 11 December 11, 2015 13 YANG Data Model for SFC Operations, Administration, and Maintenance 14 (OAM) 15 draft-xia-sfc-yang-oam-05 17 Abstract 19 This document defines YANG data model for Service Function Chaining 20 (SFC Operations, Administration, and Maintenance (OAM). It extends 21 from the basic YANG data model for Layer independent OAM Management 22 defined in [I-D.ietf-lime-yang-oam-model] with SFC technology 23 specifics. It includes SFC OAM related configuration, state, and RPC 24 information data. 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 June 13, 2016. 43 Copyright Notice 45 Copyright (c) 2015 IETF Trust and the persons identified as the 46 document authors. All rights reserved. 48 This document is subject to BCP 78 and the IETF Trust's Legal 49 Provisions Relating to IETF Documents 50 (http://trustee.ietf.org/license-info) in effect on the date of 51 publication of this document. Please review these documents 52 carefully, as they describe your rights and restrictions with respect 53 to this document. Code Components extracted from this document must 54 include Simplified BSD License text as described in Section 4.e of 55 the Trust Legal Provisions and are provided without warranty as 56 described in the Simplified BSD License. 58 Table of Contents 60 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 2 61 2. Conventions and Terminology . . . . . . . . . . . . . . . . . 3 62 2.1. Terminologies . . . . . . . . . . . . . . . . . . . . . . 4 63 3. Architecture of OAM YANG Model and Relationship to SFC OAM . 5 64 4. SFC Extensions to LIME YANG Model . . . . . . . . . . . . . . 6 65 4.1. MEP Address . . . . . . . . . . . . . . . . . . . . . . . 7 66 4.2. Connectivity-Context . . . . . . . . . . . . . . . . . . 8 67 4.3. SFC Layer For RPC - Path Discovery . . . . . . . . . . . 9 68 5. SFC OAM YANG Data Hierarchy . . . . . . . . . . . . . . . . . 10 69 6. SFC OAM YANG Module . . . . . . . . . . . . . . . . . . . . . 12 70 7. Security Considerations . . . . . . . . . . . . . . . . . . . 24 71 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 24 72 9. References . . . . . . . . . . . . . . . . . . . . . . . . . 24 73 9.1. Normative References . . . . . . . . . . . . . . . . . . 24 74 9.2. Informative References . . . . . . . . . . . . . . . . . 24 75 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 25 77 1. Introduction 79 YANG [RFC6020] is a data modeling language used to model 80 configuration and state data manipulated by the Network Configuration 81 Protocol (NETCONF) [RFC6241], NETCONF remote procedure calls (RPC), 82 and NETCONF notifications. This document defines the YANG data model 83 for Service Function Chaining (SFC) OAM [I-D.ietf-sfc-oam-framework]. 84 The SFC OAM YANG module involves the OAM configuration, RPCs and 85 notifications, etc. 87 Currently, [I-D.ietf-lime-yang-oam-model] proposes a basic YANG data 88 model for Layer independent OAM Management that can be applied to 89 various OAM technologies. SFC OAM YANG data model can be defined by 90 directly extending the basic model with SFC technology specifics. It 91 can bring some obvious benefits such as unified format, reusable 92 parts, and correlation of defects, faults, network failure at the 93 specific layer. 95 In addition, various components in the SFC technology specific YANG 96 data model defined in [I-D.penno-sfc-yang] can be directly reused in 97 this draft to define the SFC OAM YANG data model. 99 Note that SFC OAM mechanisms are not yet defined or standardized 100 although some of the basic concepts and functions (e.g., fault 101 detection, fault localization, performance measurement, etc) may be 102 similar to traditional OAM mechanisms. This draft should get 103 alignment with the latest development SFC OAM mechanisms. 105 2. Conventions and Terminology 107 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 108 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 109 document are to be interpreted as described in [RFC2119]. 111 The following terms are defined in [RFC6241] and are not redefined 112 here: 114 o client 116 o configuration data 118 o server 120 o state data 122 The following terms are defined in [RFC6020] and are not redefined 123 here: 125 o augment 127 o data model 129 o data node 131 The terminology for describing YANG data models is found in 132 [RFC6020]. 134 The following notations are used within the data tree and carry the 135 meaning as noted below. 137 Each node is printed as: 139 141 is one of: 142 + for current 143 x for deprecated 144 o for obsolete 146 is one of: 148 rw for configuration data 149 ro for non-configuration data 150 -x for rpcs 151 -n for notifications 153 is the name of the node 155 If the node is augmented into the tree from another module, its name 156 is printed as :. 158 is one of: 160 ? for an optional leaf or choice 161 ! for a presence container 162 * for a leaf-list or list 163 [] for a list's keys 165 is the name of the type for leafs and leaf-lists 167 In this document, these words will appear with that interpretation 168 only when in ALL CAPS. Lower case uses of these words are not to be 169 interpreted as carrying RFC-2119 significance. 171 2.1. Terminologies 173 MP Maintenance Point [8021Q] 175 MEP Maintenance End Point [8021Q] [RFC6371] 177 MIP Maintenance Intermediate Point [8021Q] [RFC6371] 179 MEG Maintenance Entity Group [Y1731] [RFC6371] 181 ME Maintenance Entity [Y.1731] [RFC6371] 183 MD Maintenance Domain [8021Q] 184 OAM Operations, Administration, and Maintenance [RFC6291] 186 LIME Layer Independent OAM Management [I-D.ietf-lime-yang-oam- 187 model] 189 SF Service Function [I-D.penno-sfc-yang] 191 SFC Service Function Chaining [I-D.penno-sfc-yang] 193 SFF Service Function Forwarder [I-D.penno-sfc-yang] 195 TRILL Transparent Interconnection of Lots of Links [RFC6325] 197 RPC Remote Process Call 199 3. Architecture of OAM YANG Model and Relationship to SFC OAM 201 Layer independent OAM YANG model [I-D.ietf-lime-yang-oam-model] is 202 used as the basis for all the other OAM YANG models. This allows 203 users to span across OAM tools of different technologies through a 204 uniform API. The following Figure depicts the relationship of SFC 205 OAM YANG model to the Layer Independent OAM YANG Model. 207 +-+-+-+-+-+ 208 | gen | 209 |OAM YANG | 210 +-+-+-+-+-+ 211 | 212 O 213 | 214 +-----------+----------+----------+----------+--------------+ 215 | | | | | | 216 +-+-+-+-++ +-+-++--++ +-+-+++-++ +-+--+--++ +-+-+++-++ +-+-+-+-++ 217 | TRILL | | NVO3 | | MPLS | | IP | | SFC |. . .| foo | 218 |OAM YANG| |OAM YANG| |OAM YANG| |OAM YANG| |OAM YANG| |OAM YANG| 219 +-+-+-+-++ +-+-++--++ +-+-++--++ +-+-++--++ +-+-++--++ +-+-+-+-++ 220 | | | | | | 221 | +-+-++--++ +-+-++--++ | +-+-++--++ +-+-+-+-++ 222 | | NVO3 | | MPLS | | | SFC |. . .| foo | 223 | |sub tech| |sub tech| | |sub tech| |sub tech| 224 | +-+-++--++ +-+-++--++ | +-+-++--++ +-+-+-+-++ 225 | | | | | | 226 | | | | | | 227 +--------------------------------------------------------------+ 228 | Uniform API | 229 +--------------------------------------------------------------+ 231 Relationship of SFC OAM YANG model to Layer independent OAM YANG 232 model 234 4. SFC Extensions to LIME YANG Model 236 A new Technology parameter of SFC is defined here for the purpose of 237 identifying the SFC specific YANG model extension: 239 identity SFC { 241 base goam:technology-types; 243 description 245 "SFC type"; 247 } 249 SFC identity type 251 Only when the Technology parameter is set to the "SFC" value, the SFC 252 specific extensions are applied. 254 4.1. MEP Address 256 In SFC, either the SF on service function layer or SF/SFF on SFC 257 forwarding layer can be MEP/MIP. A MEP/MIP cannot be identified 258 without specifying service function path. Therefore the MEP/MIP 259 address can only be identified by SF/SFF address plus service 260 function path id. In [I-D.ietf-lime-yang-oam-model], MEP/MIP address 261 is defined using a combination of choice and case statement. We 262 augment this to include SFC specific SF/SFF address plus service 263 function path id. 265 augment 266 "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp- 267 address" { 269 case sf-mep-address { 271 description 272 "Service function (or service function forwarder) address plus 273 service function path id to identify one SFC MEP. A SFC MP can 274 be a service function or service function forwarder!" 276 leaf sf-mep-ref { 277 when "/goam:domains/goam:domain/goam:technology='sfc'"; 278 type sfc-sf:service-function-ref; 279 } 281 leaf sfp-mep-ref { 282 when "/goam:domains/goam:domain/goam:technology='sfc'"; 283 type sfc-sfp:service-function-path-ref; 284 } 286 } 288 case sff-mep-address { 290 description 292 "Service function forwarder address plus service function path 293 id identify one SFC MEP. A SFC MP can be a service function or 294 service function forwarder!" 296 leaf sff-mep-ref { 297 type sfc-sff:service-function-forwarder-ref; 298 } 300 leaf sfp-mep-ref { 301 type sfc-sfp:service-function-path-ref; 302 } 303 } 304 } 306 Augment SFC MEP address 308 4.2. Connectivity-Context 310 In SFC, connectivity-context is the service function path id. [I- 311 D.ietf-lime-yang-oam-model] defines a placeholder for connectivity- 312 context. This allows other technologies to easily augment that to 313 include technology specific extensions. The snippet below depicts an 314 example of augmenting connectivity-context to include the SFC 315 connectivity- context. 317 augment "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam: 318 connectivity-context" { 320 case connectivity-context-sfc { 321 leaf connectivity-context-sfp { 322 type sfc-sfp:service-function-path-ref; 323 } 324 } 325 } 327 Augment SFC Connectivity-Context 329 4.3. SFC Layer For RPC - Path Discovery 331 Path Discovery is used to discover the path that specific service 332 traverses in the network. For SFC, it can be used on both service 333 function layer and SFC forwarding layer depending on what is the 334 desired degree of path information. 336 typedef SFC-layer { 338 type enumeration { 339 enum "Service function layer" { 340 value 0; 341 } 343 enum "SFC forwarding layer" { 344 value 1; 345 } 346 } 347 } 349 augment "/goam-rpc:path-discovery/goam-rpc:input" { 351 description 353 "Adding SFC specific items on the input"; 354 leaf path-discovery-layer { 355 type SFC-layer; 356 description 357 "Identifying which SFC layer to run path discovery"; 359 } 361 } 363 Augment SFC SFC-layer for Path Discovery 365 5. SFC OAM YANG Data Hierarchy 367 The complete data hierarchy related to the SFC OAM YANG model is 368 presented below. 370 module: ietf-sfc-oam 371 augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:connectivity-context: 372 +--:(connectivity-context-sfc) 373 +--rw connectivity-context-sfp? sfc-sfp:service-function-path-ref 374 augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp-address: 375 +--:(sf-mep-address) 376 | +--rw sf-mep-ref? sfc-sf:service-function-ref 377 | +--rw sfp-mep-ref? sfc-sfp:service-function-path-ref 378 +--:(sff-mep-address) 379 +--rw sff-mep-ref? sfc-sff:service-function-forwarder-ref 380 +--rw sfp-mep-ref? sfc-sfp:service-function-path-ref 381 augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/goam:de 382 stination-mep-address/goam:mp-address: 383 +--:(sf-mep-address) 384 | +--rw sf-mep-ref? sfc-sf:service-function-ref 385 | +--rw sfp-mep-ref? sfc-sfp:service-function-path-ref 386 +--:(sff-mep-address) 387 +--rw sff-mep-ref? sfc-sff:service-function-forwarder-ref 388 +--rw sfp-mep-ref? sfc-sfp:service-function-path-ref 389 augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/goam:co 390 nnectivity-context: 391 +--:(connectivity-context-sfc) 392 +--rw connectivity-context-sfp? sfc-sfp:service-function-path-ref 393 augment /goam:continuity-check/goam:input/goam:destination-mp/goam:mp-address: 394 +--:(sf-mep-address) 395 | +--ro sf-mep-ref? sfc-sf:service-function-ref 396 | +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 397 +--:(sff-mep-address) 398 +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref 399 +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 400 augment /goam:continuity-verification/goam:input/goam:destination-mp/goam:mp-add 401 ress: 402 +--:(sf-mep-address) 403 | +--ro sf-mep-ref? sfc-sf:service-function-ref 404 | +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 405 +--:(sff-mep-address) 406 +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref 407 +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 408 augment /goam:path-discovery/goam:input: 409 +--ro path-discovery-layer? SFC-layer 410 augment /goam:path-discovery/goam:input/goam:destination-mp/goam:mp-address: 411 +--:(sf-mep-address) 412 | +--ro sf-mep-ref? sfc-sf:service-function-ref 413 | +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 414 +--:(sff-mep-address) 415 +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref 416 +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 417 augment /goam:path-discovery/goam:output/goam:response/goam:destination-mp/goam: 418 mp-address: 419 +--:(sf-mep-address) 420 | +--ro sf-mep-ref? sfc-sf:service-function-ref 421 | +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 422 +--:(sff-mep-address) 423 +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref 424 +--ro sfp-mep-ref? sfc-sfp:service-function-path-ref 426 Data hierarchy of SFC OAM 428 6. SFC OAM YANG Module 430 file "ietf-sfc-oam@2015-12-10.yang" 431 module ietf-sfc-oam { 432 namespace "urn:ietf:params:xml:ns:yang:ietf-sfc-oam"; 433 prefix sfcoam; 434 import ietf-gen-oam { 435 prefix goam; 436 } 437 import service-function { 438 prefix sfc-sf; 439 } 440 import service-function-path { 441 prefix sfc-sfp; 442 } 443 import service-function-forwarder { 444 prefix sfc-sff; 445 } 446 organization 448 "IETF SFC Working Group"; 450 contact 451 "TBD"; 452 description 453 "The YANG module defines a SFC OAM configuration 454 model."; 456 revision "2015-12-10" { 457 description 458 "Initial revision"; 459 reference 460 "foo"; 461 } 463 identity sfc { 464 base goam:technology-types; 465 description 466 "sfc type"; 467 } 469 typedef SFC-layer { 470 type enumeration { 471 enum "Service function layer" { 472 value 0; 473 description 474 "service function layer."; 475 } 476 enum "SFC forwarding layer" { 477 value 1; 478 description 479 "SFC forwarding layer"; 480 } 481 } 482 description 483 "SFC layer"; 484 } 485 augment 486 "/goam:domains/goam:domain/goam:MAs/goam:MA" 487 +"/goam:connectivity-context" { 488 description 489 "augment the generic oam yang"; 490 case connectivity-context-sfc { 491 description 492 "connectivity context sfc."; 493 leaf connectivity-context-sfp { 494 type leafref { 495 path "/sfc-sfp:service-function-paths/" + 496 "sfc-sfp:service-function-path/sfc-sfp:name"; 497 } 498 description 499 "connectivity context sfcp."; 500 } 501 } 503 } 504 augment 505 "/goam:domains/goam:domain/goam:MAs" 506 +"/goam:MA/goam:MEP/goam:mp-address" { 507 description 508 "augment the generic oam yang"; 509 case sf-mep-address { 510 description 512 "Service function (or service function forwarder) address plus 513 service function path id to identify one SFC MEP. A SFC MP can be a 514 service function or service function forwarder!"; 515 container sf-mep-addr{ 516 description 517 "container of sf-mep-addr"; 518 leaf sf-mep-ref { 519 when "/goam:domains/goam:domain/goam:technology='sfc'"{ 520 description 521 "when technology = sfc."; 522 } 523 type leafref { 524 path "/sfc-sf:service-functions/sfc-sf:service-function/" 525 + "sfc-sf:name"; 526 } 527 description 528 "sf mep reference."; 529 } 531 leaf sfp-mep-ref { 532 when "/goam:domains/goam:domain/goam:technology='sfc'"{ 533 description 534 "when technology = sfc."; 535 } 536 type leafref { 537 path "/sfc-sfp:service-function-paths/" + 538 "sfc-sfp:service-function-path/sfc-sfp:name"; 539 } 540 description 541 "sfp mep reference."; 542 } 543 } 544 } 546 case sff-mep-address { 547 description 549 "Service function address plus service function path id to 550 identify one SFC MEP. A SFC MP can be a service function or service 551 function forwarder!"; 553 leaf sff-mep-ref { 554 type leafref { 555 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 556 + "sfc-sff:name"; 557 } 558 description 559 "sff mep reference"; 560 } 562 leaf sfp-mep-ref { 563 type leafref { 564 path "/sfc-sfp:service-function-paths/" + 565 "sfc-sfp:service-function-path/sfc-sfp:name"; 566 } 567 description 568 "sfp mep reference."; 569 } 570 } 571 } 572 augment 573 "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session" 574 +"/goam:destination-mep-address/goam:mp-address" { 575 description 576 "augment the generic oam yang"; 577 case sf-mep-address { 579 leaf sf-mep-ref { 580 type leafref { 581 path "/sfc-sf:service-functions/sfc-sf:service-function/" 582 + "sfc-sf:name"; 583 } 584 description 585 "sf mep reference"; 586 } 588 leaf sfp-mep-ref { 589 type leafref { 590 path "/sfc-sfp:service-function-paths/" + 591 "sfc-sfp:service-function-path/sfc-sfp:name"; 592 } 593 description 594 "sfp mep reference"; 595 } 596 } 598 case sff-mep-address { 599 leaf sff-mep-ref { 600 type leafref { 601 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 602 + "sfc-sff:name"; 603 } 604 description 605 "sff mep reference"; 606 } 608 leaf sfp-mep-ref { 609 type leafref { 610 path "/sfc-sfp:service-function-paths/" + 611 "sfc-sfp:service-function-path/sfc-sfp:name"; 612 } 613 description 614 "sfp mep reference"; 615 } 616 description 617 "sff mep address"; 618 } 619 } 620 augment 621 "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP" 622 +"/goam:session/goam:connectivity-context" { 623 description 624 "augment the generic oam yang"; 625 case connectivity-context-sfc { 626 leaf connectivity-context-sfp { 627 type leafref { 628 path "/sfc-sfp:service-function-paths/" + 629 "sfc-sfp:service-function-path/sfc-sfp:name"; 630 } 631 description 632 "connectivity context sfc."; 633 } 634 description 635 "connectivity context sfc."; 636 } 637 } 639 //SFC extension of contiuity-check part 641 /* 642 augment "/goam:continuity-check/goam:input" 643 +"/goam:source-mep/goam:mp-address" { 644 description 645 "augment the generic oam yang"; 646 case sf-mep-address { 647 leaf sf-mep-ref { 648 type leafref { 649 path "/sfc-sf:service-functions/sfc-sf:service-function/" 650 + "sfc-sf:name"; 651 } 652 } 654 leaf sfp-mep-ref { 655 type leafref { 656 path "/sfc-sfp:service-function-paths/" + 657 "sfc-sfp:service-function-path/sfc-sfp:name"; 658 } 659 } 660 } 662 case sff-mep-address { 663 leaf sff-mep-ref { 664 type leafref { 665 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 666 + "sfc-sff:name"; 667 } 668 } 670 leaf sfp-mep-ref { 671 type leafref { 672 path "/sfc-sfp:service-function-paths/" + 673 "sfc-sfp:service-function-path/sfc-sfp:name"; 674 } 675 } 676 } 677 }*/ 679 augment "/goam:continuity-check/goam:input" 680 +"/goam:destination-mp/goam:mp-address" { 681 description 682 "augment the generic oam yang"; 683 case sf-mep-address { 684 leaf sf-mep-ref { 685 type leafref { 686 path "/sfc-sf:service-functions/sfc-sf:service-function/" 687 + "sfc-sf:name"; 688 } 689 description 690 "sf mep reference"; 691 } 693 leaf sfp-mep-ref { 694 type leafref { 695 path "/sfc-sfp:service-function-paths/" + 696 "sfc-sfp:service-function-path/sfc-sfp:name"; 697 } 698 description 699 "sfp mep reference"; 700 } 701 description 702 "sf mep address"; 703 } 704 case sff-mep-address { 706 leaf sff-mep-ref { 707 type leafref { 708 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 709 + "sfc-sff:name"; 710 } 711 description 712 "sff mep reference"; 713 } 714 leaf sfp-mep-ref { 715 type leafref { 716 path "/sfc-sfp:service-function-paths/" + 717 "sfc-sfp:service-function-path/sfc-sfp:name"; 718 } 719 description 720 "sfp mep reference"; 721 } 722 description 723 "sff mep address"; 724 } 725 } 727 //SFC extension of connectity-verification part 728 /* 729 augment "/goam:connectivity-verification" 730 +"/goam:input/goam:source-mep/goam:mp-address" { 731 description 732 "augment the generic oam yang"; 733 case sf-mep-address { 734 leaf sf-mep-ref { 735 type leafref { 736 path "/sfc-sf:service-functions/sfc-sf:service-function/" 737 + "sfc-sf:name"; 738 } 739 } 741 leaf sfp-mep-ref { 742 type leafref { 743 path "/sfc-sfp:service-function-paths/" + 744 "sfc-sfp:service-function-path/sfc-sfp:name"; 745 } 746 } 747 } 749 case sff-mep-address { 750 leaf sff-mep-ref { 751 type leafref { 752 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 753 + "sfc-sff:name"; 754 } 755 } 757 leaf sfp-mep-ref { 758 type leafref { 759 path "/sfc-sfp:service-function-paths/" + 760 "sfc-sfp:service-function-path/sfc-sfp:name"; 761 } 762 } 763 } 765 }*/ 767 augment "/goam:continuity-verification" 768 +"/goam:input/goam:destination-mp/goam:mp-address" { 769 description 770 "augment the generic oam yang"; 771 case sf-mep-address { 772 leaf sf-mep-ref { 773 type leafref { 774 path "/sfc-sf:service-functions/sfc-sf:service-function/" 775 + "sfc-sf:name"; 776 } 777 description 778 "sf mep reference"; 779 } 781 leaf sfp-mep-ref { 782 type leafref { 783 path "/sfc-sfp:service-function-paths/" + 784 "sfc-sfp:service-function-path/sfc-sfp:name"; 785 } 786 description 787 "sfp mep reference"; 788 } 789 description 790 "sf mep address"; 791 } 793 case sff-mep-address { 794 leaf sff-mep-ref { 795 type leafref { 796 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 797 + "sfc-sff:name"; 798 } 799 description 800 "sff mep reference"; 801 } 803 leaf sfp-mep-ref { 804 type leafref { 805 path "/sfc-sfp:service-function-paths/" + 806 "sfc-sfp:service-function-path/sfc-sfp:name"; 807 } 808 description 809 "sfp mep reference"; 810 } 811 description 812 "sff mep address"; 814 } 815 } 817 //SFC extension of path-discovery part 819 augment "/goam:path-discovery/goam:input" { 820 description 821 "adds SFC specific items on the input"; 822 leaf path-discovery-layer { 823 type SFC-layer; 825 description 826 "Identifying which SFC layer to run path discovery"; 827 } 829 } 831 /*augment "/goam:path-discovery/goam:input" 832 +"/goam:source-mep/goam:mp-address" { 833 description 834 "augment the generic oam yang"; 835 case sf-mep-address { 836 leaf sf-mep-ref { 837 type leafref { 838 path "/sfc-sf:service-functions/sfc-sf:service-function/" 839 + "sfc-sf:name"; 840 } 841 } 843 leaf sfp-mep-ref { 844 type leafref { 845 path "/sfc-sfp:service-function-paths/" + 846 "sfc-sfp:service-function-path/sfc-sfp:name"; 847 } 848 } 849 } 851 case sff-mep-address { 852 leaf sff-mep-ref { 853 type leafref { 854 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 855 + "sfc-sff:name"; 856 } 857 } 859 leaf sfp-mep-ref { 860 type leafref { 861 path "/sfc-sfp:service-function-paths/" + 862 "sfc-sfp:service-function-path/sfc-sfp:name"; 863 } 864 } 865 } 866 }*/ 868 augment "/goam:path-discovery/goam:input" 869 +"/goam:destination-mp/goam:mp-address" { 870 description 871 "augment the generic oam yang"; 872 case sf-mep-address { 873 leaf sf-mep-ref { 874 type leafref { 875 path "/sfc-sf:service-functions/sfc-sf:service-function/" 876 + "sfc-sf:name"; 877 } 878 description 879 "sf mep reference"; 880 } 882 leaf sfp-mep-ref { 883 type leafref { 884 path "/sfc-sfp:service-function-paths/" + 885 "sfc-sfp:service-function-path/sfc-sfp:name"; 886 } 887 description 888 "sfp mep reference"; 889 } 890 description 891 "sf mep address"; 892 } 893 case sff-mep-address { 894 leaf sff-mep-ref { 895 type leafref { 896 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 897 + "sfc-sff:name"; 898 } 899 description 900 "sff mep reference"; 901 } 903 leaf sfp-mep-ref { 904 type leafref { 905 path "/sfc-sfp:service-function-paths/" + 906 "sfc-sfp:service-function-path/sfc-sfp:name"; 907 } 908 description 909 "sfp mep reference"; 911 } 912 description 913 "sff mep address"; 914 } 915 } 917 augment "/goam:path-discovery/goam:output" 918 +"/goam:response/goam:destination-mp/goam:mp-address" { 919 description 920 "augment the generic oam yang"; 921 case sf-mep-address { 922 leaf sf-mep-ref { 923 type leafref { 924 path "/sfc-sf:service-functions/sfc-sf:service-function/" 925 + "sfc-sf:name"; 926 } 927 description 928 "sf mep reference"; 929 } 931 leaf sfp-mep-ref { 932 type leafref { 933 path "/sfc-sfp:service-function-paths/" + 934 "sfc-sfp:service-function-path/sfc-sfp:name"; 935 } 936 description 937 "sfp mep reference"; 938 } 939 description 940 "sf mep address"; 941 } 942 case sff-mep-address { 943 leaf sff-mep-ref { 944 type leafref { 945 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 946 + "sfc-sff:name"; 947 } 948 description 949 "sff mep reference"; 950 } 952 leaf sfp-mep-ref { 953 type leafref { 954 path "/sfc-sfp:service-function-paths/" + 955 "sfc-sfp:service-function-path/sfc-sfp:name"; 956 } 957 description 958 "sfp mep reference"; 960 } 961 description 962 "sff mep address"; 963 } 964 } 966 //SFC extension of performance-measurement part 967 /* 968 augment "/goam-rpc:initiated-performance-measurement/goam- 969 rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" { 970 description 971 "augment the generic oam yang"; 972 case sf-mep-address { 973 leaf sf-mep-ref { 974 type leafref { 975 path "/sfc-sf:service-functions/sfc-sf:service-function/" 976 + "sfc-sf:name"; 977 } 978 } 980 leaf sfp-mep-ref { 981 type leafref { 982 path "/sfc-sfp:service-function-paths/" + 983 "sfc-sfp:service-function-path/sfc-sfp:name"; 984 } 985 } 986 } 988 case sff-mep-address { 989 leaf sff-mep-ref { 990 type leafref { 991 path "/sfc-sff:service-function-forwarders/sfc-sff:service-function-forwarder/" 992 + "sfc-sff:name"; 993 } 994 } 995 leaf sfp-mep-ref { 996 type leafref { 997 path "/sfc-sfp:service-function-paths/" + 998 "sfc-sfp:service-function-path/sfc-sfp:name"; 999 } 1000 } 1002 } 1003 }*/ 1004 } 1005 1006 7. Security Considerations 1008 TBD. 1010 8. IANA Considerations 1012 TBD. 1014 9. References 1016 9.1. Normative References 1018 [IEEE.802.1Q-2011] 1019 Institute of Electrical and Electronics Engineers, "Media 1020 Access Control (MAC) Bridges and Virtual Bridged Local 1021 Area Networks", IEEE Standard 802.1Q, August 2011. 1023 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate 1024 Requirement Levels", March 1997. 1026 [RFC2234] Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax 1027 Specifications: ABNF", RFC 2234, DOI 10.17487/RFC2234, 1028 November 1997, . 1030 9.2. Informative References 1032 [I-D.ietf-lime-yang-oam-model] 1033 Senevirathne, T., Finn, N., Kumar, D., Salam, S., Wu, Q., 1034 and Z. Wang, "Generic YANG Data Model for Operations, 1035 Administration, and Maintenance (OAM)", draft-ietf-lime- 1036 yang-oam-model-01 (work in progress), November 2015. 1038 [I-D.ietf-sfc-oam-framework] 1039 Aldrin, S., Krishnan, R., Akiya, N., Pignataro, C., and A. 1040 Ghanwani, "Service Function Chaining Operation, 1041 Administration and Maintenance Framework", draft-ietf-sfc- 1042 oam-framework-00 (work in progress), August 2015. 1044 [I-D.penno-sfc-yang] 1045 Penno, R., Quinn, P., Zhou, D., and J. Li, "Yang Data 1046 Model for Service Function Chaining", draft-penno-sfc- 1047 yang-13 (work in progress), March 2015. 1049 [RFC6291] Andersson, L., van Helvoort, H., Bonica, R., Romascanu, 1050 D., and S. Mansfield, "Guidelines for the Use of the "OAM" 1051 Acronym in the IETF", BCP 161, RFC 6291, 1052 DOI 10.17487/RFC6291, June 2011, 1053 . 1055 [Y.1731] "OAM functions and mechanisms for Ethernet based 1056 networks", ITU G.8013/Y.1731, July 2011. 1058 Authors' Addresses 1060 Liang Xia 1061 Huawei Technologies,Co.,Ltd 1062 101 Software Avenue, Yuhua District 1063 Nanjing 210012 1064 China 1066 Email: frank.xialiang@huawei.com 1068 Qin Wu 1069 Huawei 1070 101 Software Avenue, Yuhua District 1071 Nanjing, Jiangsu 210012 1072 China 1074 Email: bill.wu@huawei.com 1076 Deepak Kumar 1077 Cisco Systems 1078 510 McCarthy Blvd Milpitas, 1079 CA 95035 1080 USA 1082 Email: dekumar@cisco.com 1084 Mohamed Boucadair 1085 France Telecom 1086 Rennes 35000 1087 France 1089 Email: mohamed.boucadair@orange.com 1091 Zitao Wang 1092 Huawei Technologies,Co.,Ltd 1093 101 Software Avenue, Yuhua District 1094 Nanjing 210012 1095 China 1097 Email: wangzitao@huawei.com