blob: 35a95c974cad7c4acca01e7b8b99ce5835cef064 [file] [log] [blame]
module msea-soam-fm {
namespace "http://www.microsemi.com/microsemi-edge-assure/msea-soam-fm";
prefix "msea-soam-fm"; //MicroSemi EdgeAssure (msea)
import ietf-yang-types {
prefix yang;
revision-date 2013-07-15;
}
import msea-cfm {
prefix msea-cfm;
}
import msea-types {
prefix msea;
}
organization
"Microsemi Inc., FTD Division";
contact
"Web URL: http://www.microsemi.com/
E-mail: info@microsemi.com
Postal: Microsemi Corporation Corporate Headquarters
One Enterprise Aliso Viejo,
CA 92656
U.S.A.
Phone: +1 949 380 6100
Fax: +1 949 215-4996";
description
"This YANG module is a fork of the original mef-soam-fm YANG Module defined in MEF 38
for the management of Ethernet Services Operations, Administration and
Maintenance for Fault Management and extends the Connectivity Fault
Management (CFM) YANG modules.
This fork is done specifically to suit the EdgeAssure which has some extra
constraints that are not handled by the original YANG.
Copyright 2016 Microsemi Inc.
All rights reserved.";
revision "2016-02-29" {
description
"Initial EdgeAssure version forked from mef-soam-fm@2012-04-16 - Sean Condon, Microsemi";
reference
"Service OAM Fault Management YANG Modules (MEF 38), April 2012";
}
//
// Type definitions related to MEF SOAM FM
//
typedef operational-state-type {
type enumeration {
enum enabled {
description
"The MEP is able to provide OAM capabilities and has been set to
active via the 'administrative-state' leaf.";
}
enum disabled {
description
"The MEP is not able to provide OAM capabilities, for example
because it has been disabled via the administrative-state leaf,
has detected an operational failure condition, or has failed an
internal test.";
}
enum testing {
description
"The MEP has been placed into a test mode, either a troubleshooting
mode or ETH-Test 'Out-of-service' mode.";
}
enum unknown {
description
"The MEP is unable to report the operational state.";
}
}
description
"This attribute indicates the operational state (current capability) of
a MEP.";
reference
"[MEF7.1] 9.2.5";
}
//
// Augments into CFM related to MEF SOAM FM
//
augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association" {
description
"This set of data definitions represents the Maintenance Entity Group (Y.1731)
configuration that is unique from the Maintenance Association.";
leaf meg-level {
type msea:md-level-type;
// msea:not-changeable;
must "../msea-cfm:y1731-compliant" {
error-message "meg-level can only be set when y1731-compliant is present";
error-app-tag "msea-soam-fm-must-04";
}
must "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain[msea-cfm:id = current()/../../msea-cfm:id]/msea-cfm:md-level = current()" {
error-message "meg-level must be the same as its parent MD md-level";
error-app-tag "msea-soam-fm-must-05";
}
description
"This attribute indicates the MEG Level of the MEG. It has to be the same as the
MDs level, which is a way of ensuring that all MEG under this MD have the same level";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamNetCfgMegLevel";
}
}
augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:component-list" {
description
"This set of data definitions extends the component list of the Maintenance
Entity Group (as defined in Y.1731) or Maintenance Association (as defined
in 802.1q)";
reference
"[MEF7.1] 9.2.2";
leaf mep-port-status-tlv-included {
type boolean;
default true;
description
"Indicates whether a Port Status TLV is included in CCM frame
transmission. A value of 'true' indicates that the Port Status
TLV is to be included. A value of 'false' indicates that the
Port Status TLV is not to be included.";
reference
"[MEF7.1] 9.2.2";
}
leaf mep-interface-status-tlv-included {
type boolean;
default true;
description
"Indicates whether a Interface Status TLV is included in CCM frame
transmission. A value of 'true' indicates that the Interface Status TLV
is to be included. A value of 'false' indicates that the Interface
Status TLV is not to be included.";
reference
"[MEF7.1] 9.2.2";
}
}
augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:maintenance-association-end-point" {
description
"This set of data definitions extends the MEG End Point (as described in
Y.1731) or Maintenance association End Point (as described in 802.1q)
defined in the MEF CFM module (MEF-CFM)";
reference
"[MEF7.1] 9.2.2";
leaf operational-state {
type operational-state-type;
config false;
description
"This attribute indicates the operational state (current capability) of
the MEP.";
reference
"[MEF7.1] 9.2.5";
}
leaf connectivity-status {
type enumeration {
enum active {
description
"Refers to the ability to exchange SOAM PDU frames among all the UNIs
of an EVC.";
}
enum partially-active {
description
"Refers to the ability to exchange SOAM PDU frames among some but not
all the UNIs of an EVC.";
}
enum inactive {
description
"Refers to the ability to exchange SOAM PDU frames among any of the UNIs
of an EVC.";
}
}
config false;
description
"This attribute indicates the connectivity status for a MEP in an EVC
MEs. An 'active' MEP Connectivity Status refers to the ability
to exchange SOAM PDU frames among all the UNIs of an EVC. A
'partially-active' MEP Connectivity Status refers to the
ability to exchange SOAM PDU frames among some but not all the
UNIs of an EVC. An 'inactive' MEP Connectivity Status refers to
the inability to exchange SOAM PDU frames among any of the UNIs
of an EVC.";
reference
"[MEF7.1] 9.2.5";
}
leaf port-status {
type msea:port-status-type;
config false;
description
"An enumerated value of the Port status TLV sent in the last CCM from the
local MEP or the default value psNoPortStateTLV indicating no
CCM has been sent or no Port Status TLV has been sent.";
reference
"[802.1q] 17.5";
}
leaf interface-status {
type msea:interface-status-type;
config false;
description
"An enumerated value of the Interface status TLV sent in the last CCM
from the local MEP or the default value no-status-tlv
indicating no CCM has been sent or no Interface Status TLV has
been sent.";
reference
"[802.1q] 17.5";
}
leaf last-defect-sent {
type msea-cfm:fault-alarm-defect-bits-type;
config false;
description
"This attribute indicates the state of the previous MEP defects,
that was sent with the previous
mep-defect-alarm notification. It is always some *previous*
value of cfm:active-defects. Once an mep-defect-alarm is sent
the mep-defect-alarm that was sent in the notification
updates the contents of this leaf.
If no mep-defect-alarm notification has been sent the value of
this leaf is '0'.";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamMepStatusLastDefectSentStatus";
}
leaf rdi-transmit-status {
type boolean;
config false;
description
"Indicates whether the local MEP is generating a RDI bit in the CCM that
it transmits. A value of 'true' indicates that a RDI bit was
set in the last CCM that the MEP transmitted. A value of
'false' indicates that the last CCM transmitted by the MEP did
not set the RDI bit or that a CCM has never been transmitted by
the MEP.";
reference
"[MEF7.1] 9.2.2";
}
} //end of MEP augmentation
augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:maintenance-association-end-point/msea-cfm:loopback" {
description
"This set of data definitions extends on-demand Ethernet OAM Fault
Management Loopback function (ETH-LB) as defined in Y.1731 and
802.1q and defined in MEF-CFM";
reference
"[MEF7.1] 9.3.2";
leaf multicast-enabled {
type boolean;
default false;
description
"This attribute specifies whether a MEP uses unicast or multicast
to send the ETH-LB messages (LBM). The 802.1ag standard only allows
unicast LBM. ITU-T Y.1731 allows LBM to be multicast. This attribute
allows the MEP to send either multicast or unicast LBM on a per MEP
basis.
The value 'true' indicates multicast is enabled.
The value 'false' indicates unicast is enabled.";
reference
"[MEF7.1] 9.3.2.1";
}
leaf interval {
type uint16 {
range "0..2096";
}
units milliseconds;
default 1000;
description
"This attribute specifies the period between LBM transmissions in an LB
Session. For an LB Session, the period for LBM transmission
is configurable in the range 0 and 2096 milliseconds . Granularity is 1 ms.
The transmission of the next LBM is not dependent upon the
reception the first LBR. The next LBM is sent out based upon
the interval count.
An interval count of '0' indicates that the subsequent LBM is sent
out with the minimum possible delay.";
reference
"[MEF7.1] 9.3.2.1";
}
leaf frame-size {
type uint16 {
range "64..9600";
}
units "bytes";
description
"This attribute specifies the LBM frame size. For an LB Session, the size
of the LBM frame is configurable to any Ethernet frame size
between 64 Bytes and the maximum transmission unit of the EVC.
The range of frame sizes from 64 through 2000 octets, in 4 octet increments,
MUST be supported, and the range of frame sizes from 2004 through 9600
octets, in 4 octet increments, SHOULD be supported.
The adjustment to the frame size of the standard LBM PDU size is accomplished
by the addition of a Data TLV or a Test TLV.";
reference
"[MEF7.1] 9.3.2.1";
}
leaf timeout {
type yang:gauge32 {
range "5000";
}
default 5000;
description
"This attribute specifies the maximum amount of time to receive an LBR in
response to a LBM. If a LBR is not received within the timeout
value it is considered lost.";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamLbCfgTimeout";
}
list responses {
key "receive-order";
config false;
description
"A list of responses from a Multicast Loopback Message. This are shown only when multicast is enabled";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamLbrMulticastTable";
leaf receive-order {
type int8;
description
"Loopback transaction identifier returned by a previous loopback message
command, indicating which loopback request is returned.";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamLbrMulticastTransId";
}
leaf multicast-reply-mac {
type yang:mac-address;
description
"Source MAC address returned in the LBR Ethernet frame";
reference
"[802.1q] 21.7, [Y.1731] 7.2,
[MEF31] MEF-SOAM-FM-MIB.mefSoamLbrMulticastReplyMac";
}
}
}
augment "/msea-cfm:mef-cfm/msea-cfm:maintenance-domain/msea-cfm:maintenance-association/msea-cfm:maintenance-association-end-point/msea-cfm:linktrace" {
description
"Augments to support the enhanced CFM Linktrace functionality";
reference
"[MEF30] 8.4";
leaf ltm-msgs-transmitted {
type yang:zero-based-counter32;
config false;
description
"This attribute contains the count of the total number of LTM messages
transmitted by the MEP";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtmTransmitted";
}
leaf ltr-msgs-received {
type yang:zero-based-counter32;
config false;
description
"This attribute contains the count of the total number of LTR messages
received by the MEP";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtrReceived";
}
leaf ltm-msgs-received {
type yang:zero-based-counter32;
config false;
description
"This attribute contains the count of the total number of LTM messages
received by the MEP";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtmReceived";
}
leaf ltr-msgs-transmitted {
type yang:zero-based-counter32;
config false;
description
"This attribute contains the count of the total number of LTR messages
transmitted by the MEP";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamLtLtrTransmitted";
}
}
//
// Data definitions related to MEF SOAM FM
//
augment "/msea-cfm:mef-cfm" {
description
"A set of data definitions related to FM event notifications.";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamFmNotificationCfg";
container notification-configuration {
description
"A set of data definitions related to FM event notifications.";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamFmNotificationCfg";
leaf active-alarms {
type bits {
bit fault-alarm {
description "Send notifications when a specific MEP has a persistent defect condition";
}
bit mep-defect-alarm {
description "Send notifications when the value of mep-defects changes";
}
bit mep-operational-state-changed {
description "Send notifications when the value of a MEP's operational-state changes";
}
}
description "Configure the fault notification generator to enable the alarms given in
the bitmask list.";
}
}
}
//
// Notifications related to MEF SOAM FM
//
notification mep-defect-alarm {
description
"A mep-defect-alarm notification is generated when the value of
mep-defects changes. It indicates a persistent defect in
the MEP. This notification is sent whenever the
cfm:active-defects of the MEP changes, regardless of the
cfm:highest-priority-defect-found leaf.
The inclusion of the cfm:remote-mep-state leaf is
optional. It shall not be included if the defect is not based
upon a specific MEP instance, e.g.. bDefErrorCCM.";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamMepDefectAlarm";
uses msea-cfm:mep-notification-reference;
leaf remote-mep {
type msea:mep-id-type;
description "Remote MEP identifier";
}
leaf last-defect-sent {
type msea-cfm:fault-alarm-defect-type;
description
"The last defect sent on the specific MEP";
}
leaf active-defects {
type msea-cfm:fault-alarm-defect-bits-type;
description
"The currently active defects on the specific MEP.";
}
leaf remote-mep-state {
type msea-cfm:remote-mep-state-type;
description
"The value of the remote MEP state on a specific MEP";
reference
"[802.1q] 12.14.7.6.3:b";
}
}
notification mep-operational-state-changed {
description
"A mep-operational-state-changed notification is sent when the value of a
MEP's operational-state changes. It indicates an operational
state change in the MEP. This notification is sent whenever the
operational status of the MEP changes.";
reference
"[MEF31] MEF-SOAM-FM-MIB.mefSoamMepOperStatusAlarm";
uses msea-cfm:mep-notification-reference;
leaf operational-state {
type operational-state-type;
description
"The operational-state leaf of the affected MEP";
}
}
}