Internet Draft Deepak Kumar
T. Senevirathne
CISCO
T. Singh
JUNIPER
Category: Standard Track
Expires May 2015 November 19, 2014
YANG Data Model for TRILL Operations, Administration, and
Maintenance (OAM) Performance Management
draft-deepak-trill-yang-pm-00.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 19, 2015.
Copyright Notice
Copyright (c) 2014 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
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
Kumar, Deepak Expires May 2015 [Page 1]
Internet Draft TRILL PM YANG November 19, 2014
described in the Simplified BSD License.
Abstract
This document presents YANG Data model for TRILL OAM PM[TRILLOAMPM].
It extends Yang Data Model for TRILL OAM [TRILLOAMYANG] with trill
Performance Monitoring technology specifics.
Kumar, Deepak Expires May 2015 [Page 2]
Internet Draft TRILL PM YANG November 19, 2014
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Conventions used in this document . . . . . . . . . . . . . . . 3
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 . . . . . . . . . . . . . . . . . . . . . . . . 5
4.3 Context-id . . . . . . . . . . . . . . . . . . . . . . . . . 6
4.4 RPC definition . . . . . . . . . . . . . . . . . . . . . . . 6
4.4.1 create-loss-measurement . . . . . . . . . . . . . . . . 6
4.4.2 abort-loss-measurement . . . . . . . . . . . . . . . . . 6
4.4.3 create-delay-measurement . . . . . . . . . . . . . . . . 6
4.4.4 abort-delay-measurement . . . . . . . . . . . . . . . . 6
4. TRILL PM data hierarchy . . . . . . . . . . . . . . . . . . . . 6
6. TRILL PM YANG module . . . . . . . . . . . . . . . . . . . . . 12
7. Security Considerations . . . . . . . . . . . . . . . . . . . 35
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 35
9. References . . . . . . . . . . . . . . . . . . . . . . . . . . 36
9.1. Normative References . . . . . . . . . . . . . . . . . . . 36
9.2. Informative References . . . . . . . . . . . . . . . . . . 36
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 36
1. Introduction
Fault Management for TRILL is defined in [TRILLOAMFM]. 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
[TRILLOAMFM].
Performance Management for TRILL is defined in [TRILLOAMPM]. TRILL
Performance Management utilizes the [Y.1731-2013/G.8013] and extends
it with Loss Measurement and Delay measurement.
Generic OAM Yang model [GENYANGOAM] presents Generic Yang data model
for all OAM technologies.
In this document we extend the YANG model defined in [GENYANGOAM] for
TRILL OAM Performance management.
2. Conventions used in this document
Kumar, Deepak Expires May 2015 [Page 3]
Internet Draft TRILL PM YANG November 19, 2014
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 [8021Q]
MEP - Maintenance End Point [RFC7174] [8021Q] [RFC6371]
MIP - Maintenance Intermediate Point [RFC7174] [8021Q] [RFC6371]
MA - Maintenance Association [8021Q] [RFC7174]
MD - Maintenance Domain [8021Q]
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 [OAM]
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
+-+-+-+-+-+
| Gen |
|OAM YANG |
Kumar, Deepak Expires May 2015 [Page 4]
Internet Draft TRILL PM YANG November 19, 2014
+-+-+-+-+-+
|
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[GENOAMYANG].
TRILL OAM PM Yang is extended to augment MEP Configuration with
Performance Management configuration and statistics for Delay
Measurement and Performance Measurement.
identity trill { base goam:technology-types; description
"trill pm 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
augment /goam:domains/goam:domain/goam:MAs/goam:MA/goam:MEP:
4.2 Flow Entropy
Kumar, Deepak Expires May 2015 [Page 5]
Internet Draft TRILL PM YANG November 19, 2014
As defined in TRILL OAM Yang[TRILLOAMYANG] model.
4.3 Context-id
As defined in TRILL OAM Yang[TRILLOAMYANG] model.
4.4 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 1. loss-measurement-configuration-group 2.
measurement-timing-group 3. delay-measurement-configuration-group
defines input extension for Delay and Loss measurement.
4.4.1 create-loss-measurement
RPC allows scheduling of one-way or two-way on-demand or proactive
performance monitoring loss measurement session.
4.4.2 abort-loss-measurement
RPC allow aborting of currently running or scheduled loss measurement
session.
4.4.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.
4. 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:
Kumar, Deepak Expires May 2015 [Page 6]
Internet Draft TRILL PM YANG November 19, 2014
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
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
Kumar, Deepak Expires May 2015 [Page 7]
Internet Draft TRILL PM YANG November 19, 2014
| +--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
| +--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
Kumar, Deepak Expires May 2015 [Page 8]
Internet Draft TRILL PM YANG November 19, 2014
+--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
+--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)
Kumar, Deepak Expires May 2015 [Page 9]
Internet Draft TRILL PM YANG November 19, 2014
| | | +--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
+--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)?
Kumar, Deepak Expires May 2015 [Page 10]
Internet Draft TRILL PM YANG November 19, 2014
| | | +--:(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 output
| +--ro session-id uint32
+---x abort-loss-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 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
Kumar, Deepak Expires May 2015 [Page 11]
Internet Draft TRILL PM YANG November 19, 2014
| | +--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-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
Kumar, Deepak Expires May 2015 [Page 12]
Internet Draft TRILL PM YANG November 19, 2014
module trill-oam-pm {
namespace "urn:cisco:params:xml:ns:yang:tril-oam-pm";
prefix trilloampm;
import gen-oam {
prefix goam;
}
import trill-oam {
prefix toam;
}
import ietf-yang-types {
prefix yang;
}
revision 2014-11-16 {
description
"Initial revision.";
}
identity trillpm {
base goam:technology-types;
description
"trill pm type";
}
grouping context-id-group {
leaf context-type {
type boolean;
}
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;
}
leaf context-id-fgl {
type toam:fgl;
}
}
grouping loss-measurement-configuration-group {
description
"This grouping includes configuration objects for Frame Loss
Measurement function defined in TRILLPM.";
reference
TRILLPM;
leaf measurement-type {
type enumeration {
Kumar, Deepak Expires May 2015 [Page 13]
Internet Draft TRILL PM YANG November 19, 2014
enum slm {
description
"TRILL PM SLM Frames generated and received SLR responses
tracked.";
}
enum 1sl {
description
"TRILL PM 1SL Frames generated.";
}
}
default slm;
description
"This object specifies what type of Loss Measurement will be
performed.";
reference
TRILLPM;
}
leaf enabled-counters {
type bits {
bit forward-min-flr;
bit forward-max-flr;
bit forward-average-flr;
bit backward-min-flr;
bit backward-max-flr;
bit backward-average-flr;
bit TRILLPM-pdus-sent;
bit TRILLPM-pdus-received;
}
default " ";
description
"A vector of bits that indicates the type of TRILLPM loss
measurement counters 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 TRILLPM
Loss Measurement types.";
Kumar, Deepak Expires May 2015 [Page 14]
Internet Draft TRILL PM YANG November 19, 2014
}
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 TRILLPM.
";
}
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 LM data pattern included in OAM
frame.";
}
leaf measurement-interval {
type uint32;
units minutes;
default 15;
Kumar, Deepak Expires May 2015 [Page 15]
Internet Draft TRILL PM YANG November 19, 2014
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.";
}
}
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
Kumar, Deepak Expires May 2015 [Page 16]
Internet Draft TRILL PM YANG November 19, 2014
backward direction by this session.
This is count of TRILLPM 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 TRILLPM 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 {
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 {
Kumar, Deepak Expires May 2015 [Page 17]
Internet Draft TRILL PM YANG November 19, 2014
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 TRILLPM SLM and 1SL frames.";
}
leaf forward-received-frames {
type yang:gauge32;
description
"This object contains the number of frames received
in the
forward direction by this session.
This is count of TRILLPM SLM and 1SL frames.";
}
leaf forward-min-frame-loss-ratio {
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
Kumar, Deepak Expires May 2015 [Page 18]
Internet Draft TRILL PM YANG November 19, 2014
(ratio 0.00) through
100000 (ration 1.00)";
}
leaf forward-max-frame-loss-ratio {
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-ratio {
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 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
Kumar, Deepak Expires May 2015 [Page 19]
Internet Draft TRILL PM YANG November 19, 2014
"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.";
}
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.";
container none {
presence "Never end the measurement session.";
}
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 {
Kumar, Deepak Expires May 2015 [Page 20]
Internet Draft TRILL PM YANG November 19, 2014
description
"This grouping includes configuration objects for Delay
Measurement function defined in TRILLPM.";
reference
"TRILLPM.";
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.";
}
}
}
leaf measurement-enable {
type bits {
bit toam-sent;
bit toam-received;
bit frame-delay-two-way-min;
bit frame-delay-two-way-max;
bit frame-delay-two-way-average;
bit frame-delay-forward-min;
bit frame-delay-forward-max;
bit frame-delay-forward-average;
bit frame-delay-backward-min;
bit frame-delay-backward-max;
bit frame-delay-backward-average;
bit inter-frame-delay-variation-forward-min;
bit inter-frame-delay-variation-forward-max;
bit inter-frame-delay-variation-forward-average;
bit inter-frame-delay-variation-backward-min;
bit inter-frame-delay-variation-backward-max;
bit inter-frame-delay-variation-backward-average;
bit inter-frame-delay-variation-two-way-min;
bit inter-frame-delay-variation-two-way-max;
bit inter-frame-delay-variation-two-way-average;
}
default " ";
Kumar, Deepak Expires May 2015 [Page 21]
Internet Draft TRILL PM YANG November 19, 2014
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.";
}
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 TRILLPM.
";
}
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;
Kumar, Deepak Expires May 2015 [Page 22]
Internet Draft TRILL PM YANG November 19, 2014
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 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 {
Kumar, Deepak Expires May 2015 [Page 23]
Internet Draft TRILL PM YANG November 19, 2014
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;
}
leaf frame-delay-two-way-max {
type uint32;
units microseconds;
}
leaf frame-delay-two-way-average {
type uint32;
units microseconds;
}
leaf frame-delay-forward-min {
type uint32;
units microseconds;
}
leaf frame-delay-forward-average {
type uint32;
units microseconds;
}
leaf frame-delay-forward-max {
type uint32;
units microseconds;
}
leaf frame-delay-backward-min {
type uint32;
units microseconds;
}
leaf frame-delay-backward-max {
type uint32;
units microseconds;
}
leaf frame-delay-backward-average {
Kumar, Deepak Expires May 2015 [Page 24]
Internet Draft TRILL PM YANG November 19, 2014
type uint32;
units microseconds;
}
leaf frame-delay-variation-backward-min {
type uint32;
units microseconds;
}
leaf frame-delay-variation-backward-max {
type uint32;
units microseconds;
}
leaf frame-delay-variation-backward-average {
type uint32;
units microseconds;
}
leaf frame-delay-variation-forward-min {
type uint32;
units microseconds;
}
leaf frame-delay-variation-forward-average {
type uint32;
units microseconds;
}
leaf frame-delay-variation-forward-max {
type uint32;
units microseconds;
}
leaf frame-delay-variation-two-way-min {
type uint32;
units microseconds;
}
leaf frame-delay-variation-two-way-average {
type uint32;
units microseconds;
}
leaf frame-delay-variation-two-way-max {
type uint32;
units microseconds;
}
}
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;
Kumar, Deepak Expires May 2015 [Page 25]
Internet Draft TRILL PM YANG November 19, 2014
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 TRILLPM.";
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.";
leaf session-cookie {
config false;
type uint32;
description
"cookie to identify Delay Measurement session.";
}
leaf id {
type string;
description
"This object uniquely identifies a scheduled measurement
time.";
}
leaf status {
type boolean;
Kumar, Deepak Expires May 2015 [Page 26]
Internet Draft TRILL PM YANG November 19, 2014
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;
}
}
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
TRILLPM frame.
This object is undefined if measurement-type is
dm1.";
}
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
TRILLPM 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
TRILLPM frame.
One way Delay require sufficiently precise clock
Kumar, Deepak Expires May 2015 [Page 27]
Internet Draft TRILL PM YANG November 19, 2014
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
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
Kumar, Deepak Expires May 2015 [Page 28]
Internet Draft TRILL PM YANG November 19, 2014
Interval in a TRILLPM 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
"This list contains the result for historic
Measurement
Interval for TRILLPM session.";
leaf id {
type uint32;
}
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.";
}
Kumar, Deepak Expires May 2015 [Page 29]
Internet Draft TRILL PM YANG November 19, 2014
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 TRILLPM.";
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.";
leaf session-cookie {
config false;
type uint32;
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.";
}
}
Kumar, Deepak Expires May 2015 [Page 30]
Internet Draft TRILL PM YANG November 19, 2014
uses loss-measurement-configuration-group;
uses measurement-timing-group;
container destination-mep {
uses goam:mp-address;
leaf mep-id {
type toam:tril-rb-nickname;
}
}
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 {
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 TRILLPM 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
Kumar, Deepak Expires May 2015 [Page 31]
Internet Draft TRILL PM YANG November 19, 2014
"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 TRILLPM session.";
leaf id {
type uint32;
}
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
Kumar, Deepak Expires May 2015 [Page 32]
Internet Draft TRILL PM YANG November 19, 2014
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;
}
}
leaf flow-entropy {
type toam:flow-entropy-trill;
}
}
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;
}
}
leaf session-id {
type uint32;
Kumar, Deepak Expires May 2015 [Page 33]
Internet Draft TRILL PM YANG November 19, 2014
mandatory true;
description
"The session Id of the measurement session to be
aborted.";
}
}
} //end of RPC
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;
}
}
leaf flow-entropy {
type toam:flow-entropy-trill;
}
uses context-id-group;
}
output {
leaf session-id {
type uint32;
mandatory true;
description
"The session identifier of the newly created delay
measurement
session.";
}
}
Kumar, Deepak Expires May 2015 [Page 34]
Internet Draft TRILL PM YANG November 19, 2014
} //end of rpc
rpc abort-delay-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;
}
}
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
}
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 2015 [Page 35]
Internet Draft TRILL PM YANG November 19, 2014
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.
[RFC4234] Crocker, D. and P. Overell, "Augmented BNF for Syntax
Specifications: ABNF", RFC 4234, October 2005.
9.2. Informative References
[Y1731] ITU, "OAM functions and mechanisms for Ethernet based
networks", ITU-T G.8013/Y.1731, July, 2011.
[RFC6905] TRILL OAM Requirement
[RFC7174] TRILL OAM Framework
[TRILLOAM] Senevirathne, T., et.al., "TRILL Fault
Management", Work in progress, October, 2014.
[GENYANGOAM] 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.
Authors' Addresses
Tissa Senevirathne
CISCO Systems
375 East Tasman Drive.
San Jose, CA 95134
USA.
Phone: 408-853-2291
Email: tsenevir@cisco.com
Deepak Kumar
CISCO Systems
510 McCarthy Blvd
Milpitas, CA 95035.
Email: dekumar@cisco.com
Kumar, Deepak Expires May 2015 [Page 36]
Internet Draft TRILL PM YANG November 19, 2014
Tapraj Singh
Juniper Networks
1194 N Mathilda Avenue
Sunnyvale, CA 94089
Email: tsingh@juniper.net
Kumar, Deepak Expires May 2015 [Page 37]