Skip to main content

Additional RPC definitions to Generic YANG Data Model for layer Independent OAM Management
draft-wang-lime-rpc-yang-oam-management-01

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 Zitao Wang , Qin Wu
Last updated 2015-03-09
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-lime-rpc-yang-oam-management-01
Network Working Group                                            Z. Wang
Internet-Draft                                                     Q. Wu
Intended status: Standards Track                                  Huawei
Expires: September 10, 2015                                March 9, 2015

    Additional RPC definitions to Generic YANG Data Model for layer
                       Independent OAM Management
               draft-wang-lime-rpc-yang-oam-management-01

Abstract

   [I-D.tissa-lime-yang-oam-model] defines a Generic YANG data model for
   Layer independent OAM Management.  This document proposes additional
   extension to this YANG module which is complementary to the one
   defined in the [I-D.tissa-lime-yang-oam-model] and describes the
   abstract notification and rpc command for Unified Management Plane
   OAM to be used within IETF in a layer independent manner.  The
   abstract notification and rpc command described in this document can
   be applied to various network technologies and includes technology
   independent configuration data and state 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 10, 2015.

Copyright Notice

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

   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

Wang & Wu              Expires September 10, 2015               [Page 1]
Internet-Draft      Layer Independent OAM Management          March 2015

   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 . . . . . . . . . . . . . . . . .   2
     2.1.  Tree Diagrams . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Overview of the abstract Notification and RPC command . . . .   4
     3.1.  Notification Definition . . . . . . . . . . . . . . . . .   4
     3.2.  Abstract CC Command Rpc . . . . . . . . . . . . . . . . .   5
     3.3.  Abstract CV Command Rpc . . . . . . . . . . . . . . . . .   5
     3.4.  Abstract Path Discovery Command Rpc . . . . . . . . . . .   6
     3.5.  Abstract Performance Measurement Command Rpc  . . . . . .   8
     3.6.   Abstract other-function Command Rpc  . . . . . . . . . .   9
   4.  OAM data hierarchy for Abstract Notification and rpc command   11
   5.  OAM YANG Module . . . . . . . . . . . . . . . . . . . . . . .  16
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .  36
   7.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .  36
   8.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  36
     8.1.  Normative References  . . . . . . . . . . . . . . . . . .  36
     8.2.  Informative References  . . . . . . . . . . . . . . . . .  37
   Authors' Addresses  . . . . . . . . . . . . . . . . . . . . . . .  37

1.  Introduction

   [I-D.tissa-lime-yang-oam-model] defines a YANG [RFC6020] data model
   for Layer independent OAM Management implementations that can be
   applied to various network technologies.  This YANG module describes
   the abstract common core configuration, statistics for Unified
   Management Plane OAM to be used within IETF in a layer independent
   manner.This document describes the abstract notification and rpc
   command which is complementary to the one defined in the [I-D.tissa-
   lime-yang-oam-model] . The abstract notification and rpc command
   includes technology independent configuration data and state data.

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:

Wang & Wu              Expires September 10, 2015               [Page 2]
Internet-Draft      Layer Independent OAM Management          March 2015

   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.  Tree Diagrams

   A simplified graphical representation of the data model is used in
   this document.  The meaning of the symbols in these diagrams is as
   follows:

   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>.

Wang & Wu              Expires September 10, 2015               [Page 3]
Internet-Draft      Layer Independent OAM Management          March 2015

   <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

3.  Overview of the abstract Notification and RPC command

   [I-D.tissa-lime-yang-oam-model] defines a Generic YANG data model for
   Layer independent OAM Management.This data model aims to address the
   problems associated with existing OAM technology deployment described
   in [I-D.edprop-opsawg-multi- layer- oam] and adopts both IEEE CFM
   model and Y.1731 model and structures it such that it can be adapted
   to different technologies.

   rpc commands,in YANG terms are used between the interface between
   management plane and data plane.  This document defines abstract
   notification and rpc commands providing uniform APIs for common OAM
   function defined in section 3 of [RFC7276], e.g.,CC, CV, Path
   Discovery, Performance measurement.

3.1.  Notification Definition

   This notification is sent whenever the operational status of MEG is
   changed.

   notifications:
           +--n defect-condition-notification
           +--ro technology         identityref
           +--ro md-name-string       string
           +--ro md-level?            uint32
           +--ro ma-name-string       string
           +--ro mep-id?              MP-id
           +--ro remote-mepid        MP-id
           |  +--ro (MEP-ID)?
           |  +----:(MEP-ID-int)
           |  |    +--ro MEP-ID-int ?   int32
           +--ro oper-status       enumeration
           +--ro sub-oper-status   enumeration
           +--ro error-message     string

        Snippet of data hierarchy related to Management OAM domains

Wang & Wu              Expires September 10, 2015               [Page 4]
Internet-Draft      Layer Independent OAM Management          March 2015

3.2.  Abstract CC Command Rpc

   Rpc model defined here abstracts OAM specific commands in a
   technology independent manner.  Here is rpc model for Continuity
   Check(CC) command.

   rpcs:
      +--x contiuity-check
      |  +--ro input
      |  |  +--ro technology          identityref
      |  |  +--ro md-level               uint32
      |  |  +--ro md-name?                string
      |  |  +--ro ma-name                 string
      |  |  +--ro source-mep
      |  |  |  +--ro (mep-addr)?
      |  |  |  |  +--:(mac-address)
      |  |  |  |  |  +--ro mac-address?    yang:mac-address
      |  |  |  |  +--:(ipv4-address)
      |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
      |  |  |  |  +--:(ipv6-address)
      |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
      |  |  |  +--ro mep-id?             MEP-id
      |  |  +--ro destination-mep
      |  |  |  +--ro (mep-addr)?
      |  |  |  |  +--:(mac-address)
      |  |  |  |  |  +--ro mac-address?    yang:mac-address
      |  |  |  |  +--:(ipv4-address)
      |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
      |  |  |  |  +--:(ipv6-address)
      |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
      |  |  |  +--ro mep-id?              MEP-id
      |  |  +--ro outgoing-interfaces* [interface]
      |  |     +--ro interface    if:interface-ref
      |  +--ro output
      |     +--ro maintenance-stats
      |        +--:(maintenance-null)
      |           +--ro maintenance-null?          Empty

                  Snippet of data hierarchy related to CC

3.3.  Abstract CV Command Rpc

   Rpc model defined here abstracts OAM specific commands in a
   technology independent manner.  Here is rpc model for Connectivity
   Verification (CV) command.

Wang & Wu              Expires September 10, 2015               [Page 5]
Internet-Draft      Layer Independent OAM Management          March 2015

   rpcs:
      +--x connectity-verification
      |  +--ro input
      |  |  +--ro technology          identityref
      |  |  +--ro md-level               uint32
      |  |  +--ro md-name?                string
      |  |  +--ro ma-name                string
      |  |  +--ro source-mep
      |  |  |  +--ro (mep-addr)?
      |  |  |  |  +--:(mac-address)
      |  |  |  |  |  +--ro mac-address?    yang:mac-address
      |  |  |  |  +--:(ipv4-address)
      |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
      |  |  |  |  +--:(ipv6-address)
      |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
      |  |  |  +--ro mep-id?             MEP-id
      |  |  +--ro destination-mep
      |  |  |  +--ro (mep-addr)?
      |  |  |  |  +--:(mac-address)
      |  |  |  |  |  +--ro mac-address?    yang:mac-address
      |  |  |  |  +--:(ipv4-address)
      |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
      |  |  |  |  +--:(ipv6-address)
      |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
      |  |  |  +--ro mep-id?              MEP-id
      |  |  +--ro outgoing-interfaces* [interface]
      |  |     +--ro interface    if:interface-ref
      |  +--ro output
      |     +--ro maintenance-stats
      |        +--:(maintenance-null)
      |           +--ro maintenance-null?          Empty

                  Snippet of data hierarchy related to CV

3.4.  Abstract Path Discovery Command Rpc

   Rpc model defined here abstracts OAM specific commands in a
   technology independent manner.  Here is rpc model for Path Discovery
   command.

Wang & Wu              Expires September 10, 2015               [Page 6]
Internet-Draft      Layer Independent OAM Management          March 2015

   rpcs:
        +--x path-discovery
        |  +--ro input
        |  |  +--ro technology          identityref
        |  |  +--ro md-level               uint32
        |  |  +--ro md-name?                string
        |  |  +--ro ma-name             string
        |  |  +--ro source-mep
        |  |  |  +--ro (source-mep-addr)?      MEP-id
        |  |  |  |  +--:(mac-address)
        |  |  |  |  |  +--ro mac-address?    yang:mac-address
        |  |  |  |  +--:(ipv4-address)
        |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
        |  |  |  |  +--:(ipv6-address)
        |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
        |  |  |  +--ro mep-id?              MEP-id
        |  |  +--ro destination-mep
        |  |  |  +--ro (destination-mep-addr)?      MEP-id
        |  |  |  |  +--:(mac-address)
        |  |  |  |  |  +--ro mac-address?    yang:mac-address
        |  |  |  |  +--:(ipv4-address)
        |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
        |  |  |  |  +--:(ipv6-address)
        |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
        |  |  |  +--ro mep-id?              MEP-id
        |  |  +--ro outgoing-interfaces* [interface]
        |  |     +--ro interface    if:interface-ref
        |  +--ro output
        |  |  +--ro response*[response-index]
        |  |     +--ro response-index  uint8
        |  |     +--ro destination-mp
        |  |     |  +--ro (mp-address)?
        |  |     |  |  +--:(mac-address)
        |  |     |  |  |  +--ro mac-address?     yang:mac-address
        |  |     |  |  +--:(ipv4-address)
        |  |     |  |  |  +--ro ipv4-address?    inet:ipv4-address
        |  |     |  |  +--:(ipv6-address)
        |  |     |  |  |  +--ro ipv6-address?    inet:ipv6-address
        |  |     |  +--ro mp-id?
        |  |     +--ro maintenance-stats
        |  |        +--:(maintenance-null)
        |  |           +--ro maintenance-null?          Empty

            Snippet of data hierarchy related to Path Discovery

Wang & Wu              Expires September 10, 2015               [Page 7]
Internet-Draft      Layer Independent OAM Management          March 2015

3.5.  Abstract Performance Measurement Command Rpc

   Rpc model defined here abstracts OAM specific commands in a
   technology independent manner.  Here is rpc model for performance
   measurement command.

   rpcs:
          +--x initiated-performance-measurement
          |  +--ro input
          |  |  +--ro technology          identityref
          |  |  +--ro md-level               uint32
          |  |  +--ro md-name?                string
          |  |  +--ro ma-name                 string
          |  |  +--ro source-mep
          |  |  |  +--ro (source-mep-addr)?
          |  |  |  |  +--:(mac-address)
          |  |  |  |  |  +--ro mac-address?    yang:mac-address
          |  |  |  |  +--:(ipv4-address)
          |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
          |  |  |  |  +--:(ipv6-address)
          |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
          |  |  |  +--ro mep-id?              MEP-id
          |  |  +--ro destination-mp
          |  |  |  +--ro (destination-mp-addr)?
          |  |  |  |  +--:(mac-address)
          |  |  |  |  |  +--ro mac-address?    yang:mac-address
          |  |  |  |  +--:(ipv4-address)
          |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
          |  |  |  |  +--:(ipv6-address)
          |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
          |  |  |  +--ro mep-id?              MEP-id
          |  |  +--ro outgoing-interfaces* [interface]
          |  |     +--ro interface    if:interface-ref
          |  |  +--ro interval               uint32
          |  |  +--ro pm-type                  uint32
          |  +--ro output
          |  |  +--ro maintenance-stats
          |  |     +--:(maintenance-null)
          |  |        +--ro maintenance-null?          Empty
          +--x revoke-performance-measurement
          |  +--ro input
          |  |  +--ro technology          identityref
          |  |  +--ro md-level               uint32
          |  |  +--ro md-name?                string
          |  |  +--ro ma-name                 string
          |  |  +--ro source-mep
          |  |  |  +--ro (source-mep-addr)?
          |  |  |  |  +--:(mac-address)

Wang & Wu              Expires September 10, 2015               [Page 8]
Internet-Draft      Layer Independent OAM Management          March 2015

          |  |  |  |  |  +--ro mac-address?    yang:mac-address
          |  |  |  |  +--:(ipv4-address)
          |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
          |  |  |  |  +--:(ipv6-address)
          |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
          |  |  |  +--ro mep-id?              MEP-id
          |  |  +--ro destination-mp
          |  |  |  +--ro (destination-mp-addr)?
          |  |  |  |  +--:(mac-address)
          |  |  |  |  |  +--ro mac-address?    yang:mac-address
          |  |  |  |  +--:(ipv4-address)
          |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
          |  |  |  |  +--:(ipv6-address)
          |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
          |  |  |  +--ro mep-id?              MEP-id
          |  |  +--ro outgoing-interfaces* [interface]
          |  |     +--ro interface    if:interface-ref
          |  |  +--ro interval               uint32
          |  |  +--ro pm-type                  uint32

       Snippet of data hierarchy related to Performance Measurement

3.6.  Abstract other-function Command Rpc

   Here is rpc model for other-function command.  This model is a basic
   model.  Specific OAM function can inherit and augment it such as
   Diagnostic Test, Lock Alarm reporting, Client failing indicate, RDI.
   etc.

   rpcs:
           +--x initiated-other-function
           |  +--ro input
           |  |  +--ro function-name      string
           |  |  +--ro technology          identityref
           |  |  +--ro md-level               uint32
           |  |  +--ro md-name?                string
           |  |  +--ro ma-name             string
           |  |  +--ro source-mep
           |  |  |  +--ro (source-mep-addr)?      MEP-id
           |  |  |  |  +--:(mac-address)
           |  |  |  |  |  +--ro mac-address?    yang:mac-address
           |  |  |  |  +--:(ipv4-address)
           |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
           |  |  |  |  +--:(ipv6-address)
           |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
           |  |  |  +--ro mep-id?              MEP-id
           |  |  +--ro destination-mep
           |  |  |  +--ro (destination-mep-addr)?      MEP-id

Wang & Wu              Expires September 10, 2015               [Page 9]
Internet-Draft      Layer Independent OAM Management          March 2015

           |  |  |  |  +--:(mac-address)
           |  |  |  |  |  +--ro mac-address?    yang:mac-address
           |  |  |  |  +--:(ipv4-address)
           |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
           |  |  |  |  +--:(ipv6-address)
           |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
           |  |  |  +--ro mep-id?              MEP-id
           |  |  +--ro outgoing-interfaces* [interface]
           |  |     +--ro interface    if:interface-ref
           |  |  +--ro (other-function-parameters)?
           |  |     +--:(parameters-null)
           |  |        +--ro parameters-null      Empty
           |  +--ro output
           |  |  +--ro maintenance-stats
           |  |     +--:(maintenance-null)
           |  |        +--ro maintenance-null?          Empty
           +--x revoke-other-function
           |  +--ro input
           |  |  +--ro function-name      string
           |  |  +--ro technology          identityref
           |  |  +--ro md-level               uint32
           |  |  +--ro md-name?                string
           |  |  +--ro ma-name             string
           |  |  +--ro source-mep
           |  |  |  +--ro (source-mep-addr)?      MEP-id
           |  |  |  |  +--:(mac-address)
           |  |  |  |  |  +--ro mac-address?    yang:mac-address
           |  |  |  |  +--:(ipv4-address)
           |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
           |  |  |  |  +--:(ipv6-address)
           |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
           |  |  |  +--ro mep-id?              MEP-id
           |  |  +--ro destination-mep
           |  |  |  +--ro (destination-mep-addr)?      MEP-id
           |  |  |  |  +--:(mac-address)
           |  |  |  |  |  +--ro mac-address?    yang:mac-address
           |  |  |  |  +--:(ipv4-address)
           |  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
           |  |  |  |  +--:(ipv6-address)
           |  |  |  |     +--ro ipv6-address?   inet:ipv6-address
           |  |  |  +--ro mep-id?              MEP-id
           |  |  +--ro outgoing-interfaces* [interface]
           |  |  |  +--ro interface    if:interface-ref
           |  |  +--ro (other-function-parameters)?
           |  |     +--:(parameters-null)
           |  |        +--ro parameters-null      Empty

            Snippet of data hierarchy related to other-function

Wang & Wu              Expires September 10, 2015              [Page 10]
Internet-Draft      Layer Independent OAM Management          March 2015

4.  OAM data hierarchy for Abstract Notification and rpc command

   The complete data hierarchy related to the abstract notification and
   rpc comand is presented below.

module: gen-oam (defined in [I-D.tissa-lime-yang-oam-model])
+--rw domains
   +--rw domain* [md-name technology]
      +--rw technology        identityref
      +--rw md-name-format    MD-name-format
      +--rw md-name           binary
      +--rw md-level          int32
      +--rw MAs!
          .                    .
          .
          .
//the abstract rpc command and notification are defined in this document
     Please view in a fixed-width font such as Courier.

 notifications:
+--n defect-condition-notification
+--ro technology         identityref
+--ro md-name-string       string
+--ro md-level?            uint32
+--ro ma-name-string       string
+--ro mep-id?              MP-id
+--ro remote-mepid        MP-id
|  +--ro (MEP-ID)?
|  +----:(MEP-ID-int)
|  |    +--ro MEP-ID-int ?   int32
+--ro oper-status       enumeration
+--ro sub-oper-status   enumeration
+--ro error-message     string

+--x continuity-check
|  +--ro input
|  |  +--ro technology          identityref
|  |  +--ro md-level               uint32
|  |  +--ro md-name?                string
|  |  +--ro ma-name                string
|  |  +--ro source-mep
|  |  |  +--ro (mep-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address

Wang & Wu              Expires September 10, 2015              [Page 11]
Internet-Draft      Layer Independent OAM Management          March 2015

|  |  |  +--ro mep-id?               MEP-id
|  |  +--ro destination-mep
|  |  |  +--ro (mep-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro outgoing-interfaces* [interface]
|  |     +--ro interface    if:interface-ref
|  +--ro output
|  |  +--ro maintenance-stats
|  |     +--:(maintenance-null)
|  |        +--ro maintenance-null?          Empty

+--x connectity-verification
|  +--ro input
|  |  +--ro technology           identityref
|  |  +--ro md-level               uint32
|  |  +--ro md-name?                string
|  |  +--ro ma-name                string
|  |  +--ro source-mep
|  |  |  +--ro (source-mep-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro destination-mep
|  |  |  +--ro (destination-mep-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro outgoing-interfaces* [interface]
|  |     +--ro interface    if:interface-ref
|  +--ro output
|  |  +--ro maintenance-stats
|  |     +--:(maintenance-null)
|  |        +--ro maintenance-null?          Empty

Wang & Wu              Expires September 10, 2015              [Page 12]
Internet-Draft      Layer Independent OAM Management          March 2015

+--x path-discovery
|  +--ro input
|  |  +--ro technology            identityref
|  |  +--ro md-level               uint32
|  |  +--ro md-name?                string
|  |  +--ro ma-name                string
|  |  +--ro source-mep
|  |  |  +--ro (source-mep-addr)?      MEP-id
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro destination-mep
|  |  |  +--ro (destination-mep-addr)?      MEP-id
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro outgoing-interfaces* [interface]
|  |     +--ro interface    if:interface-ref
|  +--ro output
|  |  +--ro response*[response-index]
|  |     +--ro response-index  uint8
|  |     +--ro destination-mp
|  |     |  +--ro (mp-address)?
|  |     |  |  +--:(mac-address)
|  |     |  |  |  +--ro mac-address?     yang:mac-address
|  |     |  |  +--:(ipv4-address)
|  |     |  |  |  +--ro ipv4-address?    inet:ipv4-address
|  |     |  |  +--:(ipv6-address)
|  |     |  |  |  +--ro ipv6-address?    inet:ipv6-address
|  |     |  +--ro mp-id?
|  |     +--ro maintenance-stats
|  |        +--:(maintenance-null)
|  |           +--ro maintenance-null?          Empty

+--x initiated-performance-measurement
|  +--ro input
|  |  +--ro technology          identityref
|  |  +--ro md-level               uint32
|  |  +--ro md-name?                string
|  |  +--ro ma-name                string

Wang & Wu              Expires September 10, 2015              [Page 13]
Internet-Draft      Layer Independent OAM Management          March 2015

|  |  +--ro source-mep
|  |  |  +--ro (source-mep-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro destination-mep
|  |  |  +--ro (destination-mep-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro outgoing-interfaces* [interface]
|  |     +--ro interface    if:interface-ref
|  |  +--ro interval               uint32
|  |  +--ro pm-type                uint32
|  +--ro output
|  |  +--ro maintenance-stats
|  |     +--:(maintenance-null)
|  |        +--ro maintenance-null?          Empty
+--x revoke-performance-measurement
|  +--ro input
|  |  +--ro technology          identityref
|  |  +--ro md-level               uint32
|  |  +--ro md-name?                string
|  |  +--ro ma-name                 string
|  |  +--ro source-mep
|  |  |  +--ro (source-mep-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro destination-mp
|  |  |  +--ro (destination-mp-addr)?
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)

Wang & Wu              Expires September 10, 2015              [Page 14]
Internet-Draft      Layer Independent OAM Management          March 2015

|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro outgoing-interfaces* [interface]
|  |     +--ro interface    if:interface-ref
|  |  +--ro interval               uint32
|  |  +--ro pm-type                  uint32
+--x initiated-other-function
|  +--ro input
|  |  +--ro function-name      string
|  |  +--ro technology          identityref
|  |  +--ro md-level               uint32
|  |  +--ro md-name?                string
|  |  +--ro ma-name             string
|  |  +--ro source-mep
|  |  |  +--ro (source-mep-addr)?      MEP-id
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro destination-mep
|  |  |  +--ro (destination-mep-addr)?      MEP-id
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro outgoing-interfaces* [interface]
|  |     +--ro interface    if:interface-ref
|  |  +--ro (other-function-parameters)?
|  |     +--:(parameters-null)
|  |        +--ro parameters-null      Empty
|  +--ro output
|  |  +--ro maintenance-stats
|  |     +--:(maintenance-null)
|  |        +--ro maintenance-null?          Empty
+--x revoke-other-function
|  +--ro input
|  |  +--ro function-name      string
|  |  +--ro technology          identityref
|  |  +--ro md-level               uint32
|  |  +--ro md-name?                string
|  |  +--ro ma-name             string
|  |  +--ro source-mep

Wang & Wu              Expires September 10, 2015              [Page 15]
Internet-Draft      Layer Independent OAM Management          March 2015

|  |  |  +--ro (source-mep-addr)?      MEP-id
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro destination-mep
|  |  |  +--ro (destination-mep-addr)?      MEP-id
|  |  |  |  +--:(mac-address)
|  |  |  |  |  +--ro mac-address?    yang:mac-address
|  |  |  |  +--:(ipv4-address)
|  |  |  |  |  +--ro ipv4-address?   inet:ipv4-address
|  |  |  |  +--:(ipv6-address)
|  |  |  |     +--ro ipv6-address?   inet:ipv6-address
|  |  |  +--ro mep-id?              MEP-id
|  |  +--ro outgoing-interfaces* [interface]
|  |     +--ro interface    if:interface-ref
|  |  +--ro (other-function-parameters)?
|  |    +--:(parameters-null)
|  |      +--ro parameters-null      Empty

                     data hierarchy of Management OAM

5.  OAM YANG Module

<CODE BEGINS> file "Ietf-lime-rpc-yang-oam-management@2014-12-16.yang "
 module gen-oam-rpc {
     namespace "urn:ietf:params:xml:ns:yang:gen-oam-rpc";
     prefix goam-rpc;

   import ietf-interfaces {
   prefix if;
   }
   import ietf-inet-types {
   prefix inet;
    }
   import ietf-yang-types {

   prefix yang;
   }

  organization "IETF LIME (Layer Independent OAM Management in Multi-Layer Environment) Working Group";

   description
   "This YANG module defines the abstract notification and rpc command for multi-layer OAM management to be used
   within IETF in a protocol independent manner.";

Wang & Wu              Expires September 10, 2015              [Page 16]
Internet-Draft      Layer Independent OAM Management          March 2015

   revision 2014-12-16 {
   description
   "Initial revision.";
   reference " RFC XXXX: A YANG Data Model for Layer independent OAM management";
   }
   /*
   * identity definitions,
   */

   identity technology-types {
   description
    "this is the base identity of technology types which are
   ethernet, bfd, mpls, sfc, ipv4, ipv6";
   }

   identity mpls {
    base technology-types;
   description
   "mpls technology type";
   }

   identity sfc {

   base technology-types;
   description
   "sfc type";
   }

   identity ipv4 {
    base technology-types;
    description
    "technology of ipv4";
    }

   identity ipv6 {
   base technology-types;

   description
   "technology of ipv6";
   }

   /*
    * typedef definitions
   */

   typedef vni {
   type uint32;
   }

Wang & Wu              Expires September 10, 2015              [Page 17]
Internet-Draft      Layer Independent OAM Management          March 2015

   grouping mp-address {
       choice mp-address {
         case mac-address {
           leaf mac-address {
             type yang:mac-address;
           }
         }
         case ipv4-address {
           leaf ipv4-address {
             type inet:ipv4-address;
           }
         }
         case ipv6-address {
           leaf ipv6-address {
             type inet:ipv6-address;
           }
         }
       }
     }

   typedef MP-id {
   type union{
type uint32 {
   range "1..8191";
}
type yang:mac-address;
    type inet:ipv4-address;
    type inet:ipv6-address;
}
   description
   "Defines type for MPID";
    }

   typedef Context-Identifier {
   type union {
   type vni;
   type uint32;
   }
   description
   "defines context identifier types VNI, etc..";
   }

   typedef oam-counter32 {
   type yang:zero-based-counter32;

    description

Wang & Wu              Expires September 10, 2015              [Page 18]
Internet-Draft      Layer Independent OAM Management          March 2015

    "defines 32 bit counter for OAM";
   }
   /*
   * grouping definitions
   */

grouping maintenance-stats {
       description
         "grouping for maintenance statistics, this will be augmented
          by others who use this component";
       choice maintenance-stats {
         default "maintenance-null";
         case maintenance-null {
           description
             "this is a place holder when no maintenance statis is needed";
           leaf maintenance-null {
             type empty;
             description
               "there is no maintenance statistics to be defined";
           }
         }
       }
     }

grouping default-parameter{
    description
         "grouping for default parameters, this will be augmented
          by others who use this component";
          choice other-function-parameters {
         default "parameters-null";
         case parameters-null {
           description
             "this is a place holder when no specific parameter is needed";
           leaf parameters-null {
             type empty;
             description
               "there is no specific parameter to be defined";
           }
         }
       }
}

grouping MD-status {
       description
         "collection of maintenance domain related status";

leaf admin-status {
           type enumeration{

Wang & Wu              Expires September 10, 2015              [Page 19]
Internet-Draft      Layer Independent OAM Management          March 2015

enum up;
enum down;
}
           description
" This leaf specifies the admin status of the
               Maintenance Domain (MD)";
         }

leaf oper-status {
           type enumeration{
enum up;
enum down;
}
           description
" This leaf specifies the operational status of the
               Maintenance Domain (MD)";
         }

leaf sub-oper-status {
           type enumeration{
enum mdDown;
enum maDown;
enum oamAppDown;
enum pathDown;}
           description
" This leaf specifies the reason why the MD operational
               status as mentioned by the leaf Oper-Status
               is down.
               The mdDown indicates the MD is down.
               The maDown indicates the MA table is
               down.
               The oamAppDown indicates that the
               OAM application has notified that the entity
               monitored by this MEG is down.
               The pathDown indicates that the underlying
               path is down";
         }
 }
   /*
    * below is definitions of rpc commands
   */
rpc initiated-continuity-check {

       description
         "Generates continuity-check and return response";
       input {
         leaf technology {

Wang & Wu              Expires September 10, 2015              [Page 20]
Internet-Draft      Layer Independent OAM Management          March 2015

 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }

         leaf md-name{
status current;
description
"Defines the MA-Domain name. This is a binary (octet) string
of 43 bytes";
type binary;
}

         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{

         mandatory true;
         description
        "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf MP-id {
           type MP-id;
           }
         }

Wang & Wu              Expires September 10, 2015              [Page 21]
Internet-Draft      Layer Independent OAM Management          March 2015

         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
       }
       output {
uses maintenance-stats {
          description
         "maintenance Stats of CC";
           }
         }
}

rpc revoke-continuity-check {

       description
         "Revoke continuity-check ";
       input {
leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }

         leaf md-name{
status current;
description
"Defines the MA-Domain name. This is a binary (octet) string
of 43 bytes";
type binary;
}

         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

Wang & Wu              Expires September 10, 2015              [Page 22]
Internet-Draft      Layer Independent OAM Management          March 2015

         leaf ma-name{
         mandatory true;
         description
        "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }
         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
       }
}

rpc initiated-connectivity-verification {
 description
"Generates connectivity-verification and return response";
       input {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }

         leaf md-name{
status current;
description

Wang & Wu              Expires September 10, 2015              [Page 23]
Internet-Draft      Layer Independent OAM Management          March 2015

"Defines the MA-Domain name. This is a binary (octet) string
of 43 bytes";
type binary;
}

         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{
         mandatory true;
         description
         "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}
        container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }
         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
       }
       output {
uses maintenance-stats {
          description
         "maintenance Stats of CV";
           }
         }
}

Wang & Wu              Expires September 10, 2015              [Page 24]
Internet-Draft      Layer Independent OAM Management          March 2015

rpc revoke-connectity-verification {

       description
         "Revoke connectity verification  ";
       input {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf md-name{
status current;
description
"Defines the MA-Domain name. This is a binary (octet) string
of 43 bytes";
type binary;
}

         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{
         mandatory true;
         description
        "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;

Wang & Wu              Expires September 10, 2015              [Page 25]
Internet-Draft      Layer Independent OAM Management          March 2015

           leaf mep-id {
           type MP-id;
           }
         }
         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
       }
}

rpc initiated-path-discovery {
       description
          "Generates path discovery and return response";
       input {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf md-name{
status current;
description
"Defines the MA-Domain name. This is a binary (octet) string
of 43 bytes";
type binary;
}

         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{
         mandatory true;
         description
         "Define the MA-Name according to the specified format.
         This is 43 byte string.";

Wang & Wu              Expires September 10, 2015              [Page 26]
Internet-Draft      Layer Independent OAM Management          March 2015

         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
       }
       output {
         list response{
         key "response-index";
         leaf response-index{
type uint8;
}
         container destination-mp {
           uses mp-address;
           leaf mp-id {
             type MP-id;
           }
         }

uses maintenance-stats {
          description
         "maintenance Stats of path discovery ";
           }
         }
}
}

rpc revoke-path-discovery{

       description

Wang & Wu              Expires September 10, 2015              [Page 27]
Internet-Draft      Layer Independent OAM Management          March 2015

         "Revoke path discovery ";
       input {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf md-name{
status current;
description
"Defines the MA-Domain name. This is a binary (octet) string
of 43 bytes";
type binary;
}

         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{
         mandatory true;
         description
        "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }

Wang & Wu              Expires September 10, 2015              [Page 28]
Internet-Draft      Layer Independent OAM Management          March 2015

         }
         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
       }
}

rpc initiated-performance-measurement {
       description
       "Generates performance-measurement";
       input {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf md-name{
         status current;
         description
         "Defines the MA-Domain name. This is a binary (octet) string
         of 43 bytes";
         type binary;
}
         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{

         mandatory true;
         description
         "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

Wang & Wu              Expires September 10, 2015              [Page 29]
Internet-Draft      Layer Independent OAM Management          March 2015

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }

         leaf interval {
           default "0";
           description
           "Defines perform measurement Interval";
           type uint32;
           }
         leaf pm-type{
           description
           "Indicate the type of perform measurement";
           type uint32;
         }
       }
output {
uses maintenance-stats {
          description
         "maintenance Stats of performance-measurement ";
           }
         }
}

rpc revoke-performance-measurement {
       description
       "Revoke performance measurement";
       input {
         leaf technology {
 status current;

Wang & Wu              Expires September 10, 2015              [Page 30]
Internet-Draft      Layer Independent OAM Management          March 2015

         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf md-name{
         status current;
         description
         "Defines the MA-Domain name. This is a binary (octet) string
         of 43 bytes";
         type binary;
}
         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{

         mandatory true;
         description
         "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         list outgoing-interfaces {
           key "interface";

Wang & Wu              Expires September 10, 2015              [Page 31]
Internet-Draft      Layer Independent OAM Management          March 2015

           leaf interface {
           type if:interface-ref;
           }
         }

         leaf interval {
           default "0";
           description
           "Defines perform measurement Interval";
           type uint32;
           }
         leaf pm-type{
           description
           "Indicate the type of perform measurement";
           type uint32;
         }
       }
}

rpc initiated-other-function{
       description
       "Generates other-function";
       input {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf function-name{
type string;
description
"Indicate the function name ";
}
         leaf md-name{
         status current;
         description
         "Defines the MA-Domain name. This is a binary (octet) string
         of 43 bytes";
         type binary;
}

         leaf md-level{
         mandatory true;

Wang & Wu              Expires September 10, 2015              [Page 32]
Internet-Draft      Layer Independent OAM Management          March 2015

         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{

         mandatory true;
         description
         "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }
         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
        uses default-parameter;
       }
       output {
uses maintenance-stats {
          description
         "maintenance Stats of performance-measurement ";
           }
         }
}

rpc revoke-other-function{
       description
       "Revoke other-function";

Wang & Wu              Expires September 10, 2015              [Page 33]
Internet-Draft      Layer Independent OAM Management          March 2015

       input {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf function-name{
type string;
description
"Indicate the function name ";
}
         leaf md-name{
         status current;
         description
         "Defines the MA-Domain name. This is a binary (octet) string
         of 43 bytes";
         type binary;
}

         leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{

         mandatory true;
         description
         "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

         container source-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }

Wang & Wu              Expires September 10, 2015              [Page 34]
Internet-Draft      Layer Independent OAM Management          March 2015

         container destination-mep {
           uses mp-address;
           leaf mep-id {
           type MP-id;
           }
         }
         list outgoing-interfaces {
           key "interface";
           leaf interface {
           type if:interface-ref;
           }
         }
        uses default-parameter;
       }
   }

   /*
    * below is definitions of notifications
   */

notification defect-codition-notification {
         leaf technology {
 status current;
         type identityref
 {
           base technology-types;
         }
 mandatory true;
         description
         "Defines the technology";
         }
         leaf md-name{
status current;
description
"Defines the MA-Domain name. This is a binary (octet) string
of 43 bytes";
type binary;
}

leaf md-level{
         mandatory true;
         status current;
         description
         "Defines the MD-Level";
         type int32;
}

         leaf ma-name{

Wang & Wu              Expires September 10, 2015              [Page 35]
Internet-Draft      Layer Independent OAM Management          March 2015

         mandatory true;
         description
         "Define the MA-Name according to the specified format.
         This is 43 byte string.";
         type binary;
}

leaf mep-id {
mandatory true;
status current;
description
"Assign MEPID in the range of 1..8191";
         type MP-id;
}
         leaf remote-mepid {
         type MP-id;
         description
         "Who is seeing the error (if known) if unknown make it 0.";
         }
uses MD-status;
       leaf error-message {
         type string {
           length "0..255";
         }
         description
           "Error message to indicate more details.";
       }
     }
   }

 <CODE ENDS>

6.  Security Considerations

   TBD.

7.  IANA Considerations

   TBD.

8.  References

8.1.  Normative References

Wang & Wu              Expires September 10, 2015              [Page 36]
Internet-Draft      Layer Independent OAM Management          March 2015

   [I-D.edprop-opsawg-multi-layer-oam]
              Wu, Q., "Problem Statement for Layer and Technology
              Independent OAM in a Multi- Layer Environment", ID
              http://tools.ietf.org/html/
              draft-edprop-opsawg-multi-layer-oam-02, September 2014.

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

   [RFC6020]  Bjorklund, M., "YANG - A Data Modeling Language for the
              Network Configuration Protocol (NETCONF)", RFC 6020,
              October 2010.

   [RFC6241]  Enns, R., Bjorklund, M., Schoenwaelder, J., and A.
              Bierman, "Network Configuration Protocol (NETCONF)", RFC
              6241', June 2011.

8.2.  Informative References

   [I-D.tissa-lime-yang-oam-model]
              Senevirathne , T. and Q. Wu, "YANG Data Model for Generic
              Operations, Administration, and Maintenance (OAM)", ID
              http://tools.ietf.org/html/
              draft-tissa-lime-yang-oam-management-01, October 2014.

Authors' Addresses

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

   Email: wangzitao@huawei.com

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

   Email: bill.wu@huawei.com

Wang & Wu              Expires September 10, 2015              [Page 37]