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"; | |
} | |
} | |
} | |