MEF-SOAM-PM-MIB DEFINITIONS ::= BEGIN
  IMPORTS
    NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE, Unsigned32,
    Gauge32, enterprises, Integer32
             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, Dot1agCfmMepId
             FROM IEEE8021-CFM-MIB   -- IEEE 802.1Q
    IEEE8021PriorityValue
        FROM IEEE8021-TC-MIB    -- IEEE 802.1Q
    MefSoamTcOperationTimeType, MefSoamTcDataPatternType, MefSoamTcTestPatternType,
    MefSoamTcAvailabilityType, MefSoamTcDelayMeasurementBinType,
    MefSoamTcMeasurementPeriodType, MefSoamTcSessionType, MefSoamTcStatusType
             FROM MEF-SOAM-TC-MIB;

mefSoamPmMib MODULE-IDENTITY
    LAST-UPDATED    "201503301200Z" -- March 30, 2015
    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, 2014, 2015 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:

    [MEF10.3] refers to MEF 10.3 'Ethernet Services Attributes Phase 3',
       October 2013
    [MEF35.1] refers to MEF 35.1 'Service OAM Performance Monitoring
        Implementation Agreement', July 2014
    [Y.1731] refers to ITU-T G.8013,Y.1731 'OAM functions and mechanisms for
        Ethernet based networks', November 2013
    ****************************************************************************
"

    REVISION        "201503301200Z" -- March 30, 2015
    DESCRIPTION
            "MEF 36.1 Initial Version."

    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 [G.8013/Y.1731] and [MEF35.1] and
        Instantiated at a MEP.
       "
    REFERENCE
       "[Y.1731], [MEF35.1]"
    ::= { 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 [MEF35.1].

        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, Maintenance Association, 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
       "[MEF35.1] R68, O7-O8; [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,
    mefSoamLmCfgCosType                                INTEGER,
    mefSoamLmCfgSourceMacAddress                       MacAddress,
    mefSoamLmCfgTcaNextIndex                           Unsigned32,
    mefSoamLmCfgDei                                    INTEGER,
    mefSoamLmTestId                                    Unsigned32
}

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.
       "
    REFERENCE
       "[MEF35.1] R1"
    ::= { mefSoamLmCfgEntry 1 }

mefSoamLmCfgType OBJECT-TYPE
    SYNTAX      INTEGER {
                  lmLmm   (1),
                  lmSlm   (2),
                  lmCcm   (3),
                  lm1SlTx (4),
                  lm1SlRx (5)
                }
    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
        lm1SlTx(4)      1SL SOAM PDU generated (one-way measurements are made by
                          the receiver)
        lm1SlRx(5)      1SL SOAM PDU received and tracked (one-way measurements)

        The lmSlm value is required. The lmLmm, lmCcm, lm1SlTx, and lm1SlRx 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] [MEF35.1] R53, R68, O7, CR37, CR47, O8"
    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 G.8013/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
       "[MEF35.1] R3-R5, O1, R12-R13"
    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 100 ms for SLM/SLR and 1000ms for
        LMM/LMR.

        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
       "[MEF35.1] R74-R75, D27-D28, CR44-CR45, CD11, CR54-CR55, CD12-CD13"
    DEFVAL { 100 }
    ::= { 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
       "[MEF35.1] R70-R73, CR40-CR43, CR51-CR53"
    ::= { 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' or 'lm1SlTx', and is ignored by the
        entity receiving frames. It is not applicable for the 'lmCcm'
        or 'lm1SlRx' types.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R76-R77, D29-D30, CR56-CR57, CD14-CD15; [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. Calculations within a Measurement Interval are based upon
        a small time interval delta_t as configured by
        mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        The default for Proactive PM Sessions is 15 minutes and for On-Demand PM
        Sessions is 5 minutes.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R15-R17, D3"
    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
       "[MEF35.1] R21, D9, D10"
    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.

        If mefSoamLmCfgType is 'lm1SlTx', 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 mefSoamLmCfgType is 'lm11SlRx', this object is ignored.

        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
       "[MEF35.1] R69, CR39, CR48, CR50"
    ::= { 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', 'lmSlm', and 'lm1slTx'. It is not
        applicable for the 'lmCcm' or 'lm1slRx types.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R69, CR39, CR48"
    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', 'lmSlm', and 'lm1SlTx'. It is not
        applicable for the 'lmCcm' or 'lm1SlRx' types.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R69, CR39, CR48, CR50"
    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
       "[MEF35.1] R7, D1"
    DEFVAL { immediate }
    ::= { mefSoamLmCfgEntry 17 }

mefSoamLmCfgFixedStartDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed UTC 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
       "[MEF35.1] R8"
    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
       "[MEF35.1] R8"
    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
       "[MEF35.1] R9-R10, D2"
    DEFVAL { none }
    ::= { mefSoamLmCfgEntry 20 }

mefSoamLmCfgFixedStopDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed UTC 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
       "[MEF35.1] R10-R11"
    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
       "[MEF35.1] R10-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
       "[MEF35.1] R18, D4, 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
       "[MEF35.1] D5-D7"
    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
       "[MEF35.1] D8"
    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.

        An Availability Measurement Interval of 15 minutes is to be supported,
        other intervals can be supported. Calculations within a Availability
        Measurement Interval are based upon a small time interval delta_t
        as configured by
        mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R15-R17, D3"
    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 and FLR of each small time interval,
        'delta_t', per MEF 10.3.  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.3.

        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 300 must be supported. The number range of 300 through 1000000
        may be supported, but is not mandatory.

        If the mefSoamLmCfgType is lmSLM, the number range of 10 through
        3000 must be supported. The number range of 3000 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
       "[MEF10.3] Section 8.8; [MEF35.1] R78-R80, D31-D32, CR58-CR60, CD16-CD17"
    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
        delta_t interval per MEF 10.3. 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.3.

        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
       "[MEF10.3] Section 8.8; [MEF35.1] R81-R82, D33, CR61-CR62, CD18"
    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
        delta_t intervals (n delta_t) to be used to determine a change in the
        availability status as indicated by MEF 10.3. This parameter is
        equivalent to the Availability parameter of 'n' as specified
        by MEF 10.3. Availability for each delta_t interval is a sliding
        window based upon a width n delta_t.

        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
       "[MEF10.3] Section 8.8; [MEF35.1] R78-R80, D31-D32, CR58-CR60, CD16-CD17"
    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
        delta_t intervals to be used for assessing CHLI in the sliding window.
        This parameter is equivalent to the Resiliency parameter of 'p' as
        specified by MEF 10.3.

        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
       "[MEF10.3] Section 8.8; [MEF35.1] R86-R87, D34-D35, CR66-CR67, CD19-CD20"
    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
       "[MEF35.1] R2"
    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 }

mefSoamLmCfgCosType OBJECT-TYPE
    SYNTAX      INTEGER {
        vlan   (1),
        pcp    (2),
        dei    (3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object selects the LM measurement CoS association

        vlan(1)  SOAM PM session is based upon VLAN ID only
        pcp(2)   SOAM PM session is based upon a combination of VLAN ID and
                 priority (PCP)
        dei(3)   SOAM PM session is based upon a combination of VLAN ID and
                 priority (PCP)_and DEI

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R71, R73"
    ::= { mefSoamLmCfgEntry 35 }

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

        If mefSoamLmCfgType is 'lm1SlRx' this object indicates the source
        address of the lm1SlTx LM session.

        This object is only valid for mefSoamLmCfgType set to 'lm1SlRx'. It is
        ignored for mefSoamLmCfgType set to 'lmLmm', 'lmSlm', 'lmCcm', and
        'lmSlTx'.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] CR49"
    ::= { mefSoamLmCfgEntry 36 }

mefSoamLmCfgTcaNextIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for a TCA on the specific LM PM
        Session 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
        TCA and then is 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.
       "
    REFERENCE
       "[MEF35.1] O4, CR21, CO2"
    ::= { mefSoamLmCfgEntry 37 }

mefSoamLmCfgDei OBJECT-TYPE
    SYNTAX      INTEGER {
                  noDei   (0),
                  setDei  (1)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the setting of the DEI when mefSoamLmCfgCosType
        is configured to 'dei'. The value of this object is ignored if
        mefSoamLmCfgCosType is set to 'vlan' or 'pcp'

        noDei(0)        DEI is set to 0
        setDei(1)       DEI is set to 1

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[Y.1731] [MEF35.1] R71, R73, CR43, CR53"
    DEFVAL { noDei }
    ::= { mefSoamLmCfgEntry 38 }

mefSoamLmTestId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the Test ID if mefSoamLmCfgType is set to
        'lmSlm', 'lm1SlTx', 'lm1SlRx'. The value of this objecdt is ignored
        if mefSoamLmCfgType is set to 'lmLmm' or 'lmCcm'.

        For 'lmSlm' and 'lm1SlTx' it is the value of the transmitted Test ID
        field in the SLM and 1SL PDU.

        For 'lm1SlRx' it is the value of the received 1SLM PDU Test ID field.

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


-- *****************************************************************************
-- 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, Maintenance Association, 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
       "[MEF35.1] R6, R14, D10, D19"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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 delta_t interval) in the forward direction.
        Note that the status of an delta_t interval is not known until
        the loss for a number of subsequent delta_t intervals has been
        calculated (as determined by
        mefSoamLmCfgAvailabilityNumConsecutiveIntervals)

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R83, CR63"
    ::= { 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 delta_t interval) in the backward direction.
        Note that the status of an delta_t interval is not known until
        the loss for a number of subsequent delta_t intervals has been
        calculated (as determined by
        mefSoamLmCfgAvailabilityNumConsecutiveIntervals)

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R83, CR63"
    ::= { mefSoamLmMeasuredStatsEntry 4 }

mefSoamLmMeasuredStatsAvailForwardLastTransitionTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the UTC 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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R83-R84, CR63-CR64"
    ::= { mefSoamLmMeasuredStatsEntry 5 }

mefSoamLmMeasuredStatsAvailBackwardLastTransitionTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the UTC 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R83-R84, CR63-CR64"
    ::= { 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, Maintenance Association, 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
       "[MEF35.1] R6, R14, D10, D19"
    ::= { 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 indices are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.
       "
    REFERENCE
       "[MEF35.1] R21, D9-D10"
    ::= { mefSoamLmCurrentAvailStatsEntry 1 }

mefSoamLmCurrentAvailStatsStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The UTC time that the current Measurement Interval started.
       "
    REFERENCE
       "[MEF35.1] R22, R88, CR46, CR68"
    ::= { 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
       "[MEF35.1] R24, R88, CR46, CR68"
    ::= { 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 - Loss of connectivity between the Controller MEP and the
            Responder MEP
        2 - The local time-of-day clock is adjusted by at least 10 seconds
        3 - The conducting of performance measurements is started part
            way through a Measurement Interval (in the case that the
            Measurement Intervals are not aligned with the start time
            Of the PM Session).
        4 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        5 - A local test, failure, or reconfiguration that disrupts service
        6 - A Measurement Interval that coincides with a Maintenance Interval
       "
    REFERENCE
       "[MEF35.1] R39-R42"
    ::= { 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.3.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88, CR68"
    ::= { 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.3.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88"
    ::= { 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.3.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88, CR68"
    ::= { 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.3.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88"
    ::= { mefSoamLmCurrentAvailStatsEntry 8 }

mefSoamLmCurrentAvailStatsForwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as available in the forward direction by this MEP during
        this Measurement Interval.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR68; [MEF10.3]"
    ::= { mefSoamLmCurrentAvailStatsEntry 9 }

mefSoamLmCurrentAvailStatsBackwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as available in the backward direction by this MEP during
        this Measurement Interval.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88"
    ::= { mefSoamLmCurrentAvailStatsEntry 10 }

mefSoamLmCurrentAvailStatsForwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as unavailable in the forward direction by this MEP during
        this Measurement Interval.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR68"
    ::= { mefSoamLmCurrentAvailStatsEntry 11 }

mefSoamLmCurrentAvailStatsBackwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as unavailable in the backward direction by this MEP
        during this Measurement Interval.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88"
    ::= { 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.3.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.3.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
      "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.3.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.3.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.3.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
      "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.3.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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,
        Maintenance Association, 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
       "[MEF35.1] R6, R14, D10, D19"
    ::= { 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 indices are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.
       "
    REFERENCE
       "[MEF35.1] R21, D9-D10"
    ::= { mefSoamLmCurrentStatsEntry 1 }

mefSoamLmCurrentStatsStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The UTC time that the current Measurement Interval started.
       "
    REFERENCE
       "[MEF35.1] R22, R88, CR46, CR68"
    ::= { 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
       "[MEF35.1] R24, R88, CR46, CR68"
    ::= { 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 - Loss of connectivity between the Controller MEP and the
            Responder MEP
        2 - The local time-of-day clock is adjusted by at least 10 seconds
        3 - The conducting of performance measurements is started part
            way through a Measurement Interval (in the case that the
            Measurement Intervals are not aligned with the start time
            Of the PM Session).
        4 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        5 - A local test, failure, or reconfiguration that disrupts service
        6 - A Measurement Interval that coincides with a Maintenance Interval
       "
    REFERENCE
       "[MEF35.1] R39-R42"
    ::= { 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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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' or 'lm1SlRxthis includes the count of
        SOAM ETH-SLM frames only.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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.

        This object is calculated based upon the small time intervals,
        delta_t, found within the Measurement Interval as
        configured by mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.

        This object is calculated based upon the small time intervals,
        delta_t, found within the Measurement Interval as
        configured by mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
      "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.

        This object is calculated based upon the small time intervals,
        delta_t, found within the Measurement Interval as
        configured by mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46"
    ::= { 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.

        This object is calculated based upon the small time intervals,
        delta_t, found within the Measurement Interval as
        configured by mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.

        This object is calculated based upon the small time intervals,
        delta_t, found within the Measurement Interval as
        configured by mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
      "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.

        This object is calculated based upon the small time intervals,
        delta_t, found within the Measurement Interval as
        configured by mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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',
        'lmCcm', or 'lm1SlTx'. It indicates the number of LMM, CCM, or SLM SOAM
        frames transmitted.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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',
        'lmCcm', or 'lm1SlRx'. This object indicates the number of LMR, CCM,
        or SLR SOAM frames received.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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, Maintenance Association, 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
       "[MEF35.1] R6, R14, D9-D10, 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 indices 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.
       "
    REFERENCE
       "[MEF35.1] R21, D9-D10"
    ::= { mefSoamLmHistoryAvailStatsEntry 1 }

mefSoamLmHistoryAvailStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The UTC time that the Measurement Interval ended.
       "
    REFERENCE
       "[MEF35.1] R23, R88, CR46, CR68"
    ::= { 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
       "[MEF35.1] R24, R88, CR46, CR68"
    ::= { 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 - Loss of connectivity between the Controller MEP and the
            Responder MEP
        2 - The local time-of-day clock is adjusted by at least 10 seconds
        3 - The conducting of performance measurements is started part
            way through a Measurement Interval (in the case that the
            Measurement Intervals are not aligned with the start time
            Of the PM Session).
        4 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        5 - A local test, failure, or reconfiguration that disrupts service
        6 - A Measurement Interval that coincides with a Maintenance Interval
       "
    REFERENCE
       "[MEF35.1] R39-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.3.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88, CR68"
    ::= { 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.3.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88, CR68"
    ::= { 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.3.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88, CR68"
    ::= { 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.3.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF10.3] 8.8; [MEF35.1] R88"
    ::= { mefSoamLmHistoryAvailStatsEntry 8 }

mefSoamLmHistoryAvailStatsForwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as available in the forward direction by this MEP during
        this Measurement Interval.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR68; [MEF10.3]"
    ::= { mefSoamLmHistoryAvailStatsEntry 9 }

mefSoamLmHistoryAvailStatsBackwardAvailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as available in the backward direction by this MEP during
        this Measurement Interval.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88"
    ::= { mefSoamLmHistoryAvailStatsEntry 10 }

mefSoamLmHistoryAvailStatsForwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as unavailable in the forward direction by this MEP during
        this Measurement Interval.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR68"
    ::= { mefSoamLmHistoryAvailStatsEntry 11 }


mefSoamLmHistoryAvailStatsBackwardUnavailable OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of delta_t intervals
        evaluated as unavailable in the backward direction by this MEP
        during this Measurement Interval.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88"
    ::= { 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.3.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.3.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
      "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.3.

        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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.3.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.3.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
      "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.3.

        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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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, Maintenance Association, 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
       "[MEF35.1] R6, R14, R21, D9-D10, 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 indices 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.
       "
    REFERENCE
       "[MEF35.1] R21, D9-D10"
    ::= { mefSoamLmHistoryStatsEntry 1 }

mefSoamLmHistoryStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The UTC time that the Measurement Interval ended.
       "
    REFERENCE
       "[MEF35.1] R23, R88, CR46, CR68"
    ::= { 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
       "[MEF35.1] R24, R88, CR46, CR68"
    ::= { 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 - Loss of connectivity between the Controller MEP and the
            Responder MEP
        2 - The local time-of-day clock is adjusted by at least 10 seconds
        3 - The conducting of performance measurements is started part
            way through a Measurement Interval (in the case that the
            Measurement Intervals are not aligned with the start time
            Of the PM Session).
        4 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        5 - A local test, failure, or reconfiguration that disrupts service
        6 - A Measurement Interval that coincides with a Maintenance Interval
       "
    REFERENCE
       "[MEF35.1] R39-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' and 'lm1SlTx' this includes the count
        of OAM ETH-SLM frames only.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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' and 'lmSlRx' this includes the count
        of OAM ETH-SLM frames only.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1]  D36, CD21"
    ::= { 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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.

       The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] D36, CD21"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
      "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'
        or 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] D36"
    ::= { 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',
        'lmCcm', or 'lm1SlTx'. It indicates the number of LMM, CCM, or SLM SOAM
        frames transmitted.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlRx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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',
        'lmCcm', or 'lm1SlRx'. This object indicates the number of LMR, CCM,
        or SLR SOAM frames received.

        The value of this object is undefined if mefSoamLmCfgType is 'lm1SlTx'.
       "
    REFERENCE
       "[MEF35.1] R88, CR46, CR68"
    ::= { 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, Maintenance Association, 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
       "[MEF35.1] R53, O6; [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,
    mefSoamDmCfgCosType                              INTEGER,
    mefSoamDmCfgTcaNextIndex                         Unsigned32,
    mefSoamDmCfgDei                                  INTEGER
}

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.
       "
    REFERENCE
       "[MEF35.1] R1"
    ::= { 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
       "[MEF35.1] R52, R54, O6, CR23"
    ::= { 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
       "[MEF35.1] R3-R5, O1, R12-R13"
    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),
                     bIfdvForwardMax(16),
                     bIfdvForwardAvg(17),
                     bIfdvBackwardBins(18),
                     bIfdvBackwardMax(20),
                     bIfdvBackwardAvg(21),
                     bIfdvTwoWayBins(22),
                     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 mefSoamDmCurrentStatsXSoamPdusSent
            and mefSoamDmHistoryStatsXSoamPdusSent counters.
        bSoamPdusReceived(1)
            Enables/disables the mefSoamDmCurrentStatsXSoamPdusReceived
            and mefSoamDmHistoryStatsXSoamPdusReceived counters.
        bFrameDelayTwoWayBins(2)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'twoWayFrameDelay'.
        bFrameDelayTwoWayMin(3)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayTwoWayMin
            and mefSoamDmHistoryStatsXFrameDelayTwoWayMin counters.
        bFrameDelayTwoWayMax(4)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayTwoWayMax
            and mefSoamDmHistoryStatsXFrameDelayTwoWayMax counters.
        bFrameDelayTwoWayAvg(5)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayTwoWayAvg
            and mefSoamDmHistoryStatsXFrameDelayTwoWayAvg counters.
        bFrameDelayForwardBins(6)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'forwardFrameDelay'.
        bFrameDelayForwardMin(7)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayForwardMin
            and mefSoamDmHistoryStatsXFrameDelayForwardMin counters.
        bFrameDelayForwardMax(8)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayForwardMax
            and mefSoamDmHistoryStatsXFrameDelayForwardMax counters.
        bFrameDelayForwardAvg(9)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayForwardAvg
            and mefSoamDmHistoryStatsXFrameDelayForwardAvg counters.
        bFrameDelayBackwardBins(10)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'backwardFrameDelay'.
        bFrameDelayBackwardMin(11)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayBackwardMin
            and mefSoamDmHistoryStatsXFrameDelayBackwardMin counters.
        bFrameDelayBackwardMax(12)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayBackwardMax
            and mefSoamDmHistoryStatsXFrameDelayBackwardMax counters.
        bFrameDelayBackwardAvg(13)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayBackwardAvg
            and mefSoamDmHistoryStatsXFrameDelayBackwardAvg counters.
        bIfdvForwardBins(14)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'forwardIfdv'.
        bIfdvForwardMax(16)
            Enables/disables the mefSoamDmCurrentStatsXIfdvForwardMax
            and mefSoamDmHistoryStatsXIfdvForwardMax counters.
        bIfdvForwardAvg(17)
            Enables/disables the mefSoamDmCurrentStatsXIfdvForwardAvg
            and mefSoamDmHistoryStatsXIfdvForwardAvg counters.
        bIfdvBackwardBins(18)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'backwardIfdv'.
        bIfdvBackwardMax(20)
            Enables/disables the mefSoamDmCurrentStatsXIfdvBackwardMax
            and mefSoamDmHistoryStatsXIfdvBackwardMax counters.
        bIfdvBackwardAvg(21)
            Enables/disables the mefSoamDmCurrentStatsXIfdvBackwardAvg
            and mefSoamDmHistoryStatsXIfdvBackwardAvg counters.
        bIfdvTwoWayBins(22)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'twoWayIfdv'.
        bIfdvTwoWayMax(24)
            Enables/disables the mefSoamDmCurrentStatsXIfdvTwoWayMax
            and mefSoamDmHistoryStatsXIfdvTwoWayMax counters.
        bIfdvTwoWayAvg(25)
            Enables/disables the mefSoamDmCurrentStatsXIfdvTwoWayAvg
            and mefSoamDmHistoryStatsXIfdvTwoWayAvg counters.
        bFrameDelayRangeForwardBins(26)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'forwardFrameDelayRange'.
        bFrameDelayRangeForwardMax(27)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayRangeForwardMax
            and mefSoamDmHistoryStatsXFrameDelayRangeForwardMax counters.
        bFrameDelayRangeForwardAvg(28)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayRangeForwardAvg
            and mefSoamDmHistoryStatsXFrameDelayRangeForwardAvg counters.
        bFrameDelayRangeBackwardBins(29)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'backwardFrameDelayRange'.
        bFrameDelayRangeBackwardMax(30)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayRangeBackwardMax
            and mefSoamDmHistoryStatsXFrameDelayRangeBackwardMax counters.
        bFrameDelayRangeBackwardAvg(31)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayRangeBackwardAvg
            and mefSoamDmHistoryStatsXFrameDelayRangeBackwardAvg counters.
        bFrameDelayRangeTwoWayBins(32)
            Enables/disables the mefSoamDmCurrentStatsBinsEntry counter
            and the mefSoamDmHistoryStatsBinsEntry counter
            when the mefSoamDmCfgMeasBinType is 'twoWayFrameDelayRange'.
        bFrameDelayRangeTwoWayMax(33)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayRangeTwoWayMax
            and mefSoamDmHistoryStatsXFrameDelayRangeTwoWayMax counters.
        bFrameDelayRangeTwoWayAvg(34)
            Enables/disables the mefSoamDmCurrentStatsXFrameDelayRangeTwoWayAvg
            and mefSoamDmHistoryStatsXFrameDelayRangeTwoWayAvg counters.
        bMeasuredStatsFrameDelayTwoWay(35)
            Enables/disables the mefSoamDmMeasuredStatsXFrameDelayTwoWay
            counter.
        bMeasuredStatsFrameDelayForward(36)
            Enables/disables the mefSoamDmMeasuredStatsXFrameDelayForward
            counter.
        bMeasuredStatsFrameDelayBackward(37)
            Enables/disables the mefSoamDmMeasuredStatsXFrameDelayBackward
            counter.
        bMeasuredStatsIfdvTwoWay(38)
            Enables/disables the mefSoamDmMeasuredStatsXIfdvTwoWay
            counter.
        bMeasuredStatsIfdvForward(39)
            Enables/disables the mefSoamDmMeasuredStatsXIfdvForward
            counter.
        bMeasuredStatsIfdvBackward(40)
            Enables/disables the mefSoamDmMeasuredStatsXIfdvBackward
            counter.
       "
    REFERENCE
       "[MEF35.1]"
    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 1000 ms.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R61-R62, D21, CR30-CR31, CD5"
    DEFVAL { 1000 }
    ::= { 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
       "[MEF35.1] R57-R60, CR27-CR29"
    ::= { 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
       "[MEF35.1] R63-R64, D22-D23, CR32-CR33, CD6-CD7"
    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.

        The default for Proactive PM Sessions is 15 minutes and for On-Demand PM
        Sessions is 5 minutes.

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R15-R17, D3"
    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
       "[MEF35.1] R21, D9, D10"
    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
       "[MEF35.1] R56, CR24, CR26"
    ::= { 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
       "[MEF35.1] R56, CR24, CR26"
    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
       "[MEF35.1] R56, CR24"
    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
       "[MEF35.1] CR25"
    ::= { 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
       "[MEF35.1] R7, D1"
    DEFVAL { immediate }
    ::= { mefSoamDmCfgEntry 18 }

mefSoamDmCfgFixedStartDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed UTC 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
       "[MEF35.1] R8"
    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
       "[MEF35.1] R8"
    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
       "[MEF35.1] R9, R10, D2"
    DEFVAL { none }
    ::= { mefSoamDmCfgEntry 21 }

mefSoamDmCfgFixedStopDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed UTC 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
       "[MEF35.1] R10, R11"
    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
       "[MEF35.1] R10, 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
       "[MEF35.1] R18, D4, 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
       "[MEF35.1] D5-D7"
    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
       "[MEF35.1] D8"
    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 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
       "[MEF35.1] R27, D12, R28, D13"
    DEFVAL { 2 }
    ::= { 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
       "[MEF35.1] R29, D14, R30, D15"
    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
       "[MEF35.1] O5, D24, CO3, CD8"
    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
       "[MEF35.1] R31, D16, R32, D17"
    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
       "[MEF35.1] R2"
    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 (mefSoamDmHistoryStatsXTable 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 }

mefSoamDmCfgCosType OBJECT-TYPE
    SYNTAX      INTEGER {
        vlan   (1),
        pcp    (2),
        dei    (3)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object selects the DM measurement CoS association

        vlan(1)  SOAM PM session is based upon VLAN ID only
        pcp(2)   SOAM PM session is based upon a combination VLAN ID and
                 priority (PCP)
        dei(3)   SOAM PM session is based upon a combination VLAN ID and
                 priority and DEI

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[MEF35.1] R60"
    ::= { mefSoamDmCfgEntry 35 }

mefSoamDmCfgTcaNextIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for a TCA on the specific LM PM
        Session 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
        TCA and then is 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.
       "
    REFERENCE
       "[MEF35.1] O4, CR21, CO2"
    ::= { mefSoamDmCfgEntry 36 }

mefSoamDmCfgDei OBJECT-TYPE
    SYNTAX      INTEGER {
                  noDei   (0),
                  setDei  (1)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the setting of the DEI when mefSoamDmCfgCosType
        is configured to 'dei'. The value of this object is ignored if
        mefSoamDmCfgCosType is set to 'vlan' or 'pcp'

        noDei(0)        DEI is set to 0
        setDei(1)       DEI is set to 1

        This object can only be written at row creation time and cannot be
        modified once it has been created.
       "
    REFERENCE
       "[Y.1731] [MEF35.1] R60, R71, R73, CR29"
    DEFVAL { noDei }
    ::= { mefSoamDmCfgEntry 37 }


-- *****************************************************************************
-- 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, Maintenance Association, 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
       "[MEF35.1] R33-R37, D18, R38"
    ::= { 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, Inter-Frame Delay Variation, or Frame Delay Range.
       "
    REFERENCE
       "[MEF35.1] R33-R37, D18, R38"
    ::= { 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.
       "
    REFERENCE
       "[MEF35.1] R33-R37, D18, R38"
    ::= { 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
       "[MEF35.1] R33-R37, D18, R38"
    ::= { mefSoamDmCfgMeasBinEntry 3 }


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

mefSoamDmMeasuredStatsXTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmMeasuredStatsXEntry
    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, Maintenance Association,
        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
       "[MEF35.1] R6, R14, D10, D19"
    ::= { mefSoamPmDmObjects 10 }

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

MefSoamDmMeasuredStatsXEntry ::= SEQUENCE {
    mefSoamDmMeasuredStatsXFrameDelayTwoWay     Integer32,
    mefSoamDmMeasuredStatsXFrameDelayForward    Integer32,
    mefSoamDmMeasuredStatsXFrameDelayBackward   Integer32,
    mefSoamDmMeasuredStatsXIfdvTwoWay           Integer32,
    mefSoamDmMeasuredStatsXIfdvForward          Integer32,
    mefSoamDmMeasuredStatsXIfdvBackward         Integer32
}

mefSoamDmMeasuredStatsXFrameDelayTwoWay OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmMeasuredStatsXEntry 1 }

mefSoamDmMeasuredStatsXFrameDelayForward OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmMeasuredStatsXEntry 2 }

mefSoamDmMeasuredStatsXFrameDelayBackward OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmMeasuredStatsXEntry 3 }

mefSoamDmMeasuredStatsXIfdvTwoWay OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    ::= { mefSoamDmMeasuredStatsXEntry 4 }

mefSoamDmMeasuredStatsXIfdvForward OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmMeasuredStatsXEntry 5 }

mefSoamDmMeasuredStatsXIfdvBackward OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmMeasuredStatsXEntry 6 }


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

mefSoamDmCurrentStatsXTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmCurrentStatsXEntry
    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,
        Maintenance Association, 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 mefSoamDmCurrentStatsXIndex, mefSoamDmCurrentStatsXStartTime
        mefSoamDmCurrentStatsXElapsedTime and mefSoamDmCurrentStatsXSuspect,
        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
       "[MEF35.1] R6, R14, D10, D19"
    ::= { mefSoamPmDmObjects 11 }

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

MefSoamDmCurrentStatsXEntry ::= SEQUENCE {
    mefSoamDmCurrentStatsXIndex                       Unsigned32,
    mefSoamDmCurrentStatsXStartTime                   DateAndTime,
    mefSoamDmCurrentStatsXElapsedTime                 TimeInterval,
    mefSoamDmCurrentStatsXSuspect                     TruthValue,
    mefSoamDmCurrentStatsXFrameDelayTwoWayMin         Integer32,
    mefSoamDmCurrentStatsXFrameDelayTwoWayMax         Integer32,
    mefSoamDmCurrentStatsXFrameDelayTwoWayAvg         Integer32,
    mefSoamDmCurrentStatsXFrameDelayForwardMin        Integer32,
    mefSoamDmCurrentStatsXFrameDelayForwardMax        Integer32,
    mefSoamDmCurrentStatsXFrameDelayForwardAvg        Integer32,
    mefSoamDmCurrentStatsXFrameDelayBackwardMin       Integer32,
    mefSoamDmCurrentStatsXFrameDelayBackwardMax       Integer32,
    mefSoamDmCurrentStatsXFrameDelayBackwardAvg       Integer32,
    mefSoamDmCurrentStatsXIfdvForwardMax              Integer32,
    mefSoamDmCurrentStatsXIfdvForwardAvg              Integer32,
    mefSoamDmCurrentStatsXIfdvBackwardMax             Integer32,
    mefSoamDmCurrentStatsXIfdvBackwardAvg             Integer32,
    mefSoamDmCurrentStatsXIfdvTwoWayMax               Integer32,
    mefSoamDmCurrentStatsXIfdvTwoWayAvg               Integer32,
    mefSoamDmCurrentStatsXFrameDelayRangeForwardMax   Integer32,
    mefSoamDmCurrentStatsXFrameDelayRangeForwardAvg   Integer32,
    mefSoamDmCurrentStatsXFrameDelayRangeBackwardMax  Integer32,
    mefSoamDmCurrentStatsXFrameDelayRangeBackwardAvg  Integer32,
    mefSoamDmCurrentStatsXFrameDelayRangeTwoWayMax    Integer32,
    mefSoamDmCurrentStatsXFrameDelayRangeTwoWayAvg    Integer32,
    mefSoamDmCurrentStatsXSoamPdusSent                Gauge32,
    mefSoamDmCurrentStatsXSoamPdusReceived            Gauge32
}

mefSoamDmCurrentStatsXIndex 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
        mefSoamDmHistoryStatsXIndex once the Measurement Interval
        is completed.

        Measurement Interval indices are assigned sequentially by
        the SNMP Agent.  The first Measurement Interval that occurs after
        the session is started is assigned index 1.
       "
    REFERENCE
       "[MEF35.1] R21, D9-D10"
    ::= { mefSoamDmCurrentStatsXEntry 1 }

mefSoamDmCurrentStatsXStartTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The UTC time that the current Measurement Interval started.
       "
    REFERENCE
       "[MEF35.1] R22, R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 2 }

mefSoamDmCurrentStatsXElapsedTime 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
       "[MEF35.1] R24, R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 3 }

mefSoamDmCurrentStatsXSuspect 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 - Loss of connectivity between the Controller MEP and the
            Responder MEP
        2 - The local time-of-day clock is adjusted by at least 10 seconds
        3 - The conducting of performance measurements is started part
            way through a Measurement Interval (in the case that the
            Measurement Intervals are not aligned with the start time
            Of the PM Session).
        4 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        5 - A local test, failure, or reconfiguration that disrupts service
        6 - A Measurement Interval that coincides with a Maintenance Interval
       "
    REFERENCE
       "[MEF35.1] R39-R42"
    ::= { mefSoamDmCurrentStatsXEntry 4 }

mefSoamDmCurrentStatsXFrameDelayTwoWayMin OBJECT-TYPE
    SYNTAX      Integer32
    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.

       The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    ::= { mefSoamDmCurrentStatsXEntry 5 }

mefSoamDmCurrentStatsXFrameDelayTwoWayMax OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmCurrentStatsXEntry 6 }

mefSoamDmCurrentStatsXFrameDelayTwoWayAvg OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmCurrentStatsXEntry 7 }

mefSoamDmCurrentStatsXFrameDelayForwardMin OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R67, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 8 }

mefSoamDmCurrentStatsXFrameDelayForwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R67, CR36"
    ::= { mefSoamDmCurrentStatsXEntry 9 }

mefSoamDmCurrentStatsXFrameDelayForwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R67, CR36"
    ::= { mefSoamDmCurrentStatsXEntry 10 }

mefSoamDmCurrentStatsXFrameDelayBackwardMin OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmCurrentStatsXEntry 11 }

mefSoamDmCurrentStatsXFrameDelayBackwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmCurrentStatsXEntry 12 }

mefSoamDmCurrentStatsXFrameDelayBackwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmCurrentStatsXEntry 13 }

mefSoamDmCurrentStatsXIfdvForwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 15 }

mefSoamDmCurrentStatsXIfdvForwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 16 }

mefSoamDmCurrentStatsXIfdvBackwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmCurrentStatsXEntry 18 }

mefSoamDmCurrentStatsXIfdvBackwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmCurrentStatsXEntry 19 }

mefSoamDmCurrentStatsXIfdvTwoWayMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    ::= { mefSoamDmCurrentStatsXEntry 21 }

mefSoamDmCurrentStatsXIfdvTwoWayAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    ::= { mefSoamDmCurrentStatsXEntry 22 }

mefSoamDmCurrentStatsXFrameDelayRangeForwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 23 }

mefSoamDmCurrentStatsXFrameDelayRangeForwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 24 }

mefSoamDmCurrentStatsXFrameDelayRangeBackwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmCurrentStatsXEntry 25 }

mefSoamDmCurrentStatsXFrameDelayRangeBackwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmCurrentStatsXEntry 26 }

mefSoamDmCurrentStatsXFrameDelayRangeTwoWayMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    ::= { mefSoamDmCurrentStatsXEntry 27 }

mefSoamDmCurrentStatsXFrameDelayRangeTwoWayAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    ::= { mefSoamDmCurrentStatsXEntry 28 }

mefSoamDmCurrentStatsXSoamPdusSent 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
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 29 }

mefSoamDmCurrentStatsXSoamPdusReceived 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
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmCurrentStatsXEntry 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, Maintenance Association, 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
       "[MEF35.1] R6, R14, D10, D19"
    ::= { 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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
            "
    REFERENCE
       "[MEF35.1] R66-R67, CR35-CR36"
    ::= { mefSoamDmCurrentStatsBinsEntry 1 }


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

mefSoamDmHistoryStatsXTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmHistoryStatsXEntry
    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, Maintenance Association, 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 mefSoamDmHistoryStatsXIndex, mefSoamDmHistoryStatsXEndTime,
        mefSoamDmHistoryStatsXElapsedTime and mefSoamDmHistoryStatsXSuspect,
        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
       "[MEF35.1] R6, R14, R21, D9, R25"
    ::= { mefSoamPmDmObjects 13 }

mefSoamDmHistoryStatsXEntry OBJECT-TYPE
    SYNTAX      MefSoamDmHistoryStatsXEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmHistoryStatsXTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex,
               dot1agCfmMepIdentifier,
               mefSoamDmCfgIndex,
               mefSoamDmHistoryStatsXIndex
               }
    ::= { mefSoamDmHistoryStatsXTable 1 }

MefSoamDmHistoryStatsXEntry ::= SEQUENCE {
    mefSoamDmHistoryStatsXIndex                       Unsigned32,
    mefSoamDmHistoryStatsXEndTime                     DateAndTime,
    mefSoamDmHistoryStatsXElapsedTime                 TimeInterval,
    mefSoamDmHistoryStatsXSuspect                     TruthValue,
    mefSoamDmHistoryStatsXFrameDelayTwoWayMin         Integer32,
    mefSoamDmHistoryStatsXFrameDelayTwoWayMax         Integer32,
    mefSoamDmHistoryStatsXFrameDelayTwoWayAvg         Integer32,
    mefSoamDmHistoryStatsXFrameDelayForwardMin        Integer32,
    mefSoamDmHistoryStatsXFrameDelayForwardMax        Integer32,
    mefSoamDmHistoryStatsXFrameDelayForwardAvg        Integer32,
    mefSoamDmHistoryStatsXFrameDelayBackwardMin       Integer32,
    mefSoamDmHistoryStatsXFrameDelayBackwardMax       Integer32,
    mefSoamDmHistoryStatsXFrameDelayBackwardAvg       Integer32,
    mefSoamDmHistoryStatsXIfdvForwardMax              Integer32,
    mefSoamDmHistoryStatsXIfdvForwardAvg              Integer32,
    mefSoamDmHistoryStatsXIfdvBackwardMax             Integer32,
    mefSoamDmHistoryStatsXIfdvBackwardAvg             Integer32,
    mefSoamDmHistoryStatsXIfdvTwoWayMax               Integer32,
    mefSoamDmHistoryStatsXIfdvTwoWayAvg               Integer32,
    mefSoamDmHistoryStatsXFrameDelayRangeForwardMax   Integer32,
    mefSoamDmHistoryStatsXFrameDelayRangeForwardAvg   Integer32,
    mefSoamDmHistoryStatsXFrameDelayRangeBackwardMax  Integer32,
    mefSoamDmHistoryStatsXFrameDelayRangeBackwardAvg  Integer32,
    mefSoamDmHistoryStatsXFrameDelayRangeTwoWayMax    Integer32,
    mefSoamDmHistoryStatsXFrameDelayRangeTwoWayAvg    Integer32,
    mefSoamDmHistoryStatsXSoamPdusSent                Gauge32,
    mefSoamDmHistoryStatsXSoamPdusReceived            Gauge32
}

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

        Measurement Interval indices 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.
       "
    REFERENCE
       "[MEF35.1] R21, D9-D10"
    ::= { mefSoamDmHistoryStatsXEntry 1 }

mefSoamDmHistoryStatsXEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The UTC time that the Measurement Interval ended.
       "
    REFERENCE
       "[MEF35.1] R23, R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 2 }

mefSoamDmHistoryStatsXElapsedTime 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
       "[MEF35.1] R24, R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 3 }

mefSoamDmHistoryStatsXSuspect 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 - Loss of connectivity between the Controller MEP and the
            Responder MEP
        2 - The local time-of-day clock is adjusted by at least 10 seconds
        3 - The conducting of performance measurements is started part
            way through a Measurement Interval (in the case that the
            Measurement Intervals are not aligned with the start time
            Of the PM Session).
        4 - The conducting of a performance measurement is halted before the
            current Measurement Interval is completed
        5 - A local test, failure, or reconfiguration that disrupts service
        6 - A Measurement Interval that coincides with a Maintenance Interval
       "
    REFERENCE
       "[MEF35.1] R39-R42"
    ::= { mefSoamDmHistoryStatsXEntry 4 }

mefSoamDmHistoryStatsXFrameDelayTwoWayMin OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 5 }

mefSoamDmHistoryStatsXFrameDelayTwoWayMax OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 6 }

mefSoamDmHistoryStatsXFrameDelayTwoWayAvg OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 7 }

mefSoamDmHistoryStatsXFrameDelayForwardMin OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 8 }

mefSoamDmHistoryStatsXFrameDelayForwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R67, CR36"
    ::= { mefSoamDmHistoryStatsXEntry 9 }

mefSoamDmHistoryStatsXFrameDelayForwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R67, CR36"
    ::= { mefSoamDmHistoryStatsXEntry 10 }

mefSoamDmHistoryStatsXFrameDelayBackwardMin OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 11 }

mefSoamDmHistoryStatsXFrameDelayBackwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmHistoryStatsXEntry 12 }

mefSoamDmHistoryStatsXFrameDelayBackwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R67"
    ::= { mefSoamDmHistoryStatsXEntry 13 }

mefSoamDmHistoryStatsXIfdvForwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 15 }

mefSoamDmHistoryStatsXIfdvForwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 16 }

mefSoamDmHistoryStatsXIfdvBackwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 18 }

mefSoamDmHistoryStatsXIfdvBackwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 19 }

mefSoamDmHistoryStatsXIfdvTwoWayMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx.
       "
    ::= { mefSoamDmHistoryStatsXEntry 21 }

mefSoamDmHistoryStatsXIfdvTwoWayAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx.
      "
    ::= { mefSoamDmHistoryStatsXEntry 22 }

mefSoamDmHistoryStatsXFrameDelayRangeForwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 23 }

mefSoamDmHistoryStatsXFrameDelayRangeForwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'.
       "
    REFERENCE
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 24 }

mefSoamDmHistoryStatsXFrameDelayRangeBackwardMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 25 }

mefSoamDmHistoryStatsXFrameDelayRangeBackwardAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    REFERENCE
       "[MEF35.1] R66"
    ::= { mefSoamDmHistoryStatsXEntry 26 }

mefSoamDmHistoryStatsXFrameDelayRangeTwoWayMax OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
       "
    ::= { mefSoamDmHistoryStatsXEntry 27 }

mefSoamDmHistoryStatsXFrameDelayRangeTwoWayAvg OBJECT-TYPE
    SYNTAX      Integer32
    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 if mefSoamDmCfgType is 'dm1DmTx'
        or 'dm1DmRx'.
      "
    ::= { mefSoamDmHistoryStatsXEntry 28 }

mefSoamDmHistoryStatsXSoamPdusSent 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
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 29 }

mefSoamDmHistoryStatsXSoamPdusReceived 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
       "[MEF35.1] R66, CR35"
    ::= { mefSoamDmHistoryStatsXEntry 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, Maintenance Association,
        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
        mefSoamDmHistoryStatsXTable 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
       "[MEF35.1] R6, R14, R21, D9-D10, D19"
    ::= { mefSoamPmDmObjects 7 }

mefSoamDmHistoryStatsBinsEntry OBJECT-TYPE
    SYNTAX      MefSoamDmHistoryStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmHistoryStatsBinsTable"
    INDEX      {
               dot1agCfmMdIndex,
               dot1agCfmMaIndex,
               dot1agCfmMepIdentifier,
               mefSoamDmCfgIndex,
               mefSoamDmHistoryStatsXIndex,
               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.

        The value of this object is undefined if mefSoamDmCfgType is 'dm1DmTx'
       "
    REFERENCE
       "[MEF35.1] R66-R67, CR35-CR36"
    ::= { mefSoamDmHistoryStatsBinsEntry 1 }


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

mefSoamLmTcaCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamLmTcaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the list of Loss Measurement threshold crossing
        alert (TCA) configuration values for LM Performance Monitoring.

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

        Each row in the table represents a Loss Measurement PM Session TCA
        for the defined MEP for a specific Performance Metric.

        This table uses six indices. The first three indices are the indices
        of the Maintenance Domain, Maintenance Association, and MEP tables. The
        fourth index is the specific LM session type on the selected MEP. The
        fifth index is the specific LM session on the selected MEP. The sixth
        index is the specific TCA for a PM metric.

        Rows in this table are not created automatically. A row is created in
        this table to set up a TCA on a configured MEP that has a configured
        LM session for a specific PM metric. The row number used to create
        a new TCA is indicated by the mefSoamLmCfgTcaNextIndex object.

        An NE needs to support at least one TCA per metric per PM session for
        NE SOAM PM compliance. More than on TCA per metric per PM session can
        be supported on the NE.

        In order to enable a threshold measurement the
        mefSoamLmThresholdCfgEnable object is to be set to 'True', TCA is
        enabled and the selected TCA has to have a threshold value configured.
        Non-configured TCA measurements are disabled by default.

        The writable objects in this table need to be persistent upon reboot
        or restart of a device.
       "
    REFERENCE
       "[MEF35.1] O4, CR21, CO2"
    ::= { mefSoamPmLmObjects 8 }

mefSoamLmTcaCfgEntry OBJECT-TYPE
    SYNTAX      MefSoamLmTcaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamLmTcaCfgTable."
    INDEX       {
                dot1agCfmMdIndex,
                dot1agCfmMaIndex,
                dot1agCfmMepIdentifier,
                mefSoamLmCfgIndex,
                mefSoamLmTcaCfgType,
                mefSoamLmTcaCfgIndex
                }
    ::= {mefSoamLmTcaCfgTable 1 }

MefSoamLmTcaCfgEntry ::= SEQUENCE {
    mefSoamLmTcaCfgIndex               Unsigned32,
    mefSoamLmTcaCfgType                INTEGER,
    mefSoamLmTcaCfgEnable              TruthValue,
    mefSoamLmTcaCfgAlarmType           INTEGER,
    mefSoamLmTcaCfgThresholdValue      Integer32,
    mefSoamLmTcaCfgClearValue          Integer32,
    mefSoamLmTcaCfgAlarmCurrentState   INTEGER,
    mefSoamLmTcaCfgRowStatus           RowStatus
}

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

        An index value of '1' is to be supported. Other index values
        can be supported.
       "
    REFERENCE
       "[MEF35.1] O4"
    ::= { mefSoamLmTcaCfgEntry 1 }

mefSoamLmTcaCfgType OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined        (0),
        hliForward       (1),
        chliForward      (2),
        hliBackward      (3),
        chliBackward     (4)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index of the specific type of PM Metric that
        is configured for a TCA.

        hliForward(1)     One-way HLI in the forward direction
        chliForward(2)    One-way CHLI in the forward direction
        hliBackward(3)    One-way HLI in the backward direction
        chliBackward(4)   One-way CHLI in the backward direction
       "
    REFERENCE
       "[MEF35.1] CR1"
    ::= { mefSoamLmTcaCfgEntry 2 }

mefSoamLmTcaCfgEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates whether the specific TCA is enabled (active)
        or disabled (inactive).
        True  = TCA enabled (active)
        False = TCA disabled (inactive)
       "
    REFERENCE
       "[MEF35.1] O4"
   DEFVAL { true }
    ::= { mefSoamLmTcaCfgEntry 3 }

mefSoamLmTcaCfgAlarmType OBJECT-TYPE
    SYNTAX      INTEGER {
        stateless    (1),
        stateful     (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object configures the type of TCA alarm: either stateless or
        stateful configured for a specific TCA.

        stateless(1)  TCA generated in each Measurement Interval in which the
                      threshold is crossed for the specific TCA instance
        stateful(2)   TCA generated in the first Measurement Interval in
                      which the threshold is crossed (SET), or the end of
                      the first Measurement Interval in which the threshold
                      is not crossed (CLEAR) for the specific TCA instance
       "
    REFERENCE
       "[MEF35.1] CR3, CD1, CR4"
    DEFVAL { stateless }
   ::= { mefSoamLmTcaCfgEntry 4 }

mefSoamLmTcaCfgThresholdValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is the number of HLI or CHLI delta_t intervals during
        the Availability Measurement Interval and is used to set the stateless
        TCA threshold value or the stateful TCA SET value.
       "
    REFERENCE
       "[MEF35.1] CR4, CR5, CR8"
    DEFVAL { 1 }
    ::= { mefSoamLmTcaCfgEntry 5 }

mefSoamLmTcaCfgClearValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is the number of HLI or CHLI delta_t intervals during
        the Availability Measurement Interval and is used to set the stateful TCA
        CLEAR value.

        The value of this object must be less than or equal to
        mefSoamLmTcaCfgThresholdValue.

        The value of this object is ignored if mefSoamLmTcaCfgAlarmType is
        'stateless'.
       "
    REFERENCE
       "[MEF35.1] CR6, CO1, CR7, CR9"
    DEFVAL { 1 }
    ::= { mefSoamLmTcaCfgEntry 6 }

mefSoamLmTcaCfgAlarmCurrentState OBJECT-TYPE
    SYNTAX      INTEGER {
        inactive    (1),
        active      (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates the current state of the TCA.

        inactive(1)    TCA current state is inactive
        active(2)      TCA current state is active

        Writing this object will result in a TCA notification if the value of
        the object changes state.
       "
    REFERENCE
       "[MEF35.1] O4"
    DEFVAL { inactive }
    ::= { mefSoamLmTcaCfgEntry 7 }

mefSoamLmTcaCfgRowStatus 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.
       "
   ::= { mefSoamLmTcaCfgEntry 8 }


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

mefSoamDmTcaCfgTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF MefSoamDmTcaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the list of Delay Measurement threshold crossing
        alert (TCA) configuration values for DM Performance Monitoring.

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

        Each row in the table represents a Delay Measurement session TCA
        for the defined MEP for a specific Performance Metric.

        This table uses six indices. The first three indices are the indices
        of the Maintenance Domain, Maintenance Association, and MEP tables. The
        fourth index is the specific LM session type on the selected MEP. The
        fifth index is the specific DM session on the selected MEP. The sixth
        index is the specific TCA for a PM metric.

        Rows in this table are not created automatically. A row is created in
        this table to set up a TCA on a configured MEP that has a configured
        DM session for a specific PM metric.

        An NE needs to support at least one TCA per metric per PM session for
        NE SOAM PM compliance. More than one TCA per metric per PM session can
        be supported on the NE.

        In order to enable a threshold measurement the specific
        mefSoamDmThresholdCfgEnable object is to be set to 'True', TCA is
        enabled and the selected TCA has to have a threshold value configured.
        Non-configured TCA measurements are disabled by default.

        The writable objects in this table need to be persistent upon reboot
        or restart of a device.
       "
    REFERENCE
       "[MEF35.1] O4, CR21, CO2"
    ::= { mefSoamPmDmObjects 9 }

mefSoamDmTcaCfgEntry OBJECT-TYPE
    SYNTAX      MefSoamDmTcaCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of mefSoamDmTcaCfgTable."
    INDEX       {
                dot1agCfmMdIndex,
                dot1agCfmMaIndex,
                dot1agCfmMepIdentifier,
                mefSoamDmCfgIndex,
                mefSoamDmTcaCfgType,
                mefSoamDmTcaCfgIndex
                }
    ::= {mefSoamDmTcaCfgTable 1 }

MefSoamDmTcaCfgEntry ::= SEQUENCE {
    mefSoamDmTcaCfgIndex               Unsigned32,
    mefSoamDmTcaCfgType                INTEGER,
    mefSoamDmTcaCfgEnable              TruthValue,
    mefSoamDmTcaCfgAlarmType           INTEGER,
    mefSoamDmTcaCfgBinNumber           Unsigned32,
    mefSoamDmTcaCfgThresholdValue      Integer32,
    mefSoamDmTcaCfgClearValue          Integer32,
    mefSoamDmTcaCfgAlarmCurrentState   INTEGER,
    mefSoamDmTcaCfgRowStatus           RowStatus
}

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

        An index value of '1' is to be supported. Other index values
        can be supported.
       "
    REFERENCE
       "[MEF35.1] O4"
    ::= { mefSoamDmTcaCfgEntry 1 }

mefSoamDmTcaCfgType OBJECT-TYPE
    SYNTAX      INTEGER {
        undefined (0),
        fdForwardBin     (1),
        fdForwardMax     (2),
        fdrForwardBin    (3),
        fdrForwardMax    (4),
        ifdvForwardBin   (5),
        ifdvForwardMax   (6),

        fdBackwardBin    (7),
        fdBackwardMax    (8),
        fdrBackwardBin   (9),
        fdrBackwardMax   (10),
        ifdvBackwardBin  (11),
        ifdvBackwardMax  (12),

        fdTwoWayBin      (13),
        fdTwoWayMax      (14),
        fdrTwoWayBin     (15),
        fdrTwoWayMax     (16),
        ifdvTwoWayBin    (17),
        ifdvTwoWayMax    (18)
    }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index of the specific type of PM Metric that is configured for
        a TCA.

        For those TCAs related to Upper Bin Count (UBC), 'k', as defined
        by mefSoamDmTcaCfgBinNumber, is the specific bin counter for
        bins k and above: UBC(k).

        fdForwardBin(1)    One-way frame delay in the forward direction
                           for UBC(k)
        fdForwardMax(2)    One-way maximum frame delay in the forward direction
        fdrForwardBin(3)   One-way frame delay range in the forward direction
                           for UBC(k)
        fdrForwardMax(4)   One-way maximum frame delay range in the forward
                           direction
        ifdvForwardBin(5)  One-way IFDV in the forward direction
                           for UBC(k)
        ifdvForwardMax(6)  One-way maximum IFDV in the forward direction

        fdBackwardBin(7)   One-way frame delay in the backward direction
                           for UBC(k)
        fdBackwardMax(8)   One-way maximum frame delay in the backward direction
        fdrBackwardBin(9)  One-way frame delay range in the backward direction
                           for UBC(k)
        fdrBackwardMax(10) One-way maximum frame delay range in the backward
                           direction
        ifdvForwardBin(11) One-way IFDV in the forward direction
                           for UBC(k)
        ifdvForwardMax(12) One-way maximum IFDV in the forward direction

        fdTwoWayBin(13)    Two-way frame delay for UBC(k)
        fdTwoWayMax(14)    Two-way maximum frame delay
        fdrTwoWayBin(15)   Two-way frame delay range for UBC(k)
        fdrTwoWayMax(16)   Two-way maximum frame delay range
        ifdvTwoWayBin(17)  Two-way IFDV for UBC(k)
        ifdvTwoWayMax(18)  Two-way maximum IFDV
       "
    REFERENCE
       "[MEF35.1] CR1-CR2"
    ::= { mefSoamDmTcaCfgEntry 2 }

mefSoamDmTcaCfgEnable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates whether the specific TCA is enabled (active)
        or disabled (inactive).
        True  = TCA enabled (active)
        False = TCA disabled (inactive)
       "
    REFERENCE
       "[MEF35.1] O4"
    DEFVAL { true }
    ::= { mefSoamDmTcaCfgEntry 3 }

mefSoamDmTcaCfgAlarmType OBJECT-TYPE
    SYNTAX      INTEGER {
        stateless    (1),
        stateful     (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object configures the type of TCA alarm: either stateless or
        stateful configured for a specific TCA.

        stateless(1)  TCA generated in each Measurement Interval in which the
                      threshold is crossed for the specific TCA instance
        stateful(2)   TCA generated in the first Measurement Interval in
                      which the threshold is crossed (SET), or the end of
                      the first Measurement Interval in which the threshold
                      is not crossed (CLEAR) for the specific TCA instance
       "
    REFERENCE
       "[MEF35.1] CR3, CD1, CR4"
    DEFVAL { stateless }
    ::= { mefSoamDmTcaCfgEntry 4 }

mefSoamDmTcaCfgBinNumber OBJECT-TYPE
    SYNTAX      Unsigned32(1..4294967295)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "The specific upper bin number, 'k', for those PM Metrics that are
        related to bin counters k and above, UBC(k), for mefSoamDmTcaCfgType
        is equal to fdForwardBin, fdrForwardBin, ifdvForwardBin,
        fdBackwardBin, fdrBackwardBin, ifdvBackwardBin, fdTwoWayBin,
        fdrTwoWayBin, or ifdvTwoWayBin.

        For other metric types this object value is ignored.
       "
    REFERENCE
       "[MEF35.1] CR1"
    DEFVAL { 1 }
    ::= { mefSoamDmTcaCfgEntry 5 }

mefSoamDmTcaCfgThresholdValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the stateless TCAs threshold value or the
        stateful TCA SET value.

        For TCAs that are related to bins it is the UBC(k) count. For delay
        max TCAs it is the threshold value in microseconds.
       "
    REFERENCE
       "[MEF35.1] CR4, CR5, CR8"
    DEFVAL { 1 }
    ::= { mefSoamDmTcaCfgEntry 6 }

mefSoamDmTcaCfgClearValue OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object is used to set the stateful TCA CLEAR value.

        For TCAs that are related to bins it is the UBC(k) count. For delay
        max TCAs it is the threshold value in microseconds.

        The value of this object must be less than or equal to
        mefSoamDmTcaCfgThresholdValue.

        The value of this object is ignored if mefSoamDmTcaCfgAlarmType is
        'stateless'.
       "
    REFERENCE
       "[MEF35.1] CR6, CO1, CR7, CR9"
   DEFVAL { 1 }
    ::= { mefSoamDmTcaCfgEntry 7 }

mefSoamDmTcaCfgAlarmCurrentState OBJECT-TYPE
    SYNTAX      INTEGER {
        inactive    (1),
        active      (2)
    }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object indicates the current state of the TCA.

        inactive(1)    TCA current state is inactive
        active(2)      TCA current state is active

        Writing this object will result in a TCA notification if the value of
        the object changes state.
       "
    REFERENCE
       "[MEF35.1] O4"
    DEFVAL { inactive }
    ::= { mefSoamDmTcaCfgEntry 8 }

mefSoamDmTcaCfgRowStatus 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.
       "
   ::= { mefSoamDmTcaCfgEntry 9 }


-- *****************************************************************************
-- 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)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates whether a specific notification is
        enabled. Note that TCA alarms are enabled individually by either
        mefSoamLmTcaCfgEnable or mefSoamDmTcaCfgEnable and not by this
        object.

        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
       "
    DEFVAL { { } }
    ::= { mefSoamPmNotificationCfg 2 }

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

mefSoamPmNotificationObjDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "This object contains the UTC 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.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { 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.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { 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.
       "
    REFERENCE
       "[MEF35.1] CR22"
   ::= { 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,
        mefSoamDmMeasuredStatsXTable or mefSoamDmCurrentStatsXTable.

        This object is only used for the notification.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { 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 mefSoamDmCurrentStatsXTable.

        This object is only used for the notification.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { mefSoamPmNotificationObj 5 }

mefSoamPmNotificationObjCrossingType OBJECT-TYPE
    SYNTAX      INTEGER {
                  stateless      (1),
                  statefulSet    (2),
                  statefulClear  (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.

        stateless(1)     indicates that the TCA alarm was stateless

        statefulSet(2)   indicates that the TCA alarm was a stateful
                         TCA SET

        statefulClear(3) indicates that the TCA alarm was a stateful
                         TCA CLEAR

        This object is only used for the notification.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { mefSoamPmNotificationObj 6 }

mefSoamPmNotificationObjDestinationMep OBJECT-TYPE
    SYNTAX MacAddress
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The MAC address of the Destination MEP associated with the notification
        found in either the mefSoamDmCfgTable or mefSoamLmCfgTable.

        This object is only used for the notification.
       "
    REFERENCE
       "[MEF35.1] CR22"
   ::= { mefSoamPmNotificationObj 7 }

mefSoamPmNotificationObjPriority OBJECT-TYPE
    SYNTAX IEEE8021PriorityValue
    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.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { mefSoamPmNotificationObj 8 }

mefSoamPmNotificationObjDestinationMepId OBJECT-TYPE
    SYNTAX Dot1agCfmMepId
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The MEP Identifier of the Destination MEP associated with the
        notification found in either the mefSoamDmCfgTable or
        mefSoamLmCfgTable.

        This object is only used for the notification.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { mefSoamPmNotificationObj 9 }

mefSoamPmNotificationObjMeasurementInterval OBJECT-TYPE
    SYNTAX DateAndTime
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The UTC time at the start of the Measurement Interval for which the TCA
        was generated.

        This object is only used for the notification.
       "
    REFERENCE
       "[MEF35.1] CR22"
   ::= { mefSoamPmNotificationObj 10 }

mefSoamPmNotificationObjSeverity OBJECT-TYPE
    SYNTAX      INTEGER {
        warning (1),
        info (2)
    }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The severity of the TCA notification.

        Warning(1)   severity for stateless TCA or stateful TCA SET
        Info(2)      severity for statfule TCA CLEAR

        This object is only used for the notification.
       "
    REFERENCE
       "[MEF35.1] CR22"
    ::= { mefSoamPmNotificationObj 11 }

mefSoamPmNotificationObjAvailabilityStatus OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "This object indicates the availability status change for the
        notification.

        Bits 0:1 indicate the state of the Forward Availability
           0x0 = No change to forward availability status
           0x1 = Forward availability status changed to Available
           0x2 = Forward availability status changed to Unavailable
           0x3 = Undefined

        Bits 2:3 indicate the state of the Backward Availability
           0x0 = No change to backward availability status
           0x1 = Backward availability status changed to Available
           0x2 = Backward availability status changed to Unavailable
           0x3 = Undefined

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


-- *****************************************************************************
-- NOTIFICATIONS (TRAPS)
-- *****************************************************************************

mefSoamAvailabilityChangeAlarm NOTIFICATION-TYPE
    OBJECTS     {
                mefSoamPmNotificationObjDateAndTime,
                mefSoamLmMeasuredStatsAvailForwardStatus,
                mefSoamLmMeasuredStatsAvailBackwardStatus,
                mefSoamLmMeasuredStatsAvailForwardLastTransitionTime,
                mefSoamLmMeasuredStatsAvailBackwardLastTransitionTime,
                mefSoamLmCurrentAvailStatsForwardAvailable,
                mefSoamLmCurrentAvailStatsForwardUnavailable,
                mefSoamLmCurrentAvailStatsBackwardAvailable,
                mefSoamLmCurrentAvailStatsBackwardUnavailable,
                mefSoamPmNotificationObjDestinationMep,
                mefSoamPmNotificationObjPriority,
                mefSoamPmNotificationObjDestinationMepId,
                mefSoamPmNotificationObjAvailabilityStatus
                }
    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
       "[MEF35.1] R83-R84, CR63-CR64"
    ::= { 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,
                mefSoamPmNotificationObjMeasurementInterval,
                mefSoamPmNotificationObjSeverity
                }
    STATUS      current
    DESCRIPTION
       "An TCA notification is sent if the
        following conditions are met for a particular type.

        For a stateless TCA notification five conditions need to be met:

        a) measurement of the parameter is enabled via the
           mefSoamLmCfgMeasurementEnable for a LM TCA or
           mefSoamDmCfgMeasurementEnable for a DM TCA; and

        b) the parameter threshold is configured in the mefSoamLmTcaCfgTable
           for LM TCA or mefSoamDmTcaCfgTable for DM TCA; and

        c) the TCA type is enabled via the mefSoamLmTcaCfgEnable
           or mefSoamDmTcaCfgEnable; and

        d) the measured value of the parameter exceeds the value configured in
           the mefSoamLmTcaCfgThresholdValue for a LM TCA or
           mefSoamDmTcaCfgThresholdValue for a DM TCA; and

        e) no previous TCA notifications with type
           'stateless' has been sent relating to the same threshold
           in the mefSoamLmTcaCfgTable or mefSoamDmTcaCfgTable during this
           Measurement Interval.

        For a TCA SET (statefulSet) five conditions need to be met:

        a) measurement of the parameter is enabled via the
           mefSoamLmCfgMeasurementEnable for a LM TCA or
           mefSoamDmCfgMeasurementEnable for a DM TCA; and

        b) the parameter threshold is configured in the mefSoamLmTcaCfgTable
           for LM TCA or mefSoamDmTcaCfgTable for DM TCA; and

        c) the TCA type is enabled via the mefSoamLmTcaCfgEnable
           or mefSoamDmTcaCfgEnable; and

        d) the measured value of the parameter exceeds the value configured in
           the mefSoamLmTcaCfgThresholdValue for a LM stateful entry or
           mefSoamDmTcaCfgThresholdValue for a DM stateful entry for this
           Measurement Interval; and

        e) the measured value during the previous measurement interval did not
           exceed the value configured in the mefSoamLmTcaCfgThresholdValue for
           a LM stateful entry or mefSoamDmTcaCfgTable for a DM stateful entry.

        For a TCA CLEAR (statefulClear) five conditions need to be met:

        a) measurement of the parameter is enabled via the
           mefSoamLmCfgMeasurementEnable for a LM TCA or
           mefSoamDmCfgMeasurementEnable for a DM TCA; and

        b) the parameter threshold is configured in the mefSoamLmTcaCfgTable
           for LM TCA or mefSoamDmTcaCfgTable for DM TCA; and

        c) the TCA type is enabled via the mefSoamLmTcaCfgEnable
           or mefSoamDmTcaCfgEnable; and

        d) the measured value of the parameter did not exceed the value
           configured in the mefSoamLmTcaCfgClearValue for a LM stateful entry
           or mefSoamDmTcaCfgClearValue for a DM stateful entry for the
           Measurement Interval; and

        e) the measured value during the previous measurement interval did
           exceed the value configured in the mefSoamLmTcaCfgClearValue for
           a LM stateful entry or mefSoamDmTcaCfgClearValue for a DM stateful
           entry.

        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 TCA
        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 (stateless or stateful) per MEP per
        LM or DM session per TCA instance as specified by
        mefSoamPmNotificationCfgAlarmInterval. A 'notification-event' is the
        transmission of a single notification to a list of notification
        destinations.

        If additional TCA 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 TCA
        events occurred since the start of the alarm interval period.
        In such a case, another alarm interval period is started right away.
       "
    REFERENCE
       "[MEF35.1] O4, CR10-CR20, CD2-CD4, CR22
       "
    ::= { 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,
     mefSoamPmMepLmSingleEndedResponder
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM PM MEP group."
    ::= { mefSoamPmMibGroups 1 }

mefSoamLmCfgMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCfgType,
      mefSoamLmCfgEnabled,
      mefSoamLmCfgMeasurementEnable,
      mefSoamLmCfgMessagePeriod,
      mefSoamLmCfgPriority,
      mefSoamLmCfgFrameSize,
      mefSoamLmCfgMeasurementInterval,
      mefSoamLmCfgNumIntervalsStored,

      mefSoamLmCfgDestMacAddress,
      mefSoamLmCfgDestMepId,
      mefSoamLmCfgDestIsMepId,

      mefSoamLmCfgStartTimeType,
      mefSoamLmCfgFixedStartDateAndTime,
      mefSoamLmCfgRelativeStartTime,
      mefSoamLmCfgStopTimeType,
      mefSoamLmCfgFixedStopDateAndTime,
      mefSoamLmCfgRelativeStopTime,
      mefSoamLmCfgRepetitionTime,

      mefSoamLmCfgAvailabilityMeasurementInterval,
      mefSoamLmCfgAvailabilityNumConsecutiveHighFlr,
     mefSoamLmCfgAvailabilityNumConsecutiveMeasPdus,
      mefSoamLmCfgAvailabilityFlrThreshold,
      mefSoamLmCfgAvailabilityNumConsecutiveIntervals,
      mefSoamLmCfgSessionType,
      mefSoamLmCfgRowStatus,
      mefSoamLmCfgCosType
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Configuration group."
    ::= { mefSoamPmMibGroups 3 }

mefSoamLmCfgOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCfgVersion,
      mefSoamLmCfgDataPattern,
      mefSoamLmCfgTestTlvIncluded,
      mefSoamLmCfgTestTlvPattern,
      mefSoamLmCfgAlignMeasurementIntervals,
      mefSoamLmCfgAlignMeasurementOffset,
      mefSoamLmCfgSourceMacAddress,
      mefSoamLmCfgSessionStatus,
      mefSoamLmCfgHistoryClear,
      mefSoamLmCfgTcaNextIndex,
      mefSoamLmCfgDei,
      mefSoamLmTestId
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Configuration group."
    ::= { mefSoamPmMibGroups 4 }

mefSoamLmMeasuredStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmMeasuredStatsAvailForwardLastTransitionTime,
      mefSoamLmMeasuredStatsAvailBackwardLastTransitionTime,
      mefSoamLmMeasuredStatsAvailForwardStatus,
      mefSoamLmMeasuredStatsAvailBackwardStatus
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Measured Stats group."
    ::= { mefSoamPmMibGroups 5 }

mefSoamLmMeasuredStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmMeasuredStatsForwardFlr,
      mefSoamLmMeasuredStatsBackwardFlr
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Measured Stats group."
    ::= { mefSoamPmMibGroups 6 }

mefSoamLmCurrentAvailStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmCurrentAvailStatsIndex,
      mefSoamLmCurrentAvailStatsStartTime,
      mefSoamLmCurrentAvailStatsElapsedTime,
      mefSoamLmCurrentAvailStatsSuspect,
      mefSoamLmCurrentAvailStatsForwardHighLoss,
      mefSoamLmCurrentAvailStatsBackwardHighLoss,
      mefSoamLmCurrentAvailStatsForwardConsecutiveHighLoss,
      mefSoamLmCurrentAvailStatsBackwardConsecutiveHighLoss,
      mefSoamLmCurrentAvailStatsForwardAvailable,
      mefSoamLmCurrentAvailStatsBackwardAvailable,
      mefSoamLmCurrentAvailStatsForwardUnavailable,
      mefSoamLmCurrentAvailStatsBackwardUnavailable
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Current Availability group."
    ::= { mefSoamPmMibGroups 7 }

mefSoamLmCurrentAvailStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      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,
      mefSoamLmCurrentStatsForwardTransmittedFrames,
      mefSoamLmCurrentStatsForwardReceivedFrames,
      mefSoamLmCurrentStatsBackwardTransmittedFrames,
      mefSoamLmCurrentStatsBackwardReceivedFrames,
      mefSoamLmCurrentStatsSoamPdusSent,
      mefSoamLmCurrentStatsSoamPdusReceived
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM current statistics group."
    ::= { mefSoamPmMibGroups 9 }

mefSoamLmCurrentStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      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,
      mefSoamLmHistoryAvailStatsForwardHighLoss,
      mefSoamLmHistoryAvailStatsBackwardHighLoss,
      mefSoamLmHistoryAvailStatsForwardConsecutiveHighLoss,
      mefSoamLmHistoryAvailStatsBackwardConsecutiveHighLoss,
      mefSoamLmHistoryAvailStatsForwardAvailable,
      mefSoamLmHistoryAvailStatsBackwardAvailable,
      mefSoamLmHistoryAvailStatsForwardUnavailable,
      mefSoamLmHistoryAvailStatsBackwardUnavailable
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM Availability LM history
        statistics group.
       "
    ::= { mefSoamPmMibGroups 11 }

mefSoamLmHistoryAvailStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      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,
      mefSoamLmHistoryStatsForwardTransmittedFrames,
      mefSoamLmHistoryStatsForwardReceivedFrames,
      mefSoamLmHistoryStatsBackwardTransmittedFrames,
      mefSoamLmHistoryStatsBackwardReceivedFrames,
      mefSoamLmHistoryStatsSoamPdusSent,
      mefSoamLmHistoryStatsSoamPdusReceived
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM history statistics group."
    ::= { mefSoamPmMibGroups 13 }

mefSoamLmHistoryStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      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,
      mefSoamDmCfgMeasurementInterval,
      mefSoamDmCfgNumIntervalsStored,

      mefSoamDmCfgDestMacAddress,
      mefSoamDmCfgDestMepId,
      mefSoamDmCfgDestIsMepId,

      mefSoamDmCfgStartTimeType,
      mefSoamDmCfgFixedStartDateAndTime,
      mefSoamDmCfgRelativeStartTime,
      mefSoamDmCfgStopTimeType,
      mefSoamDmCfgFixedStopDateAndTime,
      mefSoamDmCfgRelativeStopTime,
      mefSoamDmCfgRepetitionTime,

      mefSoamDmCfgAlignMeasurementIntervals,
      mefSoamDmCfgNumMeasBinsPerFrameDelayInterval,
      mefSoamDmCfgNumMeasBinsPerInterFrameDelayVariationInterval,
      mefSoamDmCfgNumMeasBinsPerFrameDelayRangeInterval,
      mefSoamDmCfgSessionType,
      mefSoamDmCfgRowStatus,
      mefSoamDmCfgCosType
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM configuration group."
    ::= { mefSoamPmMibGroups 15 }

mefSoamDmCfgOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCfgVersion,
      mefSoamDmCfgDataPattern,
      mefSoamDmCfgTestTlvIncluded,
      mefSoamDmCfgTestTlvPattern,
      mefSoamDmCfgSourceMacAddress,
      mefSoamDmCfgAlignMeasurementOffset,
      mefSoamDmCfgInterFrameDelayVariationSelectionOffset,
      mefSoamDmCfgSessionStatus,
      mefSoamDmCfgHistoryClear,
      mefSoamDmCfgTcaNextIndex,
      mefSoamDmCfgDei
   }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM Configuration group."
    ::= { mefSoamPmMibGroups 16 }

mefSoamDmCfgMeasBinMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCfgMeasBinLowerBound,
      mefSoamDmMeasuredStatsXFrameDelayForward,
      mefSoamDmMeasuredStatsXFrameDelayBackward,
      mefSoamDmMeasuredStatsXIfdvTwoWay,
      mefSoamDmMeasuredStatsXIfdvForward,
      mefSoamDmMeasuredStatsXIfdvBackward
}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM measurement bin configuration
        group."
    ::= { mefSoamPmMibGroups 17 }

mefSoamDmMeasuredStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmMeasuredStatsXFrameDelayTwoWay
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM Measured Stats group."
    ::= { mefSoamPmMibGroups 18 }

mefSoamDmCurrentStatsMandatoryGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCurrentStatsXIndex,
      mefSoamDmCurrentStatsXStartTime,
      mefSoamDmCurrentStatsXElapsedTime,
      mefSoamDmCurrentStatsXSuspect,
      mefSoamDmCurrentStatsXFrameDelayTwoWayMin,
      mefSoamDmCurrentStatsXFrameDelayTwoWayMax,
      mefSoamDmCurrentStatsXFrameDelayTwoWayAvg,
      mefSoamDmCurrentStatsXFrameDelayForwardMin,
      mefSoamDmCurrentStatsXFrameDelayForwardMax,
      mefSoamDmCurrentStatsXFrameDelayForwardAvg,
      mefSoamDmCurrentStatsXFrameDelayBackwardMin,
      mefSoamDmCurrentStatsXFrameDelayBackwardMax,
      mefSoamDmCurrentStatsXFrameDelayBackwardAvg,
      mefSoamDmCurrentStatsXIfdvForwardMax,
      mefSoamDmCurrentStatsXIfdvForwardAvg,
      mefSoamDmCurrentStatsXIfdvBackwardMax,
      mefSoamDmCurrentStatsXIfdvBackwardAvg,
      mefSoamDmCurrentStatsXFrameDelayRangeForwardMax,
      mefSoamDmCurrentStatsXFrameDelayRangeForwardAvg,
      mefSoamDmCurrentStatsXFrameDelayRangeBackwardMax,
      mefSoamDmCurrentStatsXFrameDelayRangeBackwardAvg,
      mefSoamDmCurrentStatsXSoamPdusSent,
      mefSoamDmCurrentStatsXSoamPdusReceived
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM current statistics group."
    ::= { mefSoamPmMibGroups 19 }

mefSoamDmCurrentStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmCurrentStatsXIfdvTwoWayMax,
      mefSoamDmCurrentStatsXIfdvTwoWayAvg,
      mefSoamDmCurrentStatsXFrameDelayRangeTwoWayMax,
      mefSoamDmCurrentStatsXFrameDelayRangeTwoWayAvg
    }
    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 {
      mefSoamDmHistoryStatsXEndTime,
      mefSoamDmHistoryStatsXElapsedTime,
      mefSoamDmHistoryStatsXSuspect,
      mefSoamDmHistoryStatsXFrameDelayTwoWayMin,
      mefSoamDmHistoryStatsXFrameDelayTwoWayMax,
      mefSoamDmHistoryStatsXFrameDelayTwoWayAvg,
      mefSoamDmHistoryStatsXFrameDelayForwardMin,
      mefSoamDmHistoryStatsXFrameDelayForwardMax,
      mefSoamDmHistoryStatsXFrameDelayForwardAvg,
      mefSoamDmHistoryStatsXFrameDelayBackwardMin,
      mefSoamDmHistoryStatsXFrameDelayBackwardMax,
      mefSoamDmHistoryStatsXFrameDelayBackwardAvg,
      mefSoamDmHistoryStatsXIfdvForwardMax,
      mefSoamDmHistoryStatsXIfdvForwardAvg,
      mefSoamDmHistoryStatsXIfdvBackwardMax,
      mefSoamDmHistoryStatsXIfdvBackwardAvg,
      mefSoamDmHistoryStatsXFrameDelayRangeForwardMax,
      mefSoamDmHistoryStatsXFrameDelayRangeForwardAvg,
      mefSoamDmHistoryStatsXFrameDelayRangeBackwardMax,
      mefSoamDmHistoryStatsXFrameDelayRangeBackwardAvg,
      mefSoamDmHistoryStatsXSoamPdusSent,
      mefSoamDmHistoryStatsXSoamPdusReceived
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM history statistics group."
    ::= { mefSoamPmMibGroups 22 }

mefSoamDmHistoryStatsOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamDmHistoryStatsXIfdvTwoWayMax,
      mefSoamDmHistoryStatsXIfdvTwoWayAvg,
      mefSoamDmHistoryStatsXFrameDelayRangeTwoWayMax,
      mefSoamDmHistoryStatsXFrameDelayRangeTwoWayAvg
    }
    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 }

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,
      mefSoamPmNotificationObjDestinationMepId,
      mefSoamPmNotificationObjMeasurementInterval,
      mefSoamPmNotificationObjAvailabilityStatus
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the SOAM PM Notification Object group."
    ::= { mefSoamPmMibGroups 32 }

mefSoamPmNotificationObjOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamPmNotificationObjThresholdConfig,
      mefSoamPmNotificationObjThresholdId,
      mefSoamPmNotificationObjThresholdValue,
      mefSoamPmNotificationObjCrossingType,
      mefSoamPmNotificationObjSeverity
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM PM Notifications group."
    ::= { mefSoamPmMibGroups 33 }

mefSoamLmTcaOptionalGroup OBJECT-GROUP
    OBJECTS {
      mefSoamLmTcaCfgEnable,
      mefSoamLmTcaCfgAlarmType,
      mefSoamLmTcaCfgThresholdValue,
      mefSoamLmTcaCfgClearValue,
      mefSoamLmTcaCfgAlarmCurrentState,
      mefSoamLmTcaCfgRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM threshold group."
    ::= { mefSoamPmMibGroups 34 }

mefSoamDmTcaOptionalGroup OBJECT-GROUP
OBJECTS {
      mefSoamDmTcaCfgEnable,
      mefSoamDmTcaCfgAlarmType,
      mefSoamDmTcaCfgBinNumber,
      mefSoamDmTcaCfgThresholdValue,
      mefSoamDmTcaCfgClearValue,
      mefSoamDmTcaCfgAlarmCurrentState,
      mefSoamDmTcaCfgRowStatus
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM threshold group."
    ::= { mefSoamPmMibGroups 35 }


-- ******************************************************************
-- 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,
            mefSoamPmNotificationsMandatoryGroup,
            mefSoamPmNotificationCfgMandatoryGroup,
            mefSoamPmNotificationObjMandatoryGroup
        }

    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 mefSoamPmNotificationsOptionalGroup
    DESCRIPTION "The mefSoamPmNotificationsOptionalGroup is an optional requirement."

    GROUP mefSoamPmNotificationObjOptionalGroup
    DESCRIPTION "The mefSoamPmNotificationObjOptionalGroup is an optional
        requirement."

    GROUP mefSoamLmTcaOptionalGroup
    DESCRIPTION "The mefSoamLmTcaOptionalGroup is an optional
        requirement."

    GROUP mefSoamDmTcaOptionalGroup
    DESCRIPTION "The mefSoamLmTcaOptionalGroup is an optional
        requirement."

    ::= { mefSoamPmMibCompliances 1 }


END


