Skip to main content

YANG Data Model for SFC Operations, Administration, and Maintenance (OAM)
draft-wang-yang-bfd-oam-02

The information below is for an old version of the document.
Document Type
This is an older version of an Internet-Draft whose latest revision state is "Expired".
Authors Liang Xia , Qin Wu , Deepak Kumar , Mohamed Boucadair , Zitao Wang
Last updated 2015-03-06
RFC stream (None)
Formats
Additional resources
Stream Stream state (No stream defined)
Consensus boilerplate Unknown
RFC Editor Note (None)
IESG IESG state I-D Exists
Telechat date (None)
Responsible AD (None)
Send notices to (None)
draft-wang-yang-bfd-oam-02
Network Working Group                                             L. Xia
Internet-Draft                                                     Q. Wu
Intended status: Standards Track                                  Huawei
Expires: September 7, 2015                                      D. Kumar
                                                                   Cisco
                                                            M. Boucadair
                                                          France Telecom
                                                                 Z. Wang
                                                                  Huawei
                                                           March 6, 2015

  YANG Data Model for SFC Operations, Administration, and Maintenance
                                 (OAM)
                       draft-wang-yang-bfd-oam-02

Abstract

   This document defines YANG data model for Service Function Chaining
   (SFC) Operations, Administration, and Maintenance (OAM).  It extends
   from the basic YANG data model for Layer independent OAM Management
   defined in [I-D.tissa-lime-yang-oam-model] and [I-D.wang-lime-rpc-
   yang-oam-management] with SFC technology specifics.  It includes SFC
   OAM related configuration, state, and RPC information data.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   This Internet-Draft will expire on September 7, 2015.

Copyright Notice

   Copyright (c) 2015 IETF Trust and the persons identified as the
   document authors.  All rights reserved.

Xia, et al.             Expires September 7, 2015               [Page 1]
Internet-Draft             SFC OAM YANG Model                 March 2015

   This document is subject to BCP 78 and the IETF Trust's Legal
   Provisions Relating to IETF Documents
   (http://trustee.ietf.org/license-info) in effect on the date of
   publication of this document.  Please review these documents
   carefully, as they describe your rights and restrictions with respect
   to this document.  Code Components extracted from this document must
   include Simplified BSD License text as described in Section 4.e of
   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Conventions and Terminology . . . . . . . . . . . . . . . . .   3
     2.1.  Terminologies . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Architecture of OAM YANG Model and Relationship to SFC OAM  .   4
   4.  SFC Extensions to LIME YANG Model . . . . . . . . . . . . . .   5
     4.1.  MEP Address . . . . . . . . . . . . . . . . . . . . . . .   5
     4.2.  Connectivity-Context  . . . . . . . . . . . . . . . . . .   6
     4.3.  SFC Layer For RPC - Path Discovery  . . . . . . . . . . .   7
   5.  SFC OAM YANG Data Hierarchy . . . . . . . . . . . . . . . . .   8
   6.  SFC OAM YANG Module . . . . . . . . . . . . . . . . . . . . .  15
   7.  Security Considerations . . . . . . . . . . . . . . . . . . .  32
   8.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  33
   9.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  33
     9.1.  Normative References  . . . . . . . . . . . . . . . . . .  33
     9.2.  Informative References  . . . . . . . . . . . . . . . . .  33
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  33

1.  Introduction

   YANG [RFC6020] is a data modeling language used to model
   configuration and state data manipulated by the Network Configuration
   Protocol (NETCONF) [RFC6241], NETCONF remote procedure calls (RPC),
   and NETCONF notifications.  This document defines the YANG data model
   for Service Function Chaining (SFC) [SFCPS] OAM.  The SFC OAM YANG
   module involves the OAM configuration, RPCs and notifications, etc.

   Currently, [I-D.tissa-lime-yang-oam-model] and [I-D.wang-lime-rpc-
   yang-oam-management] propose a basic YANG data model for Layer
   independent OAM Management that can be applied to various OAM
   technologies.  SFC OAM YANG data model can be defined by directly
   extending the basic model with SFC technology specifics.  It can
   bring some obvious benefits such as unified format, reusable parts,
   and correlation of defects, faults, network failure at the specific
   layer.

Xia, et al.             Expires September 7, 2015               [Page 2]
Internet-Draft             SFC OAM YANG Model                 March 2015

   In addition, various components in the SFC technology specific YANG
   data model defined in [SFCYANG] can be directly reused in this draft
   to define the SFC OAM YANG data model.

   Note that SFC OAM mechanisms are not yet defined or standardized
   although some of the basic concepts and functions (e.g., fault
   detection, fault localization, performance measurement, etc) may be
   similar to traditional OAM mechanisms.  This draft should get
   alignment with the latest development SFC OAM mechanisms.

2.  Conventions and Terminology

   The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
   "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
   document are to be interpreted as described in [RFC2119].

   The following terms are defined in [RFC6241] and are not redefined
   here:

   o  client

   o  configuration data

   o  server

   o  state data

   The following terms are defined in [RFC6020] and are not redefined
   here:

   o  augment

   o  data model

   o  data node

   The terminology for describing YANG data models is found in
   [RFC6020].

2.1.  Terminologies

   MP Maintenance Point [8021Q].

   MEP  Maintenance End Point [8021Q] [RFC6371]

   MIP  Maintenance Intermediate Point [8021Q] [RFC6371]

   MEG  Maintenance Entity Group [Y1731] [RFC6371]

Xia, et al.             Expires September 7, 2015               [Page 3]
Internet-Draft             SFC OAM YANG Model                 March 2015

   ME Maintenance Entity [Y.1731] [RFC6371]

   MD Maintenance Domain [8021Q]

   OAM  Operations, Administration, and Maintenance [RFC6291]

   LIME  Layer Independent OAM Management [I-D.tissa-lime-yang-oam-
      model] [I-D.wang-lime-rpc-yang-oam-management]

   SF Service Function [SFCYANG]

   SFC  Service Function Chaining [SFCYANG]

   SFF  Service Function Forwarder [SFCYANG]

3.  Architecture of OAM YANG Model and Relationship to SFC OAM

   Layer independent OAM YANG model[I-D.tissa-lime-yang-oam-model] and
   [I-D.wang-lime-rpc-yang-oam-management] is used as the basis for all
   the other OAM YANG models.  This allows users to span across OAM
   tools of different technologies through a uniform API.  The following
   Figure depicts the relationship of SFC OAM YANG model to the Layer
   Independent OAM YANG Model.

                          +-+-+-+-+-+
                          |  Layer  |
                          |independent
                          |OAM YANG |
                          +-+-+-+-+-+
                               |
                               O
                               |
       +--------------------------------------------------+
       |               |                    |             |
   +-+-+-+-+-+    +-+-+-+-+-+          +-+-+-+-+-+   +-+-+-+-+-+
   | TRILL   |    | NVO3    |          | SFC     |. .|  foo    |
   |OAM YANG |    |OAM YANG |          |OAM YANG |   |OAM YANG |
   +-+-+-+-+-+    +-+-+-+-+-+          +-+-+-+-+-+   +-+-+-+-+-+
         |              |                    |            |
         |              |                    |            |
         |              |                    |            |
       +----------------------------------------------------+
       |             Uniform API                            |
       +----------------------------------------------------+

     Relationship of SFC OAM YANG model to Layer independent OAM YANG
                                   model

Xia, et al.             Expires September 7, 2015               [Page 4]
Internet-Draft             SFC OAM YANG Model                 March 2015

4.  SFC Extensions to LIME YANG Model

   A new Technology parameter of SFC is defined here for the purpose of
   identifying the SFC specific YANG model extension:

      identity SFC {

             base goam:technology-types;

             description

               "SFC type";

      }

                             SFC identity type

   Only when the Technology parameter is set to the "SFC" value, the SFC
   specific extensions are applied.

4.1.  MEP Address

   In SFC, either the SF on service function layer or SF/SFF on SFC
   forwarding layer can be MEP/MIP.  A MEP/MIP cannot be identified
   without specifying service function path.  Therefore the MEP/MIP
   address can only be identified by SF/SFF address plus service
   function path id.  In [I-D.tissa-lime-yang-oam-model] and [I-D.wang-
   lime-rpc-yang-oam-management], MEP/MIP address is defined using a
   combination of choice and case statement.  We augment this to include
   SFC specific SF/SFF address plus service function path id.

   augment
   "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp-
   address" {

      case sf-mep-address {

      description

          "Service function (or service function forwarder) address plus
          service function path id to identify one SFC MEP. A SFC MP can
          be a service function or service function forwarder!"

      leaf sf-mep-ref {

        when "/goam:domains/goam:domain/goam:technology='sfc'";

        type sfc-sf:service-function-ref;

Xia, et al.             Expires September 7, 2015               [Page 5]
Internet-Draft             SFC OAM YANG Model                 March 2015

      }

      leaf sfp-mep-ref {

        when "/goam:domains/goam:domain/goam:technology='sfc'";

        type sfc-sfp:service-function-path-ref;

      }

      }

      case sff-mep-address {

      description

          "Service function forwarder address plus service function path
          id identify one SFC MEP. A SFC MP can be a service function or
          service function forwarder!"

      leaf sff-mep-ref {

        type sfc-sff:service-function-forwarder-ref;

      }

      leaf sfp-mep-ref {

        type sfc-sfp:service-function-path-ref;

      }

      }

    }

                          Augment SFC MEP address

4.2.  Connectivity-Context

   In SFC, connectivity-context is the service function path id.  [I-
   D.tissa-lime-yang-oam-model] and [I-D.wang-lime-rpc-yang-oam-
   management] defines a placeholder for connectivity-context.  This
   allows other technologies to easily augment that to include
   technology specific extensions.  The snippet below depicts an example
   of augmenting connectivity-context to include the SFC connectivity-
   context.

Xia, et al.             Expires September 7, 2015               [Page 6]
Internet-Draft             SFC OAM YANG Model                 March 2015

   augment "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:
      connectivity-context" {

         case connectivity-context-sfc {

         leaf connectivity-context-sfp {

           type sfc-sfp:service-function-path-ref;

         }

         }
      }

                     Augment SFC Connectivity-Context

4.3.  SFC Layer For RPC - Path Discovery

   Path Discovery is used to discover the path that specific service
   traverses in the network.  For SFC, it can be used on both service
   function layer and SFC forwarding layer depending on what is the
   desired degree of path information.

Xia, et al.             Expires September 7, 2015               [Page 7]
Internet-Draft             SFC OAM YANG Model                 March 2015

      typedef SFC-layer {

         type enumeration {

         enum "Service function layer" {

           value 0;

         }

         enum "SFC forwarding layer" {

           value 1;

         }

         }

      }

      augment "/goam-rpc:path-discovery/goam-rpc:input" {

         description

         "Adding SFC specific items on the input";

         leaf path-discovery-layer {

         type SFC-layer;

         description

           "Identifying which SFC layer to run path discovery";

         }

       }

                 Augment SFC SFC-layer for Path Discovery

5.  SFC OAM YANG Data Hierarchy

   The complete data hierarchy related to the SFC OAM YANG model is
   presented below.  The following notations are used within the data
   tree and carry the meaning as noted below.

Xia, et al.             Expires September 7, 2015               [Page 8]
Internet-Draft             SFC OAM YANG Model                 March 2015

   Each node is printed as:

   <status> <flags> <name> <opts> <type>

   <status> is one of:
        +  for current
        x  for deprecated
        o  for obsolete

   <flags> is one of:

       rw for configuration data
       ro for non-configuration data
       -x for rpcs
       -n for notifications

   <name> is the name of the node

   If the node is augmented into the tree from another module, its name
   is printed as <prefix>:<name>.

   <opts> is one of:

        ?  for an optional leaf or choice
        !  for a presence container
        *  for a leaf-list or list
        [<keys>] for a list's keys

   <type> is the name of the type for leafs and leaf-lists

    module: sfc-oam

    augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:
    connectivity-context:

       +--:(connectivity-context-sfc)

          +--rw connectivity-context-sfp?   sfc-sfp:service-function-
    path-ref

    augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp-
    address:

       +--:(sf-mep-address)

       |  +--rw sf-mep-ref?   sfc-sf:service-function-ref

Xia, et al.             Expires September 7, 2015               [Page 9]
Internet-Draft             SFC OAM YANG Model                 March 2015

       |  +--rw sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--rw sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--rw sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:
    connectivity-context:

       +--:(connectivity-context-sfc)

          +--rw connectivity-context-sfp?   sfc-sfp:service-function-
    path-ref

    augment
    /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/goa
    m:destination-mep-address/goam:mp-address:

       +--:(sf-mep-address)

       |  +--rw sf-mep-ref?   sfc-sf:service-function-ref

       |  +--rw sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

          +--rw sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--rw sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment
    /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/goa
    m:connectivity-context:

       +--:(connectivity-context-sfc)

          +--rw connectivity-context-sfp?   sfc-sfp:service-function-
    path-ref

    augment /goam-rpc: contiuity-check/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

Xia, et al.             Expires September 7, 2015              [Page 10]
Internet-Draft             SFC OAM YANG Model                 March 2015

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc: contiuity-check/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc: connectity-verification/goam-
    rpc:input/goam-rpc:source-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc: connectity-verification/goam-
    rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

Xia, et al.             Expires September 7, 2015              [Page 11]
Internet-Draft             SFC OAM YANG Model                 March 2015

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc: path-discovery/goam-rpc:input:

       +--ro:path-discovery-layer SFC-layer

    augment /goam-rpc: path-discovery/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc: path-discovery/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc: path-discovery/goam-rpc:output/ goam-
    rpc:response/goam-rpc:destination-mp/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

Xia, et al.             Expires September 7, 2015              [Page 12]
Internet-Draft             SFC OAM YANG Model                 March 2015

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:initiated-performance-measurement/goam-
    rpc:input/goam-rpc:source-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:initiated-performance-measurement/goam-
    rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:revoke-performance-measurement/goam-
    rpc:input/goam-rpc:source-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

Xia, et al.             Expires September 7, 2015              [Page 13]
Internet-Draft             SFC OAM YANG Model                 March 2015

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:revoke-performance-measurement/goam-
    rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:initiated-other-function/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:initiated-other-function/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

Xia, et al.             Expires September 7, 2015              [Page 14]
Internet-Draft             SFC OAM YANG Model                 March 2015

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:revoke-other-function/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

    augment /goam-rpc:revoke-other-function/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address:

       +--:(sf-mep-address)

       |  +--ro sf-mep-ref?   sfc-sf:service-function-ref

       |  +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

       +--:(sff-mep-address)

       |  +--ro sff-mep-ref? sfc-sff:service-function-forwarder-ref

          +--ro sfp-mep-ref?   sfc-sfp:service-function-path-ref

                         Data hierarchy of SFC OAM

6.  SFC OAM YANG Module

   <CODE BEGINS> file "xxx.yang"

 <CODE BEGINS> file "xxx.yang"

 module sfc-oam {

     namespace "urn:huawei:params:xml:ns:yang:sfc-oam";

     prefix sfcoam;

     import gen-oam {

Xia, et al.             Expires September 7, 2015              [Page 15]
Internet-Draft             SFC OAM YANG Model                 March 2015

       prefix goam;

     }

     import gen-oam-rpc {

       prefix goam-rpc;

     }

     import service-function  {

       prefix sfc-sf;

     }

     import service-function-path  {

       prefix sfc-sfp;

     }

     import service-function-forwarder  {

       prefix sfc-sff;

     }

     revision 2014-09-04 {

       description

       "Initial revision.";

     }

     identity sfc {

       base goam:technology-types;

       description

Xia, et al.             Expires September 7, 2015              [Page 16]
Internet-Draft             SFC OAM YANG Model                 March 2015

       "sfc type";

     }

     typedef SFC-layer {

       type enumeration {

       enum "Service function layer" {

         value 0;

       }

       enum "SFC forwarding layer" {

         value 1;

       }

       }

     }

    augment
    "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:connectivity-
    context" {

       case connectivity-context-sfc {

       leaf connectivity-context-sfp {

         type sfc-sfp:service-function-path-ref;

       }

       }

    }

     augment
    "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:mp-
    address" {

Xia, et al.             Expires September 7, 2015              [Page 17]
Internet-Draft             SFC OAM YANG Model                 March 2015

       case sf-mep-address {

       description

       "Service function (or service function forwarder) address plus
    service function path id to identify one SFC MEP. A SFC MP can be a
    service function or service function forwarder!";

       leaf sf-mep-ref {

         when "/goam:domains/goam:domain/goam:technology='sfc'";

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         when "/goam:domains/goam:domain/goam:technology='sfc'";

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       description

       "Service function address plus service function path id to
    identify one SFC MEP. A SFC MP can be a service function or service
    function forwarder!";

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

Xia, et al.             Expires September 7, 2015              [Page 18]
Internet-Draft             SFC OAM YANG Model                 March 2015

     }

     augment
    "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/go
    am:destination-mep-address/goam:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     augment
    "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP/goam:session/go
    am:connectivity-context" {

       case connectivity-context-sfc {

Xia, et al.             Expires September 7, 2015              [Page 19]
Internet-Draft             SFC OAM YANG Model                 March 2015

       leaf connectivity-context-sfp {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     //SFC extension of contiuity-check part

     augment "/goam-rpc: continuity-check/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

Xia, et al.             Expires September 7, 2015              [Page 20]
Internet-Draft             SFC OAM YANG Model                 March 2015

       }

       }

     }

     augment "/goam-rpc: continuity-check/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     //SFC extension of connectity-verification part

Xia, et al.             Expires September 7, 2015              [Page 21]
Internet-Draft             SFC OAM YANG Model                 March 2015

    augment "/goam-rpc: connectivity-verification/goam-
    rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     augment "/goam-rpc: connectivity-verification/goam-
    rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

        type sfc-sf:service-function-ref;

Xia, et al.             Expires September 7, 2015              [Page 22]
Internet-Draft             SFC OAM YANG Model                 March 2015

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     //SFC extension of path-discovery part

    augment "/goam-rpc: path-discovery/goam-rpc:input" {

       description

       "adds SFC specific items on the input";

       leaf path-discovery-layer {

       type SFC-layer;

       description

         "Identifying which SFC layer to run path discovery";

Xia, et al.             Expires September 7, 2015              [Page 23]
Internet-Draft             SFC OAM YANG Model                 March 2015

       }

     }

     augment "/goam-rpc: path-discovery/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     augment "/goam-rpc: path-discovery/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address" {

       case sf-mep-address {

Xia, et al.             Expires September 7, 2015              [Page 24]
Internet-Draft             SFC OAM YANG Model                 March 2015

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

    augment "/goam-rpc: path-discovery/goam-rpc:output/goam-
    rpc:response/goam-rpc:destination-mp/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

Xia, et al.             Expires September 7, 2015              [Page 25]
Internet-Draft             SFC OAM YANG Model                 March 2015

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     //SFC extension of performance-measurement part

    augment "/goam-rpc:initiated-performance-measurement/goam-
    rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

Xia, et al.             Expires September 7, 2015              [Page 26]
Internet-Draft             SFC OAM YANG Model                 March 2015

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     augment "/goam-rpc:initiated-performance-measurement/goam-
    rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

Xia, et al.             Expires September 7, 2015              [Page 27]
Internet-Draft             SFC OAM YANG Model                 March 2015

       }

     }

      augment "/goam-rpc:revoke-performance-measurement/goam-
    rpc:input/goam-rpc:source-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     augment "/goam-rpc:revoke-performance-measurement/goam-
    rpc:input/goam-rpc:destination-mep/goam-rpc:mp-address" {

       case sf-mep-address {

Xia, et al.             Expires September 7, 2015              [Page 28]
Internet-Draft             SFC OAM YANG Model                 March 2015

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

    //SFC extension of other-function part

    augment "/goam-rpc:initiated-other-function/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

Xia, et al.             Expires September 7, 2015              [Page 29]
Internet-Draft             SFC OAM YANG Model                 March 2015

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     augment "/goam-rpc:initiated-other-function/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

Xia, et al.             Expires September 7, 2015              [Page 30]
Internet-Draft             SFC OAM YANG Model                 March 2015

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

      augment "/goam-rpc:revoke-other-function/goam-rpc:input/goam-
    rpc:source-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

Xia, et al.             Expires September 7, 2015              [Page 31]
Internet-Draft             SFC OAM YANG Model                 March 2015

     augment "/goam-rpc:revoke-other-function/goam-rpc:input/goam-
    rpc:destination-mep/goam-rpc:mp-address" {

       case sf-mep-address {

       leaf sf-mep-ref {

         type sfc-sf:service-function-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

       case sff-mep-address {

       leaf sff-mep-ref {

         type sfc-sff:service-function-forwarder-ref;

       }

       leaf sfp-mep-ref {

         type sfc-sfp:service-function-path-ref;

       }

       }

     }

     }
    <CODE ENDS>

7.  Security Considerations

   TBD.

Xia, et al.             Expires September 7, 2015              [Page 32]
Internet-Draft             SFC OAM YANG Model                 March 2015

8.  IANA Considerations

   TBD.

9.  References

9.1.  Normative References

   [IEEE.802.1Q-2011]
              Institute of Electrical and Electronics Engineers, "Media
              Access Control (MAC) Bridges and Virtual Bridged Local
              Area Networks", IEEE Standard 802.1Q, August 2011.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", March 1997.

   [RFC2234]  Crocker, D., Ed. and P. Overell, "Augmented BNF for Syntax
              Specifications: ABNF", RFC 2234, November 1997.

9.2.  Informative References

   [I-D.penno-sfc-yang]
              Penno, R., Quinn, P., Zhou, D., and J. Li, "Yang Data
              Model for Service Function Chaining", draft-penno-sfc-
              yang-13 (work in progress), March 2015.

   [I-D.wang-lime-rpc-yang-oam-management]
              Wang, Z. and Q. Wu, "Additional RPC definitions to Generic
              YANG Data Model for layer Independent OAM Management",
              draft-wang-lime-rpc-yang-oam-management-00 (work in
              progress), October 2014.

   [Y.1731]   "OAM functions and mechanisms for Ethernet based
              networks", ITU G.8013/Y.1731, July 2011.

Authors' Addresses

   Liang Xia
   Huawei Technologies,Co.,Ltd
   101 Software Avenue, Yuhua District
   Nanjing  210012
   China

   Email: frank.xialiang@huawei.com

Xia, et al.             Expires September 7, 2015              [Page 33]
Internet-Draft             SFC OAM YANG Model                 March 2015

   Qin Wu
   Huawei
   101 Software Avenue, Yuhua District
   Nanjing, Jiangsu  210012
   China

   Email: bill.wu@huawei.com

   Deepak Kumar
   Cisco Systems
   510 McCarthy Blvd Milpitas,
   CA  95035
   USA

   Email: dekumar@cisco.com

   Mohamed Boucadair
   France Telecom
   Rennes 35000
   France

   Email: mohamed.boucadair@orange.com

   Zitao Wang
   Huawei Technologies,Co.,Ltd
   101 Software Avenue, Yuhua District
   Nanjing  210012
   China

   Email: wangzitao@huawei.com

Xia, et al.             Expires September 7, 2015              [Page 34]