Internet DRAFT - draft-ietf-trill-yang-pm

draft-ietf-trill-yang-pm



 



Internet Draft                                              Deepak Kumar
                                                         T. Senevirathne
                                                            CISCO
                                                         T. Singh
                                                            JUNIPER
                                                         Qin Wu
                                                         Weiguo Hao
                                                            Huawei
Category: Standard Track                                    
Expires May 2016                                    November 1, 2015

       YANG Data Model for TRILL Operations, Administration, and
Maintenance (OAM) Performance Management
                    draft-ietf-trill-yang-pm-02.txt

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), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

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

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on May 04, 2016.

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
   carefully, as they describe your rights and restrictions with respect
 


Kumar, Deepak             Expires May 4, 2016                   [Page 1]

Internet Draft               TRILL PM YANG              November 1, 2015


   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.

Abstract          

   This document presents YANG Data model for TRILL OAM PM[TRILL-PM]. It
   extends the YANG model defined in [GENYANGGOAM] and [TRILLOAMYANG]
   for TRILL OAM Performance management technology specifics.






































 


Kumar, Deepak             Expires May 4, 2016                   [Page 2]

Internet Draft               TRILL PM YANG              November 1, 2015


Table of Contents

   1. Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .  3
   2. Conventions used in this document . . . . . . . . . . . . . . .  4
     2.1.  Terminology  . . . . . . . . . . . . . . . . . . . . . . .  4
   3. Architecture of OAM YANG Model and Relationship to TRILL OAM 
      PM  . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .  4
   4. YANG Extension  . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.1 MEP Address  . . . . . . . . . . . . . . . . . . . . . . . .  5
     4.1 MEP Configuration Extension  . . . . . . . . . . . . . . . .  5
     4.2 Flow Entropy . . . . . . . . . . . . . . . . . . . . . . . .  6
     4.3 Context-id . . . . . . . . . . . . . . . . . . . . . . . . .  6
     4.4 Grouping Statements  . . . . . . . . . . . . . . . . . . . .  6
     4.5 RPC definition . . . . . . . . . . . . . . . . . . . . . . .  6
       4.5.1 create-loss-measurement  . . . . . . . . . . . . . . . .  6
       4.5.2 abort-loss-measurement . . . . . . . . . . . . . . . . .  6
       4.5.3 create-delay-measurement . . . . . . . . . . . . . . . .  7
       4.4.4 abort-delay-measurement  . . . . . . . . . . . . . . . .  7
   5. TRILL PM data hierarchy . . . . . . . . . . . . . . . . . . . .  7
   6. TRILL PM YANG module  . . . . . . . . . . . . . . . . . . . . . 13
   7.  Security Considerations  . . . . . . . . . . . . . . . . . . . 39
   8.  IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 39
   9.  References . . . . . . . . . . . . . . . . . . . . . . . . . . 40
     9.1.  Normative References . . . . . . . . . . . . . . . . . . . 40
     9.2.  Informative References . . . . . . . . . . . . . . . . . . 40
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 40


1. Introduction

   Fault Management for TRILL is defined in [TRILL-FM]. TRILL Fault
   Management utilizes the [8021Q] CFM model and extends CFM with
   technology specific details. Those technology specific extensions are
   flow-entropy for multipath support, MEP addressing on TRILL
   identifiers, and so on. The extensions are explained in detail in
   [TRILL-FM].

   Performance Management for TRILL is defined in [TRILL-PM]. TRILL
   Performance Management utilizes the [Y.1731-2013/G.8013]  and extends
   it with Loss Measurement and Delay measurement.

   Generic OAM Yang model [GENYANGGOAM] presents Generic Yang data model
   for all OAM technologies. 

   In this document we extend the YANG model defined in [GENYANGGOAM]
   and [TRILLOAMYANG] for TRILL OAM Performance management. Details are
   provided in section 4 below.

 


Kumar, Deepak             Expires May 4, 2016                   [Page 3]

Internet Draft               TRILL PM YANG              November 1, 2015


2. Conventions used in this document

   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 RFC-2119 [RFC2119].

2.1.  Terminology

   ECMP - Equal Cost Multipath

   MP - Maintenance Point [8021.Q]

   MEP - Maintenance End Point [RFC7174] [8021Q] [RFC6371]

   MIP - Maintenance Intermediate Point [RFC7174] [8021.Q] [RFC6371]

   MA - Maintenance Association [8021.Q] [RFC7174]

   MD - Maintenance Domain [8021.Q]

   OAM - Operations, Administration, and Maintenance [RFC6291]

   TRILL - Transparent Interconnection of Lots of Links [RFC6325]

   DMM - Delay Measurement Message

   1SL - One-way Synthetic Loss Measurement message

   1DM - One-way Delay Measurement message

   DMR - Delay Measurement Reply

   OAM - Operations, Administration, and Maintenance

   PM - Performance Monitoring

   SLM - Synthetic Loss Measurement Message

   SLR - Synthetic Loss Measurement Reply

   TLV - Type, Length, and Value



3. Architecture of OAM YANG Model and Relationship to TRILL OAM PM


                                +-+-+-+-+-+
 


Kumar, Deepak             Expires May 4, 2016                   [Page 4]

Internet Draft               TRILL PM YANG              November 1, 2015


                                |  Gen    |
                                |OAM YANG |
                                +-+-+-+-+-+
                                     |
                                     O
                                     |
             +--------+-----------------------------------------+
             |        |       |               |                 |
         +-+-+-+-+-+  |  +-+-+-+-+-+     +-+-+-+-+-+       +-+-+-+-+-+
         | TRILL   |  |  | NVO3    |     | MPLS    |  . . .|  foo    |
         |OAM YANG |  |  |OAM YANG |     |OAM YANG |       |OAM YANG |
         +-+-+-+-+-+  |  +-+-+-+-+-+     +-+-+-+-+-+       +-+-+-+-+-+
               |      |        |               |               |
               |   +-+-+-+-+   |               |               |
               |   |TRILL  |   |               |               |
               +---|OAM PM |   |               |               |
                   |YANG   |   |               |               |
                   +-+-+-+-+   |               |               |
                       |       |               |               |
             +----------------------------------------------------+
             |             Uniform API                            |
             +----------------------------------------------------+

            Figure 1 Relationship of TRILL OAM PM Yang model to
   Generic OAM YANG model

4. YANG Extension

   MEP Addressing is defined in Generic OAM YANG model[GENYANGGOAM]. In
   this draft we augment MEP Configuration with Performance Management
   configuration and statistics for Delay Measurement and Performance
   Measurement.

   For technology specific we are re-using identify defined in
   [TRILLOAMYANG] model.

      identity trill {     base goam:technology-types;       description
           "trill type";   }


4.1 MEP Address

   As defined in TRILL OAM Yang[TRILLOAMYANG] model. TRILL OAM Yang is
   referenced.

4.1 MEP Configuration Extension

   module: trill-oam-pm
 


Kumar, Deepak             Expires May 4, 2016                   [Page 5]

Internet Draft               TRILL PM YANG              November 1, 2015


   augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP:


4.2 Flow Entropy

   As defined in TRILL OAM Yang[TRILLOAMYANG] model.

4.3 Context-id

   As defined in TRILL OAM Yang[TRILLOAMYANG] model.

4.4 Grouping Statements loss-measurement-configuration-group, groups
   configuration objects for Frame Loss Measurement function defined in
   [TRILL-PM].

   loss-stats-group, groups statistics object for [TRILL-PM] Loss
   measurement section.

   measurement-timing-group, groups object used for proactive and on-
   demand scheduling of PM measurement sessions.

   delay-measurement-configuration-group, groups configuration objects
   for Delay measurement function defined in [TRILL-PM]

   delay-measurement-stats-group, groups statistics objects for a TRILL
   Delay measurement sessions.

4.5 RPC definition

   The rpc model facilitates issuing commands to a NETCONF server (in
   this case to the device that needs to execute the OAM command) and
   obtaining a response.

   Grouping Statements loss-measurement-configuration-group,
   measurement-timing-group, and delay-measurement-configuration-group
   defines input extension for Delay and Loss measurement RPCs.


4.5.1 create-loss-measurement

   RPC allows scheduling of one-way or two-way on-demand or proactive
   performance monitoring loss measurement session.

4.5.2 abort-loss-measurement

   RPC allow aborting of currently running or scheduled loss measurement
   session.

 


Kumar, Deepak             Expires May 4, 2016                   [Page 6]

Internet Draft               TRILL PM YANG              November 1, 2015


4.5.3 create-delay-measurement

   RPC allow scheduling of one-way or two-way on-demand or proactive
   performance monitoring delay measurement session.

4.4.4 abort-delay-measurement RPC allow aborting of currently running or
   scheduled delay measurement session.

5. TRILL PM data hierarchy The complete data hierarchy related to the
   OAM YANG is presented below. The following notations are used within
   the tree and carry the meaning as noted below. 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: trill-oam-pm
   augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP:
      +--rw delay-responder?   boolean
 


Kumar, Deepak             Expires May 4, 2016                   [Page 7]

Internet Draft               TRILL PM YANG              November 1, 2015


   augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP:
      +--rw delay-measurements
         +--ro delay-measurements* [session-cookie]
         |  +--ro session-cookie    uint32
         |  +--ro id?               string
         |  +--ro status?           boolean
         +--rw measurement-type?                       enumeration
         +--rw measurement-enable?                     bits
         +--rw message-period?                         uint32
         +--rw frame-size?                             uint32
         +--rw data-pattern?                           enumeration
         +--rw measurement-interval?                   uint32
         +--rw number-intervals-stored?                uint32
         +--rw ifdv-selection-offset?                  uint32
         +--rw session-type?                           enumeration
         +--rw start-time
         |  +--rw (start-time)?
         |     +--:(immediate)
         |     |  +--rw immediate!
         |     +--:(absolute)
         |        +--rw absolute?    yang:date-and-time
         +--rw stop-time
         |  +--rw (stop-time)?
         |     +--:(none)
         |     |  +--rw none!
         |     +--:(absolute)
         |        +--rw absolute?   yang:date-and-time
         +--rw destination-mep
         |  +--rw (mp-address)?
         |  |  +--:(mac-address)
         |  |  |  +--rw mac-address?    yang:mac-address
         |  |  +--:(ipv4-address)
         |  |  |  +--rw ipv4-address?   inet:ipv4-address
         |  |  +--:(ipv6-address)
         |  |     +--rw ipv6-address?   inet:ipv6-address
         |  +--rw mep-id?         toam:tril-rb-nickname
         +--rw frame-delay-two-way?                    yang:gauge32
         +--rw frame-delay-forward?                    yang:gauge32
         +--rw frame-delay-backward?                   yang:gauge32
         +--rw inter-frame-delay-variation-two-way?    yang:gauge32
         +--rw inter-frame-delay-variation-forward?    yang:gauge32
         +--rw inter-frame-delay-variation-backward?   yang:gauge32
         +--rw current-stats
         |  +--rw start-time?                   yang:date-and-time
         |  +--rw elapsed-time?                             uint32
         |  +--rw suspect-status?                           boolean
         |  +--rw frame-delay-two-way-min?                  uint32
         |  +--rw frame-delay-two-way-max?                  uint32
 


Kumar, Deepak             Expires May 4, 2016                   [Page 8]

Internet Draft               TRILL PM YANG              November 1, 2015


         |  +--rw frame-delay-two-way-average?              uint32
         |  +--rw frame-delay-forward-min?                  uint32
         |  +--rw frame-delay-forward-average?              uint32
         |  +--rw frame-delay-forward-max?                  uint32
         |  +--rw frame-delay-backward-min?                 uint32
         |  +--rw frame-delay-backward-max?                 uint32
         |  +--rw frame-delay-backward-average?             uint32
         |  +--rw frame-delay-variation-backward-min?       uint32
         |  +--rw frame-delay-variation-backward-max?       uint32
         |  +--rw frame-delay-variation-backward-average?   uint32
         |  +--rw frame-delay-variation-forward-min?        uint32
         |  +--rw frame-delay-variation-forward-average?    uint32
         |  +--rw frame-delay-variation-forward-max?        uint32
         |  +--rw frame-delay-variation-two-way-min?        uint32
         |  +--rw frame-delay-variation-two-way-average?    uint32
         |  +--rw frame-delay-variation-two-way-max?        uint32
         +--rw history-stats* [id]
            +--rw id                                        uint32
            +--rw start-time?                   yang:date-and-time
            +--rw elapsed-time?                             uint32
            +--rw suspect-status?                           boolean
            +--rw frame-delay-two-way-min?                  uint32
            +--rw frame-delay-two-way-max?                  uint32
            +--rw frame-delay-two-way-average?              uint32
            +--rw frame-delay-forward-min?                  uint32
            +--rw frame-delay-forward-average?              uint32
            +--rw frame-delay-forward-max?                  uint32
            +--rw frame-delay-backward-min?                 uint32
            +--rw frame-delay-backward-max?                 uint32
            +--rw frame-delay-backward-average?             uint32
            +--rw frame-delay-variation-backward-min?       uint32
            +--rw frame-delay-variation-backward-max?       uint32
            +--rw frame-delay-variation-backward-average?   uint32
            +--rw frame-delay-variation-forward-min?        uint32
            +--rw frame-delay-variation-forward-average?    uint32
            +--rw frame-delay-variation-forward-max?        uint32
            +--rw frame-delay-variation-two-way-min?        uint32
            +--rw frame-delay-variation-two-way-average?    uint32
            +--rw frame-delay-variation-two-way-max?        uint32
   augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP:
      +--rw loss-measurements
         +--ro loss-measurements* [session-cookie]
         |  +--ro session-cookie    uint32
         |  +--ro id?               string
         |  +--ro status?           boolean
         +--rw measurement-type?           enumeration
         +--rw enabled-counters?           bits
         +--rw message-period?             uint32
 


Kumar, Deepak             Expires May 4, 2016                   [Page 9]

Internet Draft               TRILL PM YANG              November 1, 2015


         +--rw frame-size?                 uint32
         +--rw data-pattern?               enumeration
         +--rw measurement-interval?       uint32
         +--rw number-intervals-stored?    uint32
         +--rw session-type?               enumeration
         +--rw start-time
         |  +--rw (start-time)?
         |     +--:(immediate)
         |     |  +--rw immediate!
         |     +--:(absolute)
         |        +--rw absolute?    yang:date-and-time
         +--rw stop-time
         |  +--rw (stop-time)?
         |     +--:(none)
         |     |  +--rw none!
         |     +--:(absolute)
         |        +--rw absolute?   yang:date-and-time
         +--rw destination-mep
         |  +--rw (mp-address)?
         |  |  +--:(mac-address)
         |  |  |  +--rw mac-address?    yang:mac-address
         |  |  +--:(ipv4-address)
         |  |  |  +--rw ipv4-address?   inet:ipv4-address
         |  |  +--:(ipv6-address)
         |  |     +--rw ipv6-address?   inet:ipv6-address
         |  +--rw mep-id?         toam:tril-rb-nickname
         +--rw measurement-forward-flr?    yang:gauge32
         +--rw measurement-backward-flr?   yang:gauge32
         +--rw current-stats
         |  +--rw start-time?               yang:date-and-time
         |  +--rw elapsed-time?                         uint32
         |  +--rw suspect-status?                       boolean
         |  +--rw backward-transmitted-frames?          yang:gauge32
         |  +--rw backward-received-frames?             yang:gauge32
         |  +--rw backward-min-frame-loss-ration?       uint32
         |  +--rw backward-max-frame-loss-ration?       uint32
         |  +--rw backward-average-frame-loss-ration?   uint32
         |  +--rw forward-transmitted-frames?           yang:gauge32
         |  +--rw forward-received-frames?              yang:gauge32
         |  +--rw forward-min-frame-loss-ration?        uint32
         |  +--rw forward-max-frame-loss-ration?        uint32
         |  +--rw forward-average-frame-loss-ration?    uint32
         +--rw history-stats* [id]
            +--rw id                                    uint32
            +--rw start-time?               yang:date-and-time
            +--rw elapsed-time?                         uint32
            +--rw suspect-status?                       boolean
            +--rw backward-transmitted-frames?          yang:gauge32
 


Kumar, Deepak             Expires May 4, 2016                  [Page 10]

Internet Draft               TRILL PM YANG              November 1, 2015


            +--rw backward-received-frames?             yang:gauge32
            +--rw backward-min-frame-loss-ration?       uint32
            +--rw backward-max-frame-loss-ration?       uint32
            +--rw backward-average-frame-loss-ration?   uint32
            +--rw forward-transmitted-frames?           yang:gauge32
            +--rw forward-received-frames?              yang:gauge32
            +--rw forward-min-frame-loss-ration?        uint32
            +--rw forward-max-frame-loss-ration?        uint32
            +--rw forward-average-frame-loss-ration?    uint32
   rpcs:
      +---x create-loss-measurement     
      |  +--ro input     
      |  |  +--ro measurement-type?          enumeration
      |  |  +--ro enabled-counters?          bits
      |  |  +--ro message-period?            uint32
      |  |  +--ro frame-size?                uint32
      |  |  +--ro data-pattern?              enumeration
      |  |  +--ro measurement-interval?      uint32
      |  |  +--ro number-intervals-stored?   uint32
      |  |  +--ro session-type?              enumeration
      |  |  +--ro start-time
      |  |  |  +--ro (start-time)?
      |  |  |     +--:(immediate)
      |  |  |     |  +--ro immediate!
      |  |  |     +--:(absolute)
      |  |  |        +--ro absolute?    yang:date-and-time
      |  |  +--ro stop-time
      |  |  |  +--ro (stop-time)?
      |  |  |     +--:(none)
      |  |  |     |  +--ro none!
      |  |  |     +--:(absolute)
      |  |  |        +--ro absolute?   yang:date-and-time
      |  |  +--ro destination-mep
      |  |  |  +--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 mep-id?         toam:tril-rb-nickname
      |  |  +--ro flow-entropy?              toam:flow-entropy-trill
      |  |  +--ro context-type?              boolean
      |  |  +--ro context-id-vlan?           toam:vlan
      |  |  +--ro context-id-fgl?            toam:fgl
      |  +--ro output    
      |     +--ro session-id    uint32
      +---x abort-loss-measurement      
 


Kumar, Deepak             Expires May 4, 2016                  [Page 11]

Internet Draft               TRILL PM YANG              November 1, 2015


      |  +--ro input     
      |     +--ro technology         identityref
      |     +--ro MD-name-string     MD-name-string
      |     +--ro MA-name-string?    MA-name-string
      |     +--ro destination-mep
      |     |  +--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 mep-id?         toam:tril-rb-nickname
      |     +--ro session-id         uint32
      +---x create-delay-measurement    
      |  +--ro input     
      |  |  +--ro measurement-type?          enumeration
      |  |  +--ro measurement-enable?        bits
      |  |  +--ro message-period?            uint32
      |  |  +--ro frame-size?                uint32
      |  |  +--ro data-pattern?              enumeration
      |  |  +--ro measurement-interval?      uint32
      |  |  +--ro number-intervals-stored?   uint32
      |  |  +--ro ifdv-selection-offset?     uint32
      |  |  +--ro session-type?              enumeration
      |  |  +--ro start-time
      |  |  |  +--ro (start-time)?
      |  |  |     +--:(immediate)
      |  |  |     |  +--ro immediate!
      |  |  |     +--:(absolute)
      |  |  |        +--ro absolute?    yang:date-and-time
      |  |  +--ro stop-time
      |  |  |  +--ro (stop-time)?
      |  |  |     +--:(none)
      |  |  |     |  +--ro none!
      |  |  |     +--:(absolute)
      |  |  |        +--ro absolute?   yang:date-and-time
      |  |  +--ro destination-mep
      |  |  |  +--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 mep-id?         toam:tril-rb-nickname
      |  |  +--ro flow-entropy?              toam:flow-entropy-trill
      |  |  +--ro context-type?              boolean
 


Kumar, Deepak             Expires May 4, 2016                  [Page 12]

Internet Draft               TRILL PM YANG              November 1, 2015


      |  |  +--ro context-id-vlan?           toam:vlan
      |  |  +--ro context-id-fgl?            toam:fgl
      |  +--ro output    
      |     +--ro session-id    uint32
      +---x abort-delay-measurement     
         +--ro input     
            +--ro technology         identityref
            +--ro MD-name-string     MD-name-string
            +--ro MA-name-string?    MA-name-string
            +--ro destination-mep
            |  +--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 mep-id?         toam:tril-rb-nickname
            +--ro context-type?      boolean
            +--ro context-id-vlan?   toam:vlan
            +--ro context-id-fgl?    toam:fgl
            +--ro session-id         uint32





6. TRILL PM YANG module

   <CODE BEGINS> file "ietf-trill-oam-pm.yang"
      module ietf-trill-oam-pm {
           namespace "urn:ietf:params:xml:ns:yang:ietf-trill-oam-pm";
           prefix trilloampm;

           import ietf-gen-oam {
             prefix goam;
           }
           import ietf-trill-oam {
             prefix toam;
           }
           import ietf-yang-types {
             prefix yang;
           }
           organization "IETF TRILL Working Group";
           contact
             "Deepak Kumar dekumar@cisco.com";
           description
             "This YANG module defines the configuration for TRILL,
 


Kumar, Deepak             Expires May 4, 2016                  [Page 13]

Internet Draft               TRILL PM YANG              November 1, 2015


              OAM Performance Management statistics and rpc";

           revision 2015-01-11 {
             description
               "Initial revision.";
             reference "RFC 7456";
           }

           identity trill {
             base goam:technology-types;
             description
               "trill type";
           }

           grouping context-id-group {
              leaf context-type {
      	   type boolean;
              description
                "context Identifier";
      	   }
      	description
      	  "If context-type is set then it's context-id-vlan, else
      	   it's context-id-fgl.";
              leaf context-id-vlan {
      	     type toam:vlan;
                description
                  "context Identifier vlan.";
      	   }
      	   leaf context-id-fgl {
      	      type toam:fgl;
                 description
                   "context Identifier Fine Grain label.";
      	   }
           }

           grouping loss-measurement-configuration-group {
             description
               "This grouping includes configuration objects for Frame Loss
      	  Measurement function defined in TRILL-PM.";
             reference
                TRILL-PM;

      	   leaf measurement-type {
      	     type enumeration {
      	       enum slm {
      	         description
      	           "TRILL PM SLM Frames generated and
                           received SLR responses
 


Kumar, Deepak             Expires May 4, 2016                  [Page 14]

Internet Draft               TRILL PM YANG              November 1, 2015


      	            tracked.";
      	       }
                     enum 1sl {
                       description
      	           "TRILL PM 1SL Frames generated.";
                     }
      	     }
      	     default slm;

      	     description
      	       "This object specifies what type of Loss Measurement will be
      	        performed.";
      	     reference
      	       TRILL-PM;
      	   }

      	   leaf enabled-counters {
      	     type bits {
      	       bit forward-min-flr {
                  description
                    "Forward minimum Frame Loss Ratio.";
                  }
      	       bit forward-max-flr {
                  description
                    "Forward maximum Frame Loss Ratio.";
                  }
      	       bit forward-average-flr {
                  description
                    "Forward average Frame Loss Ratio.";
                  }
      	       bit backward-min-flr {
                  description
                    "Backward Minimum Frame Loss Ratio.";
                  }
      	       bit backward-max-flr {
                  description
                    "Backward Maximum Frame Loss Ratio.";
                  }
      	       bit backward-average-flr {
                  description
                     "Backward Average Frame Loss Ratio.";
                  }
      	       bit TRILL-PM-pdus-sent {
                  description
                     "TRILL PM Packets sent.";
                  }
      	       bit TRILL-PM-pdus-received {
                  description
 


Kumar, Deepak             Expires May 4, 2016                  [Page 15]

Internet Draft               TRILL PM YANG              November 1, 2015


                     "TRILL PM Packets received.";
                  }
      	     }
               default " ";

               description
                 "A vector of bits that indicates the type of TRILL-PM loss
                  measurement coutners found in the
                  current-stats and history
                  that are enabled.

                  A present bit enables the specific counter. A not present
                  bit disables the specific counter.

                  Not all counters are supported for all
                  TRILL-PM Loss Measurement types.";
      	   }

             leaf message-period {
      	     type uint32;
      	     default 1000;

      	     description
      	       "This objects specifies the interval between Loss
      	        Measurement OAM message transmission. Default value is
      	        1 sec.";
      	   }

             leaf frame-size {
      	     type uint32 {
      	       range "64 .. 9600";
      	     }
      	     default 64;
      	     description
      	       "This object specifies the Loss
                       Measurement OAM frame size.
      	        The adjustment of the frame size of the
                       standard frame size is
      	        accomplished by addition of a Data TLV
                       as mention in TRILL-PM.
      	        ";
      	   }

      	   leaf data-pattern {
      	     type enumeration {
      	       enum zeroes {
      	         description "Indicates the Data TLV contains all 0s.";
      	       }
 


Kumar, Deepak             Expires May 4, 2016                  [Page 16]

Internet Draft               TRILL PM YANG              November 1, 2015


      	       enum ones {
      	         description "Indicates the Data TLV contains all 1s.";
      	       }
      	     }
      	     default zeroes;

      	     description
      	       "This object specifies the LM data pattern included in OAM
      	        frame.";
      	   }

      	   leaf measurement-interval {
      	     type uint32;
      	     units minutes;
      	     default 15;

      	     description
      	       "This object specifies a Measurement Interval in minutes.";
      	   }

             leaf number-intervals-stored {
               type uint32 {
                  range "2..10";
               }
               default 10;
               description
                 "This object specifies the number of
                  completed measurement
                  intervals to store in the history statistics table.";
             }

      	   leaf session-type {
      	     type enumeration {
      	       enum proactive {
      	         description
      		   "The current session is 'proactive'.";
      	       }
      	       enum on-demand {
      	         description
      		   "The current session is on-demand.";
      	       }
      	     }
      	     description
      	       "This object indicates whether the current session is defined
      	        to be proactive or on-demand.";
      	   }
           }

 


Kumar, Deepak             Expires May 4, 2016                  [Page 17]

Internet Draft               TRILL PM YANG              November 1, 2015


           grouping loss-stats-group {
             description
               "This grouping includes statistics object for TRILL PM Loss
                Measurement session.";
             leaf suspect-status {
      	    type boolean;
      	    description
      	      "if bit is set it means measurement
                      interval statistics is
      	       not valid.";
             }

             leaf backward-transmitted-frames {
               type yang:gauge32;

               description
                 "This object contains the number of
                  frames transmitted in the
                  backward direction by this session.
                  This is count of TRILL-PM SLM and 1SL frames.";
             }
             leaf backward-received-frames {
               type yang:gauge32;

               description
                 "This object contains the number of
                  frames received in the
                  backward direction by this session.
                  This is count of TRILL-PM SLM and 1SL frames.";
             }
             leaf backward-min-frame-loss-ration {
                type uint32 {
                  range "0..100000";
                }
                units milli-percent;

                description
                  "This object contains the minimum
                   one-way frame loss ratio
                   in the backward direction calculated by this
                   MEP for the session
                   in this Measurement Interval.
                   The FLR value is a ratio that
                   is expressed as a percent with a value 0
                   (ratio 0.00) through
                   100000 (ration 1.00)";
             }
             leaf backward-max-frame-loss-ration {
 


Kumar, Deepak             Expires May 4, 2016                  [Page 18]

Internet Draft               TRILL PM YANG              November 1, 2015


                type uint32 {
                  range "0..100000";
                }
                units milli-percent;

                description
                  "This object contains the maximum
                   one-way frame loss ratio
                   in the backward direction calculated by
                   this MEP for the session
                   in this Measurement Interval.
                   The FLR value is a ratio that
                   is expressed as a percent with a value 0
                   (ratio 0.00) through
                   100000 (ration 1.00)";
             }
             leaf backward-average-frame-loss-ration {
                type uint32 {
                  range "0..100000";
                }
                units milli-percent;

                description
                  "This object contains the average
                   one-way frame loss ratio
                   in the backward direction calculated
                   by this MEP for the session
                   in this Measurement Interval.
                   The FLR value is a ratio that
                   is expressed as a percent with a
                   value 0 (ratio 0.00) through
                   100000 (ration 1.00)";
             }

             leaf forward-transmitted-frames {
               type yang:gauge32;

               description
                 "This object contains the number of
                  frames transmitted in the
                  forward direction by this session.
                  This is count of TRILL-PM SLM and 1SL frames.";
             }
             leaf forward-received-frames {
               type yang:gauge32;

               description
                 "This object contains the number
 


Kumar, Deepak             Expires May 4, 2016                  [Page 19]

Internet Draft               TRILL PM YANG              November 1, 2015


                  of frames received in the
                  forward direction by this session.
                  This is count of TRILL-PM SLM and 1SL frames.";
             }
             leaf forward-min-frame-loss-ration {
                type uint32 {
                  range "0..100000";
                }
                units milli-percent;

                description
                  "This object contains the minimum one-way
                   frame loss ratio
                   in the forward direction calculated by this MEP
                   for the session
                   in this Measurement Interval.
                   The FLR value is a ratio that
                   is expressed as a percent with a value
                   0 (ratio 0.00) through
                   100000 (ration 1.00)";
             }
             leaf forward-max-frame-loss-ration {
                type uint32 {
                  range "0..100000";
                }
                units milli-percent;

                description
                  "This object contains the maximum one-way
                   frame loss ratio
                   in the forward direction calculated by this MEP
                   for the session
                   in this Measurement Interval. The FLR value is
                   a ratio that
                   is expressed as a percent with a value
                   0 (ratio 0.00) through
                   100000 (ration 1.00)";
             }
             leaf forward-average-frame-loss-ration {
                type uint32 {
                  range "0..100000";
                }
                units milli-percent;

                description
                  "This object contains the average one-way
                   frame loss ratio
                   in the forward direction calculated by this
 


Kumar, Deepak             Expires May 4, 2016                  [Page 20]

Internet Draft               TRILL PM YANG              November 1, 2015


                   MEP for the session
                   in this Measurement Interval. The FLR value
                   is a ratio that
                   is expressed as a percent with a value
                   0 (ratio 0.00) through
                   100000 (ration 1.00)";
             }

           }

           grouping measurement-timing-group {
             description
               "This grouping includes objects used for
                proactive and on-demand
      	 scheduling of PM measurement sessions.";

      	container start-time {
      	  description
      	  "This container defines the session start time.";

      	  choice start-time {
      	    description
      	      "Measurement sessions tart time can be immediate, relative, or
      	       absolute.";

      	     container immediate {
      	       presence "Start the measurement session immediately.";
                  description
                    "Immediate start time.";
      	     }
      	     leaf absolute {
      	       type yang:date-and-time;

      	       description
      	         "This objects specifies the scheduled start time
      		  to perform the on-demand monitoring operations.";
      	     }
      	  }
      	}

      	   container stop-time {
      	     description
      	       "This container defines the session stop time.";

      	     choice stop-time {
      	       description
      	         "Measurement session stop time can be none, or absolute.";

 


Kumar, Deepak             Expires May 4, 2016                  [Page 21]

Internet Draft               TRILL PM YANG              November 1, 2015


      	       container none {
      	         presence "Never end the measurement session.";
                    description
                      "None.";
      	       }

      	       leaf absolute {
      	          type yang:date-and-time;

      	          description
      	            "This objects specifies the scheduled stop time
      	         to perform the on-demand monitoring operations.";
      	       }
      	     }
      	   }
           }

           grouping delay-measurement-configuration-group {
             description
               "This grouping includes configuration objects for Delay
      	  Measurement function defined in TRILL-PM.";
             reference
                "TRILL-PM.";

             leaf measurement-type {
               type enumeration {
      	       enum dmm {
      	         description
      	           "DMM PDU generated, DMR responses received.";
      	       }
      	       enum dm1-transmitted {
      	         description
      	           "1DM PDU generated.";
      	       }
      	       enum dm1-received {
      	         description
      	           "1DM PDU received and measurement generated.";
      	       }
      	     }
                description
                  "Measurement type.";
             }

             leaf measurement-enable {
      	   type bits {
      	     bit toam-sent {
                description
                  "Trill oam sent.";
 


Kumar, Deepak             Expires May 4, 2016                  [Page 22]

Internet Draft               TRILL PM YANG              November 1, 2015


                }
      	     bit toam-received {
                description
                  "Trill oam received.";
                }
      	     bit frame-delay-two-way-min {
                description
                  "Frame Delay Two Way Minimum.";
                }
      	     bit frame-delay-two-way-max {
                description
                  "Frame Delay Two way Maximum.";
                }
      	     bit frame-delay-two-way-average {
                description
                  "Frame Delay Two way Average.";
                }
      	     bit frame-delay-forward-min {
                description
                  "Frame Delay Forward Minimum.";
                }
      	     bit frame-delay-forward-max {
                description
                  "Frame Delay forward Maximum.";
                }
      	     bit frame-delay-forward-average {
                description
                  "Frame Delay forward Average.";
                }
      	     bit frame-delay-backward-min {
                description
                  "Frame Delay backward minimum.";
                }
      	     bit frame-delay-backward-max {
                description
                  "Frame Delay backward maximum.";
                }
      	     bit frame-delay-backward-average {
                description
                  "Frame Delay backward average.";
                }
      	     bit inter-frame-delay-variation-forward-min {
                description
                  "Inter Frame Delay variation forward minimum.";
                }
      	     bit inter-frame-delay-variation-forward-max {
                description
                  "Inter Frame delay variation forward maximum.";
 


Kumar, Deepak             Expires May 4, 2016                  [Page 23]

Internet Draft               TRILL PM YANG              November 1, 2015


                }
      	     bit inter-frame-delay-variation-forward-average {
                description
                  "Inter Frame delay variation forward average.";
                }
      	     bit inter-frame-delay-variation-backward-min {
                description
                  "Inter frame delay variation backward minimum.";
                }
      	     bit inter-frame-delay-variation-backward-max {
                description
                  "Inter Frame Delay variation backward maximum.";
                }
      	     bit inter-frame-delay-variation-backward-average {
                description
                  "Inter Frame delay variation backward average.";
                }
      	     bit inter-frame-delay-variation-two-way-min {
                description
                  "Inter Frame delay variation two way minimum.";
                }
      	     bit inter-frame-delay-variation-two-way-max {
                description
                  "Inter Frame delay variation two way maximum.";
                }
      	     bit inter-frame-delay-variation-two-way-average {
                description
                  "Inter Frame delay variation Two way Average.";
                }
      	   }
      	   default " ";

      	   description
      	    "A vector of bits that indicates the type of DM counters
      	     that are enabled. A set bit enables the specific DM
      	     counter. A clear bit disables the specific DM counter.
      	     Not all DM counters are supported for all DM types.";
      	 }
           leaf message-period {
      	   type uint32;
      	   default 100;

      	   description
      	     "This objects specifies the interval between Delay
      	      Measurement OAM message transmission. Default value is
      	      100ms.";
      	 }

 


Kumar, Deepak             Expires May 4, 2016                  [Page 24]

Internet Draft               TRILL PM YANG              November 1, 2015


      	 leaf frame-size {
      	   type uint32 {
      	     range "64 .. 9600";
      	   }
      	   default 64;

      	   description
      	     "This object specifies the Delay Measurement OAM frame size.
      	      The adjustment of the frame size of the
                     standard frame size is
      	      accomplished by addition of a Data TLV as
                     mention in TRILL-PM.
      	      ";
      	 }

      	 leaf data-pattern {
      	   type enumeration {
      	     enum zeroes {
      	       description "Indicates the Data TLV contains all 0s.";
      	     }
      	     enum ones {
      	       description "Indicates the Data TLV contains all 1s.";
      	     }
      	   }
      	   default zeroes;

      	   description
      	     "This object specifies the DM data pattern included in OAM
      	      frame.";
      	 }

      	 leaf measurement-interval {
      	   type uint32;
      	   units minutes;
      	   default 15;

      	   description
      	     "This object specifies a Measurement Interval in minutes.";
      	 }

           leaf number-intervals-stored {
               type uint32 {
                  range "2..10";
               }
               default 10;
               description
                 "This object specifies the number of completed measurement
                  intervals to store in the history statistics table.";
 


Kumar, Deepak             Expires May 4, 2016                  [Page 25]

Internet Draft               TRILL PM YANG              November 1, 2015


           }

      	 leaf ifdv-selection-offset {
      	   type uint32 {
      	     range "1..10";
      	   }
      	   default 1;
      	   description
      	     "This object specifies the selection offset for Inter
      	    Frame Delay variation measurements. If this value is set
      	    to n, then the IFDV is calculated by taking the difference in
      	    frame delay between frame F and frame (F+n).";
      	  }

      	  leaf session-type {
      	     type enumeration {
      	       enum proactive {
      	         description
      		     "The current session is 'proactive'.";
      	       }
      	       enum on-demand {
      	         description
      		     "The current session is on-demand.";
      	       }
      	    }
      	    description
      	      "This object indicates whether the current session is defined
      	       to be proactive or on-demand.";
      	   }

           }

           grouping delay-measurement-stats-group {
             description
      	   "This grouping includes statistics objects for a TRILL PM
      	    Delay Measurement session.";

      	   leaf suspect-status {
      	     type boolean;
      	     description
      	       "if bit is set it means measurement interval statistics is
      	        not valid.";
      	   }

      	   leaf frame-delay-two-way-min {
      	     type uint32;
      	     units microseconds;
                description
 


Kumar, Deepak             Expires May 4, 2016                  [Page 26]

Internet Draft               TRILL PM YANG              November 1, 2015


                  "Frame delay two way minimum.";
      	   }
      	   leaf frame-delay-two-way-max {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay two way maximum.";
      	   }

      	   leaf frame-delay-two-way-average {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay two way average.";
      	   }

      	   leaf frame-delay-forward-min {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay forward direction minimum.";
      	   }
      	   leaf frame-delay-forward-average {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay forward direction average.";
      	   }
      	   leaf frame-delay-forward-max {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay forward direction maximum.";
      	   }
      	   leaf frame-delay-backward-min {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay backward direction minimum.";
      	   }
      	   leaf frame-delay-backward-max {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay backward direction maximum.";
      	   }
      	   leaf frame-delay-backward-average {
      	     type uint32;
 


Kumar, Deepak             Expires May 4, 2016                  [Page 27]

Internet Draft               TRILL PM YANG              November 1, 2015


      	     units microseconds;
                description
                  "Frame delay backward direction average..";
      	   }
      	   leaf frame-delay-variation-backward-min {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation backward minimum.";
      	   }
      	   leaf frame-delay-variation-backward-max {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation backward maximum.";
      	   }
      	   leaf frame-delay-variation-backward-average {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation backward average.";
      	   }
      	   leaf frame-delay-variation-forward-min {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation forward minimum.";
      	   }
      	   leaf frame-delay-variation-forward-average {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation forward average.";
      	   }
      	   leaf frame-delay-variation-forward-max {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation forward maximum.";
      	   }
      	   leaf frame-delay-variation-two-way-min {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation two way minimum.";
      	   }
      	   leaf frame-delay-variation-two-way-average {
      	     type uint32;
 


Kumar, Deepak             Expires May 4, 2016                  [Page 28]

Internet Draft               TRILL PM YANG              November 1, 2015


      	     units microseconds;
                description
                  "Frame delay variation two way average.";
      	   }
      	   leaf frame-delay-variation-two-way-max {
      	     type uint32;
      	     units microseconds;
                description
                  "Frame delay variation two way maximum.";
      	   }
           }

           augment "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP" {
             description
               "This set of data definitions extends the MEP as described
                in goam";

             leaf delay-responder {
                type boolean;
                default true;

                description
                  "This object specifies whether Delay Measurement (DMM)
                   single ended
                   Responder is enabled.
                   The value 'false' indicates the Delay measurement
                   responder is disabled
                   and received DMM will be discarded.";

              }
           }
           augment "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP" {
             description
               "This set of data definitions extends the MEP as described
                in goam, specially with regards to Delay Measurements.";

             container delay-measurements {
               description
      	   "This container contains a collection of data definitions
      	    related to Delay Measurements as defined in TRILL-PM.";

      	    list delay-measurements {
      	      key "session-cookie";
      	      config false;
      	      description
      	        "List of Delay Measurement PM Sessions where each
      		 instance is uniquely identified by an session-cookie
      		 attribute.";
 


Kumar, Deepak             Expires May 4, 2016                  [Page 29]

Internet Draft               TRILL PM YANG              November 1, 2015


      	      leaf session-cookie {
                   type uint32;
                   config false;
      		description
      		  "cookie to identify Delay Measurement session.";
      	      }

                 leaf id {
      	        type string;

      		description
      		  "This object uniquely identifies a scheduled measurement
      		   time.";
      	      }

      	      leaf status {
      	        type boolean;
      		config false;
      		description
      		  "This object indicates DM session status, true means
      		   Active, false means not-active.";
      	      }
      	    }

      	    uses delay-measurement-configuration-group;
                  uses measurement-timing-group;
                  container destination-mep {
      	       uses goam:mp-address;
      	       leaf mep-id {
      	         type toam:tril-rb-nickname;
                    description
                      "MEP Identifier.";
      	       }
                  description
                    "Delay Measurement configuration group";
      	    }

                  leaf frame-delay-two-way {
                    type yang:gauge32;
                    units microseconds;
                    description
                      "This object contains the frame delay
                       calculated by this MEP from the last
                       received TRILL-PM frame.
                       This object is undefined if
                       measurement-type is dm1.";
                  }

 


Kumar, Deepak             Expires May 4, 2016                  [Page 30]

Internet Draft               TRILL PM YANG              November 1, 2015


                  leaf frame-delay-forward {
                    type yang:gauge32;
                    units microseconds;
                    description
                      "This object contains the frame delay in the
                      forward direction
                       calculated by this MEP from the last received
                       TRILL-PM frame.
                       One way Delay require sufficiently precise clock
                       Synchronization.
                       This object is undefined if it's dm1-transmitted.";
                  }
                  leaf frame-delay-backward {
                    type yang:gauge32;
                    units microseconds;
                    description
                      "This object contains the frame delay in the
                       backward direction
                       calculated by this MEP from the last received
                       TRILL-PM frame.
                       One way Delay require sufficiently precise clock
                       Synchronization.
                       This object is undefined if it's dm1-transmitted or
                       dm1-received.";
                  }
                  leaf inter-frame-delay-variation-two-way {
                    type yang:gauge32;
                    units microseconds;

                    description
                      "This object contains the last two-way
                       inter-frame delay
                       interval calculated by this MEP.

                       The value of this object is undefined
                       when measurement-type
                       is dm1-transmitted or dm1-received.";
                  }
                  leaf inter-frame-delay-variation-forward {
                    type yang:gauge32;
                    units microseconds;

                    description
                      "This object contains the last one-way
                       inter-frame delay in
                       the forward direction calculated by this MEP.

                       The value of this object is undefined when
 


Kumar, Deepak             Expires May 4, 2016                  [Page 31]

Internet Draft               TRILL PM YANG              November 1, 2015


                       measurement-type
                       is dm1-transmitted.";
                  }
                  leaf inter-frame-delay-variation-backward {
                    type yang:gauge32;
                    units microseconds;

                    description
                      "This object contains the last one-way inter-frame
                       delay in
                       the backward direction calculated by this MEP.

                       The value of this object is undefined when
                       measurement-type
                       is dm1-transmitted or dm-received.";
                  }

                  container current-stats {
                    description
                      "This container contains result of the
                       current Measurement
                       Interval in a TRILL-PM Delay measurement
                       session gathered
                       during the interval indicated by
                       measurement-interval.";

                    leaf start-time {
                      type yang:date-and-time;

                      description
                        "Start time for current measurement interval.";
                    }

                    leaf elapsed-time {
                      type uint32;

                      description
                        "Elapsed time for current measurement
                         interval in 0.01
                         seconds.";
                    }
                    uses delay-measurement-stats-group;
                  }

                  list history-stats {
                    key id;

                    description
 


Kumar, Deepak             Expires May 4, 2016                  [Page 32]

Internet Draft               TRILL PM YANG              November 1, 2015


                       "This list contains the result for
                        historic Measurement
                        Interval for TRILL-PM session.";

                    leaf id {
                      type uint32;
                      description
                        "Identifier";
                    }

                    leaf start-time {
                      type yang:date-and-time;

                      description
                        "Start time for measurement interval.";
                    }

                    leaf elapsed-time {
                      type uint32;

                      description
                        "Elapsed time for measurement interval in 0.01
                         seconds.";
                    }
                    uses delay-measurement-stats-group;
                  }
             }
           }

           augment "/goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP" {

             description
               "This set of data definitions extends the MEP as described
                in goam, specially with regards to Loss Measurements.";

             container loss-measurements {
               description
      	   "This container contains a collection of data definitions
      	    related to Loss Measurements as defined in TRILL-PM.";

      	    list loss-measurements {
      	      key "session-cookie";
      	      config false;
      	      description
      	        "List of Loss Measurement PM Sessions where each
      		 instance is uniquely identified by an session-cookie
      		 attribute.";

 


Kumar, Deepak             Expires May 4, 2016                  [Page 33]

Internet Draft               TRILL PM YANG              November 1, 2015


      	      leaf session-cookie {
                   type uint32;
                   config false;
      		description
      		  "cookie to identify Loss Measurement session.";
      	      }

                    leaf id {
      	        type string;

      		description
      		  "This object uniquely identifies a scheduled measurement
      		   time.";
      	      }

      	      leaf status {
      	        type boolean;
      		config false;
      		description
      		  "This object indicates DM session status, true means
      		   Active, false means not-active.";
      	      }
      	    }

      	    uses loss-measurement-configuration-group;
                  uses measurement-timing-group;
                  container destination-mep {
      	       uses goam:mp-address;
      	       leaf mep-id {
      	         type toam:tril-rb-nickname;
                    description
                      "Trill Rbridge Nickname MP address";
      	       }
                  description
                    "Destination MEP";
      	       }
                  leaf measurement-forward-flr {
                    type yang:gauge32 {
                      range "0..100000";
                    }
                    units milli-percent;

                    description
                      "This object contains the Frame loss Ratio in forward
                       direction.";
                  }
                  leaf measurement-backward-flr {
                    type yang:gauge32 {
 


Kumar, Deepak             Expires May 4, 2016                  [Page 34]

Internet Draft               TRILL PM YANG              November 1, 2015


                      range "0..100000";
                    }
                    units milli-percent;

                    description
                      "This object contains the Frame loss Ratio
                       in backward direction.";
                  }
                  container current-stats {
                    description
                      "This container contains result of the
                       current Measurement
                       Interval in a TRILL-PM Loss measurement
                       session gathered
                       during the interval indicated by
                       measurement-interval.";

                    leaf start-time {
                      type yang:date-and-time;

                      description
                        "Start time for current measurement interval.";
                    }

                    leaf elapsed-time {
                      type uint32;

                      description
                        "Elapsed time for current measurement
                         interval in 0.01 seconds.";
                    }
                    uses loss-stats-group;
                  }

                  list history-stats {
                    key id;

                    description
                       "This list contains the result for
                        historic Measurement
                        Interval for TRILL-PM session.";

                    leaf id {
                      type uint32;
                      description
                        "Identifier.";
                    }

 


Kumar, Deepak             Expires May 4, 2016                  [Page 35]

Internet Draft               TRILL PM YANG              November 1, 2015


                    leaf start-time {
                      type yang:date-and-time;

                      description
                        "Start time for measurement interval.";
                    }

                    leaf elapsed-time {
                      type uint32;

                      description
                        "Elapsed time for measurement interval in 0.01
                         seconds.";
                    }
                    uses loss-stats-group;
                  }
             }
           }

           //RPCs related to TRILLOAM PM

           rpc create-loss-measurement {
             description
               "Schedule a one-way and two-way on-demand or proactive
                performance
                monitoring loss measurements on a specific MEP and Flow.

                A list entry associated with the newly created session
                will be
                created in the loss-measurements container and the assigned
                session identifier will be returned in the
                output parameter.";

             input {
               uses loss-measurement-configuration-group;
               uses measurement-timing-group;
               container destination-mep {
      	    uses goam:mp-address;
      	    leaf mep-id {
      	      type toam:tril-rb-nickname;
                 description
                   "MEP Id.";
      	    }
               description
                 "";
               }
      	 leaf flow-entropy {
                 type toam:flow-entropy-trill;
 


Kumar, Deepak             Expires May 4, 2016                  [Page 36]

Internet Draft               TRILL PM YANG              November 1, 2015


                 description
                    "";
      	 }
               uses context-id-group;
             }
             output {
               leaf session-id {
                 type uint32;
                 mandatory true;

                 description
                   "The session identifier of the newly
                    created loss measurement session.";
               }
             }

           } //end of rpc

           rpc abort-loss-measurement {
             description
               "Abort a currently running or scheduled
                single-ended on-demand TRILL
                PM function.";

             input {
                uses goam:maintenance-domain-id;
                uses goam:ma-identifier;
                container destination-mep {
      	     uses goam:mp-address;
      	     leaf mep-id {
      	       type toam:tril-rb-nickname;
                  description
                    "MEP Identifier.";
      	     }
                description
                  "";
                }
                leaf session-id {
                  type uint32;

                  mandatory true;
                  description
                    "The session Id of the measurement session to
                     be aborted.";
                }

             }
           } //end of RPC
 


Kumar, Deepak             Expires May 4, 2016                  [Page 37]

Internet Draft               TRILL PM YANG              November 1, 2015


           rpc create-delay-measurement {
             description
               "Schedule a one-way and two-way on-demand or proactive
                performance
                monitoring delay measurements on a specific MEP and Flow.

                A list entry associated with the newly created session
                will be created in the delay-measurements container
                and the assigned
                session identifier will be returned in the
                output parameter.";

             input {
               uses delay-measurement-configuration-group;
               uses measurement-timing-group;
               container destination-mep {
      	    uses goam:mp-address;
      	    leaf mep-id {
      	      type toam:tril-rb-nickname;
                 description
                   "MEP Identifier.";
      	    }
               description
                 "Destination MEP.";
               }
      	 leaf flow-entropy {
      	   type toam:flow-entropy-trill;
              description
                "Flow Entropy";
      	 }
      	 uses context-id-group;
             }
             output {
               leaf session-id {
                 type uint32;
                 mandatory true;

                 description
                   "The session identifier of the newly created
                    delay measurement session.";
               }
             }

           } //end of rpc

           rpc abort-delay-measurement {
             description
               "Abort a currently running or scheduled single-ended
 


Kumar, Deepak             Expires May 4, 2016                  [Page 38]

Internet Draft               TRILL PM YANG              November 1, 2015


                on-demand TRILL PM function.";

             input {
                uses goam:maintenance-domain-id;
                uses goam:ma-identifier;
                container destination-mep {
      	     uses goam:mp-address;
      	     leaf mep-id {
      	       type toam:tril-rb-nickname;
                  description
                    "MEP Identifier.";
      	     }
                description
                  "Destination MEP.";
                }
      	  uses context-id-group;
                leaf session-id {
                  type uint32;

                  mandatory true;
                  description
                    "The session Id of the measurement session to
                     be aborted.";
                }

             }
           } //end of RP
      }

   <CODE ENDS>


7.  Security Considerations

   There are no security considerations relevant to this document.

8.  IANA Considerations

   No actions are required from IANA as result of the publication of
   this document.








 


Kumar, Deepak             Expires May 4, 2016                  [Page 39]

Internet Draft               TRILL PM YANG              November 1, 2015


9.  References

9.1.  Normative References

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

   [GENYANGGOAM] Senevirathne, T., et.al., "Generic YANG Data Model for
              Operations, Administration and Maintenance (OAM)", Work in
              Progress, October, 2014.

   [TRILLOAMYANG] Senevirathne, T., et.al., "YANG Data Model for TRILL
              Operations, Administration, Maintenance(OAM)", Work in
              Progress, September, 2014.

9.2.  Informative References

   [RFC7174] TRILL OAM Framework

   [802.1Q] IEEE, "IEEE Standard for Local and metropolitan area
              networks - Media Access Control (MAC) Bridges and Virtual
              Bridge Local Area Networks", IEEE Std 802.1Q-2011, 31
              August 2011. 

   [RFC6371] Busi, I., et.al., "Operations, Administration, and
              Maintenance Framework for MPLS-Based Transport Networks,
              RFC 6317, September 2011.

   [RFC6291] Andersson, L., et.al., "Guidelines for the use of the "OAM"
              Acronym in the IETF" RFC 6291, June 2011.

   [RFC6325] Perlman, R., et.al., "Routing Bridges (RBridges): Base
              Protocol Specification", RFC 6325, July 2011.

   [TRILL-FM] Senevirathne, T., et.al., "TRILL Fault Management", draft-
              ietf-trill-oam-fm, Work in Progress.

   [TRILL-PM] Mizrahi, T., et.al., "Loss and delay in Transparent
              Interconnection of Lots of Links (TRILL)", draft-ietf-
              trill-loss-delay, Work in Progress.



Authors' Addresses

      Tissa Senevirathne
      CISCO Systems
      375 East Tasman Drive.
 


Kumar, Deepak             Expires May 4, 2016                  [Page 40]

Internet Draft               TRILL PM YANG              November 1, 2015


      San Jose, CA 95134
      USA.

      Phone: 408-853-2291
      Email: tsenevir@gmail.com

      Deepak Kumar
      CISCO Systems
      510 McCarthy Blvd
      Milpitas, CA 95035.

      Email: dekumar@cisco.com

      Tapraj Singh
      Juniper Networks
      1194 N Mathilda Avenue
      Sunnyvale, CA 94089

      Email: tsingh@juniper.net

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

      Email: bill.wu@huawei.com

      Weiguo Hao
      Huawei

      Email: haoweiguo@huawei.com




















Kumar, Deepak             Expires May 4, 2016                  [Page 41]