MEF-SOAM-PM-MIB DEFINITIONS ::= BEGIN
  IMPORTS
    NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE, Unsigned32,
    Gauge32, enterprises
             FROM SNMPv2-SMI         -- RFC 2578
    RowStatus, TruthValue, MacAddress, DateAndTime, TimeInterval
             FROM SNMPv2-TC          -- RFC 2579
    OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE
             FROM SNMPv2-CONF        -- RFC 2580
    dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier, dot1agCfmMepEntry, 
    Dot1afCfmIndexIntegerNextFree, Dot1agCfmMepIdOrZero
             FROM IEEE8021-CFM-MIB   -- IEEE 802.1ag
    IEEE8021PriorityValue
        FROM IEEE8021-TC-MIB    -- IEEE 802.1ap
    MefSoamTcOperationTimeType, MefSoamTcDataPatternType, MefSoamTcTestPatternType,
    MefSoamTcAvailabilityType, MefSoamTcDelayMeasurementBinType, 
    MefSoamTcMeasurementPeriodType, MefSoamTcSessionType, MefSoamTcStatusType
             FROM MEF-SOAM-TC-MIB;

mefSoamPmMib MODULE-IDENTITY
    LAST-UPDATED    "201201131200Z" -- January 13, 2012
    ORGANIZATION    "Metro Ethernet Forum"
    CONTACT-INFO
       "Web URL: http://metroethernetforum.org/
        E-mail:  mibs@metroethernetforum.org
        Postal:  Metro Ethernet Forum
                 6033 W. Century Boulevard, Suite 830
                 Los Angeles, CA 90045
                 U.S.A.
        Phone:   +1 310-642-2800
        Fax:     +1 310-642-2808"
    DESCRIPTION
            "This MIB module contains the management objects for the
            management of Ethernet Services Operations, Administration
            and Maintenance for Performance Monitoring.

            Copyright 2010, 2011, 2012 Metro Ethernet Forum
            All rights reserved.

    ****************************************************************************
    Reference Overview

    A number of base documents have been used to create the Textual Conventions
    MIB, the SOAM-PM MIB and SOAM-FM extension MIB. The following are the 
    abbreviations for the baseline documents:

    [CFM] refers to 'Connectivity Fault Management', IEEE 802.1ag-2007, 
        December 2007
    [MEF7.1] refers to MEF 7.1 'Phase 2 EMS-NMS Information Model', 
        October 2009
    [MEF17] refers to MEF 17 'Service OAM Requirements & Framework - Phase 1',
        April 2007
    [MEF10.2.1] refers to MEF 10.2.1 'Ethernet Services Attributes Phase 2', 
        January 2011
    [MEF SOAM-PM] refers to MEF 35 'Service OAM Performance Monitoring
        Implementation Agreement', January 2012
    [MEF SOAM-FM] refers to MEF 30 'Service OAM Fault Management Implementation
        Agreement', January 2011
    [Q.840.1] refers to 'ITU-T Requirements and analysis for NMS-EMS
        management interface of Ethernet over Transport and Metro Ethernet
        Network (EoT/MEN)', March 2007
    [Y.1731] refers to ITU-T Y.1731 'OAM functions and mechanisms for Ethernet 
        based networks', February 2011
    ****************************************************************************

    Abbreviations Used 

Term         Definition
Availability Performance   A measure of the percentage of time within a
                specified time interval during which the frame loss is small 
Backward     OAM information sent from the Responder MEP to the Controller MEP. For
                LM it indicates the frame counts/loss from the Responder MEP to the
                Controller MEP. For DM is indicates the delay and delay variation
                from the Responder MEP to the Controller MEP. 
BSS          Business Support System
CCM          Continuity Check Message
CFM          Connectivity Fault Management 
CHLI         Consecutive High Loss Interval, a sequence of small time  intervals
             contained in T, each with high frame loss ratio
Controller MEP   The Controller MEP initiates SOAM PDUs, and receives responses
                from the Responder MEP. 
CoS          Class of Service 
DM           Delay Measurement
Dual-Ended   A type of process where a MEP sends measurement information to a peer
                MEP that will perform the calculations.
EMS          Element Management System
ETH-DM       Ethernet Delay Measurement function 
ETH-LM       Ethernet Loss Measurement function 
ETH-SLM      Ethernet Synthetic Frame Loss Measurement function 
EVC          Ethernet Virtual Connection 
FD           Frame Delay 
FDR          Frame Delay Range 
FLR          Frame Loss Ratio 
FM           Fault Management 
Forward      OAM information sent from the Controller MEP to the Responder MEP.
               For LM it indicates the frame counts/loss from the Controller MEP
               to the Responder MEP. For DM is indicates the delay and delay
               variation from the Controller MEP to the Responder MEP. 
HLI          High Loss Interval, a small time interval contained in T with a
                high frame loss ratio 
IEEE         Institute of Electrical and Electronics Engineers
IETF         Internet Engineering Task Force
IFDV         Inter-Frame Delay Variation 
ITU-T        International Telecommunication Union - Telecommunication
                Standardization Bureau
LAN          Local Area Network 
LM           Loss Measurement 
MAC          Media Access Control 
MA           Maintenance Association (equivalent to a MEG) 
MD           Maintenance Domain (equivalent to a OAM Domain in MEF 17) 
MD Level     Maintenance Domain Level (equivalent to a MEG level) 
ME           Maintenance Entity 
Measurement Bin   A Measurement Bin is a counter that stores the number of
                performance measurements falling within a specified range, during
                a Measurement Interval 
Measurement Interval   A period of time during which measurements are taken.
               Measurements initiated during one Measurement Interval are kept
               separate from measurements taken during other Measurement Intervals.
               It is important to note that this is different from T.
MEF         Metro Ethernet Forum
MEG         Maintenance Entity Group (equivalent to a MA) 
MEG Level   Maintenance Entity Group Level (equivalent to MD Level) 
MEN         Metro Ethernet Network 
MEP         Maintenance Association End Point or MEG End Point 
MFD         Mean Frame Delay 
MIB         Management Information Base 
MIP         Maintenance Domain Intermediate Point or MEG Intermediate Point 
MP          Maintenance Point. One of either a MEP or a MIP 
NE          Network Element 
NMS         Network Management System 
OAM         Operations, Administration, and Maintenance On-Demand   OAM actions that are initiated via manual intervention for a limited
               time to carry out diagnostics.  On-Demand OAM can result in
               singular or periodic OAM actions during the diagnostic time
               interval 
One-way     A measurement performed in the forward or backward direction. For
               example from MEP A to MEP B or from MEP B to MEP A. 
OSS         Operations Support System 
PDU         Protocol Data Unit 
PM          Performance Monitoring 
PM Function  A MEP capability specified for performance monitoring purposes
               (e.g., Single-Ended Delay, Single-Ended Synthetic Loss) 
PM Session  A PM Session is the application of a given PM Function between a given
              pair of MEPs and using a given CoS Frame Set over some (possibly
              indefinite) period of time. 
PM Solution A PM Solution is a set of related requirements that when implemented
               allow a given set of performance metrics to be measured using a
               given set of PM functions. 
PM Tool     A generic term used to discuss the application of a PM Function.
Proactive   OAM actions that are carried on continuously to permit timely reporting
               of fault and/or performance status. 
Resiliency  Performance The number of High Loss Intervals and Consecutive High
               Loss Intervals in T 
Responder MEP   In a single-ended session, the Responder MEP receives SOAM PDUs,
               from the Controller MEP, and transmits a response to the
               Controller MEP. SOAM-PM 
RFC         Request for Comment
Service Frame   An Ethernet frame transmitted across the UNI toward the Service
               Provider or an Ethernet frame transmitted across the UNI toward
               the Subscriber 
Single-Ended   A type of process where a MEP sends a measurement request and the
               peer MEP replies with the requested information so the originating
               MEP can calculate the measurement.
Sink MEP    In a dual-ended session, the Sink MEP receives SOAM PDUs, from the
               Controller MEP and performs the performance calculations. 
SLM         Synthetic Loss Measurement 
SNMP        Simple Network Management Protocol
SNMP Agent  An SNMP entity containing one or more command responder and/or
               notification originator applications (along with their associated
               SNMP engine).  Typically implemented in an NE. 
SNMP Manager   An SNMP entity containing one or more command generator and/or
               notification receiver applications (along with their associated
               SNMP engine). Typically implemented in an EMS or NMS. 
SOAM        Service OAM 
SOAM PDU    Service OAM frame, or Protocol Data Unit. Specifically, those PDUs
               defined in [IEEE 802.1ag], [ITU-T Y.1731], or MEF specifications
Synthetic Traffic   SOAM traffic that emulates service traffic in order to measure
              the performance experience. Delay measurements must use synthetic
              traffic, because user traffic does not contain standardized
              timestamp fields. Other measurements, such as Frame Loss, may also
              use synthetic frames for certain advantages (e.g., ability to
              measure loss in multipoint services). 
T           Time Interval for SLS Metrics.  The time over which a Performance
               Metric is defined.  T is at least as large as the Measurement
               Interval, and generally consists of multiple Measurement
               Intervals. 
TC          Textual Conventions 
TLV         Type Length Value, a method of encoding Objects
Two-way     A measurement of the performance of frames that flow from the
               Controller MEP to Responder MEP and back again. 
UML         Unified Modeling Language
UTC         Coordinated Universal Time 
UNI         User-to-Network Interface 
VLAN        Virtual LAN
"
    REVISION        "201201131200Z" -- January 13, 2012
    DESCRIPTION
            "Initial Version."
    ::= { enterprises mef(15007) mefSoam(1) 3 }

-- *****************************************************************************
-- Object definitions in the SOAM PM MIB Module
-- *****************************************************************************
mefSoamPmNotifications  OBJECT IDENTIFIER ::= { mefSoamPmMib 0 }
mefSoamPmMibObjects     OBJECT IDENTIFIER ::= { mefSoamPmMib 1 }
mefSoamPmMibConformance OBJECT IDENTIFIER ::= { mefSoamPmMib 2 }

-- *****************************************************************************
-- Groups in the SOAM PM MIB Module
-- *****************************************************************************
mefSoamPmMep             OBJECT IDENTIFIER ::= { mefSoamPmMibObjects 1 }
mefSoamPmLmObjects       OBJECT IDENTIFIER ::= { mefSoamPmMibObjects 2 }
mefSoamPmDmObjects       OBJECT IDENTIFIER ::= { mefSoamPmMibObjects 3 }
mefSoamPmNotificationCfg OBJECT IDENTIFIER ::= { mefSoamPmMibObjects 4 }
mefSoamPmNotificationObj OBJECT IDENTIFIER ::= { mefSoamPmMibObjects 5 }

-- *****************************************************************************
-- Ethernet MEP Performance Monitoring Configuration
-- *****************************************************************************

mefSoamPmMepTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamPmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table is an extension of the dot1agCfmMepTable and rows
        are automatically added or deleted from this table based upon row
        creation and destruction of the dot1agCfmMepTable. 

        This table represents the local MEP PM configuration table. The
        primary purpose of this table is provide local parameters for the 
        SOAM PM function found in [Y.1731] and [MEF SOAM-PM] and instantiated
        at a MEP.
       "
    REFERENCE
       "[Y.1731], [MEF SOAM-PM]"
    ::= { mefSoamPmMep 1 }

mefSoamPmMepEntry OBJECT-TYPE
    SYNTAX      MefSoamPmMepEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of mefSoamPmMepTable."
    AUGMENTS {
             dot1agCfmMepEntry
             }
    ::= { mefSoamPmMepTable 1 }

MefSoamPmMepEntry ::= SEQUENCE {
      mefSoamPmMepOperNextIndex               Dot1afCfmIndexIntegerNextFree,
      mefSoamPmMepLmSingleEndedResponder      TruthValue,
      mefSoamPmMepSlmSingleEndedResponder     TruthValue,
      mefSoamPmMepDmSingleEndedResponder      TruthValue
    }

mefSoamPmMepOperNextIndex OBJECT-TYPE
    SYNTAX      Dot1afCfmIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for a PM session number on a 
        MEP that can be used for either LM or DM sessions, or a zero to 
        indicate that none exist. This value needs to be read in order to
        find an available index for row-creation of a PM session on a MEP and
        then used when a row is created. This value is automatically updated
        by the SNMP Agent after the row is created.

        Referential integrity is necessary, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        is never to be reused for other PM sessions on the same MEP while this
        session is active, or until it wraps to zero.  The index value keeps
        increasing up to that time. This is to facilitate access control based
        on a fixed index for an EMS, since the index is not reused.

        This object is an extension of the dot1agCfmMepTable and the object is
        automatically added or deleted based upon row creation and destruction
        of the dot1agCfmMepTable.
       "
    ::= { mefSoamPmMepEntry 1 }

mefSoamPmMepLmSingleEndedResponder OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Loss Measurement (LMM) single-ended
        Responder is enabled. 

        The value 'true' indicates the single-ended Loss Measurement Responder
        is enabled and if a LMM message is received a LMR will be sent in reply. 

        The value 'false' indicates the single-ended Loss Measurement Responder
        is disabled. If a LMM message is received no response will be sent and
        the message will be discarded. 

        This object needs to be persistent upon reboot or restart of a device.

        A MEP can be both a single-ended Responder and Controller simultaneously.
       "
    DEFVAL { true }
    ::= { mefSoamPmMepEntry 2 }

mefSoamPmMepSlmSingleEndedResponder OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Synthetic Loss Measurement (SLM)
        single-ended Responder is enabled.  

        The value 'true' indicates the single-ended SLM Responder is enabled and
        if a SLM message is received a SLR will be sent in reply.

        The value 'false' indicates the single-ended SLM Responder is disabled.
        If a SLM message is received no response will be sent and the message 
        will be discarded.

        This object needs to be persistent upon reboot or restart of a device.

        A MEP can be both a single-ended Responder and Controller simultaneously.
       "
    DEFVAL { true }
    ::= { mefSoamPmMepEntry 3 }

mefSoamPmMepDmSingleEndedResponder OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Delay Measurement (DMM) single
        ended Responder is enabled. 

        The value 'true' indicates the single-ended Delay Measurement Responder
        is enabled and if a DMM message is received a DMR will be sent in reply.

        The value 'false' indicates the single-ended Delay Measurement Responder
        is disabled. If a DMM message is received no response will be sent and 
        the message will be discarded.

        This object needs to be persistent upon reboot or restart of a device.

        A MEP can be both a single-ended Responder and Controller simultaneously.
       "
    DEFVAL { true }
    ::= { mefSoamPmMepEntry 4 }

-- *****************************************************************************
-- Ethernet Loss Measurement Configuration Table 
-- *****************************************************************************

mefSoamLmCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table includes configuration objects and operations for the 
        Frame Loss Measurement function defined in [Y.1731] and [MEF SOAM-PM]. 

        Each row in the table represents a Loss Measurement session for
        the defined MEP. This table uses four indices. The first three indices
        are the indices of the Maintenance Domain, MaNet, and MEP tables. The 
        fourth index is the specific LM session on the selected MEP. A
        Loss Measurement session is created on an existing MEP by first 
        accessing the mefSoamPmMepOperNextIndex object and using this value as 
        the mefSoamLmCfgIndex in the row creation.

        Some writable objects in this table are only applicable in certain cases
        (as described under each object), and attempts to write values for them 
        in other cases will be ignored.

        The writable objects in this table need to be persistent upon reboot 
        or restart of a device. 
       "
    REFERENCE
       "[MEF SOAM-PM] R68; [Y.1731]"
    ::= { mefSoamPmLmObjects 1 }

mefSoamLmCfgEntry OBJECT-TYPE
    SYNTAX      MefSoamLmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamLmCfgTable."
    INDEX { dot1agCfmMdIndex,
            dot1agCfmMaIndex,
            dot1agCfmMepIdentifier,
            mefSoamLmCfgIndex
          }
    ::= { mefSoamLmCfgTable 1 }

MefSoamLmCfgEntry ::= SEQUENCE {
    mefSoamLmCfgIndex                                  Unsigned32,
    mefSoamLmCfgType                                   INTEGER,
    mefSoamLmCfgVersion                                Unsigned32,
    mefSoamLmCfgEnabled                                TruthValue,
    mefSoamLmCfgMeasurementEnable                      BITS,
    mefSoamLmCfgMessagePeriod                          MefSoamTcMeasurementPeriodType,

    mefSoamLmCfgPriority                               IEEE8021PriorityValue,
    mefSoamLmCfgFrameSize                              Unsigned32,
    mefSoamLmCfgDataPattern                            MefSoamTcDataPatternType,
    mefSoamLmCfgTestTlvIncluded                        TruthValue,
    mefSoamLmCfgTestTlvPattern                         MefSoamTcTestPatternType,
    mefSoamLmCfgMeasurementInterval                    Unsigned32,
    mefSoamLmCfgNumIntervalsStored                     Unsigned32,

    mefSoamLmCfgDestMacAddress                         MacAddress,
    mefSoamLmCfgDestMepId                              Dot1agCfmMepIdOrZero,
    mefSoamLmCfgDestIsMepId                            TruthValue,

    mefSoamLmCfgStartTimeType                          MefSoamTcOperationTimeType,
    mefSoamLmCfgFixedStartDateAndTime                  DateAndTime, 
    mefSoamLmCfgRelativeStartTime                      TimeInterval,
    mefSoamLmCfgStopTimeType                           MefSoamTcOperationTimeType,
    mefSoamLmCfgFixedStopDateAndTime                   DateAndTime,
    mefSoamLmCfgRelativeStopTime                       TimeInterval,
    mefSoamLmCfgRepetitionTime                         Unsigned32,
    mefSoamLmCfgAlignMeasurementIntervals              TruthValue,
    mefSoamLmCfgAlignMeasurementOffset                 Unsigned32,

    mefSoamLmCfgAvailabilityMeasurementInterval        Unsigned32,
    mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus     Unsigned32,
    mefSoamLmCfgAvailabilityFlrThreshold               Unsigned32,
    mefSoamLmCfgAvailabilityNumConsecutiveIntervals    Unsigned32,
    mefSoamLmCfgAvailabilityNumConsecutiveHighFlr      Unsigned32,

    mefSoamLmCfgSessionType                            MefSoamTcSessionType,
    mefSoamLmCfgSessionStatus                          MefSoamTcStatusType,

    mefSoamLmCfgHistoryClear                           TruthValue,
    mefSoamLmCfgRowStatus                              RowStatus
}

mefSoamLmCfgIndex
OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to the Loss Measurement Configuration table which indicates
        the specific measurement session for the MEP.

        mefSoamPmMepOperNextIndex needs to be inspected to find an
        available index for row-creation.

        Referential integrity is necessary, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        is never reused for other PM sessions on the same MEP while this
        session is active.  The index value keeps increasing until it
        wraps to 0. This is to facilitate access control based
        on a fixed index for an EMS, since the index is not reused.
       "
    ::= { mefSoamLmCfgEntry 1 }

mefSoamLmCfgType OBJECT-TYPE
    SYNTAX      INTEGER {
                  lmLmm   (1),
                  lmSlm   (2),
                  lmCcm   (3)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies what type of Loss Measurement
        will be performed.

        lmLmm(1)        LMM SOAM PDU generated and received LMR responses tracked
        lmSlm(2)        SLM SOAM PDU generated and received SLR responses tracked
        lmCcm(3)        CCM SOAM PDU generated and received CCM PDUs tracked

        The lmSlm value is required. The lmLmm and lmCcm values are optional.

        The lmCcm loss measurement values are only valid for a point-to-point
        MEG. Multipoint MEGs may give unreliable loss measurements.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[Y.1731] [MEF SOAM-PM] R51, R68, O7, R102"
    DEFVAL { lmSlm }
    ::= { mefSoamLmCfgEntry 2 }

mefSoamLmCfgVersion OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates the version of the PDUs used to perform 
        Loss Measurement.

        The value is placed in the Version field of the PDU and indicates
        that the PDU format used is the format defined in Y.1731 with
        that version.

        The exact PDUs to use are specified by this object in combination with
        mefSoamLmCfgType.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[Y.1731]"
    DEFVAL { 0 }
    ::= { mefSoamLmCfgEntry 3 }

mefSoamLmCfgEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Loss Measurement session
        is enabled. 

        The value 'true' indicates the Loss Measurement session is enabled and
        SOAM PDUs are sent and/or measurements are collected when the session
        is running according to the scheduling objects (start time, stop time,
        etc.).

        The value 'false' indicates the Loss Measurement session is disabled
        and SOAM PDUs are not sent and/or measurements collected.

        For a Loss Measurement session to be removed the row is 
        deleted in order to release internal resources.

        This object can written/modified after row creation time.

        If the LM session is enabled it resumes after shutdown/restart.

        If the LM session is disabled the current Measurement Interval is 
        stopped, if it in process at the time, and all the in process calculations
        for the partially completed Measurement Interval are finalized.

        This object does not affect whether the single-ended Responder is
        enabled or not, which is enabled or disabled by the 
        mefSoamPmMepLmSingleEndedResponder and 
        mefSoamPmMepSlmSingleEndedResponder objects.
       "
    REFERENCE
       "[MEF SOAM-PM] R4, R5, R6, O1, R12, R14"
    DEFVAL { true }
    ::= { mefSoamLmCfgEntry 4 }

mefSoamLmCfgMeasurementEnable OBJECT-TYPE
    SYNTAX      BITS {
                     bForwardTransmitedFrames(0),
                     bForwardReceivedFrames(1),
                     bForwardMinFlr(2),
                     bForwardMaxFlr(3),
                     bForwardAvgFlr(4),
                     bBackwardTransmitedFrames(5),
                     bBackwardReceivedFrames(6),
                     bBackwardMinFlr(7),
                     bBackwardMaxFlr(8),
                     bBackwardAvgFlr(9),
                     bSoamPdusSent(10),
                     bSoamPdusReceived (11),

                     bAvailForwardHighLoss(12),
                     bAvailForwardConsecutiveHighLoss(13),
                     bAvailForwardAvailable(14),
                     bAvailForwardUnavailable(15),
                     bAvailForwardMinFlr(16),
                     bAvailForwardMaxFlr(17),
                     bAvailForwardAvgFlr(18),

                     bAvailBackwardHighLoss(19),
                     bAvailBackwardConsecutiveHighLoss(20),
                     bAvailBackwardAvailable(21),
                     bAvailBackwardUnavailable(22),
                     bAvailBackwardMinFlr(23),
                     bAvailBackwardMaxFlr(24),
                     bAvailBackwardAvgFlr(25),

                     bMeasuredStatsForwardMeasuredFlr(26),
                     bMeasuredStatsBackwardMeasuredFlr(27),
                     bMeasuredStatsAvailForwardStatus(28),
                     bMeasuredStatsAvailBackwardStatus(29)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates the type of SOAM LM counters found
        in the mefSoamLmMeasuredStatsTable, mefSoamLmCurrentStatsTable, 
        mefSoamLmHistoryStatsTable, mefSoamLmCurrentAvailStatsTable and
        mefSoamLmHistoryAvailStatsTable that are enabled. 

        A bit set to '1' enables the specific SOAM LM counter. A bit set to
        '0' disables the SOAM LM counter.

        If a particular SOAM LM counter is not supported the BIT value is
        set to '0'.

        Not all SOAM LM counters are supported for all SOAM LM types. 

        This object can only be written at row creation time and cannot be 
        modified once it has been created.

        bForwardTransmitedFrames (0)
            Enables/disables the mefSoamLmCurrentStatsForwardTransmittedFrames
            and mefSoamLmHistoryStatsForwardTransmittedFrames counters.
        bForwardReceivedFrames(1)
            Enables/disables the mefSoamLmCurrentStatsForwardReceivedFrames
            and mefSoamLmHistoryStatsForwardReceivedFrames counters.
        bForwardMinFlr(2)
            Enables/disables the mefSoamLmCurrentStatsForwardMinFlr
            and mefSoamLmHistoryStatsForwardMinFlr counters.
        bForwardMaxFlr(3)
            Enables/disables the mefSoamLmCurrentStatsForwardMaxFlr
            and mefSoamLmHistoryStatsForwardMaxFlr counters.
        bForwardAvgFlr(4)
            Enables/disables the mefSoamLmCurrentStatsForwardAvgFlr
            and mefSoamLmHistoryStatsForwardAvgFlr counters.
        bBackwardTransmitedFrames(5)
            Enables/disables the mefSoamLmCurrentStatsBackwardTransmittedFrames
            and mefSoamLmHistoryStatsBackwardTransmittedFrames counters.
        bBackwardReceivedFrames(6)
            Enables/disables the mefSoamLmCurrentStatsBackwardReceivedFrames
            and mefSoamLmHistoryStatsBackwardReceivedFrames counters.
        bBackwardMinFlr(7)
            Enables/disables the mefSoamLmCurrentStatsBackwardMinFlr
            and mefSoamLmHistoryStatsBackwardMinFlr counters.
        bBackwardMaxFlr(8)
            Enables/disables the mefSoamLmCurrentStatsBackwardMaxFlr
            and mefSoamLmHistoryStatsBackwardMaxFlr counters.
        bBackwardAvgFlr(9)
            Enables/disables the mefSoamLmCurrentStatsBackwardAvgFlr
            and mefSoamLmHistoryStatsBackwardAvgFlr counters.
        bSoamPdusSent (10)
            Enables/disables the mefSoamLmCurrentStatsSoamPdusSent
            and mefSoamLmHistoryStatsSoamPdusSent counters.
        bSoamPdusReceivedbReceivedMeasurements (11)
            Enables/disables the mefSoamLmCurrentStatsSoamPdusReceived
            and mefSoamLmHistoryStatsSoamPdusReceived counters.

        bAvailForwardHighLoss(12)
            Enables/disables the mefSoamLmCurrentAvailStatsForwardHighLoss
            and mefSoamLmHistoryAvailStatsForwardHighLoss counters.
        bAvailForwardConsecutiveHighLoss(13)
            Enables/disables the mefSoamLmCurrentAvailStatsForwardConsecutiveHighLoss
            and mefSoamLmHistoryAvailStatsForwardConsecutiveHighLoss counters.
        bAvailForwardAvailable(14)
            Enables/disables the mefSoamLmCurrentAvailStatsForwardAvailable
            and mefSoamLmHistoryAvailStatsForwardAvailable counters.
        bAvailForwardUnavailable(15)
            Enables/disables the mefSoamLmCurrentAvailStatsForwardUnavailable
            and mefSoamLmHistoryAvailStatsForwardUnavailable counters.
        bAvailForwardMinFlr(16)
            Enables/disables the mefSoamLmCurrentAvailStatsForwardMinFlr
            and mefSoamLmHistoryAvailStatsForwardMinFlr counters.
        bAvailForwardMaxFlr(17)
            Enables/disables the mefSoamLmCurrentAvailStatsForwardMaxFlr
            and mefSoamLmHistoryAvailStatsForwardMaxFlr counters.
        bAvailForwardAvgFlr(18)
            Enables/disables the mefSoamLmCurrentAvailStatsForwardAvgFlr
            and mefSoamLmHistoryAvailStatsForwardAvgFlr counters.

        bAvailBackwardHighLoss(19)
            Enables/disables the mefSoamLmCurrentAvailStatsBackwardHighLoss
            and mefSoamLmHistoryAvailStatsBackwardHighLoss counters.
        bAvailBackwardConsecutiveHighLoss(20)
            Enables/disables the mefSoamLmCurrentAvailStatsBackwardConsecutiveHighLoss
            and mefSoamLmHistoryAvailStatsBackwardConsecutiveHighLoss counters.
        bAvailBackwardAvailable(21)
            Enables/disables the mefSoamLmCurrentAvailStatsBackwardAvailable
            and mefSoamLmHistoryAvailStatsBackwardAvailable counters.
        bAvailBackwardUnavailable(22)
            Enables/disables the mefSoamLmCurrentAvailStatsBackwardUnavailable
            and mefSoamLmHistoryAvailStatsBackwardUnavailable counters.
        bAvailBackwardMinFlr(23)
            Enables/disables the mefSoamLmCurrentAvailStatsBackwardMinFlr
            and mefSoamLmHistoryAvailStatsBackwardMinFlr counters.
        bAvailBackwardMaxFlr(24)
            Enables/disables the mefSoamLmCurrentAvailStatsBackwardMaxFlr
            and mefSoamLmHistoryAvailStatsBackwardMaxFlr counters.
        bAvailBackwardAvgFlr(25)
            Enables/disables the mefSoamLmCurrentAvailStatsBackwardAvgFlr
            and mefSoamLmHistoryAvailStatsBackwardAvgFlr counters.

        bMeasuredStatsForwardMeasuredFlr(26)
            Enables/disables the mefSoamLmMeasuredStatsForwardFlr counter.
        bMeasuredStatsBackwardMeasuredFlr(27)
            Enables/disables the mefSoamLmMeasuredStatsBackwardFlr counter.
        bMeasuredStatsAvailForwardStatus(28)
            Enables/disables the mefSoamLmMeasuredStatsAvailForwardStatus counter.
        bMeasuredStatsAvailBackwardStatus(29)
            Enables/disables the mefSoamLmMeasuredStatsAvailBackwardStatus counter.
      "
    REFERENCE
       "[Y.1731]"
    DEFVAL { { } }
    ::= { mefSoamLmCfgEntry 5 }

mefSoamLmCfgMessagePeriod OBJECT-TYPE
    SYNTAX      MefSoamTcMeasurementPeriodType
    UNITS       "ms"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the interval between Loss Measurement
        OAM message transmission. For Loss Measurement monitoring 
        applications the default value is 1 sec. 

        This object is not applicable if mefSoamLmCfgType is set to lmCcm
        and is ignored for that Loss Measurement Type.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R76, R77, D29, D30"
    DEFVAL { 1000 }
    ::= { mefSoamLmCfgEntry 6 }

mefSoamLmCfgPriority OBJECT-TYPE    
    SYNTAX      IEEE8021PriorityValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Loss Measurement OAM message priority
        as well as the priority of the service/OAM traffic to be monitored.
        Only frames of the same Class of Service are counted.        

        The default value is to be the value which yields the lowest frame 
        loss.

        This object is not applicable if mefSoamLmCfgType is set to lmCcm.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R1, R2, R71, D28, R72, R73, R105-R109, D45; 
        [MEF 10.2.1] Section 6.8"
    ::= { mefSoamLmCfgEntry 7 }

mefSoamLmCfgFrameSize OBJECT-TYPE
    SYNTAX      Unsigned32 (64..9600)
    UNITS       "bytes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Loss Measurement frame size between
        64 bytes and the maximum transmission unit of the EVC. 

        The range of frame sizes from 64 through 2000 octets need to be
        supported, and the range of frame sizes from 2001 through 9600 octets
        is suggested be supported.  

        The adjustment to the frame size of the standard frame size is 
        accomplished by the addition of a Data or Test TLV. A Data or Test TLV
        is only added to the frame if the frame size is greater than 64 bytes.

        This object is only valid for the entity transmitting the Loss
        Measurement frames, type 'lmSlm', and is ignored by the
        entity receiving frames. It is not applicable for the 'lmCcm' or 
        'lmLmm' types.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R78, R79, D31, D32 [Y.1731]"
    DEFVAL { 64 }
    ::= { mefSoamLmCfgEntry 8 }

mefSoamLmCfgDataPattern OBJECT-TYPE
    SYNTAX      MefSoamTcDataPatternType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the LM data pattern included in a Data TLV
        when the size of the LM frame is determined by the 
        mefSoamLmFrameSize object and mefSoamLmTestTlvIncluded is 'false'.

        If the frame size object does not define the LM frame size or 
        mefSoamLmTestTlvIncluded is 'true' the value of this object is 
        ignored.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       " 
    DEFVAL { zeroPattern }
    ::= { mefSoamLmCfgEntry 9 }

mefSoamLmCfgTestTlvIncluded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Indicates whether a Test TLV or Data TLV is included when the size
        of the LM frame is determined by the mefSoamLmFrameSize object.

        A value of 'true' indicates that the Test TLV is to be included. A 
        value of 'false' indicates that the Data TLV is to be included.

        If the frame size object does not define the LM frame size
        the value of this object is ignored.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[Y.1731] 9.3"
    DEFVAL { false }
    ::= { mefSoamLmCfgEntry 10 }

mefSoamLmCfgTestTlvPattern OBJECT-TYPE
    SYNTAX      MefSoamTcTestPatternType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the type of test pattern to be
        sent in the LM frame Test TLV when the size of LM PDU is 
        determined by the mefSoamLmFrameSize object and 
        mefSoamLmTestTlvIncluded is 'true'. If the frame size object
        does not define the LM frame size or mefSoamLmTestTlvIncluded
        is 'false' the value of this object is ignored.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       " 
    DEFVAL { null }
    ::= { mefSoamLmCfgEntry 11 }

mefSoamLmCfgMeasurementInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (1..525600)
    UNITS       "minutes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Measurement Interval for FLR statistics, in minutes.

        A Measurement Interval of 15 minutes needs to be supported, other intervals
        may be supported.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R16, R17, R110, R111, D46"
    DEFVAL { 15 }
    ::= { mefSoamLmCfgEntry 12 }

mefSoamLmCfgNumIntervalsStored OBJECT-TYPE
    SYNTAX      Unsigned32 (2..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the number of completed Measurement Intervals
        to store in the history statistic table (mefSoamLmHistoryStatsTable)
        and the history availability statistic table
        (mefSoamLmHistoryAvailStatsTable).

        At least 32 completed Measurement Intervals need to be stored. 96 
        Measurement Intervals are recommended to be stored.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R21, D8, D9"
    DEFVAL { 32 }
    ::= { mefSoamLmCfgEntry 13 }

mefSoamLmCfgDestMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target or Destination MAC Address Field to be transmitted. 

        If mefSoamLmCfgType is 'lmCcm', the destination MAC address is always a 
        multicast address indicating the level of the MEG: 01-80-c2-00-00-3y,
        where y is the level of the MEG. An error is returned if this object
        is set to any other value.

        If mefSoamLmCfgType is 'lmLmm' or 'lmSlm', the destination address is
        the unicast address of the destination MEP. An error is returned if 
        this object is set to a multicast address.

        This address will be used if the value of the object
        mefSoamLmDestIsMepId is 'false'. 

        This object is only valid for the entity transmitting the 
        SOAM LM frames and is ignored by the entity receiving 
        SOAM LM frames.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R70, R104"
    ::= { mefSoamLmCfgEntry 14 }

mefSoamLmCfgDestMepId OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Association End Point Identifier of
        another MEP in the same Maintenance Association to which
        the SOAM LM frame is to be sent.

        This address will be used if the value of the column
        mefSoamLmDestIsMepId is 'true'. A value of zero
        means that the destination MEP ID has not been configured.

        This object is only valid for the entity transmitting the Loss
        Measurement frames, types 'lmLmm' and 'lmSlm'. It is not applicable for
        the 'lmCcm' type.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R70, R104"
    DEFVAL { 0 }
    ::= { mefSoamLmCfgEntry 15 }

mefSoamLmCfgDestIsMepId OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A value of 'true' indicates that MEPID of the target MEP is used for
        SOAM LM frame transmission.

        A value of 'false' indicates that the MAC address of the
        target MEP is used for SOAM LM frame transmission.

        This object is only valid for the entity transmitting the Loss
        Measurement frames, types 'lmLmm' and 'lmSlm'. It is not applicable for
        the 'lmCcm' type.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R70, R104"
    DEFVAL { true }
    ::= { mefSoamLmCfgEntry 16 }

mefSoamLmCfgStartTimeType OBJECT-TYPE
    SYNTAX      MefSoamTcOperationTimeType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the type of start time of the SOAM LM
        session. The start time can be disabled (none), immediate, relative,
        or fixed.

        The value of 'none' is illegal and a write error will be returned
        if this value is used.

        The value of 'immediate' starts the SOAM LM session when the 
        mefSoamLmCfgEnabled is true.

        The value of 'fixed' starts the SOAM LM session when the 
        mefSoamLmFixedStartDateAndTime is less than or equal to the current
        system date and time and mefSoamLmCfgEnabled is true. This value is used
        to implement an On-Demand fixed time PM session.
 
        The value of 'relative' starts the SOAM LM session when the current
        system date and time minus the mefSoamLmRelativeStartTime is greater
        than or equal to the system date and time when the mefSoamLmStartTimeType
        object was written and mefSoamLmCfgEnabled is true. This value is used
        to implement an On-Demand relative time PM session.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R3, R7, R8, D1"
    DEFVAL { immediate }
    ::= { mefSoamLmCfgEntry 17 }

mefSoamLmCfgFixedStartDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed start date/time for the 
        SOAM Loss Measurement session. This object is used only used if 
        mefSoamLmStartTimeType is 'fixed' and is ignored otherwise.

        The default value is year 0000, month 01, day 01, time 00:00:00.00.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R9"
    DEFVAL { '0000010100000000'H }
    ::= { mefSoamLmCfgEntry 18 }

mefSoamLmCfgRelativeStartTime  OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the relative start time, from the
        current system time, for the SOAM LM session.  This
        object is used only if mefSoamLmStartTimeType is 'relative' and is 
        ignored otherwise.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R9"
    DEFVAL { 0 }
    ::= { mefSoamLmCfgEntry 19 }

mefSoamLmCfgStopTimeType OBJECT-TYPE
    SYNTAX      MefSoamTcOperationTimeType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the type of stop time to terminate the
        SOAM LM session. The stop time can be forever (none), relative, or 
        fixed.

        The value of 'none' indicates that the SOAM LM session never ends once it
        has started unless it the session is disabled.

        The value of 'immediate' is illegal and a write error will be returned
        if this value is used.

        The value of 'fixed' stops the SOAM LM session when the 
        mefSoamLmFixedStopDateAndTime is less than or equal
        to the current system date and time. This
        value is used to implement an On-Demand fixed time PM session.

        The value of 'relative' stops the SOAM LM session when the time 
        indicated by mefSoamLmRelativeStopTime has passed since the session
        start time as determined by the mefSoamLmCfgStartTimeType, 
        mefSoamLmCfgFixedStartDateAndTime and mefSoamLmCfgRelativeStartTime
        objects. This value is used to implement an On-Demand relative time 
        PM session.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R3, R10, D2"
    DEFVAL { none }
    ::= { mefSoamLmCfgEntry 20 }

mefSoamLmCfgFixedStopDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed stop date/time for the 
        SOAM Loss Measurement session. This object is used only used 
        if mefSoamLmStopTimeType is 'fixed' and is ignored otherwise.

        The default value is year 0000, month 01, day 01, time 00:00:00.00.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R10, R13"
    DEFVAL { '0000010100000000'H }
    ::= { mefSoamLmCfgEntry 21 }

mefSoamLmCfgRelativeStopTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the relative stop time, from the
        session start time, to stop the SOAM LM session.  This
        object is used only if mefSoamLmStopTimeType is 'relative' and is 
        ignored otherwise.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R11"
    DEFVAL { 0 }
    ::= { mefSoamLmCfgEntry 22 }

mefSoamLmCfgRepetitionTime OBJECT-TYPE
    SYNTAX      Unsigned32 (0..31536000)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies a configurable repetition time between
        Measurement Intervals in a Loss Measurement session, in seconds.

        If the value is 0 (none), there is no time gap between the end of one
        Measurement Interval and the start of a new Measurement Interval.
        This is the normal usage case.

        If the value is greater than 0 but less than or equal to the measurement
        interval, an error is returned.

        If the value is greater than one Measurement Interval there is time gap
        between the end of one Measurement Interval and the start of the next
        Measurement Interval.  The repetition time specifies the time between
        the start of consecutive Measurement Intervals; hence the gap between
        the end of one Measurement Interval and the start of the next is equal
        to the difference between the repetition time and the measurement
        interval.  During this gap, no SOAM PDUs are sent for this session and
        no measurements are made.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R18, D3, R19, R20"
    DEFVAL { 0 }
    ::= { mefSoamLmCfgEntry 23 }

mefSoamLmCfgAlignMeasurementIntervals OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Measurement Intervals for
        the Loss Measurement session are aligned with a zero offset to
        real time.

        The value 'true' indicates that each Measurement Interval starts
        at a time which is aligned to NE time source hour, if the repetition
        time (or the Measurement Interval, if the repetition time is 0) is
        a factor of an hour, i.e. 60min/15min = 4. For instance, a
        Measurement Interval/repetition time of 15 minutes would stop/start 
        the Measurement Interval at 0, 15, 30, and 45 minutes of an hour. A 
        Measurement Interval/Repetition Time of 7 minutes would not align
        to the hour since 7 minutes is NOT a factor of an hour, i.e.
        60min/7min = 8.6.  In this case the behavior is the same as if the
        object is set to 'false'.

        The value 'false' indicates that the first Measurement Interval starts
        at an arbitrary time and each subsequent Measurement Interval starts
        at a time which is determined by mefSoamLmCfgRepetitionTime.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] D4, D5, D6"
    DEFVAL { true }
    ::= { mefSoamLmCfgEntry 24 }

mefSoamLmCfgAlignMeasurementOffset OBJECT-TYPE
    SYNTAX      Unsigned32 (0..525600)
    UNITS       "minutes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the offset in minutes from the time of day value 
        if mefSoamLmCfgAlignMeasurementIntervals is 'true' and the repetition 
        time is a factor of 60 minutes. If not, the value of this object
        is ignored.

        If the Measurement Interval is 15 minutes and 
        mefSoamLmCfgAlignMeasurementIntervals is true and if this object was
        set to 5 minutes, the Measurement Intervals would start at 5, 20, 35, 50
        minutes past each hour.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] D7"
    DEFVAL { 0 }
    ::= { mefSoamLmCfgEntry 25 }

mefSoamLmCfgAvailabilityMeasurementInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (1..525600)
    UNITS       "minutes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the availability Measurement Interval in 
        minutes.

        A Measurement Interval of 15 minutes is to be supported, other intervals
        can be supported.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R16, R17"
    DEFVAL { 15 }
    ::= { mefSoamLmCfgEntry 26 }

mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus OBJECT-TYPE
    SYNTAX      Unsigned32 (1..1000000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies a configurable number of consecutive
        loss measurement PDUs to be used in evaluating the 
        availability/unavailability status of each availability
        indicator per MEF 10.2.1.  Loss Measurement PDUs (LMMs, CCMs or
        SLMs) are sent regularly with a period defined by
        mefSoamLmCfgMessagePeriod.  Therefore, this object, when 
        multiplied by mefSoamLmCfgMessagePeriod, is equivalent to
        the Availability parameter of 'delta_t' as specified by MEF 10.2.1.

        If the mefSoamLmCfgType is lmLMM or lmCCM, this object defines the
        number of LMM or CCM PDUs transmitted during each 'delta_t' period.
        The Availability flr for a given 'delta_t' can be calculated based
        on the counters in the last LMM/R or CCM during this 'delta_t' and
        the last LMM/R or CCM in the previous 'delta_t'.

        If the mefSoamLmCfgType is lmSLM, this object defines the number
        of SLM PDUs transmitted during each 'delta_t' period.  The
        Availability flr for a given 'delta_t' is calculated based on the
        number of those SLM PDUs that are lost.

        If the mefSoamLmCfgType is lmLMM or lmCCM, the number range of 1
        through 10 must be supported. The number range of 10 through 1000000
        may be supported, but is not mandatory.

        If the mefSoamLmCfgType is lmSLM, the number range of 10 through
        100 must be supported. The number range of 100 through 1000000
        may be supported, but is not mandatory.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF 10.2.1] Section 7.9.8; [MEF SOAM-PM] R80, D33, R81" 
    DEFVAL { 10 }
    ::= { mefSoamLmCfgEntry 27 }

mefSoamLmCfgAvailabilityFlrThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies a configurable availability threshold to be
        used in evaluating the availability/unavailability status of an
        availability indicator per MEF 10.2.1. The availability threshold range
        of 0.00 (0) through 1.00 (100000) is supported. This parameter is 
        equivalent to the Availability parameter of 'C' as specified by 
        MEF 10.2.1.

        Units are in milli-percent, where 1 indicates 0.001 percent.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF 10.2.1] Section 7.9.8; [MEF SOAM-PM] R81, R82, D34"
    DEFVAL { 50000 }
    ::= { mefSoamLmCfgEntry 28 }

mefSoamLmCfgAvailabilityNumConsecutiveIntervals OBJECT-TYPE
    SYNTAX      Unsigned32 (1..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies a configurable number of consecutive
        availability indicators to be used to determine a change in the
        availability status as indicated by MEF 10.2.1. This parameter is 
        equivalent to the Availability parameter of 'n' as specified
        by MEF 10.2.1.

        The number range of 1 through 10 must be supported. The number range
        of 1 through 1000 may be supported, but is not mandatory.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF 10.2.1] Section 7.9.8; [MEF SOAM-PM] R80, D33" 
    DEFVAL { 10 }
    ::= { mefSoamLmCfgEntry 29 }

mefSoamLmCfgAvailabilityNumConsecutiveHighFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (1..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies a configurable number of consecutive
        availability indicators to be used for assessing CHLI.  This
        parameter is equivalent to the Resilency parameter of 'p' as
        specified by MEF 10.2.1.

        mefSoamLmCfgAvailabilityNumConsecutiveHighFlr must be strictly less than 
        mefSoamLmCfgAvailabilityNumConsecutiveIntervals. If not, the count of high
        loss intervals over time, mefSoamLmAvailabilityHighLoss, and the count 
        of consecutive high loss levels, mefSoamLmAvailabilityConsecutiveHighLoss,
        is disabled.

        The number range of 1 through 10 must be supported. The number range
        of 1 through 1000 may be supported, but is not mandatory.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF 10.2.1] Section 7.9.8; [MEF SOAM-PM] R86, D35, D36" 
    DEFVAL { 5 }
    ::= { mefSoamLmCfgEntry 30 }

mefSoamLmCfgSessionType OBJECT-TYPE
    SYNTAX      MefSoamTcSessionType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates whether the current session is defined to
        be 'Proactive' or 'On-Demand'. A value of 'proactive'
        indicates the current session is 'Proactive'. A value of 'onDemand'
        indicates the current session is 'On-Demand'.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R3" 
    DEFVAL { proactive }
    ::= { mefSoamLmCfgEntry 31 }

mefSoamLmCfgSessionStatus OBJECT-TYPE
    SYNTAX      MefSoamTcStatusType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the current status of the LM session. A value
        of 'active' indicates the current LM session is active, i.e. the current
        time lies between the start time and the stop time, and
        mefSoamLmCfgEnabled is true. A value of 'notActive' indicates the
        current LM session is not active, i.e. it has not started yet, has
        stopped upon reaching the stop time, or is disabled.
       "
    ::= { mefSoamLmCfgEntry 32 }

mefSoamLmCfgHistoryClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object when written clears the Loss Measurement history
        Table (mefSoamLmHistoryStatsTable) - all rows are deleted.
        When read the value always returns 'false'. 

        Writing this value does not change the current stat table,
        nor any of the items in the configuration table.
        Writing this value during row creation has no effect.
       "
    DEFVAL { false }
    ::= { mefSoamLmCfgEntry 33 }

mefSoamLmCfgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row cannot be changed if the row
        is active, except for mefSoamLmCfgHistoryClear and mefSoamLmCfgEnabled
        objects. All columns must have a valid value before a row 
        can be activated.  
       "
   ::= { mefSoamLmCfgEntry 34 }

-- *****************************************************************************
-- Ethernet Loss Measurement Measured Statistic Table
-- *****************************************************************************

mefSoamLmMeasuredStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmMeasuredStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object contains the last measured results for a SOAM Loss 
        Measurement session.

        Each row in the table represents a Loss Measurement session for
        the defined MEP. This table uses four indices. The first three indices
        are the indices of the Maintenance Domain, MaNet, and MEP tables. The 
        fourth index is the specific LM session on the selected MEP.

        Instances of this managed object are created automatically
        by the SNMP Agent when the Loss Measurement session is running.

        Each object in this table applies only if the corresponding bit is set in 
        mefSoamLmCfgMeasurementEnable.

        The objects in this table do not need to be persistent upon reboot
        or restart of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, 8D18"
    ::= { mefSoamPmLmObjects 2 }

mefSoamLmMeasuredStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamLmMeasuredStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of mefSoamLmMeasuredStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamLmCfgIndex
               }
    ::= { mefSoamLmMeasuredStatsTable 1 }

MefSoamLmMeasuredStatsEntry ::= SEQUENCE {
    mefSoamLmMeasuredStatsForwardFlr           Unsigned32,
    mefSoamLmMeasuredStatsBackwardFlr          Unsigned32,
    mefSoamLmMeasuredStatsAvailForwardStatus   MefSoamTcAvailabilityType,
    mefSoamLmMeasuredStatsAvailBackwardStatus  MefSoamTcAvailabilityType,
    mefSoamLmMeasuredStatsAvailForwardLastTransitionTime DateAndTime,
    mefSoamLmMeasuredStatsAvailBackwardLastTransitionTime  DateAndTime
}

mefSoamLmMeasuredStatsForwardFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the last frame loss ratio in the forward direction
        calculated by this MEP. The FLR value
        is a ratio that is expressed as a percent with a value of 0 (ratio 
        0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmMeasuredStatsEntry 1 }

mefSoamLmMeasuredStatsBackwardFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the last frame loss ratio in the backward direction
        calculated by this MEP. The FLR value
        is a ratio that is expressed as a percent with a value of 0 (ratio 
        0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmMeasuredStatsEntry 2 }

mefSoamLmMeasuredStatsAvailForwardStatus OBJECT-TYPE
    SYNTAX      MefSoamTcAvailabilityType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the availability status (the outcome of the
        last known availability indicator) in the forward direction.
        Note that the status of an availability indicator is not known until
        the loss for a number of subsequent availability indicators has been
        calculated (as determined by 
        mefSoamLmCfgAvailabilityNumConsecutiveIntervals)
       "
    REFERENCE
       "[MEF SOAM-PM] R83"
    ::= { mefSoamLmMeasuredStatsEntry 3 }

mefSoamLmMeasuredStatsAvailBackwardStatus OBJECT-TYPE
    SYNTAX      MefSoamTcAvailabilityType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the availability status (the outcome of the
        last availability indicator) in the backward direction.
        Note that the status of an availability indicator is not known until
        the loss for a number of subsequent availability indicators has been
        calculated (as determined by 
        mefSoamLmCfgAvailabilityNumConsecutiveIntervals)
       "
    REFERENCE
       "[MEF SOAM-PM] R83"
    ::= { mefSoamLmMeasuredStatsEntry 4 }

mefSoamLmMeasuredStatsAvailForwardLastTransitionTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the time of the last transition
        between available and unavailable in the forward direction.

        If there have been no transitions since the Loss Measurement
        Session was started, this is set to 0.
       "
    REFERENCE
       "[MEF SOAM-PM] R83"
    ::= { mefSoamLmMeasuredStatsEntry 5 }

mefSoamLmMeasuredStatsAvailBackwardLastTransitionTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the time of the last transition
        between available and unavailable in the backward direction.

        If there have been no transitions since the Loss Measurement
        Session was started, this is set to 0.
       "
    REFERENCE
       "[MEF SOAM-PM] R83"
    ::= { mefSoamLmMeasuredStatsEntry 6 }

-- *****************************************************************************
-- Ethernet Loss Measurement Current Availability Statistic Table
-- *****************************************************************************

mefSoamLmCurrentAvailStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmCurrentAvailStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object contains the current results for a SOAM Loss Measurement
        session for availability statistics gathered during the interval 
        indicated by mefSoamLmCfgAvailabilityMeasurementInterval.

        Each row in the table represents a Loss Measurement session for
        the defined MEP. This table uses four indices. The first three indices
        are the indices of the Maintenance Domain, MaNet, and MEP tables. The 
        fourth index is the specific LM session on the selected MEP.

        Instances of this managed object are created automatically
        by the SNMP Agent when the Loss Measurement session is running.

        The objects in this table apply regardless of the value of 
        mefSoamLmCfgType unless otherwise specified in the object description.

        Except for mefSoamLmCurrentAvailStatsIndex,
        mefSoamLmCurrentAvailStatsStartTime, mefSoamLmCurrentAvailStatsElapsedTime
        and mefSoamLmCurrentAvailStatsSuspect, each object in this table applies
        only if the corresponding bit is set in mefSoamLmCfgMeasurementEnable.

        The objects in this table may be persistent upon reboot or restart
        of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] D9, D18"
    ::= { mefSoamPmLmObjects 3 }

mefSoamLmCurrentAvailStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamLmCurrentAvailStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of mefSoamLmCurrentAvailStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamLmCfgIndex
               }
    ::= { mefSoamLmCurrentAvailStatsTable 1 }

MefSoamLmCurrentAvailStatsEntry ::= SEQUENCE {
    mefSoamLmCurrentAvailStatsIndex                Unsigned32,
    mefSoamLmCurrentAvailStatsStartTime            DateAndTime,
    mefSoamLmCurrentAvailStatsElapsedTime          TimeInterval,
    mefSoamLmCurrentAvailStatsSuspect              TruthValue,

    mefSoamLmCurrentAvailStatsForwardHighLoss      Unsigned32,
    mefSoamLmCurrentAvailStatsBackwardHighLoss     Unsigned32,
    mefSoamLmCurrentAvailStatsForwardConsecutiveHighLoss  Unsigned32,
    mefSoamLmCurrentAvailStatsBackwardConsecutiveHighLoss  Unsigned32,

    mefSoamLmCurrentAvailStatsForwardAvailable     Gauge32,
    mefSoamLmCurrentAvailStatsBackwardAvailable    Gauge32,
    mefSoamLmCurrentAvailStatsForwardUnavailable   Gauge32,
    mefSoamLmCurrentAvailStatsBackwardUnavailable  Gauge32,
    mefSoamLmCurrentAvailStatsForwardMinFlr        Unsigned32,
    mefSoamLmCurrentAvailStatsForwardMaxFlr        Unsigned32,
    mefSoamLmCurrentAvailStatsForwardAvgFlr        Unsigned32,
    mefSoamLmCurrentAvailStatsBackwardMinFlr       Unsigned32,
    mefSoamLmCurrentAvailStatsBackwardMaxFlr       Unsigned32,
    mefSoamLmCurrentAvailStatsBackwardAvgFlr       Unsigned32
}

mefSoamLmCurrentAvailStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The index for the current availability Measurement Interval for this
        PM session.  This value will become the value for
        mefSoamLmHistoryAvailStatsIndex once the Measurement Interval
        is completed.  The duration of the Measurement Interval is specified
        by mefSoamLmCfgAvailabilityMeasurementInterval.

        Measurement Interval indexes are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.
       "
    ::= { mefSoamLmCurrentAvailStatsEntry 1 }

mefSoamLmCurrentAvailStatsStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the current Measurement Interval started.
       "
    REFERENCE
       "[MEF SOAM-PM] R87, R112"
    ::= { mefSoamLmCurrentAvailStatsEntry 2 }

mefSoamLmCurrentAvailStatsElapsedTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the current Measurement Interval has been running, in 0.01
        seconds.
       "
    REFERENCE
       "[MEF SOAM-PM] R24, R87, R112"
    ::= { mefSoamLmCurrentAvailStatsEntry 3 }

mefSoamLmCurrentAvailStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the Measurement Interval has been marked as suspect.

        The object is set to false at the start of a measurement
        interval. It is set to true when there is a discontinuity in the 
        performance measurements during the Measurement Interval.  Conditions
        for a discontinuity include, but are not limited to the following:

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
       "
    REFERENCE
       "[MEF SOAM-PM] R39, R40, R41"
    ::= { mefSoamLmCurrentAvailStatsEntry 4 }

mefSoamLmCurrentAvailStatsForwardHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of high loss intervals (HLI) over
        time in the forward direction. 

        The value starts at 0 and increments for every HLI that occurs.
        This parameter is equivalent to 'L Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmCurrentAvailStatsEntry 5 }

mefSoamLmCurrentAvailStatsBackwardHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of high loss intervals (HLI) over
        time in the backwards direction. 

        The value starts at 0 and increments for every HLI that occurs.
        This parameter is equivalent to 'L Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmCurrentAvailStatsEntry 6 }

mefSoamLmCurrentAvailStatsForwardConsecutiveHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of consecutive high loss intervals
        (CHLI) over time in the forward direction. 

        The value starts at 0 and increments for every HLI that occurs
        that is determined to fall within a CHLI.
        This parameter is equivalent to 'B Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmCurrentAvailStatsEntry 7 }

mefSoamLmCurrentAvailStatsBackwardConsecutiveHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of consecutive high loss intervals
        (CHLI) over time in the backward direction. 

        The value starts at 0 and increments for every HLI that occurs
        that is determined to fall within a CHLI.
        This parameter is equivalent to 'B Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmCurrentAvailStatsEntry 8 }

mefSoamLmCurrentAvailStatsForwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the forward direction by this MEP during
        this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87; [MEF 10.2.1]"
    ::= { mefSoamLmCurrentAvailStatsEntry 9 }

mefSoamLmCurrentAvailStatsBackwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the backward direction by this MEP during
        this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87"
    ::= { mefSoamLmCurrentAvailStatsEntry 10 }

mefSoamLmCurrentAvailStatsForwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the forward direction by this MEP during
        this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87"
    ::= { mefSoamLmCurrentAvailStatsEntry 11 }

mefSoamLmCurrentAvailStatsBackwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the backward direction by this MEP
        during this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87"
    ::= { mefSoamLmCurrentAvailStatsEntry 12 }

mefSoamLmCurrentAvailStatsForwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way availability flr in the forward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentAvailStatsEntry 13 }

mefSoamLmCurrentAvailStatsForwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way availability flr in the forward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
      "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentAvailStatsEntry 14 }

mefSoamLmCurrentAvailStatsForwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way availability flr in the forward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentAvailStatsEntry 15 }

mefSoamLmCurrentAvailStatsBackwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way availability flr in the backward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentAvailStatsEntry 16 }

mefSoamLmCurrentAvailStatsBackwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way availability flr in the backward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed 
        as a percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
      "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentAvailStatsEntry 17 }

mefSoamLmCurrentAvailStatsBackwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way availability flr in the backward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentAvailStatsEntry 18 }

-- *****************************************************************************
--  Ethernet Loss Measurement Current Statistic Table
-- *****************************************************************************

mefSoamLmCurrentStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmCurrentStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for the current Measurement
        Interval in a SOAM Loss Measurement session gathered during the interval
        indicated by mefSoamLmCfgMeasurementInterval.

        A row in this table is created automatically
        by the SNMP Agent when the Loss Measurement session is configured.

        Each row in the table represents the current statistics for a Loss
        Measurement session for the defined MEP. This table uses four indices. 
        The first three indices are the indices of the Maintenance Domain, MaNet,
        and MEP tables. The fourth index is the specific LM session on the 
        selected MEP. There may be more than one LM session per MEP. The
        main use case for this is to allow multiple CoS instances to be 
        operating simultaneously for a MEP.

        The objects in this table apply regardless of the value of 
        mefSoamLmCfgType unless otherwise specified in the object description.
        
        Except for mefSoamLmCurrentStatsIndex, mefSoamLmCurrentStatsStartTime,
        mefSoamLmCurrentStatsElapsedTime and mefSoamLmCurrentStatsSuspect, 
        each object in this table applies only if the corresponding bit is set in 
        mefSoamLmCfgMeasurementEnable.

        The objects in this table do not need to be persistent upon reboot or
        restart of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, D9, D18"
    ::= { mefSoamPmLmObjects 4 }

mefSoamLmCurrentStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamLmCurrentStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamLmCurrentStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamLmCfgIndex
               }
    ::= { mefSoamLmCurrentStatsTable 1 }

MefSoamLmCurrentStatsEntry ::= SEQUENCE {
    mefSoamLmCurrentStatsIndex                     Unsigned32,
    mefSoamLmCurrentStatsStartTime                 DateAndTime,
    mefSoamLmCurrentStatsElapsedTime               TimeInterval,
    mefSoamLmCurrentStatsSuspect                   TruthValue,
    mefSoamLmCurrentStatsForwardTransmittedFrames  Gauge32,
    mefSoamLmCurrentStatsForwardReceivedFrames     Gauge32,
    mefSoamLmCurrentStatsForwardMinFlr             Unsigned32,
    mefSoamLmCurrentStatsForwardMaxFlr             Unsigned32,
    mefSoamLmCurrentStatsForwardAvgFlr             Unsigned32,
    mefSoamLmCurrentStatsBackwardTransmittedFrames Gauge32,
    mefSoamLmCurrentStatsBackwardReceivedFrames    Gauge32,
    mefSoamLmCurrentStatsBackwardMinFlr            Unsigned32,
    mefSoamLmCurrentStatsBackwardMaxFlr            Unsigned32,
    mefSoamLmCurrentStatsBackwardAvgFlr            Unsigned32,
    mefSoamLmCurrentStatsSoamPdusSent              Gauge32,
    mefSoamLmCurrentStatsSoamPdusReceived          Gauge32
}

mefSoamLmCurrentStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The index for the current Measurement Interval for this
        PM session.  This value will become the value for
        mefSoamLmHistoryStatsIndex once the Measurement Interval
        is completed.

        Measurement Interval indexes are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.
       "
    ::= { mefSoamLmCurrentStatsEntry 1 }

mefSoamLmCurrentStatsStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the current Measurement Interval started.
       "
    REFERENCE
       "[MEF SOAM-PM] R22, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 2 }

mefSoamLmCurrentStatsElapsedTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the current Measurement Interval has been running, in 0.01
        seconds.
       "
    REFERENCE
       "[MEF SOAM-PM] R24, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 3 }

mefSoamLmCurrentStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the Measurement Interval has been marked as suspect.

        The object is set to false at the start of a measurement
        interval. It is set to true when there is a discontinuity in the 
        performance measurements during the Measurement Interval.  Conditions
        for a discontinuity include, but are not limited to the following:

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R39, R40, R41"
    ::= { mefSoamLmCurrentStatsEntry 4 }

mefSoamLmCurrentStatsForwardTransmittedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames transmitted in the 
        forward direction by this MEP.

        For a PM Session of types lmLmm and lmCcm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of type lmSlm this includes the count of SOAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 5 }

mefSoamLmCurrentStatsForwardReceivedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames received in the
        forward direction by this MEP. 

        For a PM Session of types lmLmm and lmCcm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of types lmSlm this includes the count of SOAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 6 }

mefSoamLmCurrentStatsForwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame loss
        ratio in the forward direction calculated by this MEP for this
        Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentStatsEntry 7 }

mefSoamLmCurrentStatsForwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame loss
        ratio in the forward direction calculated by this MEP for this
        Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
      "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentStatsEntry 8 }

mefSoamLmCurrentStatsForwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame loss
        ratio in the forward direction calculated by this MEP for this
        Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentStatsEntry 9 }

mefSoamLmCurrentStatsBackwardTransmittedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames transmitted in the
        backward direction by this MEP.

        For a PM Session of type lmLmm and lmCcm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of type lmSlm this includes the count of SOAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 10 }

mefSoamLmCurrentStatsBackwardReceivedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames received in the 
        backward direction by this MEP.

        For a PM Session of type lmLmm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of type lmSlm this includes the count of SOAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 11 }

mefSoamLmCurrentStatsBackwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame loss
        ratio in the backward direction calculated by this MEP for 
        this Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentStatsEntry 12 }

mefSoamLmCurrentStatsBackwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame loss
        ratio in the backward direction calculated by this MEP for 
        this Measurement Interval. The FLR value is a ratio that is expressed 
        as a percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
      "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentStatsEntry 13 }

mefSoamLmCurrentStatsBackwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame loss
        ratio in the backward direction calculated by this MEP for 
        this Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmCurrentStatsEntry 14 }

mefSoamLmCurrentStatsSoamPdusSent OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM PDUs sent 
        during this Measurement Interval. 

        This object applies when mefSoamLmCfgType is lmLmm, lmSlm, or 
        lmCcm. It indicates the number of LMM, CCM, or SLM SOAM frames 
        transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 15 }

mefSoamLmCurrentStatsSoamPdusReceived OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM PDUs
        PDUs received in this Measurement Interval.

        This object applies when mefSoamLmCfgType is lmLmm, lmSlm, or 
        lmCcm. This object indicates the number of LMR, CCM, or SLR SOAM
        frames received.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmCurrentStatsEntry 16 } 

-- *****************************************************************************
-- Ethernet Loss Measurement Availability History Statistic Table
-- *****************************************************************************

mefSoamLmHistoryAvailStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmHistoryAvailStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for availability history Measurement
        Intervals in a SOAM Loss Measurement session.

        Rows of this table object are created automatically
        by the SNMP Agent when the Loss Measurement session is running and a 
        Measurement Interval is completed.

        Each row in the table represents the history statistics for a Loss
        Measurement session availability Measurement Interval for the defined
        MEP. This table uses five indices. The first three indices are the indices of
        the Maintenance Domain, MaNet, and MEP tables. The fourth index is the
        specific LM session on the selected MEP. The fifth index index the
        specific Measurement Interval.

        At least 32 completed Measurement Intervals are to be supported. 96
        completed Measurement Intervals are recommended to be supported. If
        there are at least 32 rows in the table and a new Measurement Interval
        completes and a new row is to be added to the table, the oldest completed
        Measurement Interval can be deleted (row deletion). If the availability
        Measurement Interval is other than 15 minutes then a minimum of 8 hours of 
        completed Measurement Intervals are to be supported and 24 hours are
        recommended to be supported.

        Except for mefSoamLmHistoryAvailStatsIndex, 
        mefSoamLmHistoryAvailStatsEndTime, mefSoamLmHistoryAvailStatsElapsedTime and 
        mefSoamLmHistoryAvailStatsSuspect, each object in this table applies only
        if the corresponding bit is set in mefSoamLmCfgMeasurementEnable.

        The rows and objects in this table are to be persistent upon reboot 
        or restart of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, R21, D8, R25"
    ::= { mefSoamPmLmObjects 5 }

mefSoamLmHistoryAvailStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamLmHistoryAvailStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamLmHistoryAvailStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamLmCfgIndex,
               mefSoamLmHistoryAvailStatsIndex
               }
    ::= { mefSoamLmHistoryAvailStatsTable 1 }

MefSoamLmHistoryAvailStatsEntry ::= SEQUENCE {
    mefSoamLmHistoryAvailStatsIndex                  Unsigned32,
    mefSoamLmHistoryAvailStatsEndTime                DateAndTime,
    mefSoamLmHistoryAvailStatsElapsedTime            TimeInterval,
    mefSoamLmHistoryAvailStatsSuspect                TruthValue,
    mefSoamLmHistoryAvailStatsForwardHighLoss        Unsigned32,
    mefSoamLmHistoryAvailStatsBackwardHighLoss       Unsigned32,
    mefSoamLmHistoryAvailStatsForwardConsecutiveHighLoss  Unsigned32,
    mefSoamLmHistoryAvailStatsBackwardConsecutiveHighLoss  Unsigned32,

    mefSoamLmHistoryAvailStatsForwardAvailable       Gauge32,
    mefSoamLmHistoryAvailStatsBackwardAvailable      Gauge32,
    mefSoamLmHistoryAvailStatsForwardUnavailable     Gauge32,
    mefSoamLmHistoryAvailStatsBackwardUnavailable    Gauge32,
    mefSoamLmHistoryAvailStatsForwardMinFlr          Unsigned32,
    mefSoamLmHistoryAvailStatsForwardMaxFlr          Unsigned32,
    mefSoamLmHistoryAvailStatsForwardAvgFlr          Unsigned32,
    mefSoamLmHistoryAvailStatsBackwardMinFlr         Unsigned32,
    mefSoamLmHistoryAvailStatsBackwardMaxFlr         Unsigned32,
    mefSoamLmHistoryAvailStatsBackwardAvgFlr         Unsigned32
}

mefSoamLmHistoryAvailStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index for the availability Measurement Interval within this
        PM session.

        Measurement Interval indexes are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.  Measurement Intervals
        for availability (stored in this table) are based on 
        mefSoamLmCfgAvailabilityMeasurementInterval and are indexed independently
        of Measurement Intervals for FLR (stored in mefSoamLmHistoryStatsTable).

        Referential integrity is necessary, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        is never reused while this session is active until it wraps to zero.
        The index value keeps increasing up to that time.
       "
    ::= { mefSoamLmHistoryAvailStatsEntry 1 }

mefSoamLmHistoryAvailStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the Measurement Interval ended.
       "
    REFERENCE
       "[MEF SOAM-PM] R23, R87, R112"
    ::= { mefSoamLmHistoryAvailStatsEntry 2 }

mefSoamLmHistoryAvailStatsElapsedTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The length of time that the Measurement Interval ran for,
        in 0.01 seconds.
       "
    REFERENCE
       "[MEF SOAM-PM] R24, R87, R112"
    ::= { mefSoamLmHistoryAvailStatsEntry 3 }

mefSoamLmHistoryAvailStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the Measurement Interval has been marked as suspect.

        The object is set to true when there is a discontinuity in the 
        performance measurements during the Measurement Interval.  Conditions
        for a discontinuity include, but are not limited to the following:

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R39, R40, R41, R42"
    ::= { mefSoamLmHistoryAvailStatsEntry 4 }

mefSoamLmHistoryAvailStatsForwardHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of high loss intervals (HLI) over
        time in the forward direction. 

        The value starts at 0 and increments for every HLI that occurs.
        This parameter is equivalent to 'L Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmHistoryAvailStatsEntry 5 }

mefSoamLmHistoryAvailStatsBackwardHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of high loss intervals (HLI) over
        time in the backward direction. 

        The value starts at 0 and increments for every HLI that occurs.
        This parameter is equivalent to 'L Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmHistoryAvailStatsEntry 6 }

mefSoamLmHistoryAvailStatsForwardConsecutiveHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of consecutive high loss intervals
        (CHLI) over time in the forward direction. 

        The value starts at 0 and increments for every HLI that occurs 
        that is determined to fall within a CHLI.
        This parameter is equivalent to 'B Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmHistoryAvailStatsEntry 7 }

mefSoamLmHistoryAvailStatsBackwardConsecutiveHighLoss OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object is the number of consecutive high loss intervals
        (CHLI) over time in the forward direction. 

        The value starts at 0 and increments for every HLI that occurs
        that is determined to fall within a CHLI.
        This parameter is equivalent to 'B Sub T' found in MEF 10.2.1.
       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9; [MEF SOAM-PM] R87"
    ::= { mefSoamLmHistoryAvailStatsEntry 8 }

mefSoamLmHistoryAvailStatsForwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the forward direction by this MEP during
        this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87; [MEF 10.2.1]"
    ::= { mefSoamLmHistoryAvailStatsEntry 9 }

mefSoamLmHistoryAvailStatsBackwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the backward direction by this MEP during
        this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87"
    ::= { mefSoamLmHistoryAvailStatsEntry 10 }

mefSoamLmHistoryAvailStatsForwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the forward direction by this MEP during
        this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87"
    ::= { mefSoamLmHistoryAvailStatsEntry 11 }

mefSoamLmHistoryAvailStatsBackwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the backward direction by this MEP
        during this Measurement Interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R87"
    ::= { mefSoamLmHistoryAvailStatsEntry 12 }

mefSoamLmHistoryAvailStatsForwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way availability flr in the forward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryAvailStatsEntry 13 }

mefSoamLmHistoryAvailStatsForwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way availability flr in the forward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
      "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryAvailStatsEntry 14 }

mefSoamLmHistoryAvailStatsForwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way availability flr in the forward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryAvailStatsEntry 15 }

mefSoamLmHistoryAvailStatsBackwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way availability flr in the backward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryAvailStatsEntry 16 }

mefSoamLmHistoryAvailStatsBackwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way availability flr in the backward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed 
        as a percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
      "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryAvailStatsEntry 17 }

mefSoamLmHistoryAvailStatsBackwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way availability flr in the backward
        direction, from among the set of availability flr values calculated by
        the MEP in this Measurement Interval.  There is one availability flr 
        value for each 'delta_t' time period within the Measurement Interval, as
        specified in MEF 10.2.1.

        The flr value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryAvailStatsEntry 18 }

-- *****************************************************************************
-- Ethernet Loss Measurement Loss History Statistic Table
-- *****************************************************************************

mefSoamLmHistoryStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmHistoryStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for history Measurement
        Intervals in a SOAM Loss Measurement session.

        Rows of this table object are created automatically
        by the SNMP Agent when the Loss Measurement session is running and a 
        Measurement Interval is completed.

        Each row in the table represents the history statistics for a Loss
        Measurement session Measurement Interval for the defined MEP. This
        table uses five indices. The first three indices are the indices of
        the Maintenance Domain, MaNet, and MEP tables. The fourth index is the
        specific LM session on the selected MEP. The fifth index index the
        specific Measurement Interval.

        At least 32 completed Measurement Intervals are to be supported. 96
        completed Measurement Intervals are recommended to be supported. If
        there are at least 32 rows in the table and a new Measurement Interval
        completes and a new row is to be added to the table, the oldest completed
        Measurement Interval may be deleted (row deletion). If the measurement
        interval is other than 15 minutes then a minimum of 8 hours of 
        completed Measurement Intervals are to be supported and 24 hours are
        recommended to be supported.

        Except for mefSoamLmHistoryStatsIndex, mefSoamLmHistoryStatsEndTime,
        mefSoamLmHistoryStatsElapsedTime and mefSoamLmHistoryStatsSuspect, 
        each object in this table applies only if the corresponding bit is set in 
        mefSoamLmCfgMeasurementEnable.

        The rows and objects in this table are to be persistent upon reboot 
        or restart of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, R21, D8, R25"
    ::= { mefSoamPmLmObjects 6 }

mefSoamLmHistoryStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamLmHistoryStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamLmHistoryStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamLmCfgIndex,
               mefSoamLmHistoryStatsIndex
               }
    ::= { mefSoamLmHistoryStatsTable 1 }

MefSoamLmHistoryStatsEntry ::= SEQUENCE {
    mefSoamLmHistoryStatsIndex                     Unsigned32,
    mefSoamLmHistoryStatsEndTime                   DateAndTime,
    mefSoamLmHistoryStatsElapsedTime               TimeInterval,
    mefSoamLmHistoryStatsSuspect                   TruthValue,
    mefSoamLmHistoryStatsForwardTransmittedFrames  Gauge32,
    mefSoamLmHistoryStatsForwardReceivedFrames     Gauge32,
    mefSoamLmHistoryStatsForwardMinFlr             Unsigned32,
    mefSoamLmHistoryStatsForwardMaxFlr             Unsigned32,
    mefSoamLmHistoryStatsForwardAvgFlr             Unsigned32,
    mefSoamLmHistoryStatsBackwardTransmittedFrames Gauge32,
    mefSoamLmHistoryStatsBackwardReceivedFrames    Gauge32,
    mefSoamLmHistoryStatsBackwardMinFlr            Unsigned32,
    mefSoamLmHistoryStatsBackwardMaxFlr            Unsigned32,
    mefSoamLmHistoryStatsBackwardAvgFlr            Unsigned32,
    mefSoamLmHistoryStatsSoamPdusSent              Gauge32,
    mefSoamLmHistoryStatsSoamPdusReceived          Gauge32
}

mefSoamLmHistoryStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index for the Measurement Interval within this
        PM session.

        Measurement Interval indexes are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1. Measurement Intervals
        for FLR (stored in this table) are based on 
        mefSoamLmCfgMeasurementInterval and are indexed independently
        of Measurement Intervals for availability (stored in 
        mefSoamLmHistoryAvailStatsTable).

        Referential integrity is necessary, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        is never reused while this session is active until it wraps to zero.
        The index value keeps increasing up to that time.
       "
    ::= { mefSoamLmHistoryStatsEntry 1 }

mefSoamLmHistoryStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the Measurement Interval ended.
       "
    REFERENCE
       "[MEF SOAM-PM] R23, R87, R112"
    ::= { mefSoamLmHistoryStatsEntry 2 }

mefSoamLmHistoryStatsElapsedTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The length of time that the Measurement Interval ran for,
        in 0.01 seconds.
       "
    REFERENCE
       "[MEF SOAM-PM] R24, R87, R112"
    ::= { mefSoamLmHistoryStatsEntry 3 }

mefSoamLmHistoryStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the Measurement Interval has been marked as suspect.

        The object is set to true when there is a discontinuity in the 
        performance measurements during the Measurement Interval.  Conditions
        for a discontinuity include, but are not limited to the following:

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R39, R40, R41, R42"
    ::= { mefSoamLmHistoryStatsEntry 4 }

mefSoamLmHistoryStatsForwardTransmittedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames transmitted in the 
        forward direction by this MEP. 

        For a PM Session of types lmLmm and lmCcm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of type lmSlm this includes the count of OAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmHistoryStatsEntry 5 }

mefSoamLmHistoryStatsForwardReceivedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames received in the
        forward direction by this MEP. 

        For a PM Session of types lmLmm and lmCcm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of type lmSlm this includes the count of OAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmHistoryStatsEntry 6 }

mefSoamLmHistoryStatsForwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame loss
        ratio in the forward direction calculated by this MEP for this
        Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryStatsEntry 7 }

mefSoamLmHistoryStatsForwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame loss
        ratio in the forward direction calculated by this MEP for this
        Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryStatsEntry 8 }

mefSoamLmHistoryStatsForwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame loss
        ratio in the forward direction calculated by this MEP for this
        Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryStatsEntry 9 }

mefSoamLmHistoryStatsBackwardTransmittedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames transmitted in the
        backward direction by this MEP.

        For a PM Session of type lmLmm and lmCcm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of types lmSlm this includes the count of SOAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryStatsEntry 10 }

mefSoamLmHistoryStatsBackwardReceivedFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of frames received in the 
        backward direction by this MEP.

        For a PM Session of type lmLmm and lmCcm this includes Ethernet 
        Service Frames and SOAM PDUs that are in a higher MEG level only.

        For a PM Session of types lmSlm this includes the count of SOAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmHistoryStatsEntry 11 }

mefSoamLmHistoryStatsBackwardMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame loss
        ratio in the backward direction calculated by this MEP for 
        this Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
      "
    REFERENCE
       "[MEF SOAM-PM] R69, R87, R112"
    ::= { mefSoamLmHistoryStatsEntry 12 }

mefSoamLmHistoryStatsBackwardMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame loss
        ratio in the backward direction calculated by this MEP for 
        this Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryStatsEntry 13 }

mefSoamLmHistoryStatsBackwardAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame loss
        ratio in the backward direction calculated by this MEP for 
        this Measurement Interval. The FLR value is a ratio that is expressed as a 
        percent with a value of 0 (ratio 0.00) through 100000 (ratio 1.00).

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF SOAM-PM] D37"
    ::= { mefSoamLmHistoryStatsEntry 14 }

mefSoamLmHistoryStatsSoamPdusSent OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM PDUs sent 
        during this Measurement Interval.

        This object applies when mefSoamLmCfgType is lmLmm, lmSlm, 
        or lmCcm. It indicates the number of LMM, CCM, or SLM SOAM frames 
        transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87"
    ::= { mefSoamLmHistoryStatsEntry 15 }

mefSoamLmHistoryStatsSoamPdusReceived OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM
        PDUs received in this Measurement Interval.

        This object applies when mefSoamLmCfgType is lmLmm, lmSlm, 
        or lmCcm. This object indicates the number of LMR, CCM, or SLR
        SOAM frames received.
       "
    REFERENCE
       "[MEF SOAM-PM] R69, R87"
    ::= { mefSoamLmHistoryStatsEntry 16 } 

-- *****************************************************************************
-- Ethernet Delay Measurement Configuration Table
-- *****************************************************************************

mefSoamDmCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table includes configuration objects and operations for the 
        Delay Measurement function.  

        Each row in the table represents a Delay Measurement session for
        the defined MEP. This table uses four indices. The first three indices
        are the indices of the Maintenance Domain, MaNet, and MEP tables. The 
        fourth index is the specific DM session on the selected MEP. 

        A Delay Measurement session is created on an existing MEP by first 
        accessing the mefSoamDmOperNextIndex object and using this value as 
        the mefSoamDmCfgIndex in the row creation.

        Some writable objects in this table are only applicable in certain cases
        (as described under each object), and attempts to write values for them 
        in other cases will be ignored.

        The writable objects in this table need to be persistent upon reboot 
        or restart of a device. 
       "
    REFERENCE
       "[MEF SOAM-PM] R50; [Y.1731]"
    ::= { mefSoamPmDmObjects 1 }

mefSoamDmCfgEntry OBJECT-TYPE
    SYNTAX      MefSoamDmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmCfgTable."
    INDEX      {
                dot1agCfmMdIndex,
                dot1agCfmMaIndex, 
                dot1agCfmMepIdentifier, 
                mefSoamDmCfgIndex
               }
    ::= { mefSoamDmCfgTable 1 }

MefSoamDmCfgEntry ::= SEQUENCE {
    mefSoamDmCfgIndex                                Unsigned32,
    mefSoamDmCfgType                                 INTEGER,
    mefSoamDmCfgVersion                              Unsigned32,
    mefSoamDmCfgEnabled                              TruthValue,
    mefSoamDmCfgMeasurementEnable                    BITS,
    mefSoamDmCfgMessagePeriod                        MefSoamTcMeasurementPeriodType,

    mefSoamDmCfgPriority                             IEEE8021PriorityValue,
    mefSoamDmCfgFrameSize                            Unsigned32,
    mefSoamDmCfgDataPattern                          MefSoamTcDataPatternType,
    mefSoamDmCfgTestTlvIncluded                      TruthValue,
    mefSoamDmCfgTestTlvPattern                       MefSoamTcTestPatternType,
    mefSoamDmCfgMeasurementInterval                  Unsigned32,
    mefSoamDmCfgNumIntervalsStored                   Unsigned32,

    mefSoamDmCfgDestMacAddress                       MacAddress,
    mefSoamDmCfgDestMepId                            Dot1agCfmMepIdOrZero,
    mefSoamDmCfgDestIsMepId                          TruthValue,
    mefSoamDmCfgSourceMacAddress                     MacAddress,

    mefSoamDmCfgStartTimeType                        MefSoamTcOperationTimeType,
    mefSoamDmCfgFixedStartDateAndTime                DateAndTime,
    mefSoamDmCfgRelativeStartTime                    TimeInterval,
    mefSoamDmCfgStopTimeType                         MefSoamTcOperationTimeType,
    mefSoamDmCfgFixedStopDateAndTime                 DateAndTime,
    mefSoamDmCfgRelativeStopTime                     TimeInterval,
    mefSoamDmCfgRepetitionTime                       Unsigned32,

    mefSoamDmCfgAlignMeasurementIntervals            TruthValue,
    mefSoamDmCfgAlignMeasurementOffset               Unsigned32,
    mefSoamDmCfgNumMeasBinsPerFrameDelayInterval     Unsigned32,
    mefSoamDmCfgNumMeasBinsPerInterFrameDelayVariationInterval
                                                     Unsigned32,
    mefSoamDmCfgInterFrameDelayVariationSelectionOffset
                                                     Unsigned32,
    mefSoamDmCfgNumMeasBinsPerFrameDelayRangeInterval Unsigned32,

    mefSoamDmCfgSessionType                          MefSoamTcSessionType,
    mefSoamDmCfgSessionStatus                        MefSoamTcStatusType,
    mefSoamDmCfgHistoryClear                         TruthValue,
    mefSoamDmCfgRowStatus                            RowStatus
}

mefSoamDmCfgIndex
OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "An index to the Delay Measurement Configuration table which indicates
        the specific measurement session for the MEP.

        mefSoamPmMepOperNextIndex needs to be inspected to find an
        available index for row-creation.

        Referential integrity is necessary, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        is never reused for other PM sessions on the same MEP while this
        session is active.  The index value keeps increasing until it
        wraps to zero. This is to facilitate access control based
        on a fixed index for an EMS, since the index is not reused.
       "
    ::= { mefSoamDmCfgEntry 1 }

mefSoamDmCfgType OBJECT-TYPE
    SYNTAX      INTEGER {
                  dmDmm   (1),
                  dm1DmTx (2),
                  dm1DmRx (3)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates what type of Delay Measurement is to
        be performed.

        dmDmm(1)         DMM SOAM PDU generated, DMR responses received 
                         (one-way or two-way measurements)
        dm1DmTx(2)       1DM SOAM PDU generated (one-way measurements are made by
                         the receiver)
        dm1DmRx(3)       1DM SOAM PDU received and tracked (one-way measurements)

        The exact PDUs to use are specified by this object in combination with
        mefSoamDmCfgVersion.

        The value dmDMM is required. The values dm1DmTx and dm1DmRx are optional.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R52, R53, R54, O5, R88"
    ::= { mefSoamDmCfgEntry 2 }

mefSoamDmCfgVersion OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates the version of the PDUs used to perform 
        Delay Measurement.

        Version 0 indicates the PDU formats defined in Y.1731-2008.
        Version 1 indicates the PDU formats defined in Y.1731-2011.

        The exact PDUs to use are specified by this object in combination with
        mefSoamDmCfgType.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[Y.1731]"
    DEFVAL { 0 }
    ::= { mefSoamDmCfgEntry 3 }

mefSoamDmCfgEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Delay Measurement session is
        enabled. 

        The value 'true' indicates the Delay Measurement session is enabled AND
        SOAM PDUs are sent and/or measurements are collected when the session
        is running according to the scheduling objects (start time, stop time,
        etc.).

        The value 'false' indicates the Delay Measurement session is disabled
        AND SOAM PDUs are not sent and/or measurements collected.

        For a Delay Measurement session to be removed the row is deleted in 
        order to release internal resources.

        This object can written/modified after row creation time.

        If the DM session is enabled it resumes after shutdown/restart.

        If the DM session is disabled the current Measurement Interval is 
        stopped, if it in process at the time, and all the in process calculations
        for the partially completed Measurement Interval are finalized.

        This object does not affect whether the single-ended Responder is
        enabled or not, which is enabled or disabled by the 
        mefSoamPmMepDmSingleEndedResponder object.
       "
    REFERENCE
       "[MEF SOAM-PM] R4, R5, R6, O1, R12, R14"
    DEFVAL { true }
    ::= { mefSoamDmCfgEntry 4 }

mefSoamDmCfgMeasurementEnable OBJECT-TYPE
    SYNTAX      BITS {
                     bSoamPdusSent(0),
                     bSoamPdusReceived(1),
                     bFrameDelayTwoWayBins(2),
                     bFrameDelayTwoWayMin(3),
                     bFrameDelayTwoWayMax(4),
                     bFrameDelayTwoWayAvg(5),
                     bFrameDelayForwardBins(6),
                     bFrameDelayForwardMin(7),
                     bFrameDelayForwardMax(8),
                     bFrameDelayForwardAvg(9),
                     bFrameDelayBackwardBins(10),
                     bFrameDelayBackwardMin(11),
                     bFrameDelayBackwardMax(12),
                     bFrameDelayBackwardAvg(13),
                     bIfdvForwardBins(14),
                     bIfdvForwardMin(15),
                     bIfdvForwardMax(16),
                     bIfdvForwardAvg(17),
                     bIfdvBackwardBins(18),
                     bIfdvBackwardMin(19),
                     bIfdvBackwardMax(20),
                     bIfdvBackwardAvg(21),
                     bIfdvTwoWayBins(22),
                     bIfdvTwoWayMin(23),
                     bIfdvTwoWayMax(24),
                     bIfdvTwoWayAvg(25),
                     bFrameDelayRangeForwardBins(26),
                     bFrameDelayRangeForwardMax(27),
                     bFrameDelayRangeForwardAvg(28),
                     bFrameDelayRangeBackwardBins(29),
                     bFrameDelayRangeBackwardMax(30),
                     bFrameDelayRangeBackwardAvg(31),
                     bFrameDelayRangeTwoWayBins(32),
                     bFrameDelayRangeTwoWayMax(33),
                     bFrameDelayRangeTwoWayAvg(34),
                     bMeasuredStatsFrameDelayTwoWay(35),
                     bMeasuredStatsFrameDelayForward(36),
                     bMeasuredStatsFrameDelayBackward(37),
                     bMeasuredStatsIfdvTwoWay(38),
                     bMeasuredStatsIfdvForward(39),
                     bMeasuredStatsIfdvBackward(40)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates the type of SOAM DM counters that
        are enabled. 

        A bit set to '1' enables the specific SOAM DM counter.

        A bit set to '0' disables the SOAM DM counter.

        If a particular SOAM DM counter is not supported the BIT value is
        set to '0'.

        Not all SOAM DM counters are supported for all SOAM DM types. 

        This object can only be written at row creation time and cannot be 
        modified once it has been created.

        bSoamPdusSent(0)
            Enables/disables the mefSoamDmCurrentStatsSoamPdusSent
            and mefSoamDmHistoryStatsSoamPdusSent counters.
        bSoamPdusReceived(1)
            Enables/disables the mefSoamDmCurrentStatsSoamPdusReceived
            and mefSoamDmHistoryStatsSoamPdusReceived counters.
        bFrameDelayTwoWayBins(2)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'twoWayFrameDelay'.
        bFrameDelayTwoWayMin(3)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayTwoWayMin
            and mefSoamDmHistoryStatsFrameDelayTwoWayMin counters.
        bFrameDelayTwoWayMax(4)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayTwoWayMax
            and mefSoamDmHistoryStatsFrameDelayTwoWayMax counters.
        bFrameDelayTwoWayAvg(5)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayTwoWayAvg
            and mefSoamDmHistoryStatsFrameDelayTwoWayAvg counters.
        bFrameDelayForwardBins(6)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'forwardFrameDelay'.
        bFrameDelayForwardMin(7)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayForwardMin
            and mefSoamDmHistoryStatsFrameDelayForwardMin counters.
        bFrameDelayForwardMax(8)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayForwardMax
            and mefSoamDmHistoryStatsFrameDelayForwardMax counters.
        bFrameDelayForwardAvg(9)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayForwardAvg
            and mefSoamDmHistoryStatsFrameDelayForwardAvg counters.
        bFrameDelayBackwardBins(10)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'backwardFrameDelay'.
        bFrameDelayBackwardMin(11)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayBackwardMin
            and mefSoamDmHistoryStatsFrameDelayBackwardMin counters.
        bFrameDelayBackwardMax(12)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayBackwardMax
            and mefSoamDmHistoryStatsFrameDelayBackwardMax counters.
        bFrameDelayBackwardAvg(13)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayBackwardAvg
            and mefSoamDmHistoryStatsFrameDelayBackwardAvg counters.
        bIfdvForwardBins(14)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'forwardIfdv'.
        bIfdvForwardMin(15)
            Enables/disables the mefSoamDmCurrentStatsIfdvForwardMin
            and mefSoamDmHistoryStatsIfdvForwardMin counters.
        bIfdvForwardMax(16)
            Enables/disables the mefSoamDmCurrentStatsIfdvForwardMax
            and mefSoamDmHistoryStatsIfdvForwardMax counters.
        bIfdvForwardAvg(17)
            Enables/disables the mefSoamDmCurrentStatsIfdvForwardAvg
            and mefSoamDmHistoryStatsIfdvForwardAvg counters.
        bIfdvBackwardBins(18)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'backwardIfdv'.
        bIfdvBackwardMin(19)
            Enables/disables the mefSoamDmCurrentStatsIfdvBackwardMin
            and mefSoamDmHistoryStatsIfdvBackwardMin counters.
        bIfdvBackwardMax(20)
            Enables/disables the mefSoamDmCurrentStatsIfdvBackwardMax
            and mefSoamDmHistoryStatsIfdvBackwardMax counters.
        bIfdvBackwardAvg(21)
            Enables/disables the mefSoamDmCurrentStatsIfdvBackwardAvg
            and mefSoamDmHistoryStatsIfdvBackwardAvg counters.
        bIfdvTwoWayBins(22)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'twoWayIfdv'.
        bIfdvTwoWayMin(23)
            Enables/disables the mefSoamDmCurrentStatsIfdvTwoWayMin
            and mefSoamDmHistoryStatsIfdvTwoWayMin counters.
        bIfdvTwoWayMax(24)
            Enables/disables the mefSoamDmCurrentStatsIfdvTwoWayMax
            and mefSoamDmHistoryStatsIfdvTwoWayMax counters.
        bIfdvTwoWayAvg(25)
            Enables/disables the mefSoamDmCurrentStatsIfdvTwoWayAvg
            and mefSoamDmHistoryStatsIfdvTwoWayAvg counters.
        bFrameDelayRangeForwardBins(26)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'forwardFrameDelayRange'.
        bFrameDelayRangeForwardMax(27)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayRangeForwardMax
            and mefSoamDmHistoryStatsFrameDelayRangeForwardMax counters.
        bFrameDelayRangeForwardAvg(28)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayRangeForwardAvg
            and mefSoamDmHistoryStatsFrameDelayRangeForwardAvg counters.
        bFrameDelayRangeBackwardBins(29)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'backwardFrameDelayRange'.
        bFrameDelayRangeBackwardMax(30)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayRangeBackwardMax
            and mefSoamDmHistoryStatsFrameDelayRangeBackwardMax counters.
        bFrameDelayRangeBackwardAvg(31)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayRangeBackwardAvg
            and mefSoamDmHistoryStatsFrameDelayRangeBackwardAvg counters.
        bFrameDelayRangeTwoWayBins(32)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'twoWayFrameDelayRange'.
        bFrameDelayRangeTwoWayMax(33)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayRangeTwoWayMax
            and mefSoamDmHistoryStatsFrameDelayRangeTwoWayMax counters.
        bFrameDelayRangeTwoWayAvg(34)
            Enables/disables the mefSoamDmCurrentStatsFrameDelayRangeTwoWayAvg
            and mefSoamDmHistoryStatsFrameDelayRangeTwoWayAvg counters.
        bMeasuredStatsFrameDelayTwoWay(35)
            Enables/disables the mefSoamDmMeasuredStatsFrameDelayTwoWay
            counter.
        bMeasuredStatsFrameDelayForward(36)
            Enables/disables the mefSoamDmMeasuredStatsFrameDelayForward
            counter.
        bMeasuredStatsFrameDelayBackward(37)
            Enables/disables the mefSoamDmMeasuredStatsFrameDelayBackward
            counter.
        bMeasuredStatsIfdvTwoWay(38)
            Enables/disables the mefSoamDmMeasuredStatsIfdvTwoWay
            counter.
        bMeasuredStatsIfdvForward(39)
            Enables/disables the mefSoamDmMeasuredStatsIfdvForward
            counter.
        bMeasuredStatsIfdvBackward(40)
            Enables/disables the mefSoamDmMeasuredStatsIfdvBackward
            counter.
       "
    REFERENCE
       "[MEF SOAM-PM]"
    DEFVAL { { } }
    ::= { mefSoamDmCfgEntry 5 }

mefSoamDmCfgMessagePeriod OBJECT-TYPE
    SYNTAX      MefSoamTcMeasurementPeriodType
    UNITS       "ms"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the interval between Delay Measurement 
        OAM message transmission. For Delay Measurement monitoring 
        applications, the default value is 100ms.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R61, R62, D22, R95, R96, D39"
    DEFVAL { 100 }
    ::= { mefSoamDmCfgEntry 6 }

mefSoamDmCfgPriority OBJECT-TYPE
    SYNTAX      IEEE8021PriorityValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the priority of frames with 
        Delay Measurement OAM message information.

        The default value is to be the value which yields the lowest frame 
        loss.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R1, R2, R56, D21, R57, R58, R90-R94, D28;
        [MEF 10.2.1] Section 6.8"
    ::= { mefSoamDmCfgEntry 7 }

mefSoamDmCfgFrameSize OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Delay Measurement frame size between
        64 bytes and the maximum transmission unit of the EVC. 

        The range of frame sizes from 64 through 2000 octets need to be
        supported, and the range of frame sizes from 2001 through 9600 octets
        is suggested to be supported.  

        The adjustment to the frame size of the standard frame size is 
        accomplished by the addition of a Data or Test TLV. A Data or Test TLV
        is only added to the frame if the frame size is greater than 64 bytes.

        This object is only valid for the entity transmitting the Delay
        Measurement frames (dmDmm, dm1DmTx) and is ignored by the entity 
        receiving frames.

        In addition, this object is not valid when mefSoamDmCfgVersion is 0.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R63, R64, D23, D24, R97, R98, D40, D41"
    DEFVAL { 64 }
    ::= { mefSoamDmCfgEntry 8 }

mefSoamDmCfgDataPattern OBJECT-TYPE
    SYNTAX      MefSoamTcDataPatternType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the DM data pattern included in a Data TLV
        when the size of the DM frame is determined by the 
        mefSoamDmFrameSize object and mefSoamDmTestTlvIncluded is 'false'.
        If the frame size object does not define the DM frame size or 
        mefSoamDmTestTlvIncluded is 'true' the value of this object is 
        ignored.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       " 
    DEFVAL { zeroPattern }
    ::= { mefSoamDmCfgEntry 9 }

mefSoamDmCfgTestTlvIncluded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Indicates whether a Test TLV or Data TLV is included when the size
        of the DM frame is determined by the mefSoamDmFrameSize object.
        A value of 'true' indicates that the Test TLV is to be included. A 
        value of 'false' indicates that the Data TLV is to be included.

        If the frame size object does not define the DM frame size
        the value of this object is ignored.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[Y.1731] 9.3"
    DEFVAL { false }
    ::= { mefSoamDmCfgEntry 10 }

mefSoamDmCfgTestTlvPattern OBJECT-TYPE
    SYNTAX      MefSoamTcTestPatternType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the type of test pattern to be
        sent in the DM frame Test TLV when the size
        of DM PDU is determined by the mefSoamDmFrameSize object and 
        mefSoamDmTestTlvIncluded is 'true'. If the frame size object
        does not define the DM frame size or mefSoamDmTestTlvIncluded
        is 'false' the value of this object is ignored. 

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       " 
    DEFVAL { null }
    ::= { mefSoamDmCfgEntry 11 }

mefSoamDmCfgMeasurementInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (1..1440)
    UNITS       "minutes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies a Measurement Interval in minutes.

        A Measurement Interval 15 minutes needs to be supported, other intervals
        may be supported.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R16, R17"
    DEFVAL { 15 }
    ::= { mefSoamDmCfgEntry 12 }

mefSoamDmCfgNumIntervalsStored OBJECT-TYPE
    SYNTAX      Unsigned32 (2..1000)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the number of completed Measurement Intervals
        to store in the history statistic table.

        At least 32 completed Measurement Intervals are to be stored. 96 
        Measurement Intervals are recommended to be stored.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R21, D8, D9"
    DEFVAL { 32 }
    ::= { mefSoamDmCfgEntry 13 }

mefSoamDmCfgDestMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Target or Destination MAC Address Field to be transmitted.

        If mefSoamDmCfgType is 'dmDmm', the destination address is to be the 
        unicast address of the destination MEP. An error is returned if this 
        object is set to a multicast address.

        If mefSoamDmCfgType is 'dm1DmTx', the destination address is normally the
        unicast address of the destination MEP, but can be a multicast address  
        indicating the level of the MEG: 01-80-c2-00-00-3y, where y is the
        level of the MEG.  An error is returned if this object is set to any
        other multicast address.

        If mefSoamDmCfgType is 'dm1DmRx', this object is ignored.

        This address will be used if the value of the object
        mefSoamDmDestIsMepId is 'false'. 

        This object is only valid for the entity transmitting the 
        SOAM DM frames and is ignored by the entity receiving 
        SOAM DM frames.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R55, R89"
    ::= { mefSoamDmCfgEntry 14 }

mefSoamDmCfgDestMepId OBJECT-TYPE
    SYNTAX      Dot1agCfmMepIdOrZero
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Maintenance Association End Point Identifier of
        another MEP in the same Maintenance Association to which
        the SOAM DM frame is to be sent.

        This address will be used if the value of the column
        mefSoamDmDestIsMepId is 'true'. A value of zero
        means that the destination MEP ID has not been configured.

        This object is only valid for the entity transmitting the Delay
        Measurement frames, types 'dmDmm' and 'dm1DmTx'. It is not applicable
        for the 'dm1DmRx' type.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R55, R89"
    DEFVAL { 0 }
    ::= { mefSoamDmCfgEntry 15 }

mefSoamDmCfgDestIsMepId OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A value of 'true' indicates that MEPID of the target MEP is used for
        SOAM DM frame transmission.

        A value of 'false' indicates that the destination MAC address of the
        target MEP is used for SOAM DM frame transmission.

        This object is only valid for the entity transmitting the Delay
        Measurement frames, types 'dmDmm' and 'dm1DmTx'. It is not applicable
        for the 'dm1DmRx type.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R55, R89"
    DEFVAL { true }
    ::= { mefSoamDmCfgEntry 16 }

mefSoamDmCfgSourceMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The Source MAC Address Field of the received SOAM DM session PDUs.

        If mefSoamDmCfgType is dm1DmRx this object indicates the source
        address of the dm1DmTx DM session. 

        This object is only valid for mefSoamDmCfgType set to dm1DmRx. It is
        ignored for mefSoamDmCfgType set to dmDmm or dm1DmTx.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R55, R89"
    ::= { mefSoamDmCfgEntry 17 }

mefSoamDmCfgStartTimeType OBJECT-TYPE
    SYNTAX      MefSoamTcOperationTimeType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the type of start time of the SOAM DM
        session. The start time can be disabled (none), immediate, relative,
        or fixed.

        The value of 'none' is illegal and a write error will be returned
        if this value is used.

        The value of 'immediate' starts the SOAM DM session when the 
        mefSoamDmCfgEnabled is true.

        The value of 'fixed' starts the SOAM DM session when the 
        mefSoamDmFixedStartDateAndTime is less than or equal to the current
        system date and time and mefSoamDmCfgEnabled is true. This value is used
        to implement an On-Demand fixed time PM session. 

        The value of 'relative' starts the SOAM DM session when the current
        system date and time minus the mefSoamDmRelativeStartTime is greater than
        or equal to the system date and time when the mefSoamDmStartTimeType
        object was written and mefSoamDmCfgEnabled is true. This value is used
        to implement an On-Demand relative time PM session.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R3, R7, R8, D1"
    DEFVAL { immediate }
    ::= { mefSoamDmCfgEntry 18 }

mefSoamDmCfgFixedStartDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed start date/time for the 
        SOAM Delay Measurement session. This object is used only used if 
        mefSoamDmStartTimeType is 'fixed' and is ignored otherwise.

        The default value is year 0000, month 01, day 01, time 00:00:00.00.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R9"
    DEFVAL { '0000010100000000'H }
    ::= { mefSoamDmCfgEntry 19 }

mefSoamDmCfgRelativeStartTime  OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the relative start time, from 
        the current system time, for the SOAM DM session. This
        object is used only if mefSoamDmStartTimeType is 'relative' 
        and is ignored otherwise.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R9"
    DEFVAL { 0 }
    ::= { mefSoamDmCfgEntry 20 }

mefSoamDmCfgStopTimeType OBJECT-TYPE
    SYNTAX      MefSoamTcOperationTimeType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the type of stop time to terminate the
        SOAM DM session. The stop time can be forever (none), relative, or 
        fixed.

        The value of 'none' indicates that the SOAM DM session never ends once it
        has started unless the session is disabled.

        The value of 'immediate' is illegal and a write error will be returned
        if this value is used.

        The value of 'fixed' stops the SOAM DM session when the 
        mefSoamDmFixedStopDateAndTime is less than or equal
        to the current system date. This
        value is used to implement an On-Demand fixed time PM session.
 
        The value of 'relative' stops the SOAM DM session when the time 
        indicated by mefSoamDmRelativeStopTime has passed since the session
        start time as determined by the mefSoamDmCfgStartTimeType, 
        mefSoamDmCfgFixedStartDateAndTime and mefSoamDmCfgRelativeStartTime
        objects.
        This value is used to implement an On-Demand relative time PM session.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R3, R10, D2"
    DEFVAL { none }
    ::= { mefSoamDmCfgEntry 21 }

mefSoamDmCfgFixedStopDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed stop date/time for the 
        SOAM Delay Measurement session. This object is used only used 
        if mefSoamDmStopTimeType is 'fixed' and is ignored otherwise.

        The default value is year 0000, month 01, day 01, time 00:00:00.00.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R10, R13"
    DEFVAL { '0000010100000000'H }
    ::= { mefSoamDmCfgEntry 22 }

mefSoamDmCfgRelativeStopTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the relative stop time, from the
        session start time, to stop the SOAM DM session.  This
        object is used only if mefSoamDmStopTimeType is 'relative' and is 
        ignored otherwise.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R11"
    DEFVAL { 0 }
    ::= { mefSoamDmCfgEntry 23 }

mefSoamDmCfgRepetitionTime OBJECT-TYPE
    SYNTAX      Unsigned32 (0..31536000)
    UNITS       "seconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies a configurable repetition time between
        Measurement Intervals in a Delay Measurement session in seconds. 

        If the value is 0 (none), there is no time gap between the end of one
        Measurement Interval and the start of a new Measurement Interval.
        This is the normal usage case.

        If the value is greater than one Measurement Interval there is time gap
        between the end of one Measurement Interval and the start of the next
        Measurement Interval.  The repetition time specifies the time between
        the start of consecutive Measurement Intervals; hence the gap between
        the end of one Measurement Interval and the start of the next is equal
        to the difference between the repetition time and the measurement
        interval.  During this gap, no SOAM PDUs are sent for this session and
        no measurements are made.

        If the value is greater 0 but less than or equal to the measurement
        interval, an error is returned.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R18, D3, R19, R20"
    DEFVAL { 0 }
    ::= { mefSoamDmCfgEntry 24 }

mefSoamDmCfgAlignMeasurementIntervals OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies whether the Measurement Intervals for
        the Delay Measurement session are aligned with a zero offset to
        real time.

        The value 'true' indicates that each Measurement Interval starts
        at a time which is aligned to NE time source hour, if the repetition
        time (or the Measurement Interval, if the repetition time is 0) is
        a factor of an hour, i.e. 60min/15min = 4. For instance, a
        Measurement Interval/Repetition Time of 15 minutes would stop/start 
        the Measurement Interval at 0, 15, 30, and 45 minutes of an hour. A 
        Measurement Interval/Repetition Time of 7 minutes would not align
        to the hour since 7 minutes is NOT a factor of an hour, i.e.
        60min/7min = 8.6.  In this case the behavior is the same as if the
        object is set to 'false'.

        The value 'false' indicates that the first Measurement Interval starts
        at an arbitrary time and each subsequent Measurement Interval starts
        at a time which is determined by mefSoamLmCfgRepetitionTime.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] D4, D5, D6"
    DEFVAL { true }
    ::= { mefSoamDmCfgEntry 25 }

mefSoamDmCfgAlignMeasurementOffset OBJECT-TYPE
    SYNTAX      Unsigned32 (0..525600)
    UNITS       "minutes"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the offset in minutes from the time of day value 
        if mefSoamDmCfgAlignMeasurementIntervals is 'true' and the repetition 
        time is a factor of 60 minutes. If not, the value of this object
        is ignored.

        If the Measurement Interval is 15 minutes and 
        mefSoamDmCfgAlignMeasurementIntervals is true and if this object was
        set to 5 minutes, the Measurement Intervals would start at 5, 20, 35, 50
        minutes past each hour.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] D7"
    DEFVAL { 0 }
    ::= { mefSoamDmCfgEntry 26 }

mefSoamDmCfgNumMeasBinsPerFrameDelayInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (2..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the number of measurement bins 
        per Measurement Interval for Frame Delay measurements. 

        At least 3 bins are to be supported; at least 10 bins are recommended
        to be supported.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
      "
    REFERENCE
       "[MEF SOAM-PM] R27, D11, R28, D12"
    DEFVAL { 3 }
    ::= { mefSoamDmCfgEntry 27 }

mefSoamDmCfgNumMeasBinsPerInterFrameDelayVariationInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (2..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the number of measurement bins 
        per Measurement Interval for Inter-Frame Delay Variation 
        measurements. 

       The minimum number of measurement bins to be supported is 2. The 
       desired number of measurements bins to be supported is 10.

       This object can only be written at row creation time and cannot be 
       modified once it has been created.
      "
    REFERENCE
       "[MEF SOAM-PM] R29, D13, R30, D14"
    DEFVAL { 2 }
    ::= { mefSoamDmCfgEntry 28 }

mefSoamDmCfgInterFrameDelayVariationSelectionOffset OBJECT-TYPE
    SYNTAX      Unsigned32 (1..100)
    MAX-ACCESS  read-create
    STATUS      current
    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).

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] O4, D25, O6, D42"
    DEFVAL { 1 }
    ::= { mefSoamDmCfgEntry 29 }

mefSoamDmCfgNumMeasBinsPerFrameDelayRangeInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (2..100)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the number of measurement bins 
        per Measurement Interval for Frame Delay Range measurements. 

        At least 2 bins are to be supported; at least 10 bins are recommended
        to be supported.

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
      "
    REFERENCE
       "[MEF SOAM-PM] R31, D15, R32, D16"
    DEFVAL { 2 }
    ::= { mefSoamDmCfgEntry 30 }

mefSoamDmCfgSessionType OBJECT-TYPE
    SYNTAX      MefSoamTcSessionType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates whether the current session is defined to
        be 'Proactive' or 'On-Demand'. A value of 'proactive'
        indicates the current session is 'Proactive'. A value of 'onDemand'
        indicates the current session is 'On-Demand'. 

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R3" 
    DEFVAL { proactive }
    ::= { mefSoamDmCfgEntry 31 }

mefSoamDmCfgSessionStatus OBJECT-TYPE
    SYNTAX      MefSoamTcStatusType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the current status of the DM session. A value
        of 'active' indicates the current DM session is active, i.e. the current
        time lies between the start time and the stop time, and 
        mefSoamDmCfgEnabled is true. A value of 'notActive' indicates the
        current DM session is not active, i.e. it has not started yet, has 
        stopped upon reaching the stop time, or is disabled.
       "
    ::= { mefSoamDmCfgEntry 32 }

mefSoamDmCfgHistoryClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object when written clears the Delay Measurement history
        tables (mefSoamDmHistoryStatsTable and mefSoamDmHistoryStatsBinsTable)
        - all rows are deleted.  When read the value always returns 'false'. 

        Writing this value does not change the current stat table,
        nor any of the items in the configuration table.
        
        Writing this object at row creation has no effect.
       "
    DEFVAL { false }
    ::= { mefSoamDmCfgEntry 33 }

mefSoamDmCfgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row cannot be changed if the row
        is active, except for mefSoamDmCfgEnabled and mefSoamDmCfgHistoryClear
        objects. All columns are to have a valid value before a row
        can be activated.
       "
   ::= { mefSoamDmCfgEntry 34 }

-- *****************************************************************************
-- Ethernet Delay Measurement Bin Configuration Table
-- *****************************************************************************

mefSoamDmCfgMeasBinTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmCfgMeasBinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table includes configuration objects for the Delay Measurement 
        bins to collect stats.

        Each row in the table is automatically created when the Delay
        Measurement session is defined for the selected MEP. The number of rows
        created is based upon three items: the DM type, the number of bins
        defined for each type, and whether bins are enabled for each type.

        The first four indices are the same as used to create the DM session:
        Maintenance Domain, MaNet, MEP identification, and mefSoamDmCfgIndex. The
        fifth index is the type of bin, and the sixth index is the bin number.

        For a dmDmm session all nine types of bins can be created. For a dm1DmmTx
        session no bins are created. For a dm1DmmRx session only types 
        forwardFrameDelay, forwardIfdv, and forwardFrameDelayRange can be created.

        The number of bins created for a bin type is based upon: the 
        mefSoamDmCfgNumMeasBinsPerFrameDelayInterval object, the 
        mefSoamDmCfgNumMeasBinsPerInterFrameDelayVariationInterval object, the 
        mefSoamDmCfgNumMeasBinsPerFrameDelayRangeInterval object, and
        the mefSoamDmCfgMeasurementEnable object.

        For instance, if a dmDmm session with Bins per Frame Delay Interval 
        set to 5, Bins per Frame Delay Variation Interval set to 3, and Frame 
        Delay Range set to 2 (default), all of the appropriate bits set in
        mefSoamDmMeasurementCfgEnable, the following number of rows would be
        created:
        
        For bin types TwoWayFrameDelay(1), forwardFrameDelay(2), and 
        backwardFrameDelay(3) = 5 bins * 3 types = 15 rows

        For bin types TwoWayIfdv(4), forwardIfdv(5), backwardIfdv(6) = 
        3 bins * 3 types = 9 rows.         

        For bins types twoWayFrameDelayRange(7), forwardFrameDelayRange(8),
        backwardFrameDelayRange(9) =
        2 bins * 3 types = 6 rows.

        This gives a total of 30 rows created for the DMM session example.

        Each value in the bin defaults to 5000us greater than the previous bin,
        with the first bin default value set to 0.

        For the delay example above (5 bins), the following default values 
        would be written to the bins:
              bin 1:     0  (range is 0us <= measurement < 5,000us)
              bin 2:  5000  (range is 5,000us <= measurement < 10,000us)
              bin 3: 10000  (range is 10,000us <= measurement < 15,000us)
              bin 4: 15000  (range is 15,000us <= measurement < 20,000us)
              bin 5: 20000  (range is 20,000us <= measurement < infinity)

        For the delay variation example above (3 bins), the following default 
        values would be written to the bins:
              bin 1:     0  (range is 0us <= measurement < 5,000us)
              bin 2:  5000  (range is 5,000us <= measurement < 10,000us)
              bin 3: 10000  (range is 10,000us <= measurement < infinity)

        For the frame delay range example above (2 bins), the following default 
        values would be written to the bins:
              bin 1:     0  (range is 0us <= measurement < 5,000us)
              bin 2:  5000  (range is 5,000us <= measurement < infinity)

        The writable objects in this table need to be persistent upon reboot 
        or restart of a device. 

        Rows are only created if the corresponding measurement type has been enabled 
        via the mefSoamDmCfgMeasurementEnable object.
       "
    REFERENCE
       "[MEF SOAM-PM] R34, R36, R37, D17, R38, R65, D26, D27, R99, D43, D44"
    ::= { mefSoamPmDmObjects 2 }

mefSoamDmCfgMeasBinEntry OBJECT-TYPE
    SYNTAX      MefSoamDmCfgMeasBinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmCfgMeasBinTable."
    INDEX      {
                dot1agCfmMdIndex,
                dot1agCfmMaIndex, 
                dot1agCfmMepIdentifier, 
                mefSoamDmCfgIndex,
                mefSoamDmCfgMeasBinType,
                mefSoamDmCfgMeasBinNumber
               }
    ::= { mefSoamDmCfgMeasBinTable 1 }

MefSoamDmCfgMeasBinEntry ::= SEQUENCE {
    mefSoamDmCfgMeasBinType                  MefSoamTcDelayMeasurementBinType,
    mefSoamDmCfgMeasBinNumber                Unsigned32,
    mefSoamDmCfgMeasBinLowerBound            Unsigned32
}

mefSoamDmCfgMeasBinType OBJECT-TYPE
    SYNTAX      MefSoamTcDelayMeasurementBinType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object specifies whether the bin number is for 
        Frame Delay or Inter-Frame Delay Variation.
       "
    ::= { mefSoamDmCfgMeasBinEntry 1 }

mefSoamDmCfgMeasBinNumber OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object specifies the bin number for the 
        configured boundary.  The first bin has bin number 1.
       "
    ::= { mefSoamDmCfgMeasBinEntry 2 }

mefSoamDmCfgMeasBinLowerBound OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds (us)"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the lower boundary for a 
        measurement bin. The upper boundary is defined by the next bin
        value or infinite for the last bin defined.
        The measurement boundary for each measurement bin is to  
        be larger than the measurement boundary of the preceding 
        measurement bin. By default, the next bin is set to 5000us larger 
        than the lower bin boundary. 

        The values in a bin boundary object represents the time range 
        used to segregate delay data into the appropriate statistical
        data bin. For five bins with default values, each bin has the 
        following time range:

        bin 1 =     0, range is 0us <= measurement < 5,000us
        bin 2 =  5000, range is 5,000us <= measurement < 10,000us
        bin 3 = 10000, range is 10,000us <= measurement < 15,000us
        bin 4 = 15000, range is 15,000us <= measurement < 20,000us
        bin 5 = 20000, range is 20,000us <= measurement < infinity

        The first bin boundary (mefSoamDmCfgBinNumber set to 1) always contains 
        the value of 0. Attempting to write a non-zero value to this bin will 
        result in an error.
       "
    REFERENCE
       "[MEF SOAM-PM] R33, R35, D17"
    ::= { mefSoamDmCfgMeasBinEntry 3 }

-- *****************************************************************************
-- Ethernet Delay Measurement Measured Statistic Table
-- *****************************************************************************

mefSoamDmMeasuredStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmMeasuredStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object contains the last measured results for a SOAM Delay 
        Measurement session.

        Each row in the table represents a Delay Measurement session for
        the defined MEP. This table uses four indices. The first three indices
        are the indices of the Maintenance Domain, MaNet, and MEP tables. The 
        fourth index is the specific DM session on the selected MEP.

        Instances of this managed object are created automatically
        by the SNMP Agent when the Delay Measurement session is running.

        Each object in this table applies only if the corresponding bit is set in 
        mefSoamDmCfgMeasurementEnable.

        The objects in this table do not need to be persistent upon reboot or restart
        of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, D18"
    ::= { mefSoamPmDmObjects 3 }

mefSoamDmMeasuredStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamDmMeasuredStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of mefSoamDmMeasuredStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamDmCfgIndex
               }
    ::= { mefSoamDmMeasuredStatsTable 1 }

MefSoamDmMeasuredStatsEntry ::= SEQUENCE {
    mefSoamDmMeasuredStatsFrameDelayTwoWay     Unsigned32,
    mefSoamDmMeasuredStatsFrameDelayForward    Unsigned32,
    mefSoamDmMeasuredStatsFrameDelayBackward   Unsigned32,
    mefSoamDmMeasuredStatsIfdvTwoWay           Unsigned32,
    mefSoamDmMeasuredStatsIfdvForward          Unsigned32,
    mefSoamDmMeasuredStatsIfdvBackward         Unsigned32
}

mefSoamDmMeasuredStatsFrameDelayTwoWay OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the two-way frame delay calculated by this 
        MEP from the last received SOAM PDU.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmMeasuredStatsEntry 1 }

mefSoamDmMeasuredStatsFrameDelayForward OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the frame delay in the forward direction 
        calculated by this MEP from the last received SOAM PDU. The value of this
        object may not be accurate in the absence of sufficiently precise clock
        synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmMeasuredStatsEntry 2 }

mefSoamDmMeasuredStatsFrameDelayBackward OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the frame delay in the backward direction 
        calculated by this MEP from the last received SOAM PDU. The value of this
        object may not be accurate in the absence of sufficiently precise clock
        synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmMeasuredStatsEntry 3 }

mefSoamDmMeasuredStatsIfdvTwoWay OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the last two-way inter-frame delay
        interval calculated by this MEP.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmMeasuredStatsEntry 4 }

mefSoamDmMeasuredStatsIfdvForward OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the last one-way inter-frame delay
        interval in the forward direction calculated by this MEP.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmMeasuredStatsEntry 5 }

mefSoamDmMeasuredStatsIfdvBackward OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the last one-way inter-frame delay
        interval in the backward direction calculated by this MEP.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmMeasuredStatsEntry 6 }

-- *****************************************************************************
-- Ethernet Delay Measurement Current Statistic Table
-- *****************************************************************************

mefSoamDmCurrentStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmCurrentStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for the current Measurement
        Interval in a SOAM Delay Measurement session gathered during the interval
        indicated by mefSoamLmCfgMeasurementInterval.

        A row in this table is created automatically
        by the SNMP Agent when the Delay Measurement session is configured.

        Each row in the table represents the current statistics for a Delay
        Measurement session for the defined MEP. This table uses four indices. 
        The first three indices are the indices of the Maintenance Domain, MaNet,
        and MEP tables. The fourth index is the specific DM session on the 
        selected MEP. There can be more than one DM session per MEP.

        The objects in this table apply regardless of the value of 
        mefSoamDmCfgType unless otherwise specified in the object description.
        Backward and two-way statistic objects are undefined if mefSoamDmCfgType
        is dm1DmRx. 

        Except for mefSoamDmCurrentStatsIndex, mefSoamDmCurrentStatsStartTime
        mefSoamDmCurrentStatsElapsedTime and mefSoamDmCurrentStatsSuspect, 
        each object in this table applies only if the corresponding bit is set in 
        mefSoamDmCfgMeasurementEnable.

        The objects in this table do not need to be persistent upon reboot or
        restart of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, D9, D18"
    ::= { mefSoamPmDmObjects 4 }

mefSoamDmCurrentStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamDmCurrentStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmCurrentStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamDmCfgIndex
               }
    ::= { mefSoamDmCurrentStatsTable 1 }

MefSoamDmCurrentStatsEntry ::= SEQUENCE {
    mefSoamDmCurrentStatsIndex                       Unsigned32,
    mefSoamDmCurrentStatsStartTime                   DateAndTime,
    mefSoamDmCurrentStatsElapsedTime                 TimeInterval,
    mefSoamDmCurrentStatsSuspect                     TruthValue,
    mefSoamDmCurrentStatsFrameDelayTwoWayMin         Unsigned32,
    mefSoamDmCurrentStatsFrameDelayTwoWayMax         Unsigned32,
    mefSoamDmCurrentStatsFrameDelayTwoWayAvg         Unsigned32,
    mefSoamDmCurrentStatsFrameDelayForwardMin        Unsigned32,
    mefSoamDmCurrentStatsFrameDelayForwardMax        Unsigned32,
    mefSoamDmCurrentStatsFrameDelayForwardAvg        Unsigned32,
    mefSoamDmCurrentStatsFrameDelayBackwardMin       Unsigned32,
    mefSoamDmCurrentStatsFrameDelayBackwardMax       Unsigned32,
    mefSoamDmCurrentStatsFrameDelayBackwardAvg       Unsigned32,
    mefSoamDmCurrentStatsIfdvForwardMin              Unsigned32,
    mefSoamDmCurrentStatsIfdvForwardMax              Unsigned32,
    mefSoamDmCurrentStatsIfdvForwardAvg              Unsigned32,
    mefSoamDmCurrentStatsIfdvBackwardMin             Unsigned32,
    mefSoamDmCurrentStatsIfdvBackwardMax             Unsigned32,
    mefSoamDmCurrentStatsIfdvBackwardAvg             Unsigned32,
    mefSoamDmCurrentStatsIfdvTwoWayMin               Unsigned32,
    mefSoamDmCurrentStatsIfdvTwoWayMax               Unsigned32,
    mefSoamDmCurrentStatsIfdvTwoWayAvg               Unsigned32,
    mefSoamDmCurrentStatsFrameDelayRangeForwardMax   Unsigned32,
    mefSoamDmCurrentStatsFrameDelayRangeForwardAvg   Unsigned32,
    mefSoamDmCurrentStatsFrameDelayRangeBackwardMax  Unsigned32,
    mefSoamDmCurrentStatsFrameDelayRangeBackwardAvg  Unsigned32,
    mefSoamDmCurrentStatsFrameDelayRangeTwoWayMax    Unsigned32,
    mefSoamDmCurrentStatsFrameDelayRangeTwoWayAvg    Unsigned32,
    mefSoamDmCurrentStatsSoamPdusSent                Gauge32,
    mefSoamDmCurrentStatsSoamPdusReceived            Gauge32
}

mefSoamDmCurrentStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The index for the current Measurement Interval for this
        PM session.  This value will become the value for
        mefSoamDmHistoryStatsIndex once the Measurement Interval
        is completed.

        Measurement Interval indexes are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.
       "
    ::= { mefSoamDmCurrentStatsEntry 1 }

mefSoamDmCurrentStatsStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the current Measurement Interval started.
       "
    REFERENCE
       "[MEF SOAM-PM] R22, R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 2 }

mefSoamDmCurrentStatsElapsedTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the current Measurement Interval has been running, in 0.01
        seconds.
       "
    REFERENCE
       "[MEF SOAM-PM] R24, R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 3 }

mefSoamDmCurrentStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the Measurement Interval has been marked as suspect.

        The object is to be set to false at the start of a measurement
        interval. It is set to true when there is a discontinuity in the 
        performance measurements during the Measurement Interval.  Conditions
        for a discontinuity include, but are not limited to the following:

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R39, R40, R41"
    ::= { mefSoamDmCurrentStatsEntry 4 }

mefSoamDmCurrentStatsFrameDelayTwoWayMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum two-way frame delay
        calculated by this MEP for this Measurement Interval.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 5 }

mefSoamDmCurrentStatsFrameDelayTwoWayMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum two-way frame delay
        calculated by this MEP for this Measurement Interval.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 6 }

mefSoamDmCurrentStatsFrameDelayTwoWayAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average two-way frame delay
        calculated by this MEP for this Measurement Interval.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 7 }

mefSoamDmCurrentStatsFrameDelayForwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame delay
        in the forward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R67, R101"
    ::= { mefSoamDmCurrentStatsEntry 8 }

mefSoamDmCurrentStatsFrameDelayForwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame delay
        in the forward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R67, R101"
    ::= { mefSoamDmCurrentStatsEntry 9 }

mefSoamDmCurrentStatsFrameDelayForwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame delay
        in the forward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R67, R101"
    ::= { mefSoamDmCurrentStatsEntry 10 }

mefSoamDmCurrentStatsFrameDelayBackwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame delay
        in the backward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R67"
    ::= { mefSoamDmCurrentStatsEntry 11 }

mefSoamDmCurrentStatsFrameDelayBackwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame delay
        in the backward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R67"
    ::= { mefSoamDmCurrentStatsEntry 12 }

mefSoamDmCurrentStatsFrameDelayBackwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame delay
        in the backward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R67"
    ::= { mefSoamDmCurrentStatsEntry 13 }

mefSoamDmCurrentStatsIfdvForwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way inter-frame delay
        interval in the forward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 14 }

mefSoamDmCurrentStatsIfdvForwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way inter-frame delay
        interval in the forward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 15 }

mefSoamDmCurrentStatsIfdvForwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way inter-frame delay
        interval in the forward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 16 }

mefSoamDmCurrentStatsIfdvBackwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way inter-frame delay
        interval in the backward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 17 }

mefSoamDmCurrentStatsIfdvBackwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way inter-frame delay
        interval in the backward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 18 }

mefSoamDmCurrentStatsIfdvBackwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way inter-frame delay
        interval in the backward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 19 }

mefSoamDmCurrentStatsIfdvTwoWayMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum two-way inter-frame delay
        interval calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmCurrentStatsEntry 20 }

mefSoamDmCurrentStatsIfdvTwoWayMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum two-way inter-frame delay
        interval calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmCurrentStatsEntry 21 }

mefSoamDmCurrentStatsIfdvTwoWayAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average two-way inter-frame delay
        interval calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmCurrentStatsEntry 22 }

mefSoamDmCurrentStatsFrameDelayRangeForwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame delay range
        in the forward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 23 }

mefSoamDmCurrentStatsFrameDelayRangeForwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame delay range
        in the forward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 24 }

mefSoamDmCurrentStatsFrameDelayRangeBackwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame delay range
        in the backward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 25 }

mefSoamDmCurrentStatsFrameDelayRangeBackwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame delay range
        in the backward direction calculated by this MEP for this
        Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmCurrentStatsEntry 26 }

mefSoamDmCurrentStatsFrameDelayRangeTwoWayMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum two-way frame delay range
        calculated by this MEP for this Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmCurrentStatsEntry 27 }

mefSoamDmCurrentStatsFrameDelayRangeTwoWayAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average two-way frame delay range
        calculated by this MEP for this Measurement Interval. 

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmCurrentStatsEntry 28 }

mefSoamDmCurrentStatsSoamPdusSent OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM PDUs sent
        during this Measurement Interval.

        This object applies when mefSoamDmCfgType is dmDmm or dm1DmTx and
        is undefined if mefSoamDmCfgType is dm1DmRx. It indicates the 
        number of DMM or 1DM SOAM frames transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 29 }

mefSoamDmCurrentStatsSoamPdusReceived OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM 
        PDUs received in this Measurement Interval.

        This object indicates the number of DMR and 1DM SOAM frames
        received. This object applies when mefSoamDmCfgType is dmDmm or 
        dm1DmRx and is undefined if mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmCurrentStatsEntry 30 } 

-- *****************************************************************************
-- Ethernet Delay Measurement Current Bin Statistic Table
-- *****************************************************************************

mefSoamDmCurrentStatsBinsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmCurrentStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the result bins for the current Measurement
        Interval in a SOAM Delay Measurement session.

        Each row in the table represents the current bin statistics for a
        Delay Measurement session for the defined MEP. This table uses six
        indices. The first three indices are the indices of the Maintenance
        Domain, MaNet, and MEP tables. The fourth index is the specific DM 
        session on the selected MEP. The fifth index indicates bin type and
        the sixth indicates the specific bin number.

        A row in this table is created automatically by the SNMP Agent when
        the Delay Measurement session is configured and the bin counter value
        is set to 0.

        The objects in this table are ignored if mefSoamDmCfgType is 1DmTx.

        This table applies only if the corresponding bit is set in 
        mefSoamDmCfgMeasurementEnable.

        The objects in this table do not need to be persistent upon reboot
        or restart of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, D9"
    ::= { mefSoamPmDmObjects 5 }

mefSoamDmCurrentStatsBinsEntry OBJECT-TYPE
    SYNTAX      MefSoamDmCurrentStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmCurrentStatsBinsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamDmCfgIndex,
               mefSoamDmCfgMeasBinType,
               mefSoamDmCfgMeasBinNumber
               }
    ::= { mefSoamDmCurrentStatsBinsTable 1 }

MefSoamDmCurrentStatsBinsEntry ::= SEQUENCE {
    mefSoamDmCurrentStatsBinsCounter                Gauge32
}

mefSoamDmCurrentStatsBinsCounter OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of completed
        measurements initiated in this Measurement Interval whose value
        falls within the range specified for this bin (that is, greater
        than or equal to the measurement boundary for the bin, and
        (unless the bin is the last bin) less than the measurement
        boundary for the following bin.
            "
    REFERENCE
       "[MEF SOAM-PM] R66, R67, R100, R101"
    ::= { mefSoamDmCurrentStatsBinsEntry 1 }

-- *****************************************************************************
-- Ethernet Delay Measurement History Statistic Table
-- *****************************************************************************

mefSoamDmHistoryStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmHistoryStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for history Measurement
        Intervals in a SOAM Delay Measurement session.

        Rows of this table are created automatically
        by the SNMP Agent when the Delay Measurement session is running and a
        Measurement Interval is completed.

        Each row in the table represents the Measurement Interval history
        statistics for a Delay Measurement session for the defined MEP. This
        table uses five indices. The first three indices are the indices of
        the Maintenance Domain, MaNet, and MEP tables. The fourth index is the
        specific DM session on the selected MEP. The fifth index is the 
        Measurement Interval.

        At least 32 completed Measurement Intervals are to be supported. 96
        completed Measurement Intervals are recommended to be supported. If
        there are at least 32 rows in the table and a new Measurement Interval
        completes and a new row is to be added to the table, the oldest completed
        Measurement Interval can be deleted (row deletion). If the measurement
        interval is other than 15 minutes then a minimum of 8 hours of 
        completed Measurement Intervals are to be supported and 24 hours are
        recommended to be supported.

        The objects in this table apply regardless of the value of 
        mefSoamDmCfgType unless otherwise specified in the object description.
        Backward and two-way statistic objects are undefined if mefSoamDmCfgType
        is dm1DmRx. 

        Except for mefSoamDmHistoryStatsIndex, mefSoamDmHistoryStatsEndTime,
        mefSoamDmHistoryStatsElapsedTime and mefSoamDmHistoryStatsSuspect, 
        each object in this table applies only if the corresponding bit is set in 
        mefSoamDmCfgMeasurementEnable.

        The rows and objects in this table are to be persistent upon reboot 
        or restart of a device.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, R21, D8, R25"
    ::= { mefSoamPmDmObjects 6 }

mefSoamDmHistoryStatsEntry OBJECT-TYPE
    SYNTAX      MefSoamDmHistoryStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmHistoryStatsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamDmCfgIndex,
               mefSoamDmHistoryStatsIndex
               }
    ::= { mefSoamDmHistoryStatsTable 1 }

MefSoamDmHistoryStatsEntry ::= SEQUENCE {
    mefSoamDmHistoryStatsIndex                       Unsigned32,
    mefSoamDmHistoryStatsEndTime                     DateAndTime,
    mefSoamDmHistoryStatsElapsedTime                 TimeInterval,
    mefSoamDmHistoryStatsSuspect                     TruthValue,
    mefSoamDmHistoryStatsFrameDelayTwoWayMin         Unsigned32,
    mefSoamDmHistoryStatsFrameDelayTwoWayMax         Unsigned32,
    mefSoamDmHistoryStatsFrameDelayTwoWayAvg         Unsigned32,
    mefSoamDmHistoryStatsFrameDelayForwardMin        Unsigned32,
    mefSoamDmHistoryStatsFrameDelayForwardMax        Unsigned32,
    mefSoamDmHistoryStatsFrameDelayForwardAvg        Unsigned32,
    mefSoamDmHistoryStatsFrameDelayBackwardMin       Unsigned32,
    mefSoamDmHistoryStatsFrameDelayBackwardMax       Unsigned32,
    mefSoamDmHistoryStatsFrameDelayBackwardAvg       Unsigned32,
    mefSoamDmHistoryStatsIfdvForwardMin              Unsigned32,
    mefSoamDmHistoryStatsIfdvForwardMax              Unsigned32,
    mefSoamDmHistoryStatsIfdvForwardAvg              Unsigned32,
    mefSoamDmHistoryStatsIfdvBackwardMin             Unsigned32,
    mefSoamDmHistoryStatsIfdvBackwardMax             Unsigned32,
    mefSoamDmHistoryStatsIfdvBackwardAvg             Unsigned32,
    mefSoamDmHistoryStatsIfdvTwoWayMin               Unsigned32,
    mefSoamDmHistoryStatsIfdvTwoWayMax               Unsigned32,
    mefSoamDmHistoryStatsIfdvTwoWayAvg               Unsigned32,
    mefSoamDmHistoryStatsFrameDelayRangeForwardMax   Unsigned32,
    mefSoamDmHistoryStatsFrameDelayRangeForwardAvg   Unsigned32,
    mefSoamDmHistoryStatsFrameDelayRangeBackwardMax  Unsigned32,
    mefSoamDmHistoryStatsFrameDelayRangeBackwardAvg  Unsigned32,
    mefSoamDmHistoryStatsFrameDelayRangeTwoWayMax    Unsigned32,
    mefSoamDmHistoryStatsFrameDelayRangeTwoWayAvg    Unsigned32,
    mefSoamDmHistoryStatsSoamPdusSent                Gauge32,
    mefSoamDmHistoryStatsSoamPdusReceived            Gauge32
}

mefSoamDmHistoryStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index for the Measurement Interval within this
        PM session.

        Measurement Interval indexes are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.

        Referential integrity is necessary, i.e., the index needs to be
        persistent upon a reboot or restart of a device.  The index
        is never reused while this session is active until it wraps to zero.
        The index value keeps increasing up to that time.
       "
    ::= { mefSoamDmHistoryStatsEntry 1 }

mefSoamDmHistoryStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the Measurement Interval ended.
       "
    REFERENCE
       "[MEF SOAM-PM] R23, R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 2 }

mefSoamDmHistoryStatsElapsedTime OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The length of time that the Measurement Interval ran for,
        in 0.01 seconds.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 3 }

mefSoamDmHistoryStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the Measurement Interval has been marked as suspect.

        The object is set to true when there is a discontinuity in the 
        performance measurements during the Measurement Interval.  Conditions
        for a discontinuity include, but are not limited to the following:

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
       "
    REFERENCE
       "[MEF SOAM-PM] R39, R40, R41, R42"
    ::= { mefSoamDmHistoryStatsEntry 4 }

mefSoamDmHistoryStatsFrameDelayTwoWayMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum two-way frame delay
        calculated by this MEP for this Measurement Interval. 

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 5 }

mefSoamDmHistoryStatsFrameDelayTwoWayMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum two-way frame delay
        calculated by this MEP for this Measurement Interval. 

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 6 }

mefSoamDmHistoryStatsFrameDelayTwoWayAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average two-way frame delay
        calculated by this MEP for this Measurement Interval. 

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 7 }

mefSoamDmHistoryStatsFrameDelayForwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame delay
        in the forward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 8 }

mefSoamDmHistoryStatsFrameDelayForwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame delay
        in the forward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 9 }

mefSoamDmHistoryStatsFrameDelayForwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame delay
        in the forward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 10 }

mefSoamDmHistoryStatsFrameDelayBackwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way frame delay
        in the backward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 11 }

mefSoamDmHistoryStatsFrameDelayBackwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way frame delay
        in the backward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 12 }

mefSoamDmHistoryStatsFrameDelayBackwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way frame delay
        in the backward direction calculated by this MEP for this
        Measurement Interval. The value of this object may not be accurate
        in the absence of sufficiently precise clock synchronization.

        This object is undefined is mefSoamDmCfgType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 13 }

mefSoamDmHistoryStatsIfdvForwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way inter-frame delay
        interval in the forward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 14 }

mefSoamDmHistoryStatsIfdvForwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way inter-frame delay
        interval in the forward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 15 }

mefSoamDmHistoryStatsIfdvForwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way inter-frame delay
        interval in the forward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 16 }

mefSoamDmHistoryStatsIfdvBackwardMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum one-way inter-frame delay
        interval in the backward direction calculated by this MEP for this
        Measurement Interval.
  
        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 17 }

mefSoamDmHistoryStatsIfdvBackwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way inter-frame delay
        interval in the backward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 18 }

mefSoamDmHistoryStatsIfdvBackwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way inter-frame delay
        interval in the backward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 19 }

mefSoamDmHistoryStatsIfdvTwoWayMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the minimum two-way inter-frame delay
        interval calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmHistoryStatsEntry 20 }

mefSoamDmHistoryStatsIfdvTwoWayMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum two-way inter-frame delay
        interval calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmHistoryStatsEntry 21 }

mefSoamDmHistoryStatsIfdvTwoWayAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average two-way inter-frame delay
        interval calculated by this MEP for this
        Measurement Interval.
 
        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
      "
    ::= { mefSoamDmHistoryStatsEntry 22 }

mefSoamDmHistoryStatsFrameDelayRangeForwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way Frame Delay Range
        in the forward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 23 }

mefSoamDmHistoryStatsFrameDelayRangeForwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way Frame Delay Range
        in the forward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 24 }

mefSoamDmHistoryStatsFrameDelayRangeBackwardMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum one-way Frame Delay Range
        in the backward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 25 }

mefSoamDmHistoryStatsFrameDelayRangeBackwardAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average one-way Frame Delay Range
        in the backward direction calculated by this MEP for this
        Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66"
    ::= { mefSoamDmHistoryStatsEntry 26 }

mefSoamDmHistoryStatsFrameDelayRangeTwoWayMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the maximum two-way Frame Delay Range
        calculated by this MEP for this Measurement Interval.

        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
       "
    ::= { mefSoamDmHistoryStatsEntry 27 }

mefSoamDmHistoryStatsFrameDelayRangeTwoWayAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the average two-way Frame Delay Range
        calculated by this MEP for this Measurement Interval.
 
        The value of this object is undefined when mefSoamDmCfgType
        is dm1DmTx or dm1DmRx.
      "
    ::= { mefSoamDmHistoryStatsEntry 28 }

mefSoamDmHistoryStatsSoamPdusSent OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM PDUs sent
        during this Measurement Interval.

        This object applies when mefSoamDmCfgType is dmDmm or dm1DmTx and
        is undefined if mefSoamDmCfgType is dm1DmRx. It indicates the 
        number of DMM or 1DM SOAM frames transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 29 }

mefSoamDmHistoryStatsSoamPdusReceived OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of SOAM 
        PDUs received in this Measurement Interval.

        This object indicates the number of DMR and 1DM SOAM frames
        received. This object applies when mefSoamDmCfgType is dmDmm or 
        dm1DmRx and is undefined if mefSoamDmCfgType is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R100"
    ::= { mefSoamDmHistoryStatsEntry 30 } 

-- *****************************************************************************
-- Ethernet Delay Measurement Bin History Statistic Table
-- *****************************************************************************

mefSoamDmHistoryStatsBinsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmHistoryStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the result bins for the history Measurement
        Intervals in a SOAM Delay Measurement session.

        Rows of this table are created automatically
        by the SNMP Agent when the Delay Measurement session is running and a
        Measurement Interval is completed.

        Each row in the table represents the Measurement Interval history
        statistics for a specific bin in a Delay Measurement session for the
        defined MEP. This table uses seven indices. The first three indices
        are the indices of the Maintenance Domain, MaNet, and MEP tables. The 
        fourth index is the specific DM session on the selected MEP. The 
        fifth index is the Measurement Interval. The sixth index is the
        specific bin type. The seventh index is the specific bin number.

        Rows in this table pertaining to a given Measurement Interval are 
        deleted when (and only when) the corresponding row in the 
        mefSoamDmHistoryStatsTable is deleted.

        The objects in this table are ignored if mefSoamDmCfgType is 1DmTx.

        This table applies only if the corresponding bit is set in 
        mefSoamDmCfgMeasurementEnable.

        The objects in this table need to be persistent upon reboot 
        or restart of a device. 
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R15, R21, D8, R66, R67"
    ::= { mefSoamPmDmObjects 7 }

mefSoamDmHistoryStatsBinsEntry OBJECT-TYPE
    SYNTAX      MefSoamDmHistoryStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmHistoryStatsBinsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex, 
               dot1agCfmMepIdentifier, 
               mefSoamDmCfgIndex,
               mefSoamDmHistoryStatsIndex,
               mefSoamDmCfgMeasBinType,
               mefSoamDmCfgMeasBinNumber
               }
    ::= { mefSoamDmHistoryStatsBinsTable 1 }

MefSoamDmHistoryStatsBinsEntry ::= SEQUENCE {
    mefSoamDmHistoryStatsBinsCounter                Gauge32
}

mefSoamDmHistoryStatsBinsCounter OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the count of the number of completed
        measurements initiated in this Measurement Interval whose value
        falls within the range specified for this bin (that is, greater
        than or equal to the measurement boundary for the bin, and
        (unless the bin is the last bin) less than the measurement
        boundary for the following bin.
       "
    REFERENCE
       "[MEF SOAM-PM] R66, R67, R100, R101"
    ::= { mefSoamDmHistoryStatsBinsEntry 1 }

-- *****************************************************************************
-- Performance Measurement Loss Threshold Configuration Table
-- *****************************************************************************

mefSoamLmThresholdCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmThresholdCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the list of Loss Measurement configuration threshold
        values for LM Performance Monitoring.

        The main purpose of the threshold configuration table is to configure
        threshold alarm notifications indicating that a specific performance
        metric is not being met.

        Each row in the table represents a Loss Measurement session threshold
        set for the defined MEP. This table uses five indices. The first three
        indices are the indices of the Maintenance Domain, MaNet, and MEP tables.
        The fourth index is the specific LM session on the selected MEP. The
        fifth index is the specific threshold set number. 

        Rows in this table are not created automatically. A row is created in
        this table to set up a threshold set on a configured MEP that has a
        configured LM session.

        If two managers try to 'create' the same row at the same time, the first
        creation would succeed, the second creation attempt would result in an
        error. The second creation attempt would then need to select a new index
        value to successfully create a new row.

        An NE needs to support at least one threshold set for NE SOAM PM compliance. A 
        second threshold set on the NE is desirable. More than two threshold 
        sets can be configured on the NE if supported on the NE.

        All the objects in the row have a default value that disables the
        particular threshold measurement. In order to enable a threshold 
        measurement the particular bit in the mefSoamLmThresholdCfgEnable object
        is to be set to '1' and the selected threshold measurement is to have
        a threshold value configured. Non-configured threshold measurements
        are disabled by default.

        The writable objects in this table need to be persistent upon reboot 
        or restart of a device. 
       "
    ::= { mefSoamPmLmObjects 7 }

mefSoamLmThresholdCfgEntry OBJECT-TYPE
    SYNTAX      MefSoamLmThresholdCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamLmThresholdCfgTable."
    INDEX       { 
                dot1agCfmMdIndex,
                dot1agCfmMaIndex, 
                dot1agCfmMepIdentifier, 
                mefSoamLmCfgIndex,
                mefSoamLmThresholdCfgIndex
                }
    ::= {mefSoamLmThresholdCfgTable 1 }

MefSoamLmThresholdCfgEntry ::= SEQUENCE {
    mefSoamLmThresholdCfgIndex                          Unsigned32,
    mefSoamLmThresholdCfgEnable                         BITS,
    mefSoamLmThresholdCfgMeasuredFlrForwardThreshold    Unsigned32,
    mefSoamLmThresholdCfgMaxFlrForwardThreshold         Unsigned32,
    mefSoamLmThresholdCfgAvgFlrForwardThreshold         Unsigned32,
    mefSoamLmThresholdCfgMeasuredFlrBackwardThreshold   Unsigned32,
    mefSoamLmThresholdCfgMaxFlrBackwardThreshold        Unsigned32,
    mefSoamLmThresholdCfgAvgFlrBackwardThreshold        Unsigned32,
    mefSoamLmThresholdCfgForwardHighLossThreshold       Unsigned32,
    mefSoamLmThresholdCfgForwardConsecutiveHighLossThreshold  Unsigned32,
    mefSoamLmThresholdCfgBackwardHighLossThreshold      Unsigned32,
    mefSoamLmThresholdCfgBackwardConsecutiveHighLossThreshold  Unsigned32,
    mefSoamLmThresholdCfgForwardUnavailCountThreshold   Unsigned32,
    mefSoamLmThresholdCfgForwardAvailRatioThreshold     Unsigned32,
    mefSoamLmThresholdCfgBackwardUnavailCountThreshold  Unsigned32,
    mefSoamLmThresholdCfgBackwardAvailRatioThreshold    Unsigned32,
    mefSoamLmThresholdCfgRowStatus                      RowStatus
}

mefSoamLmThresholdCfgIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index of the threshold number for the specific LM
        threshold entry. 

        An index value of '1' needs to be supported. Other index values
        can also be supported.
       "
    ::= { mefSoamLmThresholdCfgEntry 1 }

mefSoamLmThresholdCfgEnable OBJECT-TYPE
    SYNTAX      BITS {
                     bMefSoamLmMeasuredFlrForwardThreshold(0),
                     bMefSoamLmMaxFlrForwardThreshold(1),
                     bMefSoamLmAvgFlrForwardThreshold(2),
                     bMefSoamLmMeasuredFlrBackwardThreshold(3),
                     bMefSoamLmMaxFlrBackwardThreshold(4),
                     bMefSoamLmAvgFlrBackwardThreshold(5),
                     bMefSoamLmForwardHighLossThreshold(6),
                     bMefSoamLmForwardConsecutiveHighLossThreshold(7),
                     bMefSoamLmBackwardHighLossThreshold(8),
                     bMefSoamLmBackwardConsecutiveHighLossThreshold(9),
                     bMefSoamLmUnavailForwardThreshold(10),
                     bMefSoamLmAvailRatioForwardThreshold(11),
                     bMefSoamLmUnavailBackwardThreshold(12),
                     bMefSoamLmAvailRatioBackwardThreshold(13)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates the type of SOAM LM thresholds
        notifications that are enabled. 

        A bit set to '1' enables the specific SOAM LM threshold notification 
        and when the specific counter is enabled and the threshold is crossed a
        notification is generated. 

        A bit set to '0' disables the specific SOAM LM threshold notification.

        If a particular SOAM LM threshold is not supported the BIT value is
        set to '0'.

        bMefSoamLmMeasuredFlrForwardThreshold(0)
                Enables/disables measured frame loss forward ratio threshold 
                notification. The notification is sent immediately when the
                mefSoamLmMeasuredStatsForwardFlr value is 
                greater than or equal to the threshold value.
        bMefSoamLmMaxFlrForwardThreshold(1)
                Enables/disables maximum frame loss forward ratio threshold 
                notification. The notification is sent immediately when the
                mefSoamLmCurrentStatsForwardMaxFlr value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamLmAvgFlrForwardThreshold(2)
                Enables/disables average frame loss forward ratio threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamLmCurrentStatsForwardAvgFlr value is greater
                than or equal to the threshold value.
        bMefSoamLmMeasuredFlrBackwardThreshold(3)
                Enables/disables measured frame loss backward ratio threshold 
                notification. The notification is sent immediately when the
                mefSoamLmMeasuredStatsBackwardFlr value is 
                greater than or equal to the threshold value.
        bMefSoamLmMaxFlrBackwardThreshold(4)
                Enables/disables maximum frame loss backward ratio threshold 
                notification. The notification is sent immediately when the
                mefSoamLmCurrentStatsBackwardMaxFlr value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamLmAvgFlrBackwardThreshold(5)
                Enables/disables average frame loss backward ratio threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamLmCurrentStatsBackwardAvgFlr value is
                greater than or equal to the threshold value.
        bMefSoamLmForwardHighLossThreshold(6)
                Enables/disables forward high loss threshold
                notification. The notification is sent immediately when the 
                mefSoamLmCurrentAvailStatsForwardHighLoss value is
                greater than or equal to the threshold value in a measurement
                interval.
        bMefSoamLmForwardConsecutiveHighLossThreshold(7)
                Enables/disables forward consecutive high loss threshold
                notification. The notification is sent immediately when the 
                mefSoamLmCurrentAvailStatsForwardConsecutiveHighLoss value is
                greater than or equal to the threshold value in a measurement
                interval.
        bMefSoamLmBackwardHighLossThreshold(8)
                Enables/disables backward high loss threshold
                notification. The notification is sent immediately when the 
                mefSoamLmCurrentAvailStatsBackwardHighLoss value is
                greater than or equal to the threshold value in a measurement
                interval.
        bMefSoamLmBackwardConsecutiveHighLossThreshold(9)
                Enables/disables backward consecutive high loss threshold
                notification. The notification is sent immediately when the 
                mefSoamLmCurrentAvailStatsBackwardConsecutiveHighLoss value is
                greater than or equal to the threshold value in a measurement
                interval.
        bMefSoamLmUnavailForwardThreshold(10)
                Enables/disables unavailable forward threshold 
                notification. The notification is sent immediately when the
                mefSoamLmCurrentAvailStatsForwardUnavailable value is 
                greater than or equal to threshold value in a Measurement Interval.
        bMefSoamLmAvailRatioForwardThreshold(11)
                Enables/disables availability ratio forward threshold 
                notification. The notification is sent immediately when the
                availability ratio is greater than or equal to threshold value
                in a Measurement Interval.  The availability ratio can be calculated
                from the values of mefSoamLmCurrentAvailStatsForwardAvailable and
                mefSoamLmCurrentAvailStatsForwardUnavailable.
        bMefSoamLmUnavailBackwardThreshold(12)
                Enables/disables unavailable backward threshold 
                notification. The notification is sent immediately when the
                mefSoamLmCurrentAvailStatsBackwardUnavailable value is 
                greater than or equal to threshold value in a Measurement Interval.
        bMefSoamLmAvailRatioBackwardThreshold(13)
                Enables/disables availability ratio backward threshold 
                notification. The notification is sent immediately when the
                availability ratio is greater than or equal to threshold value
                in a Measurement Interval.  The availability ratio can be calculated
                from the values of mefSoamLmCurrentAvailStatsBackwardAvailable and
                mefSoamLmCurrentAvailStatsBackwardUnavailable.
      "
    DEFVAL { { } }
    ::= { mefSoamLmThresholdCfgEntry 2 }

mefSoamLmThresholdCfgMeasuredFlrForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measured forward frame loss ratio
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 100000 }
    ::= { mefSoamLmThresholdCfgEntry 3 }

mefSoamLmThresholdCfgMaxFlrForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum forward frame loss ratio
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 100000 }
    ::= { mefSoamLmThresholdCfgEntry 4 }

mefSoamLmThresholdCfgAvgFlrForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average forward frame loss ratio
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 100000 }
    ::= { mefSoamLmThresholdCfgEntry 5 }

mefSoamLmThresholdCfgMeasuredFlrBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measured backward frame loss ratio
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 100000 }
    ::= { mefSoamLmThresholdCfgEntry 6 }

mefSoamLmThresholdCfgMaxFlrBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum backward frame loss ratio
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 100000 }
    ::= { mefSoamLmThresholdCfgEntry 7 }

mefSoamLmThresholdCfgAvgFlrBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average backward frame loss ratio
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 100000 }
    ::= { mefSoamLmThresholdCfgEntry 8 }

mefSoamLmThresholdCfgForwardHighLossThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the forward high loss threshold value that
        will be used to determine if a threshold notification is generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamLmThresholdCfgEntry 9 }

mefSoamLmThresholdCfgForwardConsecutiveHighLossThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the consecutive forward high loss
        threshold value that will be used to determine if a threshold
        notification is generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamLmThresholdCfgEntry 10 }

mefSoamLmThresholdCfgBackwardHighLossThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the backward high loss threshold value that
        will be used to determine if a threshold notification is generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamLmThresholdCfgEntry 11 }

mefSoamLmThresholdCfgBackwardConsecutiveHighLossThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the consecutive backward high loss
        threshold value that will be used to determine if a threshold
        notification is generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamLmThresholdCfgEntry 12 }

mefSoamLmThresholdCfgForwardUnavailCountThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the forward unavailability 
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamLmThresholdCfgEntry 13 }

mefSoamLmThresholdCfgForwardAvailRatioThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the forward availability/total time
        ratio threshold value that will be used to determine if a threshold 
        notification is generated if the ratio drops below the configured
        value.

        The ratio value is expressed as a percent with a value of 0 (ratio 
        0.00) through 100000 (ratio 1.00) 

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    DEFVAL { 0 }
    ::= { mefSoamLmThresholdCfgEntry 14 }

mefSoamLmThresholdCfgBackwardUnavailCountThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the backward unavailability 
        threshold value that will be used to determine if a threshold 
        notification is generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamLmThresholdCfgEntry 15 }

mefSoamLmThresholdCfgBackwardAvailRatioThreshold OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the backward availability/total time
        ratio threshold value that will be used to determine if a threshold 
        notification is generated if the ratio drops below the configured
        value.

        The ratio value is expressed as a percent with a value of 0 (ratio 
        0.00) through 100000 (ratio 1.00) 

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    DEFVAL { 0 }
    ::= { mefSoamLmThresholdCfgEntry 16 }

mefSoamLmThresholdCfgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row cannot be changed if the row
        is active. All columns are to have a valid value before a row
        can be activated.
       "
   ::= { mefSoamLmThresholdCfgEntry 17 }

-- *****************************************************************************
-- Performance Measurement Delay Threshold Configuration Table
-- *****************************************************************************

mefSoamDmThresholdCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmThresholdCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the list of Delay Measurement threshold configuration
        values for DM Performance Monitoring.

        The main purpose of the threshold configuration table is to configure
        threshold alarm notifications indicating that a specific performance
        metric is not being met.

        Each row in the table represents a Delay Measurement session threshold
        set for the defined MEP. This table uses five indices. The first three
        indices are the indices of the Maintenance Domain, MaNet, and MEP tables.
        The fourth index is the specific DM session on the selected MEP. The
        fifth index is the specific threshold set number. 

        Rows in this table are not created automatically. A row is created in
        this table to set up a threshold set on a configured MEP that has a
        configured DM session.

        An NE needs to support at least one threshold set for NE SOAM PM compliance. A 
        second threshold set on the NE is desirable. More than two threshold 
        sets on the NE can be configured if supported on the NE.

        All the objects in the row have a default value that disables the
        particular threshold measurement. In order to enable a threshold 
        measurement the particular bit in the mefSoamDmThresholdCfgEnable object
        is to be set to '1' and the selected threshold measurement is to have
        a threshold value configured. Non-configured threshold measurements
        are disabled by default.
 
        The writable objects in this table need to be persistent upon reboot 
        or restart of a device. 
       "
    ::= { mefSoamPmDmObjects 8 }

mefSoamDmThresholdCfgEntry OBJECT-TYPE
    SYNTAX      MefSoamDmThresholdCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmThresholdCfgTable."
    INDEX       { 
                dot1agCfmMdIndex,
                dot1agCfmMaIndex, 
                dot1agCfmMepIdentifier, 
                mefSoamDmCfgIndex,
                mefSoamDmThresholdCfgIndex
                }
    ::= {mefSoamDmThresholdCfgTable 1 }

MefSoamDmThresholdCfgEntry ::= SEQUENCE {
    mefSoamDmThresholdCfgIndex                                Unsigned32,
    mefSoamDmThresholdCfgEnable                               BITS,
    mefSoamDmThresholdCfgMeasuredFrameDelayTwoWayThreshold    Unsigned32,
    mefSoamDmThresholdCfgMaxFrameDelayTwoWayThreshold         Unsigned32,
    mefSoamDmThresholdCfgAvgFrameDelayTwoWayThreshold         Unsigned32,
    mefSoamDmThresholdCfgMeasuredIfdvTwoWayThreshold          Unsigned32,
    mefSoamDmThresholdCfgMaxIfdvTwoWayThreshold               Unsigned32,
    mefSoamDmThresholdCfgAvgIfdvTwoWayThreshold               Unsigned32,
    mefSoamDmThresholdCfgMaxFrameDelayRangeTwoWayThreshold    Unsigned32,
    mefSoamDmThresholdCfgAvgFrameDelayRangeTwoWayThreshold    Unsigned32,
    mefSoamDmThresholdCfgMeasuredFrameDelayForwardThreshold   Unsigned32,
    mefSoamDmThresholdCfgMaxFrameDelayForwardThreshold        Unsigned32,
    mefSoamDmThresholdCfgAvgFrameDelayForwardThreshold        Unsigned32,
    mefSoamDmThresholdCfgMeasuredIfdvForwardThreshold         Unsigned32,
    mefSoamDmThresholdCfgMaxIfdvForwardThreshold              Unsigned32,
    mefSoamDmThresholdCfgAvgIfdvForwardThreshold              Unsigned32,
    mefSoamDmThresholdCfgMaxFrameDelayRangeForwardThreshold   Unsigned32,
    mefSoamDmThresholdCfgAvgFrameDelayRangeForwardThreshold   Unsigned32,
    mefSoamDmThresholdCfgMeasuredFrameDelayBackwardThreshold  Unsigned32,
    mefSoamDmThresholdCfgMaxFrameDelayBackwardThreshold       Unsigned32,
    mefSoamDmThresholdCfgAvgFrameDelayBackwardThreshold       Unsigned32,
    mefSoamDmThresholdCfgMeasuredIfdvBackwardThreshold        Unsigned32,
    mefSoamDmThresholdCfgMaxIfdvBackwardThreshold             Unsigned32,
    mefSoamDmThresholdCfgAvgIfdvBackwardThreshold             Unsigned32,
    mefSoamDmThresholdCfgMaxFrameDelayRangeBackwardThreshold  Unsigned32,
    mefSoamDmThresholdCfgAvgFrameDelayRangeBackwardThreshold  Unsigned32,

    mefSoamDmThresholdCfgRowStatus                            RowStatus
}

mefSoamDmThresholdCfgIndex OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index of the threshold number for the specific DM
        threshold entry. 

        An index value of '1' is to be supported. Other index values
        can be supported.
       "
    ::= { mefSoamDmThresholdCfgEntry 1 }

mefSoamDmThresholdCfgEnable OBJECT-TYPE
    SYNTAX      BITS {
                     bMefSoamDmMeasuredFrameDelayTwoWayThreshold(0),
                     bMefSoamDmMaxFrameDelayTwoWayThreshold(1),
                     bMefSoamDmAvgFrameDelayTwoWayThreshold(2),
                     bMefSoamDmMeasuredIfdvTwoWayThreshold(3),
                     bMefSoamDmMaxIfdvTwoWayThreshold(4),
                     bMefSoamDmAvgIfdvTwoWayThreshold(5),
                     bMefSoamDmMaxFrameDelayRangeTwoWayThreshold(6),
                     bMefSoamDmAvgFrameDelayRangeTwoWayThreshold(7),
                     bMefSoamDmMeasuredFrameDelayForwardThreshold(8),
                     bMefSoamDmMaxFrameDelayForwardThreshold(9),
                     bMefSoamDmAvgFrameDelayForwardThreshold(10),
                     bMefSoamDmMeasuredIfdvForwardThreshold(11),
                     bMefSoamDmMaxIfdvForwardThreshold(12),
                     bMefSoamDmAvgIfdvForwardThreshold(13),
                     bMefSoamDmMaxFrameDelayRangeForwardThreshold(14),
                     bMefSoamDmAvgFrameDelayRangeForwardThreshold(15),
                     bMefSoamDmMeasuredFrameDelayBackwardThreshold(16),
                     bMefSoamDmMaxFrameDelayBackwardThreshold(17),
                     bMefSoamDmAvgFrameDelayBackwardThreshold(18),
                     bMefSoamDmMeasuredIfdvBackwardThreshold(19),
                     bMefSoamDmMaxIfdvBackwardThreshold(20),
                     bMefSoamDmAvgIfdvBackwardThreshold(21),
                     bMefSoamDmMaxFrameDelayRangeBackwardThreshold(22),
                     bMefSoamDmAvgFrameDelayRangeBackwardThreshold(23)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates the type of SOAM DM threshold 
        notifications that are enabled. 

        A bit set to '1' enables the specific SOAM DM threshold notification
        and when the specific counter is enabled and the threshold is crossed a 
        notification is generated. 

        A bit set to '0' disables the specific SOAM DM threshold notification.

        If a particular SOAM DM threshold is not supported the BIT value is
        set to '0'.

        bMefSoamDmMeasuredFrameDelayTwoWayThreshold(0) 
                Enables/disables measured frame two-way delay threshold 
                notification. The notification is sent immediately when the
                mefSoamDmMeasuredStatsFrameDelayTwoWay value is 
                greater than or equal to threshold value.
        bMefSoamDmMaxFrameDelayTwoWayThreshold(1) 
                Enables/disables maximum frame two-way delay threshold 
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsFrameDelayTwoWayMax value is 
                greater than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgFrameDelayTwoWayThreshold(2)
                Enables/disables average frame two-way delay threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsFrameDelayTwoWayAvg value is 
                greater than or equal to the threshold value.
        bMefSoamDmMeasuredIfdvTwoWayThreshold(3)
                Enables/disables measured frame IFDV two-way threshold 
                notification. The notification is sent immediately when the
                mefSoamDmMeasuredStatsIfdvTwoWay value is greater
                than or equal to threshold value.
        bMefSoamDmMaxIfdvTwoWayThreshold(4)
                Enables/disables maximum frame IFDV two-way threshold 
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsIfdvTwoWayMax value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgIfdvTwoWayThreshold(5)
                Enables/disables average frame IFDV two-way threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsIfdvTwoWayAvg value is
                greater than or equal to the threshold value.
        bMefSoamDmMaxFrameDelayRangeTwoWayThreshold(6)
                Enables/disables maximum Frame Delay Range two-way threshold 
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsFrameDelayRangeTwoWayMax value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgFrameDelayRangeTwoWayThreshold(7)
                Enables/disables average Frame Delay Range two-way threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsFrameDelayRangeTwoWayAvg value is
                greater than or equal to the threshold value.
        bMefSoamDmMeasuredFrameDelayForwardThreshold(8)
                Enables/disables measured forward frame delay threshold
                notification. The notification is sent immediately when the
                mefSoamDmMeasuredStatsFrameDelayForward value is
                greater than or equal to threshold value.
        bMefSoamDmMaxFrameDelayForwardThreshold(9)
                Enables/disables maximum forward frame delay threshold
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsFrameDelayForwardMax value is
                greater than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgFrameDelayForwardThreshold(10)
                Enables/disables average forward frame delay threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsFrameDelayForwardAvg value is
                greater than or equal to the threshold value.
        bMefSoamDmMeasuredIfdvForwardThreshold(11)
                Enables/disables measured frame IFDV forward threshold 
                notification. The notification is sent immediately when the
                mefSoamDmMeasuredStatsIfdvForward value is greater
                than or equal to threshold value.
        bMefSoamDmMaxIfdvForwardThreshold(12)
                Enables/disables maximum frame IFDV forward threshold 
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsIfdvForwardMax value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgIfdvForwardThreshold(13)
                Enables/disables average frame IFDV forward threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsIfdvForwardAvg value is 
                greater than or equal to the threshold value.
        bMefSoamDmMaxFrameDelayRangeForwardThreshold(14)
                Enables/disables maximum Frame Delay Range forward threshold 
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsFrameDelayRangeForwardMax value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgFrameDelayRangeForwardThreshold(15)
                Enables/disables average Frame Delay Range forward threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsFrameDelayRangeForwardAvg value is 
                greater than or equal to the threshold value.
        bMefSoamDmMeasuredFrameDelayBackwardThreshold(16)
                Enables/disables measured backward frame delay threshold
                notification. The notification is sent immediately when the
                mefSoamDmMeasuredStatsFrameDelayBackward value is
                greater than or equal to threshold value.
        bMefSoamDmMaxFrameDelayBackwardThreshold(17)
                Enables/disables maximum backward frame delay threshold
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsFrameDelayBackwardMax value is
                greater than or equal to threshold value in a 
                Measurement Interval.
        bMefSoamDmAvgFrameDelayBackwardThreshold(18)
                Enables/disables average backward frame delay threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsFrameDelayBackwardAvg value is
                greater than or equal to the threshold value.
        bMefSoamDmMeasuredIfdvBackwardThreshold(19)
                Enables/disables measured frame IFDV backward threshold 
                notification. The notification is sent immediately when the
                mefSoamDmMeasuredStatsIfdvBackward value is greater
                than or equal to threshold value.
        bMefSoamDmMaxIfdvBackwardThreshold(20)
                Enables/disables maximum frame IFDV backward threshold 
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsIfdvBackwardMax value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgIfdvBackwardThreshold(21)
                Enables/disables average frame IFDV backward threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsIfdvBackwardAvg value is greater
                than or equal to the threshold value.
        bMefSoamDmMaxFrameDelayRangeBackwardThreshold(22)
                Enables/disables maximum Frame Delay Range backward threshold 
                notification. The notification is sent immediately when the
                mefSoamDmCurrentStatsFrameDelayRangeBackwardMax value is greater
                than or equal to threshold value in a Measurement Interval.
        bMefSoamDmAvgFrameDelayRangeBackwardThreshold(23)
                Enables/disables average Frame Delay Range backward threshold
                notification. The notification is sent when at the end of a
                Measurement Interval if the 
                mefSoamDmCurrentStatsFrameDelayRangeBackwardAvg value is greater
                than or equal to the threshold value.
       "
    DEFVAL { { } }
    ::= { mefSoamDmThresholdCfgEntry 2 }

mefSoamDmThresholdCfgMeasuredFrameDelayTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measurement two-way delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 3 }

mefSoamDmThresholdCfgMaxFrameDelayTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum two-way delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 4 }

mefSoamDmThresholdCfgAvgFrameDelayTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average two-way delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 5 }

mefSoamDmThresholdCfgMeasuredIfdvTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measurement two-way IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 6 }

mefSoamDmThresholdCfgMaxIfdvTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum two-way IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 7 }

mefSoamDmThresholdCfgAvgIfdvTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average two-way IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 8 }

mefSoamDmThresholdCfgMaxFrameDelayRangeTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum two-way Frame Delay Range threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 9 }

mefSoamDmThresholdCfgAvgFrameDelayRangeTwoWayThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average two-way Frame Delay Range threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 10 }

mefSoamDmThresholdCfgMeasuredFrameDelayForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measurement forward delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 11 }

mefSoamDmThresholdCfgMaxFrameDelayForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum forward delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 12 }

mefSoamDmThresholdCfgAvgFrameDelayForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average forward delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 13 }

mefSoamDmThresholdCfgMeasuredIfdvForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measurement IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 14 }

mefSoamDmThresholdCfgMaxIfdvForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 15 }

mefSoamDmThresholdCfgAvgIfdvForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 16 }

mefSoamDmThresholdCfgMaxFrameDelayRangeForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum Frame Delay Range threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 17 }

mefSoamDmThresholdCfgAvgFrameDelayRangeForwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average Frame Delay Range threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 18 }

mefSoamDmThresholdCfgMeasuredFrameDelayBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measurement backward delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 19 }

mefSoamDmThresholdCfgMaxFrameDelayBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum backward delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 20 }

mefSoamDmThresholdCfgAvgFrameDelayBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average backward delay threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 21 }

mefSoamDmThresholdCfgMeasuredIfdvBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the measurement backward IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 22 }

mefSoamDmThresholdCfgMaxIfdvBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum backward IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 23 }

mefSoamDmThresholdCfgAvgIfdvBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average backward IFDV threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 24 }

mefSoamDmThresholdCfgMaxFrameDelayRangeBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the maximum backward Frame Delay Range threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 25 }

mefSoamDmThresholdCfgAvgFrameDelayRangeBackwardThreshold OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the average backward Frame Delay Range threshold
        value that will be used to determine if a threshold notification is
        generated.
       "
    DEFVAL { 4294967295 }
    ::= { mefSoamDmThresholdCfgEntry 26 }

mefSoamDmThresholdCfgRowStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The status of the row.

        The writable columns in a row cannot be changed if the row
        is active. All columns are to have a valid value before a row
        can be activated.
       "
   ::= { mefSoamDmThresholdCfgEntry 27 }

-- *****************************************************************************
-- Notification Configuration Objects
-- *****************************************************************************

mefSoamPmNotificationCfgAlarmInterval OBJECT-TYPE
    SYNTAX      Unsigned32 (0..60)
    UNITS       "Seconds"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A value indicating the shortest time interval in seconds between the
        generation of the same notification type per PM session to the list of 
        notification destinations. An agent generates the first notification
        of given type for a given PM session immediately. An agent is not to
        generate a second specific notification of the same type for the same
        MEP for the same session until the time interval has expired. A value of zero 
        indicates that all notifications are sent immediately upon detection 
        of the condition.
       "
    DEFVAL {5}
    ::= { mefSoamPmNotificationCfg 1 }

mefSoamPmNotificationCfgAlarmEnable OBJECT-TYPE
    SYNTAX      BITS {
                     bAvailabilityChangeAlarm(0),
                     bLmSessionStartStopAlarm(1),
                     bDmSessionStartStopAlarm(2),
                     bPmThresholdAboveAlarm(3),
                     bPmThresholdSetClearAlarm(4)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates whether a specific notification is
        enabled. 

        A bit set to '1' enables the specific notification generation. 

        A bit set to '0' disables the specific notification.

        If a particular alarm is not supported the BIT value of the enable/disable
        is set to '0'.

        bAvailabilityChangeAlarm(0)  enables/disables mefSoamAvailabilityChangeAlarm
        bLmSessionStartStopAlarm(1)  enables/disables mefSoamLmSessionStartStopAlarm
        bDmSessionStartStopAlarm(2)  enables/disables mefSoamDmSessionStartStopAlarm
        bPmThresholdAboveAlarm(3)    enables/disables mefSoamPmThresholdAboveAlarm
        bPmThresholdSetClearAlarm(4) enables/disables mefSoamPmThresholdSetClearAlarm
       "
    DEFVAL { { } }
    ::= { mefSoamPmNotificationCfg 2 }

-- *****************************************************************************
-- Notification Data Objects
-- *****************************************************************************

mefSoamPmNotificationObjDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "This object contains the time and date at the time that 
        the notification event is detected, not the time of the notification 
        generation.  

        This object is used only for notifications. The mechanism to set and keep
        current the date and time is not specified.
       "
    ::= { mefSoamPmNotificationObj 1 }

mefSoamPmNotificationObjThresholdId OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The Object Identifier of the object that caused the generation of the
        notification from the mefSoamLmThresholdEntry or mefSoamDmThresholdEntry.

        This object is only used for the notification.
       "
    ::= { mefSoamPmNotificationObj 2 }

mefSoamPmNotificationObjThresholdConfig OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The configured threshold value of the object that caused the generation
        of the notification.

        This object is only used for the notification.
       "
    ::= { mefSoamPmNotificationObj 3 }

mefSoamPmNotificationObjThresholdValue OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The measured value of the object at the time of the generation of the
        Notification, from the mefSoamLmMeasuredStatsTable, 
        mefSoamLmCurrentStatsTable, mefSoamLmCurrentAvailStatsTable,
        mefSoamDmMeasuredStatsTable or mefSoamDmCurrentStatsTable.

        This object is only used for the notification.
       "
    ::= { mefSoamPmNotificationObj 4 }

mefSoamPmNotificationObjSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The suspect flag for the current Measurement Interval in which the
        notification was generated from the mefSoamLmCurrentStatsTable,
        mefSoamLmCurrentAvailStatsTable, or mefSoamDmCurrentStatsTable.

        This object is only used for the notification.
       "
    ::= { mefSoamPmNotificationObj 5 }

mefSoamPmNotificationObjCrossingType OBJECT-TYPE
    SYNTAX      INTEGER {
                  aboveAlarm     (1),
                  setAlarm       (2),
                  clearAlarm     (3)
                }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The Notification Crossing Type of the object that caused the generation
        of the notification from the mefSoamLmThresholdEntry or 
        mefSoamDmThresholdEntry.

        aboveAlarm(1)   indicates that the crossing type alarm was an above
                        threshold

        setAlarm(2)     indicates that the crossing type alarm was a set
                        threshold

        clearAlarm(3)   indicates that the crossing type alarm was a clear
                        threshold

        This object is only used for the notification.
       "
    ::= { mefSoamPmNotificationObj 6 }

mefSoamPmNotificationObjDestinationMep OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The MAC address of the Destination MEP associated the notification found
        in either the mefSoamDmCfgTable or mefSoamLmCfgTable.

        This object is only used for the notification.
       "
    ::= { mefSoamPmNotificationObj 7 }

mefSoamPmNotificationObjPriority OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The CoS priority of the associated notification found
        in either the mefSoamDmCfgTable or mefSoamLmCfgTable.

        This object is only used for the notification.
       "
    ::= { mefSoamPmNotificationObj 8 }

-- *****************************************************************************
-- NOTIFICATIONS (TRAPS)
-- *****************************************************************************

mefSoamAvailabilityChangeAlarm NOTIFICATION-TYPE
    OBJECTS     {
                mefSoamPmNotificationObjDateAndTime,
                mefSoamLmMeasuredStatsAvailForwardStatus,
                mefSoamLmMeasuredStatsAvailBackwardStatus,
                mefSoamLmMeasuredStatsAvailForwardLastTransitionTime,
                mefSoamLmMeasuredStatsAvailBackwardLastTransitionTime,
                mefSoamLmCurrentAvailStatsForwardAvailable,
                mefSoamLmCurrentAvailStatsForwardUnavailable,
                mefSoamLmCurrentAvailStatsBackwardAvailable,
                mefSoamLmCurrentAvailStatsBackwardUnavailable,
                mefSoamPmNotificationObjDestinationMep,
                mefSoamPmNotificationObjPriority
                }
    STATUS      current
    DESCRIPTION
       "An mefSoamAvailabilityChangeAlarm notification is sent when the state of
        mefSoamLmMeasuredStatsAvailForwardStatus or 
        mefSoamLmMeasuredStatsAvailBackwardStatus changes. 

        The management entity that receives the notification can identify
        the system from the network source address of the notification,
        and can identify the PM session reporting the change
        by the indices in the OID 
        mefSoamLmMeasuredStatsAvailForwardLastTransitionTime, including
        dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier, and 
        mefSoamLmCfgIndex.

        An agent is not to generate more than one mefSoamAvailabilityChangeAlarm
        'notification-event' in a given time interval per PM session as 
        specified by the mefSoamPmNotificationCfgAlarmInterval.  A 
        'notification-event' is the transmission of a single notification to
        a list of notification destinations.

        If additional availability state changes occur within the 
        mefSoamPmNotificationCfgAlarmInterval period, then notification 
        generation for these changes are suppressed by the agent until 
        the current alarm interval expires. At the end of an alarm interval 
        period, one notification-event is generated if any availability
        state changes occurred since the start of the alarm interval period. 
        In such a case, another alarm interval period is started right away.
       "
    REFERENCE
       "[MEF SOAM-PM] R83, R84"
    ::= { mefSoamPmNotifications 1 }

mefSoamLmSessionStartStopAlarm NOTIFICATION-TYPE
    OBJECTS     {
                mefSoamLmCfgSessionStatus,
                mefSoamPmNotificationObjDateAndTime,
                mefSoamPmNotificationObjDestinationMep
                }
    STATUS      current
    DESCRIPTION
       "An mefSoamLmSessionStartStopAlarm notification is sent when the state of
        mefSoamLmCfgSessionStatus changes. 

        The management entity that receives the notification can identify
        the system from the network source address of the notification,
        and can identify the individual PM session reporting the start/stop
        by the indices in the OID mefSoamLmCfgSessionStatus, including
        dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier, and 
        mefSoamLmCfgIndex.

        An agent is not to generate more than one mefSoamLmSessionStartStopAlarm
        'notification-event' in a given time interval per LM session as specified
        by the mefSoamPmNotificationCfgAlarmInterval.  A 'notification-event' is
        the transmission of a single notification to a list of notification 
        destinations.

        If additional operational state changes occur within the 
        mefSoamPmNotificationCfgAlarmInterval period, then notification 
        generation for these changes are be suppressed by the agent until 
        the current alarm interval expires. At the end of an alarm interval 
        period, one notification-event is generated if any operational 
        state changes occurred since the start of the alarm interval period. In
        such a case, another alarm interval period is started right away.
       "
    ::= { mefSoamPmNotifications 2 }

mefSoamDmSessionStartStopAlarm NOTIFICATION-TYPE
    OBJECTS     {
                mefSoamDmCfgSessionStatus,
                mefSoamPmNotificationObjDateAndTime,
                mefSoamPmNotificationObjDestinationMep
                }
    STATUS      current
    DESCRIPTION
       "An mefSoamDmSessionStartStopAlarm notification is sent when the state of
        mefSoamDmCfgSessionStatus changes. 

        The management entity that receives the notification can identify
        the system from the network source address of the notification,
        and can identify the individual PM session reporting the start/stop
        by the indices in the OID mefSoamDmCfgSessionStatus, including
        dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier, and 
        mefSoamDmCfgIndex.

        An agent is not to generate more than one mefSoamDmSessionStartStopAlarm
        'notification-event' in a given time interval per DM session as specified
        by mefSoamPmNotificationCfgAlarmInterval.  A 'notification-event' is the
        transmission of a single notification to a list of notification 
        destinations.

        If additional operational state changes occur within the 
        mefSoamPmNotificationCfgAlarmInterval period, then notification generation
        for these changes are suppressed by the agent until the current alarm 
        interval expires. At the end of an alarm interval period, one 
        notification-event is generated if any operational state changes
        occurred since the start of the alarm interval period. In such a case, 
        another alarm interval period is started right away.
       "
    ::= { mefSoamPmNotifications 3 }

mefSoamPmThresholdCrossingAlarm NOTIFICATION-TYPE
    OBJECTS     {
                mefSoamPmNotificationObjCrossingType,
                mefSoamPmNotificationObjThresholdId,
                mefSoamPmNotificationObjThresholdConfig,
                mefSoamPmNotificationObjThresholdValue,
                mefSoamPmNotificationObjSuspect,
                mefSoamPmNotificationObjDateAndTime,
                mefSoamPmNotificationObjDestinationMep
                }
    STATUS      current
    DESCRIPTION
       "An mefSoamPmThresholdCrossingAlarm notification is sent if the 
        following conditions are met for a particular type.

        For an aboveAlarm five conditions need to be met:

        a) measurement of the parameter is enabled via mefSoamLmCfgMeasurementEnable
           for a LM crossing or mefSoamDmCfgMeasurementEnable for a DM crossing; 
           and

        b) the parameter threshold is configured in the mefSoamLmThresholdCfgTable
           or mefSoamDmThresholdCfgTable; and 

        c) the threshold crossing type of bPmThresholdAboveAlarm is enabled; 
           and

        d) the measured value of the parameter exceeds the value configured in
           the mefSoamLmThresholdCfgTable for a LM crossing entry or
           mefSoamDmThresholdCfgTable for a DM crossing entry for a type of
           bPmThresholdAboveAlarm; and

        e) no previous mefSoamPmThresholdCrossingAlarm notifications with type
           aboveAlarm have been sent relating to the same threshold in the
           mefSoamLmThresholdCfgTable or mefSoamDmThresholdCfgTable and the
           same parameter, during this Measurement Interval.

        For a setAlarm five conditions need to be met:

        a) measurement of the parameter is enabled via mefSoamLmCfgMeasurementEnable
           for a LM crossing or mefSoamDmCfgMeasurementEnable for a DM crossing; 
           and

        b) the parameter threshold is configured in the mefSoamLmThresholdCfgTable
           or mefSoamDmThresholdCfgTable; and 

        c) the threshold crossing type of bPmThresholdSetClearAlarm is enabled; 
           and

        d) the measured value of the parameter exceeds the value configured in
           the mefSoamLmThresholdCfgTable for a LM crossing entry or
           mefSoamDmThresholdCfgTable for a DM crossing entry for a type of
           bPmThresholdSetClearAlarm for the Measurement Interval; and

        e) the previous measured value did not 
           exceed the value configured in the mefSoamLmThresholdCfgTable for
           a LM crossing entry or mefSoamDmThresholdCfgTable for a DM crossing
           entry for a type of bPmThresholdSetClearAlarm.

        For a clearAlarm five conditions need to be met:

        a) measurement of the parameter is enabled via mefSoamLmCfgMeasurementEnable
           for a LM crossing or mefSoamDmCfgMeasurementEnable for a DM crossing; 
           and

        b) the parameter threshold is configured in the mefSoamLmThresholdCfgTable
           or mefSoamDmThresholdCfgTable; and 

        c) the threshold crossing type of bPmThresholdSetClearAlarm is enabled; 
           and

        d) the measured value of the parameter did not exceed the value configured 
           in the mefSoamLmThresholdCfgTable for a LM crossing entry or
           mefSoamDmThresholdCfgTable for a DM crossing entry for a type of
           bPmThresholdSetClearAlarm for the Measurement Interval; and

        e) the previous measured value did  
           exceed the value configured in the mefSoamLmThresholdCfgTable for
           a LM crossing entry or mefSoamDmThresholdCfgTable for a DM crossing
           entry for a type of bPmThresholdSetClearAlarm.

        In the case of thresholds applied to a maximum or average measurement
        counter, the previous measured value is the value of the counter at the
        end of the preceding Measurement Interval.  In the case of thresholds
        applied to the last measured value, it is the previous measured value.

        The management entity that receives the notification can identify
        the system from the network source address of the notification,
        and can identify the LM or DM session reporting the threshold
        crossing by the indices in the mefSoamPmNotificationCfgThresholdId object,
        including dot1agCfmMdIndex, dot1agCfmMaIndex, dot1agCfmMepIdentifier, 
        and the mefSoamLmCfgIndex or mefSoamDmCfgIndex. 

        An agent is not to generate more than one mefSoamLmThresholdCrossingAlarm
        'notification-event' of a given type per LM or DM session as specified
        by mefSoamPmNotificationCfgAlarmInterval. A 'notification-event' is the
        transmission of a single notification to a list of notification
        destinations.

        If additional threshold crossing events occur within the 
        mefSoamPmNotificationCfgAlarmInterval period, then notification 
        generation for these changes are suppressed by the agent until 
        the current alarm interval expires. At the end of an alarm interval 
        period, one notification-event is generated if any threshold
        crossing events occurred since the start of the alarm interval period. 
        In such a case, another alarm interval period is started right away.
       "
    ::= { mefSoamPmNotifications 4 }

-- *****************************************************************************
-- SOAM-PM MIB Module - Conformance Information
-- *****************************************************************************

mefSoamPmMibCompliances OBJECT IDENTIFIER ::= { mefSoamPmMibConformance 1 }
mefSoamPmMibGroups      OBJECT IDENTIFIER ::= { mefSoamPmMibConformance 2 }

-- ******************************************************************
-- SOAM-PM MIB Units of conformance
-- ******************************************************************

mefSoamPmMepMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamPmMepOperNextIndex,
      mefSoamPmMepSlmSingleEndedResponder,
      mefSoamPmMepDmSingleEndedResponder
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM PM MEP group."
    ::= { mefSoamPmMibGroups 1 }

mefSoamPmMepOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamPmMepLmSingleEndedResponder
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM PM MEP group."
    ::= { mefSoamPmMibGroups 2 }

mefSoamLmCfgMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCfgType,
      mefSoamLmCfgEnabled,
      mefSoamLmCfgMeasurementEnable,
      mefSoamLmCfgMessagePeriod,
      mefSoamLmCfgPriority,
      mefSoamLmCfgFrameSize,
      mefSoamLmCfgDataPattern,
      mefSoamLmCfgMeasurementInterval,
      mefSoamLmCfgNumIntervalsStored,

      mefSoamLmCfgDestMacAddress,
      mefSoamLmCfgDestMepId,
      mefSoamLmCfgDestIsMepId,

      mefSoamLmCfgStartTimeType,
      mefSoamLmCfgFixedStartDateAndTime,
      mefSoamLmCfgRelativeStartTime,
      mefSoamLmCfgStopTimeType,
      mefSoamLmCfgFixedStopDateAndTime,
      mefSoamLmCfgRelativeStopTime,
      mefSoamLmCfgRepetitionTime,

      mefSoamLmCfgAvailabilityMeasurementInterval,
      mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus,
      mefSoamLmCfgAvailabilityFlrThreshold,
      mefSoamLmCfgAvailabilityNumConsecutiveIntervals,
      mefSoamLmCfgSessionType,
      mefSoamLmCfgSessionStatus,                         
      mefSoamLmCfgHistoryClear,
      mefSoamLmCfgRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Configuration group."
    ::= { mefSoamPmMibGroups 3 }

mefSoamLmCfgOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCfgVersion,
      mefSoamLmCfgTestTlvIncluded,
      mefSoamLmCfgTestTlvPattern,
      mefSoamLmCfgAlignMeasurementIntervals,
      mefSoamLmCfgAvailabilityNumConsecutiveHighFlr,
      mefSoamLmCfgAlignMeasurementOffset
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Configuration group."
    ::= { mefSoamPmMibGroups 4 }

mefSoamLmMeasuredStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmMeasuredStatsAvailForwardLastTransitionTime,
      mefSoamLmMeasuredStatsAvailBackwardLastTransitionTime  
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Measured Stats group."
    ::= { mefSoamPmMibGroups 5 }

mefSoamLmMeasuredStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmMeasuredStatsForwardFlr,
      mefSoamLmMeasuredStatsBackwardFlr,
      mefSoamLmMeasuredStatsAvailForwardStatus,
      mefSoamLmMeasuredStatsAvailBackwardStatus
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Measured Stats group."
    ::= { mefSoamPmMibGroups 6 }

mefSoamLmCurrentAvailStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCurrentAvailStatsIndex,
      mefSoamLmCurrentAvailStatsStartTime,
      mefSoamLmCurrentAvailStatsElapsedTime,
      mefSoamLmCurrentAvailStatsSuspect,
      mefSoamLmCurrentAvailStatsForwardAvailable,
      mefSoamLmCurrentAvailStatsBackwardAvailable,
      mefSoamLmCurrentAvailStatsForwardUnavailable,
      mefSoamLmCurrentAvailStatsBackwardUnavailable
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Current Availability group."
    ::= { mefSoamPmMibGroups 7 }

mefSoamLmCurrentAvailStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCurrentAvailStatsForwardHighLoss,
      mefSoamLmCurrentAvailStatsBackwardHighLoss,
      mefSoamLmCurrentAvailStatsForwardConsecutiveHighLoss,
      mefSoamLmCurrentAvailStatsBackwardConsecutiveHighLoss,
      mefSoamLmCurrentAvailStatsForwardMinFlr,
      mefSoamLmCurrentAvailStatsForwardMaxFlr,
      mefSoamLmCurrentAvailStatsForwardAvgFlr,
      mefSoamLmCurrentAvailStatsBackwardMinFlr,
      mefSoamLmCurrentAvailStatsBackwardMaxFlr,
      mefSoamLmCurrentAvailStatsBackwardAvgFlr
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Current Availabilty Stats group."
    ::= { mefSoamPmMibGroups 8 }

mefSoamLmCurrentStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCurrentStatsIndex,
      mefSoamLmCurrentStatsStartTime,
      mefSoamLmCurrentStatsElapsedTime,
      mefSoamLmCurrentStatsSuspect,
      mefSoamLmCurrentStatsSoamPdusSent,
      mefSoamLmCurrentStatsSoamPdusReceived      
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM current statistics group."
    ::= { mefSoamPmMibGroups 9 }

mefSoamLmCurrentStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCurrentStatsForwardTransmittedFrames,
      mefSoamLmCurrentStatsForwardReceivedFrames,
      mefSoamLmCurrentStatsBackwardTransmittedFrames,
      mefSoamLmCurrentStatsBackwardReceivedFrames,
      mefSoamLmCurrentStatsForwardMinFlr,
      mefSoamLmCurrentStatsForwardMaxFlr,
      mefSoamLmCurrentStatsForwardAvgFlr,
      mefSoamLmCurrentStatsBackwardMinFlr,
      mefSoamLmCurrentStatsBackwardMaxFlr,
      mefSoamLmCurrentStatsBackwardAvgFlr
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Current Stats group."
    ::= { mefSoamPmMibGroups 10 }

mefSoamLmHistoryAvailStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmHistoryAvailStatsEndTime,
      mefSoamLmHistoryAvailStatsElapsedTime,
      mefSoamLmHistoryAvailStatsSuspect,
      mefSoamLmHistoryAvailStatsForwardAvailable,
      mefSoamLmHistoryAvailStatsBackwardAvailable,
      mefSoamLmHistoryAvailStatsForwardUnavailable,
      mefSoamLmHistoryAvailStatsBackwardUnavailable    
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM Availability LM history
        statistics group.
       "
    ::= { mefSoamPmMibGroups 11 }

mefSoamLmHistoryAvailStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmHistoryAvailStatsForwardHighLoss,
      mefSoamLmHistoryAvailStatsBackwardHighLoss,
      mefSoamLmHistoryAvailStatsForwardConsecutiveHighLoss,
      mefSoamLmHistoryAvailStatsBackwardConsecutiveHighLoss,
      mefSoamLmHistoryAvailStatsForwardMinFlr,
      mefSoamLmHistoryAvailStatsForwardMaxFlr,
      mefSoamLmHistoryAvailStatsForwardAvgFlr,
      mefSoamLmHistoryAvailStatsBackwardMinFlr,
      mefSoamLmHistoryAvailStatsBackwardMaxFlr,
      mefSoamLmHistoryAvailStatsBackwardAvgFlr
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM Availability LM history
        statistics group.
       "
    ::= { mefSoamPmMibGroups 12 }

mefSoamLmHistoryStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmHistoryStatsEndTime,
      mefSoamLmHistoryStatsElapsedTime,
      mefSoamLmHistoryStatsSuspect,
      mefSoamLmHistoryStatsSoamPdusSent,
      mefSoamLmHistoryStatsSoamPdusReceived      
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM history statistics group."
    ::= { mefSoamPmMibGroups 13 }

mefSoamLmHistoryStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmHistoryStatsForwardTransmittedFrames,
      mefSoamLmHistoryStatsForwardReceivedFrames,
      mefSoamLmHistoryStatsBackwardTransmittedFrames,
      mefSoamLmHistoryStatsBackwardReceivedFrames,
      mefSoamLmHistoryStatsForwardMinFlr,
      mefSoamLmHistoryStatsForwardMaxFlr,
      mefSoamLmHistoryStatsForwardAvgFlr,
      mefSoamLmHistoryStatsBackwardMinFlr,
      mefSoamLmHistoryStatsBackwardMaxFlr,
      mefSoamLmHistoryStatsBackwardAvgFlr
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM History Stats group."
    ::= { mefSoamPmMibGroups 14 }

mefSoamDmCfgMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCfgType,
      mefSoamDmCfgEnabled,
      mefSoamDmCfgMeasurementEnable,
      mefSoamDmCfgMessagePeriod,

      mefSoamDmCfgPriority,
      mefSoamDmCfgFrameSize,
      mefSoamDmCfgDataPattern,
      mefSoamDmCfgMeasurementInterval,
      mefSoamDmCfgNumIntervalsStored,

      mefSoamDmCfgDestMacAddress,
      mefSoamDmCfgDestMepId,
      mefSoamDmCfgDestIsMepId,

      mefSoamDmCfgStartTimeType,
      mefSoamDmCfgFixedStartDateAndTime,
      mefSoamDmCfgRelativeStartTime,
      mefSoamDmCfgStopTimeType,
      mefSoamDmCfgFixedStopDateAndTime,
      mefSoamDmCfgRelativeStopTime,
      mefSoamDmCfgRepetitionTime,

      mefSoamDmCfgAlignMeasurementIntervals,
      mefSoamDmCfgNumMeasBinsPerFrameDelayInterval,
      mefSoamDmCfgNumMeasBinsPerInterFrameDelayVariationInterval,
      mefSoamDmCfgNumMeasBinsPerFrameDelayRangeInterval,
      mefSoamDmCfgSessionType,
      mefSoamDmCfgSessionStatus,
      mefSoamDmCfgHistoryClear,
      mefSoamDmCfgRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM configuration group."
    ::= { mefSoamPmMibGroups 15 }

mefSoamDmCfgOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCfgVersion,
      mefSoamDmCfgTestTlvIncluded,
      mefSoamDmCfgTestTlvPattern,
      mefSoamDmCfgSourceMacAddress,
      mefSoamDmCfgAlignMeasurementOffset,
      mefSoamDmCfgInterFrameDelayVariationSelectionOffset
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM Configuration group."
    ::= { mefSoamPmMibGroups 16 }

mefSoamDmCfgMeasBinMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCfgMeasBinLowerBound
}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM measurement bin configuration 
        group."
    ::= { mefSoamPmMibGroups 17 }

mefSoamDmMeasuredStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmMeasuredStatsFrameDelayTwoWay,
      mefSoamDmMeasuredStatsFrameDelayForward,
      mefSoamDmMeasuredStatsFrameDelayBackward,
      mefSoamDmMeasuredStatsIfdvTwoWay,
      mefSoamDmMeasuredStatsIfdvForward,
      mefSoamDmMeasuredStatsIfdvBackward
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM Measured Stats group."
    ::= { mefSoamPmMibGroups 18 }

mefSoamDmCurrentStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCurrentStatsIndex,
      mefSoamDmCurrentStatsStartTime,
      mefSoamDmCurrentStatsElapsedTime,
      mefSoamDmCurrentStatsSuspect,
      mefSoamDmCurrentStatsFrameDelayTwoWayMin,
      mefSoamDmCurrentStatsFrameDelayTwoWayMax,
      mefSoamDmCurrentStatsFrameDelayTwoWayAvg,
      mefSoamDmCurrentStatsFrameDelayForwardMin,
      mefSoamDmCurrentStatsFrameDelayForwardMax,
      mefSoamDmCurrentStatsFrameDelayForwardAvg,
      mefSoamDmCurrentStatsFrameDelayBackwardMin,
      mefSoamDmCurrentStatsFrameDelayBackwardMax,
      mefSoamDmCurrentStatsFrameDelayBackwardAvg,
      mefSoamDmCurrentStatsIfdvForwardMin,
      mefSoamDmCurrentStatsIfdvForwardMax,
      mefSoamDmCurrentStatsIfdvForwardAvg,
      mefSoamDmCurrentStatsIfdvBackwardMin,
      mefSoamDmCurrentStatsIfdvBackwardMax,
      mefSoamDmCurrentStatsIfdvBackwardAvg,
      mefSoamDmCurrentStatsFrameDelayRangeForwardMax,
      mefSoamDmCurrentStatsFrameDelayRangeForwardAvg,
      mefSoamDmCurrentStatsFrameDelayRangeBackwardMax,
      mefSoamDmCurrentStatsFrameDelayRangeBackwardAvg,
      mefSoamDmCurrentStatsSoamPdusSent,
      mefSoamDmCurrentStatsSoamPdusReceived      
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM current statistics group."
    ::= { mefSoamPmMibGroups 19 }

mefSoamDmCurrentStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCurrentStatsIfdvTwoWayMin,
      mefSoamDmCurrentStatsIfdvTwoWayMax,
      mefSoamDmCurrentStatsIfdvTwoWayAvg,
      mefSoamDmCurrentStatsFrameDelayRangeTwoWayMax,
      mefSoamDmCurrentStatsFrameDelayRangeTwoWayAvg
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM current statistics group."
    ::= { mefSoamPmMibGroups 20 }

mefSoamDmCurrentStatsBinsMandatoryGroup OBJECT-GROUP
    OBJECTS { 
      mefSoamDmCurrentStatsBinsCounter
}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM current statistics bin
        group."
    ::= { mefSoamPmMibGroups 21 }

mefSoamDmHistoryStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmHistoryStatsEndTime,
      mefSoamDmHistoryStatsElapsedTime,
      mefSoamDmHistoryStatsSuspect,
      mefSoamDmHistoryStatsFrameDelayTwoWayMin,
      mefSoamDmHistoryStatsFrameDelayTwoWayMax,
      mefSoamDmHistoryStatsFrameDelayTwoWayAvg,
      mefSoamDmHistoryStatsFrameDelayForwardMin,
      mefSoamDmHistoryStatsFrameDelayForwardMax,
      mefSoamDmHistoryStatsFrameDelayForwardAvg,
      mefSoamDmHistoryStatsFrameDelayBackwardMin,
      mefSoamDmHistoryStatsFrameDelayBackwardMax,
      mefSoamDmHistoryStatsFrameDelayBackwardAvg,
      mefSoamDmHistoryStatsIfdvForwardMin,
      mefSoamDmHistoryStatsIfdvForwardMax,
      mefSoamDmHistoryStatsIfdvForwardAvg,
      mefSoamDmHistoryStatsIfdvBackwardMin,
      mefSoamDmHistoryStatsIfdvBackwardMax,
      mefSoamDmHistoryStatsIfdvBackwardAvg,
      mefSoamDmHistoryStatsFrameDelayRangeForwardMax,
      mefSoamDmHistoryStatsFrameDelayRangeForwardAvg,
      mefSoamDmHistoryStatsFrameDelayRangeBackwardMax,
      mefSoamDmHistoryStatsFrameDelayRangeBackwardAvg,
      mefSoamDmHistoryStatsSoamPdusSent,
      mefSoamDmHistoryStatsSoamPdusReceived      
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM history statistics group."
    ::= { mefSoamPmMibGroups 22 }

mefSoamDmHistoryStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmHistoryStatsIfdvTwoWayMin,
      mefSoamDmHistoryStatsIfdvTwoWayMax,
      mefSoamDmHistoryStatsIfdvTwoWayAvg,
      mefSoamDmHistoryStatsFrameDelayRangeTwoWayMax,
      mefSoamDmHistoryStatsFrameDelayRangeTwoWayAvg
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM history statistics group."
    ::= { mefSoamPmMibGroups 23 }

mefSoamDmHistoryStatsBinsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmHistoryStatsBinsCounter
}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM history statistics
        bin group."
    ::= { mefSoamPmMibGroups 24 }

mefSoamLmThresholdMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmThresholdCfgEnable,
      mefSoamLmThresholdCfgMaxFlrForwardThreshold,
      mefSoamLmThresholdCfgAvgFlrForwardThreshold,
      mefSoamLmThresholdCfgMaxFlrBackwardThreshold,
      mefSoamLmThresholdCfgAvgFlrBackwardThreshold,
      mefSoamLmThresholdCfgForwardUnavailCountThreshold,
      mefSoamLmThresholdCfgForwardAvailRatioThreshold,
      mefSoamLmThresholdCfgBackwardUnavailCountThreshold,
      mefSoamLmThresholdCfgBackwardAvailRatioThreshold,
      mefSoamLmThresholdCfgRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM threshold group."
    ::= { mefSoamPmMibGroups 25 }

mefSoamLmThresholdOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmThresholdCfgForwardHighLossThreshold,
      mefSoamLmThresholdCfgForwardConsecutiveHighLossThreshold,
      mefSoamLmThresholdCfgBackwardHighLossThreshold,
      mefSoamLmThresholdCfgBackwardConsecutiveHighLossThreshold, 
      mefSoamLmThresholdCfgMeasuredFlrForwardThreshold,
      mefSoamLmThresholdCfgMeasuredFlrBackwardThreshold
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Threshold group."
    ::= { mefSoamPmMibGroups 26 }

mefSoamDmThresholdMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmThresholdCfgEnable,
      mefSoamDmThresholdCfgMaxFrameDelayTwoWayThreshold,
      mefSoamDmThresholdCfgAvgFrameDelayTwoWayThreshold,
      mefSoamDmThresholdCfgMaxFrameDelayForwardThreshold,
      mefSoamDmThresholdCfgAvgFrameDelayForwardThreshold,
      mefSoamDmThresholdCfgMaxIfdvForwardThreshold,
      mefSoamDmThresholdCfgAvgIfdvForwardThreshold,
      mefSoamDmThresholdCfgMaxFrameDelayRangeForwardThreshold,
      mefSoamDmThresholdCfgAvgFrameDelayRangeForwardThreshold,
      mefSoamDmThresholdCfgMaxFrameDelayBackwardThreshold,
      mefSoamDmThresholdCfgAvgFrameDelayBackwardThreshold,
      mefSoamDmThresholdCfgMaxIfdvBackwardThreshold,
      mefSoamDmThresholdCfgAvgIfdvBackwardThreshold,
      mefSoamDmThresholdCfgMaxFrameDelayRangeBackwardThreshold,
      mefSoamDmThresholdCfgAvgFrameDelayRangeBackwardThreshold,
      mefSoamDmThresholdCfgRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM threshold group."
    ::= { mefSoamPmMibGroups 27 }

mefSoamDmThresholdOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmThresholdCfgMeasuredIfdvTwoWayThreshold,
      mefSoamDmThresholdCfgMeasuredFrameDelayTwoWayThreshold,
      mefSoamDmThresholdCfgMeasuredFrameDelayForwardThreshold,
      mefSoamDmThresholdCfgMeasuredIfdvForwardThreshold,
      mefSoamDmThresholdCfgMeasuredFrameDelayBackwardThreshold,
      mefSoamDmThresholdCfgMeasuredIfdvBackwardThreshold,
      mefSoamDmThresholdCfgMaxIfdvTwoWayThreshold,
      mefSoamDmThresholdCfgAvgIfdvTwoWayThreshold,
      mefSoamDmThresholdCfgMaxFrameDelayRangeTwoWayThreshold,
      mefSoamDmThresholdCfgAvgFrameDelayRangeTwoWayThreshold
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM threshold group."
    ::= { mefSoamPmMibGroups 28 }

mefSoamPmNotificationsMandatoryGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
      mefSoamAvailabilityChangeAlarm,
      mefSoamLmSessionStartStopAlarm,
      mefSoamDmSessionStartStopAlarm
    }
    STATUS      current
    DESCRIPTION
       "Mandatory notifications for the SOAM PM Notifications group."
    ::= { mefSoamPmMibGroups 29 }

mefSoamPmNotificationsOptionalGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
            mefSoamPmThresholdCrossingAlarm
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM PM Notifications group."
    ::= { mefSoamPmMibGroups 30 }

mefSoamPmNotificationCfgMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamPmNotificationCfgAlarmInterval,
      mefSoamPmNotificationCfgAlarmEnable
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the SOAM PM Notification Configuration group."
    ::= { mefSoamPmMibGroups 31 }

mefSoamPmNotificationObjMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamPmNotificationObjDateAndTime,
      mefSoamPmNotificationObjSuspect,
      mefSoamPmNotificationObjDestinationMep,
      mefSoamPmNotificationObjPriority

    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the SOAM PM Notification Object group."
    ::= { mefSoamPmMibGroups 32 }

mefSoamPmNotificationObjOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamPmNotificationObjThresholdConfig,
      mefSoamPmNotificationObjThresholdId,
      mefSoamPmNotificationObjThresholdValue,
      mefSoamPmNotificationObjCrossingType
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM PM Notifications group."
    ::= { mefSoamPmMibGroups 33 }

-- ******************************************************************
-- SOAM-PM MIB Module Compliance statements
-- ******************************************************************

mefSoamPmMibCompliance MODULE-COMPLIANCE
    STATUS       current
    DESCRIPTION "The compliance statement for the Ethernet Service OAM PM MIB."
    MODULE
        MANDATORY-GROUPS { 
            mefSoamPmMepMandatoryGroup,
            mefSoamLmCfgMandatoryGroup,
            mefSoamLmMeasuredStatsMandatoryGroup,
            mefSoamLmCurrentAvailStatsMandatoryGroup,
            mefSoamLmCurrentStatsMandatoryGroup,
            mefSoamLmHistoryAvailStatsMandatoryGroup,
            mefSoamLmHistoryStatsMandatoryGroup,
            mefSoamDmCfgMandatoryGroup,
            mefSoamDmCfgMeasBinMandatoryGroup,
            mefSoamDmCurrentStatsMandatoryGroup,
            mefSoamDmCurrentStatsBinsMandatoryGroup,
            mefSoamDmHistoryStatsMandatoryGroup,
            mefSoamDmHistoryStatsBinsMandatoryGroup,
            mefSoamLmThresholdMandatoryGroup,
            mefSoamDmThresholdMandatoryGroup,
            mefSoamPmNotificationsMandatoryGroup,
            mefSoamPmNotificationCfgMandatoryGroup,
            mefSoamPmNotificationObjMandatoryGroup
        }

    GROUP mefSoamPmMepOptionalGroup
    DESCRIPTION "The mefSoamPmMepOptionalGroup is an optional requirement."

    GROUP mefSoamLmCfgOptionalGroup
    DESCRIPTION "The mefSoamLmCfgOptionalGroup is an optional requirement."

    GROUP mefSoamLmMeasuredStatsOptionalGroup
    DESCRIPTION "The mefSoamLmMeasuredStatsOptionalGroup is an optional requirement."

    GROUP mefSoamLmCurrentAvailStatsOptionalGroup
    DESCRIPTION "The mefSoamLmCurrentAvailStatsOptionalGroup is an optional 
        requirement."
 
    GROUP mefSoamLmCurrentStatsOptionalGroup
    DESCRIPTION "The mefSoamLmCurrentStatsOptionalGroup is an optional requirement."

    GROUP mefSoamLmHistoryAvailStatsOptionalGroup
    DESCRIPTION "The mefSoamLmCurrentStatsOptionalGroup is an optional requirement."

    GROUP mefSoamLmHistoryStatsOptionalGroup
    DESCRIPTION "The mefSoamLmHistoryStatsOptionalGroup is an optional requirement."

    GROUP mefSoamDmCfgOptionalGroup
    DESCRIPTION "The mefSoamDmCfgOptionalGroup is an optional requirement."

    GROUP mefSoamDmMeasuredStatsOptionalGroup
    DESCRIPTION "The mefSoamDmMeasuredStatsOptionalGroup is an optional requirement."

    GROUP mefSoamDmCurrentStatsOptionalGroup
    DESCRIPTION "The mefSoamDmCurrentStatsOptionalGroup is an optional requirement."

    GROUP mefSoamDmHistoryStatsOptionalGroup
    DESCRIPTION "The mefSoamDmHistoryStatsOptionalGroup is an optional requirement."

    GROUP mefSoamLmThresholdOptionalGroup
    DESCRIPTION "The mefSoamLmThresholdOptionalGroup is an optional requirement."

    GROUP mefSoamDmThresholdOptionalGroup
    DESCRIPTION "The mefSoamDmThresholdOptionalGroup is an optional requirement."

    GROUP mefSoamPmNotificationsOptionalGroup
    DESCRIPTION "The mefSoamPmNotificationsOptionalGroup is an optional requirement."

    GROUP mefSoamPmNotificationObjOptionalGroup
    DESCRIPTION "The mefSoamPmNotificationObjOptionalGroup is an optional
        requirement."
    ::= { mefSoamPmMibCompliances 1 }
 

END


