OS-PROV-SOAM-PM-MIB DEFINITIONS ::= BEGIN
  IMPORTS
    NOTIFICATION-TYPE, MODULE-IDENTITY, OBJECT-TYPE,
    Unsigned32, Gauge32                                     FROM SNMPv2-SMI         -- RFC 2578
    TEXTUAL-CONVENTION,
    RowStatus, TruthValue, MacAddress, DateAndTime, 
    DisplayString, TimeInterval                             FROM SNMPv2-TC          -- RFC 2579
    OBJECT-GROUP, NOTIFICATION-GROUP, MODULE-COMPLIANCE     FROM SNMPv2-CONF        -- RFC 2580
    Dot1afCfmIndexIntegerNextFree                           FROM IEEE8021-CFM-MIB   -- IEEE 802.1ag
    MefSoamTcOperationTimeType, MefSoamTcDataPatternType,
    MefSoamTcTestPatternType, MefSoamTcMeasurementPeriodType,
    MefSoamTcDelayMeasurementBinType, MefSoamTcStatusType,
    MefSoamTcAvailabilityType                               FROM MEF-SOAM-TC-MIB   
    osProvBinCfgBinIndex                                    FROM OS-PROV-BINS-MIB             
    osEthServ,
    osEthServId,
    osEthServFlowId,
    osEthServFlowEntry                                      FROM OS-ETH-SERV-MIB
    EntityName, EntryValidator, 
    ProfileStatus, OsCfmMepIdOrZero                         FROM OS-COMMON-TC-MIB;

osSoamPmMib MODULE-IDENTITY
    LAST-UPDATED    "201502010000Z" -- 1 february 2015
    ORGANIZATION    "MRV Communications, Inc."
    CONTACT-INFO	"Inna Levin
                    MRV Communication, Inc
                    http://www.mrv.com
                    Email:  ilevin@mrv.com"
    DESCRIPTION
            "This MIB module contains the management objects for the
            management of Ethernet Services Operations, Administration
            and Maintenance for Performance Monitoring of Provision Services 
            (high-level for MEF-SOAM-PM-MIB).
            "
    REVISION     "201502010000Z" -- 1 february 2015
    DESCRIPTION  "New tables:
                1) osSoamDmLastStatsTable end osSoamDmLastStatsBinsTable;
                2) osSoamLmLastAvailStatsTable and osSoamLmLastStatsTable."
            
    REVISION     "201407140000Z" -- 14 July. 2014
    DESCRIPTION  "New objects osSoamLmCfgLastHistIndx and osSoamDmCfgLastHistIndx."
            
    REVISION     "201302190000Z" -- 19 Feb. 2013
    DESCRIPTION  "Fixed the following values: 
               1) osSoamPmDmPrflIfdvSelOffset: range (2..100) defined
               2) osSoamPmDmPrflNuMeasBinPrFdInt and
                  osSoamPmDmPrflNuMeasBinPrIfdvInt : range changed from (1..100) to (2..100)
               3) osSoamPmDmPrflNuMeasBinPrIfdvInt: default changed from 1 to 2
               4) as other profiles, osSoamPmDmThrPrflTable/osSoamPmLmThrPrflTable 
                   need only one index: osSoamPmDmThrPrflId/osSoamPmLmThrPrflId
               "

    REVISION       "201111270000Z" -- 27 Nov. 2011
    DESCRIPTION
            "Initial Version."
    ::= { osEthServ 33 }

-- *****************************************************************************
-- Object definitions in the SOAM PM MIB Module
-- *****************************************************************************
osSoamPmNotifs  OBJECT IDENTIFIER ::= { osSoamPmMib 0 }
osSoamPmMibObjects     OBJECT IDENTIFIER ::= { osSoamPmMib 1 }
osSoamPmMibConformance OBJECT IDENTIFIER ::= { osSoamPmMib 2 }
osSoamPmCapabilities   OBJECT IDENTIFIER ::= { osSoamPmMib 3 }

-- *****************************************************************************
-- Groups in the SOAM PM MIB Module
-- *****************************************************************************
osSoamPmFlow             OBJECT IDENTIFIER  ::= { osSoamPmMibObjects 1 }
osSoamPmProfiles         OBJECT IDENTIFIER  ::= { osSoamPmMibObjects 2 }
osSoamPmLmObjects        OBJECT IDENTIFIER  ::= { osSoamPmMibObjects 3 }
osSoamPmDmObjects        OBJECT IDENTIFIER  ::= { osSoamPmMibObjects 4 }
osSoamPmNotifCfg         OBJECT IDENTIFIER  ::= { osSoamPmMibObjects 5 }
osSoamPmNotifObj         OBJECT IDENTIFIER  ::= { osSoamPmMibObjects 6 }

-- ************************************************************
-- Textual conventions
-- ************************************************************

SoamTcStatusExType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "This enumeration data type defines the extension status of PM session of a MEP.

        The valid enumerated values associated with this type are:

        active(1)          - the test is active
        notActive(2)       - the test is not active, because it or it's service is disabled.
        waitForTimeAlign(3)- the test will be started after time alignment.
        waitForPortInit(4) - the test will be started in the end of initialization
        waitForRmep(5)     - the test will be started after its MEP activation
        waitForFpgaUpgrade(6) - the test will be started in the end of the FPGA upgrade.
        waitForLmResponder(7) - the test will be started after response of LM responder.           
        
       "
    SYNTAX      INTEGER {
                  active(1),
                  notActive(2),
                  waitForTimeAlign(3),
                  waitForPortInit(4),
                  waitForRmep(5),
                  waitForFpgaUpgrade(6),
                  waitForLmResponder(7)                  
                }

SoamDmCapabilities ::= TEXTUAL-CONVENTION
    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.

        Some of conformity:
        osSoamDmHistStatsInitiatedMeas    bInitiatedMeasurementCounter
        osSoamDmHistStatsReceivedMeas     bReceivedMeasurementCounter
        osSoamDmHistStatsFdTwMin          bFdTwMin
        osSoamDmHistStatsFdTwMax          bFdTwMax
        osSoamDmHistStatsFdTwAvg          bFdTwAvg
        osSoamDmHistStatsFdFwMin          bFdFwMin,
        osSoamDmHistStatsFdFwMax          FdFwMax
        osSoamDmHistStatsFdFwAvg          FdFwAvg
        osSoamDmHistStatsFdBwMin          bFdBwMin
        osSoamDmHistStatsFdBwMax          bFdBwMax
        osSoamDmHistStatsFdBwAvg          bFdBwAvg
        osSoamDmHistStatsIfdvFwMin        bIfdvFwMin
        osSoamDmHistStatsIfdvFwMax        bIfdvFwMax
        osSoamDmHistStatsIfdvFwAvg        bIfdvFwAvg
        osSoamDmHistStatsIfdvBwMin        bIfdvBwMin
        osSoamDmHistStatsIfdvBwMax        bIfdvBwMax,
        osSoamDmHistStatsIfdvBwAvg        bIfdvBwAvg,
       "
    REFERENCE
       "[MEF SOAM-PM]"
    SYNTAX      BITS {
                     bInitiatedMeasurementCounter(0),
                     bReceivedMeasurementCounter(1),
                     bFdTwBins(2),
                     bFdTwMin(3),
                     bFdTwMax(4),
                     bFdTwAvg(5),
                     bFdFwBins(6),
                     bFdFwMin(7),
                     bFdFwMax(8),
                     bFdFwAvg(9),
                     bFdBwBins(10),
                     bFdBwMin(11),
                     bFdBwMax(12),
                     bFdBwAvg(13),
                     bIfdvFwBins(14),
                     bIfdvFwMin(15),
                     bIfdvFwMax(16),
                     bIfdvFwAvg(17),
                     bIfdvBwBins(18),
                     bIfdvBwMin(19),
                     bIfdvBwMax(20),
                     bIfdvBwAvg(21),
                     bIfdvTwBins(22),
                     bIfdvTwMin(23),
                     bIfdvTwMax(24),
                     bIfdvTwAvg(25),
                     bMeasStatsFdTw(26),
                     bMeasStatsFdFw(27),
                     bMeasStatsFdBw(28),
                     bMeasStatsIfdvTw(29),
                     bMeasStatsIfdvFw(30),
                     bMeasStatsIfdvBw(31)    
                }

SoamDmThrCapabilities ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates the type of SOAM DM threshold 
        notifications that are enabled. 

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

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

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

        bOsSoamDmMaxFdTwThr(0) 
                Enables/disables maximum frame two-way delay threshold 
                notification. The notification is sent immediately when the
                osSoamPmDmThrPrflMaxFdTwThr value is 
                greater than or equal to threshold value in a measurement interval.
        bOsSoamDmAvgFdTwThr(1)
                Enables/disables average frame two-way delay threshold
                notification. The notification is sent when at the end of a
                measurement interval if the 
                osSoamPmDmThrPrflAvgFdTwThr value is 
                greater than or equal to the threshold value.
        bOsSoamDmMaxFdFwThr(2)
                Enables/disables maximum Fw frame delay threshold
                notification. The notification is sent immediately when the
                osSoamPmDmThrPrflMaxFdFwThr value is
                greater than or equal to threshold value in a measurement interval.
        bOsSoamDmAvgFdFwThr(3)
                Enables/disables average Fw frame delay threshold
                notification. The notification is sent when at the end of a
                measurement interval if the 
                osSoamPmDmThrPrflAvgFdFwThr value is
                greater than or equal to the threshold value.
        bOsSoamDmMaxFdBwThr(4)
                Enables/disables maximum Bw frame delay threshold
                notification. The notification is sent immediately when the
                osSoamPmDmThrPrflMaxFdBwThr value is
                greater than or equal to threshold value in a 
                measurement interval.
        bOsSoamDmAvgFdBwThr(5)
                Enables/disables average Bw frame delay threshold
                notification. The notification is sent when at the end of a
                measurement interval if the 
                osSoamPmDmThrPrflAvgFdBwThr value is
                greater than or equal to the threshold value.
        bOsSoamDmMaxIfdvFwThr(6)
                Enables/disables maximum frame IFDV Fw threshold 
                notification. The notification is sent immediately when the
                osSoamPmDmThrPrflMaxIfdvFwThr value is greater
                than or equal to threshold value in a measurement interval.
        bOsSoamDmAvgIfdvFwThr(7)
                Enables/disables average frame IFDV Fw threshold
                notification. The notification is sent when at the end of a
                measurement interval if the 
                osSoamPmDmThrPrflAvgIfdvFwThr value is 
                greater than or equal to the threshold value.
        bOsSoamDmMaxIfdvBwThr(8)
                Enables/disables maximum frame IFDV Bw threshold 
                notification. The notification is sent immediately when the
                osSoamPmDmThrPrflMaxIfdvBwThr value is greater
                than or equal to threshold value in a measurement interval.
        bOsSoamDmAvgIfdvBwThr(9)
                Enables/disables average frame IFDV Bw threshold
                notification. The notification is sent when at the end of a
                measurement interval if the 
                osSoamPmDmThrPrflAvgIfdvBwThr value is greater
                than or equal to the threshold value.
       "
    REFERENCE
       "[MEF SOAM-PM]"
    SYNTAX      BITS {
                     bOsSoamDmMaxFdTwThr(0),
                     bOsSoamDmAvgFdTwThr(1),
                     bOsSoamDmMaxFdFwThr(2),
                     bOsSoamDmAvgFdFwThr(3),
                     bOsSoamDmMaxFdBwThr(4),
                     bOsSoamDmAvgFdBwThr(5),
                     bOsSoamDmMaxIfdvFwThr(6),
                     bOsSoamDmAvgIfdvFwThr(7),
                     bOsSoamDmMaxIfdvBwThr(8),
                     bOsSoamDmAvgIfdvBwThr(9)
                }                
                                
SoamLmCapabilities ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates the type of SOAM LM counters found
        in the osSoamLmHistStatsTable 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. 
      "    
    REFERENCE
       "[MEF SOAM-PM]"    
    SYNTAX      BITS {
                     bForwardTransmitedFrames(0),
                     bForwardReceivedFrames(1),
                     bForwardMinFlr(2),
                     bForwardMaxFlr(3),
                     bForwardAvgFlr(4),
                     bBackwardTransmitedFrames(5),
                     bBackwardReceivedFrames(6),
                     bBackwardMinFlr(7),
                     bBackwardMaxFlr(8),
                     bBackwardAvgFlr(9),
                     bInitiatedMeasurements(10),
                     bReceivedMeasurements (11),
                     bAvailForwardHighLoss(12),
                     bAvailForwardConsHighLoss(13),
                     bAvailForwardAvailable(14),
                     bAvailForwardUnavailable(15),
                     
                     bAvailBackwardHighLoss(16),
                     bAvailBackwardConsHighLoss(17),
                     bAvailBackwardAvailable(18),
                     bAvailBackwardUnavailable(19),
                     bMeasStatsForwardMeasuredFlr(20),
                     bMeasStatsBackwardMeasuredFlr(21),
                     bMeasStatsAvailForwardStatus(22),
                     bMeasStatsAvailBackwardStatus(23)
                }

SoamLmThrCapabilities ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION
       "A vector of bits that indicates the type of SOAM LM thresholds
        notifications that are enabled. 

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

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

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

        bOsSoamLmMaxFlrFwThr(0)
                Enables/disables maximum frame loss Fw ratio threshold 
                notification. The notification is sent immediately when the
                osSoamPmLmThrPrflMaxFlrFwThr value is greater
                than or equal to threshold value in a measurement interval.
        bOsSoamLmAvgFlrFwThr(1)
                Enables/disables average frame loss Fw ratio threshold
                notification. The notification is sent when at the end of a
                measurement interval if the 
                osSoamPmLmThrPrflAvgFlrFwThr value is greater
                than or equal to the threshold value.
        bOsSoamLmMaxFlrBwThr(2)
                Enables/disables maximum frame loss Bw ratio threshold 
                notification. The notification is sent immediately when the
                osSoamPmLmThrPrflMaxFlrBwThr value is greater
                than or equal to threshold value in a measurement interval.
        bOsSoamLmAvgFlrBwThr(3)
                Enables/disables average frame loss Bw ratio threshold
                notification. The notification is sent when at the end of a
                measurement interval if the 
                osSoamPmLmThrPrflAvgFlrBwThr counter value is
                greater than or equal to the threshold value.
        bOsSoamLmFwHiLosThr(4)
                Enables/disables Fw high loss threshold
                notification. The notification is sent immediately when the 
                osSoamLmCurAvailStatsFwHiLos value is
                greater than or equal to the threshold value in a measurement
                interval.
        bOsSoamLmBwHiLosThr(5)
                Enables/disables Bw high loss threshold
                notification. The notification is sent immediately when the 
                osSoamLmCurAvailStatsBwHiLos value is
                greater than or equal to the threshold value in a measurement
                interval.
        bOsSoamLmFwConHiLosThr(6)
                Enables/disables Fw consecutive high loss threshold
                notification. The notification is sent immediately when the 
                osSoamLmCurAvailStatsFwConHiLos value is
                greater than or equal to the threshold value in a measurement
                interval.
        bOsSoamLmBwConHiLosThr(7)
                Enables/disables Bw consecutive high loss threshold
                notification. The notification is sent immediately when the 
                osSoamLmCurAvailStatsBwConHiLos value is
                greater than or equal to the threshold value in a measurement
                interval.        
        bOsSoamLmUnavFwThr(8)
                Enables/disables unavailable Fw threshold 
                notification. The notification is sent immediately when the
                osSoamPmLmThrPrflFwUnavCountThr value is 
                greater than or equal to threshold value in a measurement interval.
        bOsSoamLmUnavBwThr(9)
                Enables/disables unavailable Bw threshold 
                notification. The notification is sent immediately when the
                osSoamPmLmThrPrflBwUnavCountThr value is 
                greater than or equal to threshold value in a measurement interval.
        bOsSoamLmAvailRatioFwThr(10)
                Enables/disables availability ratio Fw threshold 
                notification. The notification is sent immediately when the
                osSoamPmLmThrPrflFwAvailRatioThr value is 
                greater than or equal to threshold value in a measurement interval.
        bOsSoamLmAvailRatioBwThr(11)
                Enables/disables availability ratio Bw threshold 
                notification. The notification is sent immediately when the
                osSoamPmLmThrPrflBwAvailRatioThr value is 
                greater than or equal to threshold value in a measurement interval.
      "
    REFERENCE
       "[MEF SOAM-PM]"
    SYNTAX      BITS {
                     bOsSoamLmMaxFlrFwThr(0),
                     bOsSoamLmAvgFlrFwThr(1),
                     bOsSoamLmMaxFlrBwThr(2),
                     bOsSoamLmAvgFlrBwThr(3),
                     bOsSoamLmFwHiLosThr(4),
                     bOsSoamLmBwHiLosThr(5),
                     bOsSoamLmFwConHiLosThr(6),
                     bOsSoamLmBwConHiLosThr(7),
                     bOsSoamLmUnavFwThr(8),
                     bOsSoamLmUnavBwThr(9),
                     bOsSoamLmAvailRatioFwThr(10),
                     bOsSoamLmAvailRatioBwThr(11)                                         
                }


-- *****************************************************************************
-- Ethernet Flow Performance Monitoring Configuration
-- *****************************************************************************

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

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

osSoamPmFlowEntry OBJECT-TYPE
    SYNTAX      OsSoamPmFlowEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of osSoamPmFlowTable."
    AUGMENTS {
             osEthServFlowEntry
             }
    ::= { osSoamPmFlowTable 1 }

OsSoamPmFlowEntry ::= SEQUENCE {
      osSoamPmFlowOperNextIndex            Dot1afCfmIndexIntegerNextFree,
      osSoamPmFlowLmSinglEndResponder      TruthValue,
      osSoamPmFlowSlmSinglEndResponder     TruthValue,
      osSoamPmFlowDmSinglEndResponder      TruthValue
    }

osSoamPmFlowOperNextIndex OBJECT-TYPE
    SYNTAX      Dot1afCfmIndexIntegerNextFree
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains an unused value for a PM session number on a 
        Flow 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 Flow 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 Flow while this
        session is active 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 osEthServFlowTable and the object is
        automatically added or deleted based upon row creation and destruction
        of the osEthServFlowTable.
       "
    DEFVAL { 1 }
    ::= { osSoamPmFlowEntry 1 }

osSoamPmFlowLmSinglEndResponder OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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. 

        A Flow can be both a single-ended responder and initiator simultaneously.
       "
    DEFVAL { true }
    ::= { osSoamPmFlowEntry 2 }

osSoamPmFlowSlmSinglEndResponder OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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 Flow can be both a single-ended responder and initiator simultaneously.
       "
    DEFVAL { true }
    ::= { osSoamPmFlowEntry 3 }

osSoamPmFlowDmSinglEndResponder OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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 Flow can be both a single-ended responder and initiator simultaneously.
       "
    DEFVAL { true }
    ::= { osSoamPmFlowEntry 4 }

-- *****************************************************************************
-- Common PM configuration profile (both for LM and for DM)
-- *****************************************************************************
osSoamPmGenPrflTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF OsSoamPmGenPrflEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "This table contains Configuration Profiles both for LM and DM."
    ::= { osSoamPmProfiles 1 }

osSoamPmGenPrflEntry OBJECT-TYPE
    SYNTAX       OsSoamPmGenPrflEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osSoamPmGenPrflId }
    ::= { osSoamPmGenPrflTable 1 }

OsSoamPmGenPrflEntry ::= SEQUENCE {
      osSoamPmGenPrflId                   EntityName,
      osSoamPmGenPrflMessagePeriod        MefSoamTcMeasurementPeriodType,
         
      osSoamPmGenPrflFrameSize            Unsigned32,
      osSoamPmGenPrflDataPattern          MefSoamTcDataPatternType,
      osSoamPmGenPrflTestTlvIncluded      TruthValue,
      osSoamPmGenPrflTestTlvPattern       MefSoamTcTestPatternType,
      
      osSoamPmGenPrflMeasurementInt       Unsigned32,
      osSoamPmGenPrflNumIntsStored        Unsigned32,
      osSoamPmGenPrflRepetitionPeriod     Unsigned32,
      osSoamPmGenPrflAlignMeasInts        TruthValue,
      
      osSoamPmGenPrflLastError            DisplayString,
      osSoamPmGenPrflAdminStatus          EntryValidator,
      osSoamPmGenPrflOperStatus           ProfileStatus
}

osSoamPmGenPrflId    OBJECT-TYPE
    SYNTAX       EntityName
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Id of the profile."
    ::= { osSoamPmGenPrflEntry 1 }

osSoamPmGenPrflMessagePeriod OBJECT-TYPE
    SYNTAX      MefSoamTcMeasurementPeriodType
    UNITS       "ms"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute specifies the interval between Los/Delay Measurement
        OAM message transmission. For Los/Delay Measurement monitoring 
        applications the default value is 1 sec (1000 ms). 

        This attribute is not applicable if osSoamPmLmPrflType is set to lmCcm
        and is ignored for that Loss Measurement Type.
       "
    REFERENCE
       "[MEF SOAM-PM] R55, R56, D20"
    DEFVAL { 1000 }
    ::= { osSoamPmGenPrflEntry 2 }

osSoamPmGenPrflFrameSize OBJECT-TYPE
    SYNTAX      Unsigned32 (64..9600)
    UNITS       "bytes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute specifies the size between
        64 bytes and the maximum transmission unit of the EVC. 

        The range of frame sizes from 64 through 2000 octets, in 4 octet 
        increments, is necessary to be supported, and the range of frame sizes
        from 2004 through 9600 octets, in 4 octet increments, 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."
    REFERENCE
       "[MEF SOAM-PM] R58, D21, D22, [Y.1731]; R38, R39, D14, D15"
    DEFVAL { 64 }
    ::= { osSoamPmGenPrflEntry 4 }

osSoamPmGenPrflDataPattern OBJECT-TYPE
    SYNTAX      MefSoamTcDataPatternType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute specifies the data pattern included in a Data TLV
        when the size of the LM frame is determined by the 
        osSoamLmFrameSize object and osSoamLmTestTlvIncluded is 'false'.

        If the frame size object does not define the frame size or 
        TestTlvIncluded is 'true' the value of this object is 
        ignored.
       " 
    DEFVAL { zeroPattern }
    ::= { osSoamPmGenPrflEntry 5 }

osSoamPmGenPrflTestTlvIncluded OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Indicates whether a Test TLV or Data TLV is included when the size
        of the LM frame is determined by the osSoamLmFrameSize 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.
       "
    REFERENCE
       "[Y.1731] 9.3"
    DEFVAL { false }
    ::= { osSoamPmGenPrflEntry 6 }

osSoamPmGenPrflTestTlvPattern OBJECT-TYPE
    SYNTAX      MefSoamTcTestPatternType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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 osSoamLmFrameSize object and 
        osSoamLmTestTlvIncluded is 'true'. If the frame size object
        does not define the LM frame size or osSoamLmTestTlvIncluded
        is 'false' the value of this object is ignored.
       " 
    DEFVAL { null }
    ::= { osSoamPmGenPrflEntry 7 }

osSoamPmGenPrflMeasurementInt OBJECT-TYPE
    SYNTAX      Unsigned32 (1..525600)
    UNITS       "minutes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute specifies a measurement interval in minutes.

        A measurement interval of 15 minutes is to be supported, other intervals
        can be supported.
       "
    REFERENCE
       "[MEF SOAM-PM] R10"
    DEFVAL { 15 }
    ::= { osSoamPmGenPrflEntry 8 }

osSoamPmGenPrflNumIntsStored OBJECT-TYPE
    SYNTAX      Unsigned32 (2..1000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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.
       "
    REFERENCE
       "[MEF SOAM-PM] R10"
    DEFVAL { 32 }
    ::= { osSoamPmGenPrflEntry 9 }

osSoamPmGenPrflRepetitionPeriod OBJECT-TYPE
    SYNTAX      Unsigned32 (0..31536000)
    UNITS       "seconds"
    MAX-ACCESS  read-write
    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, 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.
       "
    REFERENCE
       "[MEF SOAM-PM] R18, D3, R19, R20"
    DEFVAL { 0 }
    ::= { osSoamPmGenPrflEntry 10 }

osSoamPmGenPrflAlignMeasInts OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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 Int starts
        at a time which is aligned to NE time source hour if the interval is
        a factor of an hour, i.e. 60min/15min = 4. For instance, a
        measurement time interval of 15 minutes would stop/start the 
        measurement interval at 0, 15, 30, and 45 minutes of an hour. A 
        measurement interval 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, and
        the behavior is the same as if the object is set to 'false'.

        The value 'false' indicates that each Measurement Int starts
        at a time which is indicated by osSoamPmGenPrflRepetitionPeriod.

        One side effect of the usage of this parameter is that if the value
        is true and the osSoamPmGenPrflRepetitionPeriod is not a factor of an
        hour then the start of the next Measurement Int will be
        delayed until the next factor of an hour.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R8, R9"
    DEFVAL { true }
    ::= { osSoamPmGenPrflEntry 11 }


osSoamPmGenPrflLastError    OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osSoamPmGenPrflEntry 97 }

osSoamPmGenPrflAdminStatus OBJECT-TYPE
    SYNTAX      EntryValidator
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmGenPrflEntry 98 }

osSoamPmGenPrflOperStatus  OBJECT-TYPE
    SYNTAX      ProfileStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmGenPrflEntry 99 }

-- *****************************************************************************
-- Ethernet Loss Measurement configuration profile
-- *****************************************************************************

osSoamPmLmPrflTable OBJECT-TYPE
    SYNTAX       SEQUENCE OF OsSoamPmLmPrflEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "This table contains Configuration Profiles for Ethernet Loss Measurement."
    ::= { osSoamPmProfiles 2 }

osSoamPmLmPrflEntry  OBJECT-TYPE
    SYNTAX       OsSoamPmLmPrflEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osSoamPmLmPrflId }
    ::= { osSoamPmLmPrflTable 1 }

OsSoamPmLmPrflEntry ::= SEQUENCE {
      osSoamPmLmPrflId                                EntityName,
      osSoamPmLmPrflType                              INTEGER,
      osSoamPmLmPrflVersion                           Unsigned32,
      osSoamPmLmPrflMeasurementEnable                 SoamLmCapabilities,      
      osSoamPmLmPrflAvailMeasInt                      Unsigned32,
      osSoamPmLmPrflAvailFlrThr                       Unsigned32,
      osSoamPmLmPrflAvailNumConsInts                  Unsigned32,
      osSoamPmLmPrflAvailNumConHighFlr                Unsigned32,
      osSoamPmLmPrflNumSynthFramesFlr                 Unsigned32,
      osSoamPmLmPrflLastError                         DisplayString,
      osSoamPmLmPrflAdminStatus                       EntryValidator,
      osSoamPmLmPrflOperStatus                        ProfileStatus
}

osSoamPmLmPrflId     OBJECT-TYPE
    SYNTAX       EntityName
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Id of the profile."
    ::= { osSoamPmLmPrflEntry 1 }

osSoamPmLmPrflType OBJECT-TYPE
    SYNTAX      INTEGER {
                  lmLmm   (1),
                  lmSlm   (2),
                  lmCcm   (3)
                }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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
       "
    REFERENCE
       "[Y.1731]"
    DEFVAL { lmSlm }
    ::= { osSoamPmLmPrflEntry 2 }

osSoamPmLmPrflVersion OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute indicates the version of the PDUs used to perform 
        Loss 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
        osSoamPmLmPrflType.
       "
    REFERENCE
       "[Y.1731]"
    DEFVAL { 0 }
    ::= { osSoamPmLmPrflEntry 3 }

osSoamPmLmPrflMeasurementEnable OBJECT-TYPE
    SYNTAX      SoamLmCapabilities
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Indicates LM Measurement values supported by the LM Profile."
    REFERENCE
       "[Y.1731]"
    DEFVAL { { } }
    ::= { osSoamPmLmPrflEntry 4 }

osSoamPmLmPrflAvailMeasInt OBJECT-TYPE
    SYNTAX      Unsigned32 (1..525600)
    UNITS       "minutes"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute specifies the availability measurement interval in 
        minutes.

        A measurement interval of 15 minutes is to be supported, other intervals
        can be supported.
       "
    REFERENCE
       "[MEF SOAM-PM] R10"
    DEFVAL { 15 }
    ::= { osSoamPmLmPrflEntry 6 }

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

        Units are in milli-percent, where 1 indicates 0.001 percent.
       "
    REFERENCE
       "[MEF 10.2.1] Section 7.9.8; [MEF SOAM-PM] R61, R62, D24, R63"
    DEFVAL { 50000 }
    ::= { osSoamPmLmPrflEntry 8 }

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

        The number range of 1 through 10 is to be supported. The number range
        of 1 through 1000 can be supported,but is not mandatory.
       "
    REFERENCE
       "[MEF 10.2.1] Section 7.9.8; [MEF SOAM-PM] R80, D33" 
    DEFVAL { 10 }
    ::= { osSoamPmLmPrflEntry 9 }

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

        osSoamPmLmPrflAvailNumConHighFlr is to be less than 
        osSoamPmLmPrflAvailNumConsInts. If not, the count of high
        loss intervals over time, osSoamLmAvailabilityHiLos, and the count 
        of consecutive high loss levels, osSoamLmAvailabilityConHiLos,
        is disabled.

        The number range of 1 through 10 is to be supported. The number range
        of 1 through 1000 can be supported, but is not mandatory.
       "
    REFERENCE
       "[MEF 10.2.1] Section 7.9.8; [MEF SOAM-PM] R59, R60, R61" 
    DEFVAL { 5 }
    ::= { osSoamPmLmPrflEntry 10 }

osSoamPmLmPrflNumSynthFramesFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This object specifies the number of consecutive synthetic loss measurement
        frames to use in order to calculate the frame loss ratio.

        This object is only valid for lmSLM LM measurements. It is 
        ignored for lmLMM, and lmCcm measurement types.

        When data frame loss is being measured using LMM or CCM the FLR 
        can be calculated for each measurement.  However, when synthetic frame 
        loss is being measured, using SLM, each measurement yields only a 
        boolean result, i.e. the frame was either lost, or it was not lost. In this
        case, a number of measurements need to be made before a sensible FLR can be
        calculated.  This object specifies that number.

        The FLR is calculated after the specified number of measurement frames have 
        been sent, and sufficient time has passed after the last frame was sent to 
        allow for them, or the corresponding replies, to have been received.
        Successive FLR calculations are performed for successive blocks of measurement 
        frames, for example if this object is set to 10, then sending 50 frames 
        results in 5 FLR calculations: the first for frames 0 - 9, the next for 
        frames 10 - 19, etc.
       "
    DEFVAL { 10 }
    ::= { osSoamPmLmPrflEntry 11 }
    
osSoamPmLmPrflLastError    OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osSoamPmLmPrflEntry 97 }

osSoamPmLmPrflAdminStatus OBJECT-TYPE
    SYNTAX      EntryValidator
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmLmPrflEntry 98 }

osSoamPmLmPrflOperStatus OBJECT-TYPE
    SYNTAX      ProfileStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmLmPrflEntry 99 }

-- *****************************************************************************
-- Performance Measurement Los Thr Configuration Table
-- *****************************************************************************

osSoamPmLmThrPrflTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamPmLmThrPrflEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the list of Loss Measurement configuration threshold
        values for LM Performance Monitoring. Instances of this managed object
        are created automatically by the Flow when the Flow creates an instance 
        of OsSoamLmCfg.

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

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

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

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

        At least one threshold set is necessary for NE SOAM PM compliance. A 
        second threshold set on the NE is desirable. More than two threshold 
        sets can be configured on the NE if supported on the NE.

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

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

osSoamPmLmThrPrflEntry OBJECT-TYPE
    SYNTAX      OsSoamPmLmThrPrflEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamPmLmThrPrflTable."
    INDEX       { 
                osSoamPmLmThrPrflId
                }
    ::= {osSoamPmLmThrPrflTable 1 }

OsSoamPmLmThrPrflEntry ::= SEQUENCE {
    osSoamPmLmThrPrflId               EntityName,
    osSoamPmLmThrPrflEnable           SoamLmThrCapabilities,
    osSoamPmLmThrPrflMaxFlrFwThr      Unsigned32,
    osSoamPmLmThrPrflAvgFlrFwThr      Unsigned32,
    osSoamPmLmThrPrflMaxFlrBwThr      Unsigned32,
    osSoamPmLmThrPrflAvgFlrBwThr      Unsigned32,
    osSoamPmLmThrPrflFwHiLosThr       Unsigned32,
    osSoamPmLmThrPrflFwConHiLosThr    Unsigned32,
    osSoamPmLmThrPrflBwHiLosThr       Unsigned32,
    osSoamPmLmThrPrflBwConHiLosThr    Unsigned32,    
    osSoamPmLmThrPrflFwUnavCountThr   Unsigned32,
    osSoamPmLmThrPrflFwAvailRatioThr  Unsigned32,
    osSoamPmLmThrPrflBwUnavCountThr   Unsigned32,
    osSoamPmLmThrPrflBwAvailRatioThr  Unsigned32,
    osSoamPmLmThrPrflLastError        DisplayString, 
    osSoamPmLmThrPrflAdminStatus      EntryValidator,
    osSoamPmLmThrPrflOperStatus       ProfileStatus
}

osSoamPmLmThrPrflId OBJECT-TYPE
    SYNTAX       EntityName
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Id of the profile."
    ::= { osSoamPmLmThrPrflEntry 1 }

osSoamPmLmThrPrflEnable OBJECT-TYPE
    SYNTAX      SoamLmThrCapabilities
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Indicates LM Thresholds notifications supported by the profile."
    DEFVAL { { } }
    ::= { osSoamPmLmThrPrflEntry 2 }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

osSoamPmLmThrPrflLastError    OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osSoamPmLmThrPrflEntry 97 }

osSoamPmLmThrPrflAdminStatus OBJECT-TYPE
    SYNTAX      EntryValidator
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmLmThrPrflEntry 98 }

osSoamPmLmThrPrflOperStatus OBJECT-TYPE
    SYNTAX      ProfileStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmLmThrPrflEntry 99 }


-- *****************************************************************************
-- Ethernet Delay Measurement configuration profile
-- *****************************************************************************

osSoamPmDmPrflTable  OBJECT-TYPE
    SYNTAX       SEQUENCE OF OsSoamPmDmPrflEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "This table contains Cinfiguration Profiles for Ethernet Delay Measurement."
    ::= { osSoamPmProfiles 4 }

osSoamPmDmPrflEntry  OBJECT-TYPE
    SYNTAX       OsSoamPmDmPrflEntry
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Contains an entry of the table."
    INDEX { osSoamPmDmPrflId }
    ::= { osSoamPmDmPrflTable 1 }

OsSoamPmDmPrflEntry ::= SEQUENCE {
      osSoamPmDmPrflId                                EntityName,
      osSoamPmDmPrflType                              INTEGER,
      osSoamPmDmPrflVersion                           Unsigned32,
      osSoamPmDmPrflMeasurementEnable                 SoamDmCapabilities,
      osSoamPmDmPrflIfdvSelOffset                     Unsigned32,
      osSoamPmDmPrflNuMeasBinPrFdInt                  Unsigned32,
      osSoamPmDmPrflNuMeasBinPrIfdvInt                Unsigned32,
      osSoamPmDmPrflLastError                         DisplayString,
      osSoamPmDmPrflAdminStatus                       EntryValidator,
      osSoamPmDmPrflOperStatus                        ProfileStatus
}

osSoamPmDmPrflId     OBJECT-TYPE
    SYNTAX       EntityName
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Id of the profile."
    ::= { osSoamPmDmPrflEntry 1 }

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

        dmDmm(1)         DMM SOAM PDU generated, DMR responses received 
                         (1-way or 2-way measurements)
        dm1DmTx(2)       1DM SOAM PDU generated (1-way measurements)
        dm1DmRx(3)       1DM SOAM PDU received and tracked (1-way measurements)

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

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

osSoamPmDmPrflVersion OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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
        osSoamPmDmPrflType.

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

osSoamPmDmPrflMeasurementEnable OBJECT-TYPE
    SYNTAX      SoamDmCapabilities
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Indicates DM Measurement values supported by the DM Profile."
    REFERENCE
       "[MEF SOAM-PM]"
    DEFVAL { { } }
    ::= { osSoamPmDmPrflEntry 4 }

osSoamPmDmPrflIfdvSelOffset OBJECT-TYPE
    SYNTAX      Unsigned32 (1|2..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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).
       "
    REFERENCE
       "[MEF SOAM-PM] R40, D16"
    DEFVAL { 1 }
    ::= { osSoamPmDmPrflEntry 5 }

osSoamPmDmPrflNuMeasBinPrFdInt OBJECT-TYPE
    SYNTAX      Unsigned32 (2..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute specifies the number of measurement bins 
        per measurement interval for Frame Delay measurements. 

        At least 3 bins are to be supported; at least 10 bins are recommended
        to be supported.
      "
    REFERENCE
       "[MEF SOAM-PM] R17, R18, D6, D7"
    DEFVAL { 3 }
    ::= { osSoamPmDmPrflEntry 6 }

osSoamPmDmPrflNuMeasBinPrIfdvInt OBJECT-TYPE
    SYNTAX      Unsigned32 (2..100)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "This attribute 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 1. The 
       desired number of measurements bins to be supported is 10.
      "
    REFERENCE
       "[MEF SOAM-PM] R19, R20, D8, D9"
    DEFVAL { 2 }
    ::= { osSoamPmDmPrflEntry 7 }

osSoamPmDmPrflLastError    OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osSoamPmDmPrflEntry 97 }

osSoamPmDmPrflAdminStatus OBJECT-TYPE
    SYNTAX      EntryValidator
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmDmPrflEntry 98 }

osSoamPmDmPrflOperStatus OBJECT-TYPE
    SYNTAX      ProfileStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmDmPrflEntry 99 }

-- *****************************************************************************
-- Performance Measurement Delay Thr Configuration Table
-- *****************************************************************************

osSoamPmDmThrPrflTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamPmDmThrPrflEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the list of Delay Measurement threshold configuration
        values for DM Performance Monitoring. Instances of this managed object
        are created automatically by the Flow when the Flow creates an instance 
        of OsSoamDmCfg.

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

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

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

        At least one threshold set is necessary for NE SOAM PM compliance. A 
        second threshold set on the NE is desirable. More than two threshold 
        sets on the NE can be configured if supported on the NE.

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

osSoamPmDmThrPrflEntry OBJECT-TYPE
    SYNTAX      OsSoamPmDmThrPrflEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamPmDmThrPrflTable."
    INDEX       { 
                osSoamPmDmThrPrflId
                }
    ::= {osSoamPmDmThrPrflTable 1 }

OsSoamPmDmThrPrflEntry ::= SEQUENCE {
    osSoamPmDmThrPrflId                 EntityName,
    osSoamPmDmThrPrflEnable             SoamDmThrCapabilities,
    osSoamPmDmThrPrflMaxFdTwThr         Unsigned32,
    osSoamPmDmThrPrflAvgFdTwThr         Unsigned32,
    osSoamPmDmThrPrflMaxFdFwThr         Unsigned32,
    osSoamPmDmThrPrflAvgFdFwThr         Unsigned32,
    osSoamPmDmThrPrflMaxIfdvFwThr       Unsigned32,
    osSoamPmDmThrPrflAvgIfdvFwThr       Unsigned32,
    osSoamPmDmThrPrflMaxFdBwThr         Unsigned32,
    osSoamPmDmThrPrflAvgFdBwThr         Unsigned32,
    osSoamPmDmThrPrflMaxIfdvBwThr       Unsigned32,
    osSoamPmDmThrPrflAvgIfdvBwThr       Unsigned32,
    osSoamPmDmThrPrflLastError          DisplayString,
    osSoamPmDmThrPrflAdminStatus        EntryValidator,
    osSoamPmDmThrPrflOperStatus         ProfileStatus
}

osSoamPmDmThrPrflId OBJECT-TYPE
    SYNTAX       EntityName
    MAX-ACCESS   not-accessible
    STATUS       current
    DESCRIPTION
       "Id of the profile."
    ::= { osSoamPmDmThrPrflEntry 1 }

osSoamPmDmThrPrflEnable OBJECT-TYPE
    SYNTAX      SoamDmThrCapabilities
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
       "Indicates DM Thresholds notifications supported by the profile."
    DEFVAL { { } }
    ::= { osSoamPmDmThrPrflEntry 2 }

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

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

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

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

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

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

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

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

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

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

osSoamPmDmThrPrflLastError    OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osSoamPmDmThrPrflEntry 97 }

osSoamPmDmThrPrflAdminStatus OBJECT-TYPE
    SYNTAX      EntryValidator
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmDmThrPrflEntry 98 }

osSoamPmDmThrPrflOperStatus OBJECT-TYPE
    SYNTAX      ProfileStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
      "."
    ::= { osSoamPmDmThrPrflEntry 99 }

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

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

        Each row in the table represents a Loss Measurement session for
        the defined Flow. This table uses three indices. The first two indices
        are the indices of the Flow. The third index is the specific LM session
        on the selected Flow. A Loss Measurement session is created on an existing
        Flow by first accessing the osSoamPmFlowOperNextIndex object and using this value as 
        the osSoamLmCfgIndex in the row creation.

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

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

osSoamLmCfgEntry OBJECT-TYPE
    SYNTAX      OsSoamLmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamLmCfgTable."
    INDEX { osEthServId, osEthServFlowId,
            osSoamLmCfgIndex
          }
    ::= { osSoamLmCfgTable 1 }

OsSoamLmCfgEntry ::= SEQUENCE {
    osSoamLmCfgIndex                                  Unsigned32,
    osSoamLmCfgEnabled                                TruthValue,
    osSoamLmCfgGenPrfl                                EntityName,
    osSoamLmCfgLmPrfl                                 EntityName,
    osSoamLmCfgLmThrPrfl                              EntityName,
    osSoamLmCfgDestMacAddress                         MacAddress,
    osSoamLmCfgDestMepId                              OsCfmMepIdOrZero,
    osSoamLmCfgDestIsMepId                            TruthValue,
    osSoamLmCfgStartTimeType                          MefSoamTcOperationTimeType,
    osSoamLmCfgFixedStartDateAndTime                  DateAndTime, 
    osSoamLmCfgRelativeStartTime                      TimeInterval,
    osSoamLmCfgStopTimeType                           MefSoamTcOperationTimeType,
    osSoamLmCfgFixedStopDateAndTime                   DateAndTime,
    osSoamLmCfgRelativeStopTime                       TimeInterval,
    osSoamLmCfgSessionStatus                          MefSoamTcStatusType,
    osSoamLmCfgHistClear                              TruthValue,
    osSoamLmCfgRowStatus                              RowStatus,
    osSoamLmCfgLastError                              DisplayString,
    osSoamLmCfgSessionStatusEx                        SoamTcStatusExType,
    osSoamLmCfgLastHistIndx                           Unsigned32
}

osSoamLmCfgIndex 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 Flow.

        osSoamPmFlowOperNextIndex 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 Flow while this
        session is active 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.
       "
    ::= { osSoamLmCfgEntry 1 }

osSoamLmCfgEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute 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.

        This object does not affect whether the single-ended responder is
        enabled or not, which is enabled or disabled by the 
        osSoamPmFlowLmSinglEndResponder and 
        osSoamPmFlowSlmSinglEndResponder objects.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R8, R9"
    DEFVAL { true }
    ::= { osSoamLmCfgEntry 2 }

osSoamLmCfgGenPrfl  OBJECT-TYPE
    SYNTAX      EntityName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Name of General Pm configuration profile."
    ::= { osSoamLmCfgEntry 3 }

osSoamLmCfgLmPrfl   OBJECT-TYPE
    SYNTAX      EntityName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Name of Lm Availability configuration profile."
    ::= { osSoamLmCfgEntry 4 }

osSoamLmCfgLmThrPrfl   OBJECT-TYPE
    SYNTAX      EntityName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Name of Lm Thrs configuration profile."
    ::= { osSoamLmCfgEntry 5 }

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

        If osSoamPmLmPrflType 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 osSoamPmLmPrflType is 'lmLmm' or 'lmSlm', 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.

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

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

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R50"
    ::= { osSoamLmCfgEntry 6 }

osSoamLmCfgDestMepId OBJECT-TYPE
    SYNTAX      OsCfmMepIdOrZero
    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
        osSoamLmDestIsMepId 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 Los
        Measurement frames, types 'lmLmm' and 'lmSlm' and is
        ignored by the entity receiving frames. It is not applicable for
        the 'lmCcm' type.

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

osSoamLmCfgDestIsMepId 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 Los
        Measurement frames, types 'lmLmm' and 'lmSlm', and is
        ignored by the entity receiving frames. It is not applicable for
        the 'lmCcm' type.

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

osSoamLmCfgStartTimeType OBJECT-TYPE
    SYNTAX      MefSoamTcOperationTimeType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute 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 
        osSoamLmEnabled is true. This value is used to select a proactive
        PM session.

        The value of 'fixed' starts the SOAM LM session when the 
        osSoamLmFixedStartDateAndTime is less than or equal to the current
        system date and time and osSoamLmEnabled 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 osSoamLmRelativeStartTime is greater
        than or equal to the system date and time when the osSoamLmStartTimeType
        object was written and osSoamLmEnabled is true. This value is used
        to implement an on-demand relative time PM session.

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

osSoamLmCfgFixedStartDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute specifies the fixed start date/time for the 
        SOAM Loss Measurement session. This attribute is used only used if 
        osSoamLmStartTimeType 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.
       "
    DEFVAL { '0000010100000000'H }
    ::= { osSoamLmCfgEntry 10 }

osSoamLmCfgRelativeStartTime  OBJECT-TYPE
    SYNTAX      TimeInterval
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute specifies the relative start time, from the
        current system time, for the SOAM LM session.  This
        attribute is used only if osSoamLmStartTimeType 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.
       "
    DEFVAL { 0 }
    ::= { osSoamLmCfgEntry 11 }

osSoamLmCfgStopTimeType OBJECT-TYPE
    SYNTAX      MefSoamTcOperationTimeType
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute 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. This value is used to 
        select a proactive PM session.

        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 
        osSoamLmFixedStopDateAndTime is less than or equal
        to the current system date and time and osSoamLmEnabled is true. This
        value is used to implement an on-demand fixed time PM session.

        The value of 'relative' stops the SOAM LM session when the session
        has been active for the time indicated by osSoamLmCfgRelativeStopTime.
        This value is used to implement an on-demand relative time PM session.
       "
    REFERENCE
       "[MEF SOAM-PM] R3, D2"
    DEFVAL { none }
    ::= { osSoamLmCfgEntry 12 }

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

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

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

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

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

osSoamLmCfgSessionStatus 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. A value of
        'notActive' indicates the current LM session is not active, has not
        started yet, or is currently in the stopped state between periods of
        activity. A session can become inactive due to it stopping based
        upon the stop time or the session being disabled.
       "
    DEFVAL { notActive }
    ::= { osSoamLmCfgEntry 15 }

osSoamLmCfgHistClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object when written clears the Loss Measurement history
        Table (osSoamLmHistStatsTable) - 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.
       "
    DEFVAL { false }
    ::= { osSoamLmCfgEntry 16 }

osSoamLmCfgRowStatus 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.
       "
   ::= { osSoamLmCfgEntry 17 }

osSoamLmCfgLastError    OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osSoamLmCfgEntry 18 }

osSoamLmCfgSessionStatusEx OBJECT-TYPE
    SYNTAX      SoamTcStatusExType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the current extended status of the LM session. 
       "
    DEFVAL { notActive }
    ::= { osSoamLmCfgEntry 19 }

osSoamLmCfgLastHistIndx    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The last relevant index in osSoamLmHistAvailStatsTable (osSoamLmHistAvailStatsIndex)
       and osSoamLmHistStatsTable (osSoamLmHistStatsIndex)."
    ::= { osSoamLmCfgEntry 20 }

-- *****************************************************************************
-- Ethernet Loss Measurement MeasuredStatistic Table
-- *****************************************************************************

osSoamLmMeasStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamLmMeasStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This object contains the last measured results for a SOAM Los 
        Measurement session gathered during from the last SOAM PDU received.

        Each row in the table represents a Loss Measurement session for
        the defined Flow. This table uses three indices. The first two indices
        are the indices of the Flow. The 
        third index is the specific LM session on the selected Flow.

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

        The objects in this table can be persistent upon reboot or restart
        of a device.
       "
    ::= { osSoamPmLmObjects 2 }

osSoamLmMeasStatsEntry OBJECT-TYPE
    SYNTAX      OsSoamLmMeasStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of osSoamLmMeasStatsTable"
    INDEX      { osEthServId, osEthServFlowId, 
               osSoamLmCfgIndex
               }
    ::= { osSoamLmMeasStatsTable 1 }

OsSoamLmMeasStatsEntry ::= SEQUENCE {
    osSoamLmMeasStatsAvailFwStatus   MefSoamTcAvailabilityType,
    osSoamLmMeasStatsAvailBwStatus   MefSoamTcAvailabilityType,
    osSoamLmMeasStatsAvailFwLastTr   DateAndTime,
    osSoamLmMeasStatsAvailBwLastTr   DateAndTime    
}

osSoamLmMeasStatsAvailFwStatus OBJECT-TYPE
    SYNTAX      MefSoamTcAvailabilityType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute indicates the availability status (the outcome of the
        last availability indicator) in the Fw direction based upon the
        last received SOAM PDU.
       "
    REFERENCE
       "[MEF SOAM-PM] R68 and R108"
    ::= { osSoamLmMeasStatsEntry 3 }

osSoamLmMeasStatsAvailBwStatus OBJECT-TYPE
    SYNTAX      MefSoamTcAvailabilityType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute indicates the availability status (the outcome of the
        last availability indicator) in the Bw direction based upon the
        last received SOAM PDU.
       "
    REFERENCE
       "[MEF SOAM-PM] R68 and R108"
    ::= { osSoamLmMeasStatsEntry 4 }

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

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

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

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


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

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

        Each row in the table represents a Loss Measurement session for
        the defined MEP. 

        Instances of this managed object are created automatically
        by the SNMP Agent when the Loss Measurement session is running.."
    ::= { osSoamPmLmObjects 3 }

osSoamLmLastAvailStatsEntry OBJECT-TYPE
    SYNTAX      OsSoamLmLastAvailStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The conceptual row of osSoamLmLastAvailStatsTable"
    INDEX      {
               osEthServId, osEthServFlowId, osSoamLmCfgIndex
               }
    ::= { osSoamLmLastAvailStatsTable 1 }

OsSoamLmLastAvailStatsEntry ::= SEQUENCE {
    osSoamLmLastAvailStatsEndTime     DateAndTime,
    osSoamLmLastAvailStatsElapTime    TimeInterval,
    osSoamLmLastAvailStatsSuspect     TruthValue,
    
    osSoamLmLastAvailStatsFwHiLos     Unsigned32,
    osSoamLmLastAvailStatsBwHiLos     Unsigned32,
    osSoamLmLastAvailStatsFwConHiLos  Unsigned32,
    osSoamLmLastAvailStatsBwConHiLos  Unsigned32,

    osSoamLmLastAvailStatsFwAvail     Gauge32,
    osSoamLmLastAvailStatsBwAvail     Gauge32,
    osSoamLmLastAvailStatsFwUnav      Gauge32,
    osSoamLmLastAvailStatsBwUnav      Gauge32
}

osSoamLmLastAvailStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the measurement interval ended.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R12, R72 and R112"
    ::= { osSoamLmLastAvailStatsEntry 2 }

osSoamLmLastAvailStatsElapTime 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.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R13, R72 and R112"
    ::= { osSoamLmLastAvailStatsEntry 3 }

osSoamLmLastAvailStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the measurement interval has been marked as suspect.

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

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current measurement interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R27, R28 and R29"
    ::= { osSoamLmLastAvailStatsEntry 4 }

osSoamLmLastAvailStatsFwHiLos 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 Fw direction. 

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

osSoamLmLastAvailStatsBwHiLos 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 Bw direction. 

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

osSoamLmLastAvailStatsFwConHiLos 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 Fw direction. 

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

osSoamLmLastAvailStatsBwConHiLos 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 Fw direction. 

        The value starts at 0 and increments for every HLI that occurs
        that is determined to fall within a CHLI.
        This parameter is equivalent to 'B Sub T' found in MEF 10.2.1.


       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9"
    ::= { osSoamLmLastAvailStatsEntry 8 }

osSoamLmLastAvailStatsFwAvail OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the Fw direction by this Flow during
        this measurement interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112; [MEF 10.2.1]"
    ::= { osSoamLmLastAvailStatsEntry 9 }

osSoamLmLastAvailStatsBwAvail OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the Bw direction by this Flow during
        this measurement interval.

       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmLastAvailStatsEntry 10 }

osSoamLmLastAvailStatsFwUnav OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the Fw direction by this Flow during
        this measurement interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmLastAvailStatsEntry 11 }


osSoamLmLastAvailStatsBwUnav OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the Bw direction by this Flow
        during this measurement interval.

       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmLastAvailStatsEntry 12 }

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

osSoamLmLastStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamLmLastStatsEntry
    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 osSoamLmCfgMeasurementInterval.

        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."
    ::= { osSoamPmLmObjects 4 }

osSoamLmLastStatsEntry OBJECT-TYPE
    SYNTAX      OsSoamLmLastStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamLmLastStatsTable"
    INDEX      {
               osEthServId, osEthServFlowId, osSoamLmCfgIndex
               }
    ::= { osSoamLmLastStatsTable 1 }

OsSoamLmLastStatsEntry ::= SEQUENCE {
    osSoamLmLastStatsIndex             Unsigned32,
    osSoamLmLastStatsEndTime           DateAndTime,
    osSoamLmLastStatsElapTime          TimeInterval,
    osSoamLmLastStatsSuspect           TruthValue,
    osSoamLmLastStatsFwTxFrames        Gauge32,
    osSoamLmLastStatsFwRxFrames        Gauge32,
    osSoamLmLastStatsFwMinFlr          Unsigned32,
    osSoamLmLastStatsFwMaxFlr          Unsigned32,
    osSoamLmLastStatsFwAvgFlr          Unsigned32,
    osSoamLmLastStatsBwTxFrames        Gauge32,
    osSoamLmLastStatsBwRxFrames        Gauge32,
    osSoamLmLastStatsBwMinFlr          Unsigned32,
    osSoamLmLastStatsBwMaxFlr          Unsigned32,
    osSoamLmLastStatsBwAvgFlr          Unsigned32,
    osSoamLmLastStatsInitiatedMeas     Gauge32,
    osSoamLmLastStatsReceivedMeas      Gauge32
}


osSoamLmLastStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index for the measurement interval within this
        PM session.

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

        This object applies regardless of the value of osSoamPmLmPrflType.

        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 Flow while this
        session is active 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.
       "
    ::= { osSoamLmLastStatsEntry 1 }

osSoamLmLastStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the measurement interval ended.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R12, R72 and R112"
    ::= { osSoamLmLastStatsEntry 2 }

osSoamLmLastStatsElapTime 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.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R13, R72 and R112"
    ::= { osSoamLmLastStatsEntry 3 }

osSoamLmLastStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the measurement interval has been marked as suspect.

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

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current measurement interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R27, R28 and R29"
    ::= { osSoamLmLastStatsEntry 4 }

osSoamLmLastStatsFwTxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames transmitted in the 
        Fw direction by this Flow. 

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

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

osSoamLmLastStatsFwRxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames received in the
        Fw direction by this Flow. 

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

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

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

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

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

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

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

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

osSoamLmLastStatsBwTxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames transmitted in the
        Bw direction by this Flow.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.

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

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

osSoamLmLastStatsBwRxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames received in the 
        Bw direction by this Flow.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.

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

        For a PM Session of types lmSlm this includes the count of OAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmLastStatsEntry 11 }

osSoamLmLastStatsBwMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way frame loss
        ratio in the Bw direction calculated by this Flow 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.

       This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.
      "
    REFERENCE
       "[MEF SOAM-PM] D26 and D39"
    ::= { osSoamLmLastStatsEntry 12 }

osSoamLmLastStatsBwMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way frame loss
        ratio in the Bw direction calculated by this Flow 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.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.
       "
    REFERENCE
       "[MEF SOAM-PM] D26 and D39"
    ::= { osSoamLmLastStatsEntry 13 }

osSoamLmLastStatsBwAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way frame loss
        ratio in the Bw direction calculated by this Flow 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.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.
       "
    REFERENCE
       "[MEF SOAM-PM] D26 and D39"
    ::= { osSoamLmLastStatsEntry 14 }

osSoamLmLastStatsInitiatedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated during this measurement interval.

        This attribute applies when osSoamPmLmPrflType is lmLmm, lmSlm, 
        or lmCcm. It indicates the number of LMM, or SLM SOAM frames 
        transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmLastStatsEntry 15 }

osSoamLmLastStatsReceivedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated in this measurement interval that have completed. 

        This attribute only applies when osSoamPmLmPrflType is lmLmm, lmSlm,
        or lmCcm It indicates the number of LMR or SLR SOAM frames received.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmLastStatsEntry 16 } 

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

osSoamLmHistAvailStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamLmHistAvailStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for availability history Measurement
        Ints 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 Los
        Measurement session measurement interval for the defined Flow. This
        table uses five indices. The first three indices are the indices of
        the Maintenance Domain, MaNet, and Flow tables. The fourth index is the
        specific LM session on the selected Flow. 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 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
        recdommended to be supported.

        Bw statistic objects are undefined if osSoamPmLmPrflType is 1mCcm.

        Except for osSoamLmHistAvailStatsIndex and 
        osSoamLmHistAvailStatsSuspect, each object in this table applies only
        if the corresponding bit is set in osSoamPmLmPrflMeasurementEnable.

        The rows and objects in this table are to be persistent upon reboot 
        or restart of a device.
       "
    ::= { osSoamPmLmObjects 5 }

osSoamLmHistAvailStatsEntry OBJECT-TYPE
    SYNTAX      OsSoamLmHistAvailStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamLmHistAvailStatsTable"
    INDEX      {
               osEthServId, osEthServFlowId, 
               osSoamLmCfgIndex,
               osSoamLmHistAvailStatsIndex
               }
    ::= { osSoamLmHistAvailStatsTable 1 }

OsSoamLmHistAvailStatsEntry ::= SEQUENCE {
    osSoamLmHistAvailStatsIndex       Unsigned32,
    osSoamLmHistAvailStatsEndTime     DateAndTime,
    osSoamLmHistAvailStatsElapTime    TimeInterval,
    osSoamLmHistAvailStatsSuspect     TruthValue,
    
    osSoamLmHistAvailStatsFwHiLos     Unsigned32,
    osSoamLmHistAvailStatsBwHiLos     Unsigned32,
    osSoamLmHistAvailStatsFwConHiLos  Unsigned32,
    osSoamLmHistAvailStatsBwConHiLos  Unsigned32,

    osSoamLmHistAvailStatsFwAvail     Gauge32,
    osSoamLmHistAvailStatsBwAvail     Gauge32,
    osSoamLmHistAvailStatsFwUnav      Gauge32,
    osSoamLmHistAvailStatsBwUnav      Gauge32
}

osSoamLmHistAvailStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index for the measurement interval within this
        PM session.

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

        This object applies regardless of the value of osSoamPmLmPrflType.

        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 Flow while this
        session is active 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.
       "
    ::= { osSoamLmHistAvailStatsEntry 1 }

osSoamLmHistAvailStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the measurement interval ended.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R12, R72 and R112"
    ::= { osSoamLmHistAvailStatsEntry 2 }

osSoamLmHistAvailStatsElapTime 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.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R13, R72 and R112"
    ::= { osSoamLmHistAvailStatsEntry 3 }

osSoamLmHistAvailStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the measurement interval has been marked as suspect.

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

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current measurement interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R27, R28 and R29"
    ::= { osSoamLmHistAvailStatsEntry 4 }

osSoamLmHistAvailStatsFwHiLos 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 Fw direction. 

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

osSoamLmHistAvailStatsBwHiLos 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 Bw direction. 

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

osSoamLmHistAvailStatsFwConHiLos 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 Fw direction. 

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

osSoamLmHistAvailStatsBwConHiLos 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 Fw direction. 

        The value starts at 0 and increments for every HLI that occurs
        that is determined to fall within a CHLI.
        This parameter is equivalent to 'B Sub T' found in MEF 10.2.1.


       "
    REFERENCE
       "[MEF 10.2.1] 6.9.9"
    ::= { osSoamLmHistAvailStatsEntry 8 }

osSoamLmHistAvailStatsFwAvail OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the Fw direction by this Flow during
        this measurement interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112; [MEF 10.2.1]"
    ::= { osSoamLmHistAvailStatsEntry 9 }

osSoamLmHistAvailStatsBwAvail OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as available in the Bw direction by this Flow during
        this measurement interval.

       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmHistAvailStatsEntry 10 }

osSoamLmHistAvailStatsFwUnav OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the Fw direction by this Flow during
        this measurement interval.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmHistAvailStatsEntry 11 }


osSoamLmHistAvailStatsBwUnav OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object contains the number of availability indicators 
        evaluated as unavailable in the Bw direction by this Flow
        during this measurement interval.

       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmHistAvailStatsEntry 12 }

-- *****************************************************************************
-- Ethernet Loss Measurement Loss Hist Statistic Table
-- *****************************************************************************

osSoamLmHistStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamLmHistStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for history Measurement
        Ints 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 Los
        Measurement session measurement interval for the defined Flow. This
        table uses five indices. The first three indices are the indices of
        the Maintenance Domain, MaNet, and Flow tables. The fourth index is the
        specific LM session on the selected Flow. 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 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
        recdommended to be supported.

        Bw statistic objects are undefined if osSoamPmLmPrflType is 1mCcm.

        Except for osSoamLmHistStatsIndex and osSoamLmHistStatsSuspect, 
        each object in this table applies only if the corresponding bit is set in 
        osSoamPmLmPrflMeasurementEnable.

        The rows and objects in this table are to be persistent upon reboot 
        or restart of a device.
       "
    ::= { osSoamPmLmObjects 6 }

osSoamLmHistStatsEntry OBJECT-TYPE
    SYNTAX      OsSoamLmHistStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamLmHistStatsTable"
    INDEX      {
               osEthServId, osEthServFlowId, 
               osSoamLmCfgIndex,
               osSoamLmHistStatsIndex
               }
    ::= { osSoamLmHistStatsTable 1 }

OsSoamLmHistStatsEntry ::= SEQUENCE {
    osSoamLmHistStatsIndex             Unsigned32,
    osSoamLmHistStatsEndTime           DateAndTime,
    osSoamLmHistStatsElapTime          TimeInterval,
    osSoamLmHistStatsSuspect           TruthValue,
    osSoamLmHistStatsFwTxFrames        Gauge32,
    osSoamLmHistStatsFwRxFrames        Gauge32,
    osSoamLmHistStatsFwMinFlr          Unsigned32,
    osSoamLmHistStatsFwMaxFlr          Unsigned32,
    osSoamLmHistStatsFwAvgFlr          Unsigned32,
    osSoamLmHistStatsBwTxFrames        Gauge32,
    osSoamLmHistStatsBwRxFrames        Gauge32,
    osSoamLmHistStatsBwMinFlr          Unsigned32,
    osSoamLmHistStatsBwMaxFlr          Unsigned32,
    osSoamLmHistStatsBwAvgFlr          Unsigned32,
    osSoamLmHistStatsInitiatedMeas     Gauge32,
    osSoamLmHistStatsReceivedMeas      Gauge32
}

osSoamLmHistStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index for the measurement interval within this
        PM session.

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

        This object applies regardless of the value of osSoamPmLmPrflType.

        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 Flow while this
        session is active 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.
       "
    ::= { osSoamLmHistStatsEntry 1 }

osSoamLmHistStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the measurement interval ended.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R12, R72 and R112"
    ::= { osSoamLmHistStatsEntry 2 }

osSoamLmHistStatsElapTime 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.

        This object applies regardless of the value of osSoamPmLmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R13, R72 and R112"
    ::= { osSoamLmHistStatsEntry 3 }

osSoamLmHistStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the measurement interval has been marked as suspect.

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

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current measurement interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
"
    REFERENCE
       "[MEF SOAM-PM] R27, R28 and R29"
    ::= { osSoamLmHistStatsEntry 4 }

osSoamLmHistStatsFwTxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames transmitted in the 
        Fw direction by this Flow. 

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

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

osSoamLmHistStatsFwRxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames received in the
        Fw direction by this Flow. 

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

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

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

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

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

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

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

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

osSoamLmHistStatsBwTxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames transmitted in the
        Bw direction by this Flow.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.

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

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

osSoamLmHistStatsBwRxFrames OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the number of frames received in the 
        Bw direction by this Flow.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.

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

        For a PM Session of types lmSlm this includes the count of OAM 
        ETH-SLM frames only.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmHistStatsEntry 11 }

osSoamLmHistStatsBwMinFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way frame loss
        ratio in the Bw direction calculated by this Flow 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.

       This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.
      "
    REFERENCE
       "[MEF SOAM-PM] D26 and D39"
    ::= { osSoamLmHistStatsEntry 12 }

osSoamLmHistStatsBwMaxFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way frame loss
        ratio in the Bw direction calculated by this Flow 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.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.
       "
    REFERENCE
       "[MEF SOAM-PM] D26 and D39"
    ::= { osSoamLmHistStatsEntry 13 }

osSoamLmHistStatsBwAvgFlr OBJECT-TYPE
    SYNTAX      Unsigned32 (0..100000)
    UNITS       "milli-percent"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way frame loss
        ratio in the Bw direction calculated by this Flow 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.

        This attribute only applies when osSoamPmLmPrflType is lmLmm or lmSlm
        and is undefined when osSoamPmLmPrflType is lmCcm.
       "
    REFERENCE
       "[MEF SOAM-PM] D26 and D39"
    ::= { osSoamLmHistStatsEntry 14 }

osSoamLmHistStatsInitiatedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated during this measurement interval.

        This attribute applies when osSoamPmLmPrflType is lmLmm, lmSlm, 
        or lmCcm. It indicates the number of LMM, or SLM SOAM frames 
        transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmHistStatsEntry 15 }

osSoamLmHistStatsReceivedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated in this measurement interval that have completed. 

        This attribute only applies when osSoamPmLmPrflType is lmLmm, lmSlm,
        or lmCcm It indicates the number of LMR or SLR SOAM frames received.
       "
    REFERENCE
       "[MEF SOAM-PM] R72 and R112"
    ::= { osSoamLmHistStatsEntry 16 } 

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

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

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

        A Delay Measurement session is created on an existing Flow by first 
        accessing the osSoamDmOperNextIndex object and using this value as 
        the osSoamDmCfgIndex in the row creation.

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

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

osSoamDmCfgEntry OBJECT-TYPE
    SYNTAX      OsSoamDmCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamDmCfgTable."
    INDEX      {
                osEthServId, osEthServFlowId, 
                osSoamDmCfgIndex
               }
    ::= { osSoamDmCfgTable 1 }

OsSoamDmCfgEntry ::= SEQUENCE {
    osSoamDmCfgIndex                                Unsigned32,
    osSoamDmCfgEnabled                              TruthValue,
    osSoamDmCfgGenPrfl                              EntityName,
    osSoamDmCfgDmPrfl                               EntityName,
    osSoamDmCfgDmThrPrfl                            EntityName,

    osSoamDmCfgDestMacAddress                       MacAddress,
    osSoamDmCfgDestMepId                            OsCfmMepIdOrZero,
    osSoamDmCfgDestIsMepId                          TruthValue,    
    osSoamDmCfgSourceMacAddress                     MacAddress,

    osSoamDmCfgStartTimeType                        MefSoamTcOperationTimeType,
    osSoamDmCfgFixedStartDateAndTime                DateAndTime,
    osSoamDmCfgRelativeStartTime                    TimeInterval,
    osSoamDmCfgStopTimeType                         MefSoamTcOperationTimeType,
    osSoamDmCfgFixedStopDateAndTime                 DateAndTime,
    osSoamDmCfgRelativeStopTime                     TimeInterval,

    osSoamDmCfgSessionStatus                        MefSoamTcStatusType,
    osSoamDmCfgHistClear                            TruthValue,
    osSoamDmCfgRowStatus                            RowStatus,
    osSoamDmCfgLastError                            DisplayString,
    osSoamDmCfgSessionStatusEx                      SoamTcStatusExType,
    osSoamDmCfgLastHistIndx                         Unsigned32
}

osSoamDmCfgIndex 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 Flow.

        osSoamPmFlowOperNextIndex 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 Flow while this
        session is active 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.
       "
    ::= { osSoamDmCfgEntry 1 }

osSoamDmCfgEnabled OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This attribute 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.

        This object does not affect whether the single-ended responder is
        enabled or not, which is enabled or disabled by the 
        osSoamPmFlowDmSinglEndResponder object.
       "
    REFERENCE
       "[MEF SOAM-PM] R7, R8, R9"
    DEFVAL { true }
    ::= { osSoamDmCfgEntry 2 }

osSoamDmCfgGenPrfl  OBJECT-TYPE
    SYNTAX      EntityName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Name of General Pm configuration profile."
    ::= { osSoamDmCfgEntry 3 }

osSoamDmCfgDmPrfl  OBJECT-TYPE
    SYNTAX      EntityName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Name of Dm configuration profile."
    ::= { osSoamDmCfgEntry 4 }

osSoamDmCfgDmThrPrfl  OBJECT-TYPE
    SYNTAX      EntityName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Name of Dm Thr configuration profile."
    ::= { osSoamDmCfgEntry 5 }

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

        If osSoamPmDmPrflType 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 osSoamPmDmPrflType 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 osSoamPmDmPrflType is 'dm1DmRx', this object is ignored.

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

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

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R32"
    ::= { osSoamDmCfgEntry 6 }

osSoamDmCfgDestMepId OBJECT-TYPE
    SYNTAX      OsCfmMepIdOrZero
    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
        osSoamDmDestIsMepId 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' and is
        ignored by the entity receiving frames. It is not applicable for
        the 'dm1DmRx' type.

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

osSoamDmCfgDestIsMepId 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 Los
        Measurement frames, types 'lmLmm' and 'lmSlm', and is
        ignored by the entity receiving frames. It is not applicable for
        the 'lmCcm' type.

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

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

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

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

        This object can only be written at row creation time and cannot be 
        modified once it has been created.
       "
    REFERENCE
       "[MEF SOAM-PM] R32"
    ::= { osSoamDmCfgEntry 9 }

osSoamDmCfgStartTimeType 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 
        osSoamDmCfgEnabled is true. This value is used to select a proactive 
        PM session.

        The value of 'fixed' starts the SOAM DM session when the 
        osSoamDmFixedStartDateAndTime is less than or equal to the current
        system date and time and osSoamDmCfgEnabled 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 osSoamDmRelativeStartTime is greater than
        or equal to the system date and time when the osSoamDmCfgStartTimeType
        object was written and osSoamDmCfgEnabled is true. This value is used
        to implement an on-demand relative time PM session.

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

osSoamDmCfgFixedStartDateAndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object specifies the fixed start date/time for the 
        SOAM Delay Measurement session. This object is used only used if 
        osSoamDmCfgStartTimeType 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.
       "
    DEFVAL { '0000010100000000'H }
    ::= { osSoamDmCfgEntry 11 }

osSoamDmCfgRelativeStartTime  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 osSoamDmCfgStartTimeType 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.
       "
    DEFVAL { 0 }
    ::= { osSoamDmCfgEntry 12 }

osSoamDmCfgStopTimeType 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. This value is used to 
        select a proactive PM session.

        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 
        osSoamDmFixedStopDateAndTime 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 osSoamDmCfgRelativeStopTime has passed since the session
        start time as determined by the osSoamDmCfgStartTimeType, 
        osSoamDmCfgFixedStartDateAndTime and osSoamDmCfgRelativeStartTime
        objects.
        This value is used to implement an on-demand relative time PM session.

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

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

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

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

osSoamDmCfgRelativeStopTime 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 osSoamDmCfgStopTimeType is 'relative' and is 
        ignored otherwise.

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

osSoamDmCfgSessionStatus 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. A value of
        'notActive' indicates the current DM session is not active, has not
        started yet, or is currently in the stopped state between periods of
        activity. A session can become inactive due to it stopping based
        upon the stop time or the session being disabled.
       "
    DEFVAL { notActive }
    ::= { osSoamDmCfgEntry 16 }

osSoamDmCfgHistClear OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "This object when written clears the Delay Measurement history
        tables (osSoamDmHistStatsTable and osSoamDmHistStatsBinsTable)
        - 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 is irrelevant and is not to
        be done.
       "
    DEFVAL { false }
    ::= { osSoamDmCfgEntry 17 }

osSoamDmCfgRowStatus 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.
       "
   ::= { osSoamDmCfgEntry 18 }
   
osSoamDmCfgLastError    OBJECT-TYPE
    SYNTAX          DisplayString
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
       "Last configuration error description."
    ::= { osSoamDmCfgEntry 19 }

osSoamDmCfgSessionStatusEx OBJECT-TYPE
    SYNTAX      SoamTcStatusExType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This object indicates the current extended status of the DM session. 
       "
    DEFVAL { notActive }
    ::= { osSoamDmCfgEntry 20 }

osSoamDmCfgLastHistIndx    OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The last relevant index in osSoamDmHistStatsTable (osSoamDmHistStatsIndex)."
    ::= { osSoamDmCfgEntry 21 }


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

osSoamDmCfgMeasBinTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamDmCfgMeasBinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table includes configuration attributes 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 Flow. The number of rows
        created is based upon three items: the DM type, the number of bins
        defined for each type, and whether bins are enabled for each type.

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

        For a dmDmm session all six types of bins can be created. For a dm1DmmTx
        session no bins are created. For a dm1DmmRx session only types 
        FwFd and FwIfdv can be created.

        The number of bins created for a bin type is based upon: the 
        osSoamPmDmPrflNuMeasBinPrFdInt object, the 
        osSoamPmDmPrflNuMeasBinPrIfdvInt object, and
        the osSoamPmDmPrflMeasurementEnable object.

        For instance, if a dmDmm session with Bins per Frame Delay Int 
        set to 5, Bins per Frame Delay Variation Int set to 3, and all 
        of the appropriate bits set in osSoamDmMeasurementCfgEnable, the 
        following number of rows would be created:
        
        For bin types TwFd(1), FwFd(2), and 
        BwFd(3) = 5 bins * 3 types = 15 rows

        For bin types TwIfdv(4), FwIfdv(5), BwIfdv(6) = 
        3 bins * 3 types = 9 rows.         

        This gives a total of 24 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)

        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 osSoamPmDmPrflMeasurementEnable object.
       "
    ::= { osSoamPmDmObjects 2 }

osSoamDmCfgMeasBinEntry OBJECT-TYPE
    SYNTAX      OsSoamDmCfgMeasBinEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamDmCfgMeasBinTable."
    INDEX      {
                osEthServId, osEthServFlowId, 
                osSoamDmCfgIndex,
                osSoamDmCfgMeasBinType
               }
    ::= { osSoamDmCfgMeasBinTable 1 }

OsSoamDmCfgMeasBinEntry ::= SEQUENCE {
    osSoamDmCfgMeasBinType                  MefSoamTcDelayMeasurementBinType,
    osSoamDmCfgMeasBinPrflId                EntityName
}

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

osSoamDmCfgMeasBinPrflId  OBJECT-TYPE
    SYNTAX      EntityName
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
       "Name of Bins configuration profile that is found in osProvBinPrflTable."
    REFERENCE
       "[MEF SOAM-PM] R21, R22, R23, R24, D10"
    ::= { osSoamDmCfgMeasBinEntry 2 }

-- *****************************************************************************
-- Ethernet Delay Measurement Last Statistic Table
-- *****************************************************************************

osSoamDmLastStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamDmLastStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for the current Measurement
        Interval in a SOAM Delay Measurement session gathered.

        A row of this table is created or updated 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 current statistics for a Delay
        Measurement session for the defined Service/Flow.

        The objects in this table do not need to be persistent upon reboot or
        restart of a device.  "       
    ::= { osSoamPmDmObjects 4 }

osSoamDmLastStatsEntry OBJECT-TYPE
    SYNTAX      OsSoamDmLastStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamDmLastStatsTable"
    INDEX      {
               osEthServId, osEthServFlowId, osSoamDmCfgIndex
               }
    ::= { osSoamDmLastStatsTable 1 }


OsSoamDmLastStatsEntry ::= SEQUENCE {
    osSoamDmLastStatsIndex            Unsigned32,
    osSoamDmLastStatsEndTime          DateAndTime,
    osSoamDmLastStatsElapTime         TimeInterval,
    osSoamDmLastStatsSuspect          TruthValue,
    
    osSoamDmLastStatsFdTwMin          Unsigned32,
    osSoamDmLastStatsFdTwMax          Unsigned32,
    osSoamDmLastStatsFdTwAvg          Unsigned32,
    
    osSoamDmLastStatsFdFwMin          Unsigned32,
    osSoamDmLastStatsFdFwMax          Unsigned32,
    osSoamDmLastStatsFdFwAvg          Unsigned32,
    
    osSoamDmLastStatsFdBwMin          Unsigned32,
    osSoamDmLastStatsFdBwMax          Unsigned32,
    osSoamDmLastStatsFdBwAvg          Unsigned32,
    
    osSoamDmLastStatsIfdvFwMin        Unsigned32,
    osSoamDmLastStatsIfdvFwMax        Unsigned32,
    osSoamDmLastStatsIfdvFwAvg        Unsigned32,
    
    osSoamDmLastStatsIfdvBwMin        Unsigned32,
    osSoamDmLastStatsIfdvBwMax        Unsigned32,
    osSoamDmLastStatsIfdvBwAvg        Unsigned32,
    
    osSoamDmLastStatsInitiatedMeas    Gauge32,
    osSoamDmLastStatsReceivedMeas     Gauge32
}

osSoamDmLastStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The last relevant index in osSoamDmHistStatsTable (osSoamDmHistStatsIndex)."
    ::= { osSoamDmLastStatsEntry 1 }

osSoamDmLastStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the measurement interval ended.

        This object applies regardless of the value of osSoamPmDmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R12, R44 and R88"
    ::= { osSoamDmLastStatsEntry 2 }

osSoamDmLastStatsElapTime 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.

        This object applies regardless of the value of osSoamPmDmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R13, R44 and R88"
    ::= { osSoamDmLastStatsEntry 3 }

osSoamDmLastStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the measurement interval has been marked as suspect.

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

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current measurement interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
       "
    REFERENCE
       "[MEF SOAM-PM] R27, R28 and R29"
    ::= { osSoamDmLastStatsEntry 4 }

osSoamDmLastStatsFdTwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum two-way frame delay
        calculated by this Flow for this measurement interval. 

        This attribute is undefined is osSoamPmDmPrflType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 5 }

osSoamDmLastStatsFdTwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum two-way frame delay
        calculated by this Flow for this measurement interval. 

        This attribute is undefined is osSoamPmDmPrflType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 6 }

osSoamDmLastStatsFdTwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average two-way frame delay
        calculated by this Flow for this measurement interval. 

        This attribute is undefined is osSoamPmDmPrflType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 7 }

osSoamDmLastStatsFdFwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way frame delay
        in the Fw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmLastStatsEntry 8 }

osSoamDmLastStatsFdFwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way frame delay
        in the Fw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmLastStatsEntry 9 }

osSoamDmLastStatsFdFwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way frame delay
        in the Fw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmLastStatsEntry 10 }

osSoamDmLastStatsFdBwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way frame delay
        in the Bw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmRx or dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmLastStatsEntry 11 }

osSoamDmLastStatsFdBwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way frame delay
        in the Bw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmRx or dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmLastStatsEntry 12 }

osSoamDmLastStatsFdBwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way frame delay
        in the Bw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmRx or dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmLastStatsEntry 13 }

osSoamDmLastStatsIfdvFwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way inter-frame delay
        interval in the Fw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 14 }

osSoamDmLastStatsIfdvFwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way inter-frame delay
        interval in the Fw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 15 }

osSoamDmLastStatsIfdvFwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way inter-frame delay
        interval in the Fw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 16 }

osSoamDmLastStatsIfdvBwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way inter-frame delay
        interval in the Bw direction calculated by this Flow for this
        measurement interval.
  
        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 17 }

osSoamDmLastStatsIfdvBwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way inter-frame delay
        interval in the Bw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 18 }

osSoamDmLastStatsIfdvBwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way inter-frame delay
        interval in the Bw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 19 }

osSoamDmLastStatsInitiatedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated during this measurement interval.

        This attribute applies when osSoamPmDmPrflType is dmDmm or dm1DmRx and
        is undefined if osSoamPmDmPrflType is dm1DmTx. It indicates the 
        number of DMM or 1DM SOAM frames transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 23 }

osSoamDmLastStatsReceivedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated in this measurement interval that have completed. 

        This attribute applies when osSoamPmDmPrflType is dmDmm or dm1DmRx and
        is undefined if osSoamPmDmPrflType is dm1DmTx. It indicates the number of 
        DMR or 1DM SOAM frames received.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmLastStatsEntry 24 } 


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

osSoamDmLastStatsBinsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamDmLastStatsBinsEntry
    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 Service/Flow.

        A row in this table is created automatically
        by the SNMP Agent when the Delay Measurement session is configured."
    ::= { osSoamPmDmObjects 5 }

osSoamDmLastStatsBinsEntry OBJECT-TYPE
    SYNTAX      OsSoamDmLastStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamDmLastStatsBinsTable"
    INDEX      {
               osEthServId, osEthServFlowId, 
               osSoamDmCfgIndex,
               osSoamDmCfgMeasBinType,
               osProvBinCfgBinIndex
               }
    ::= { osSoamDmLastStatsBinsTable 1 }

OsSoamDmLastStatsBinsEntry ::= SEQUENCE {
    osSoamDmLastStatsBinsCounter                Gauge32
}

osSoamDmLastStatsBinsCounter OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of completed
        measurements initiated in this measurement interval whose value
        falls within the range specified for this bin (that is, greater
        than or equal to the measurement boundary for the bin, and
        (unless the bin is the last bin) less than the measurement
        boundary for the following bin.
       "
    REFERENCE
       "[MEF SOAM-PM] R44, R45, R88 and R89"
    ::= { osSoamDmLastStatsBinsEntry 1 }


-- *****************************************************************************
-- Ethernet Delay Measurement Hist Statistic Table
-- *****************************************************************************

osSoamDmHistStatsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamDmHistStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the results for history Measurement
        Ints 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 Flow. This
        table uses four indices. The first two indices are the indices of
        the EService name and Flow ID. The third index is the
        specific DM session on the selected Flow. The fourth index is the 
        measurement interval.

        Several completed measurement intervals are to be supported, number of them are
        definded by osSoamPmGenPrflNumIntsStored. 96 completed measurement intervals are
        recommended to be supported. If there are osSoamPmGenPrflNumIntsStored 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
        recdommended to be supported.

        Unless otherwise indicated, the objects in this table 
        are ignored if osSoamPmDmPrflType is dm1DmTx. Bw statistic objects
        are undefined if osSoamPmDmPrflType is dm1DmRx. Two-way objects are
        undefined if osSoamPmDmPrflType is dm1DmTx or dm1DmRx.

        Except for osSoamDmHistStatsIndex and osSoamDmHistStatsSuspect, 
        each object in this table applies only if the corresponding bit is set in 
        osSoamPmDmPrflMeasurementEnable.

        The rows and objects in this table are to be persistent upon reboot 
        or restart of a device.
       "
    ::= { osSoamPmDmObjects 6 }

osSoamDmHistStatsEntry OBJECT-TYPE
    SYNTAX      OsSoamDmHistStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamDmHistStatsTable"
    INDEX      {
               osEthServId, osEthServFlowId, 
               osSoamDmCfgIndex,
               osSoamDmHistStatsIndex
               }
    ::= { osSoamDmHistStatsTable 1 }

OsSoamDmHistStatsEntry ::= SEQUENCE {
    osSoamDmHistStatsIndex            Unsigned32,
    osSoamDmHistStatsEndTime          DateAndTime,
    osSoamDmHistStatsElapTime         TimeInterval,
    osSoamDmHistStatsSuspect          TruthValue,
    
    osSoamDmHistStatsFdTwMin          Unsigned32,
    osSoamDmHistStatsFdTwMax          Unsigned32,
    osSoamDmHistStatsFdTwAvg          Unsigned32,
    
    osSoamDmHistStatsFdFwMin          Unsigned32,
    osSoamDmHistStatsFdFwMax          Unsigned32,
    osSoamDmHistStatsFdFwAvg          Unsigned32,
    
    osSoamDmHistStatsFdBwMin          Unsigned32,
    osSoamDmHistStatsFdBwMax          Unsigned32,
    osSoamDmHistStatsFdBwAvg          Unsigned32,
    
    osSoamDmHistStatsIfdvFwMin        Unsigned32,
    osSoamDmHistStatsIfdvFwMax        Unsigned32,
    osSoamDmHistStatsIfdvFwAvg        Unsigned32,
    
    osSoamDmHistStatsIfdvBwMin        Unsigned32,
    osSoamDmHistStatsIfdvBwMax        Unsigned32,
    osSoamDmHistStatsIfdvBwAvg        Unsigned32,
    
    osSoamDmHistStatsInitiatedMeas    Gauge32,
    osSoamDmHistStatsReceivedMeas     Gauge32
}

osSoamDmHistStatsIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The index for the measurement interval within this
        PM session.

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

        This object applies regardless of the value of osSoamPmDmPrflType.

        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 Flow while this
        session is active 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.
       "
    ::= { osSoamDmHistStatsEntry 1 }

osSoamDmHistStatsEndTime OBJECT-TYPE
    SYNTAX      DateAndTime
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "The time that the measurement interval ended.

        This object applies regardless of the value of osSoamPmDmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R12, R44 and R88"
    ::= { osSoamDmHistStatsEntry 2 }

osSoamDmHistStatsElapTime 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.

        This object applies regardless of the value of osSoamPmDmPrflType.
       "
    REFERENCE
       "[MEF SOAM-PM] R13, R44 and R88"
    ::= { osSoamDmHistStatsEntry 3 }

osSoamDmHistStatsSuspect OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Whether the measurement interval has been marked as suspect.

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

        1 - The local time-of-day clock is adjusted by at least 10 seconds
        2 - The conducting of a performance measurement is halted before the
            current measurement interval is completed
        3 - A local test, failure, or reconfiguration that disrupts service
       "
    REFERENCE
       "[MEF SOAM-PM] R27, R28 and R29"
    ::= { osSoamDmHistStatsEntry 4 }

osSoamDmHistStatsFdTwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum two-way frame delay
        calculated by this Flow for this measurement interval. 

        This attribute is undefined is osSoamPmDmPrflType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 5 }

osSoamDmHistStatsFdTwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum two-way frame delay
        calculated by this Flow for this measurement interval. 

        This attribute is undefined is osSoamPmDmPrflType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 6 }

osSoamDmHistStatsFdTwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average two-way frame delay
        calculated by this Flow for this measurement interval. 

        This attribute is undefined is osSoamPmDmPrflType is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 7 }

osSoamDmHistStatsFdFwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way frame delay
        in the Fw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmHistStatsEntry 8 }

osSoamDmHistStatsFdFwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way frame delay
        in the Fw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmHistStatsEntry 9 }

osSoamDmHistStatsFdFwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way frame delay
        in the Fw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmHistStatsEntry 10 }

osSoamDmHistStatsFdBwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way frame delay
        in the Bw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmRx or dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmHistStatsEntry 11 }

osSoamDmHistStatsFdBwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way frame delay
        in the Bw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmRx or dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmHistStatsEntry 12 }

osSoamDmHistStatsFdBwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way frame delay
        in the Bw direction calculated by this Flow for this
        measurement interval if the osSoamPmDmPrflClockSyncFlag is
        set to 'true'.

        The value of this attribute is undefined when the 
        osSoamPmDmPrflClockSyncFlag is set to 'false' or osSoamPmDmPrflType
        is dm1DmRx or dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R45 and R89"
    ::= { osSoamDmHistStatsEntry 13 }

osSoamDmHistStatsIfdvFwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way inter-frame delay
        interval in the Fw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 14 }

osSoamDmHistStatsIfdvFwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way inter-frame delay
        interval in the Fw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 15 }

osSoamDmHistStatsIfdvFwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way inter-frame delay
        interval in the Fw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 16 }

osSoamDmHistStatsIfdvBwMin OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the minimum one-way inter-frame delay
        interval in the Bw direction calculated by this Flow for this
        measurement interval.
  
        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 17 }

osSoamDmHistStatsIfdvBwMax OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the maximum one-way inter-frame delay
        interval in the Bw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 18 }

osSoamDmHistStatsIfdvBwAvg OBJECT-TYPE
    SYNTAX      Unsigned32
    UNITS       "microseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the average one-way inter-frame delay
        interval in the Bw direction calculated by this Flow for this
        measurement interval.

        The value of this attribute is undefined when osSoamPmDmPrflType
        is dm1DmTx or dm1DmRx.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 19 }

osSoamDmHistStatsInitiatedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated during this measurement interval.

        This attribute applies when osSoamPmDmPrflType is dmDmm or dm1DmRx and
        is undefined if osSoamPmDmPrflType is dm1DmTx. It indicates the 
        number of DMM or 1DM SOAM frames transmitted.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 23 }

osSoamDmHistStatsReceivedMeas OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of measurements 
        initiated in this measurement interval that have completed. 

        This attribute applies when osSoamPmDmPrflType is dmDmm or dm1DmRx and
        is undefined if osSoamPmDmPrflType is dm1DmTx. It indicates the number of 
        DMR or 1DM SOAM frames received.
       "
    REFERENCE
       "[MEF SOAM-PM] R44 and R88"
    ::= { osSoamDmHistStatsEntry 24 } 


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

osSoamDmHistStatsBinsTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsSoamDmHistStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "This table contains the result bins for the history Measurement
        Ints 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 Flow. This table uses six indices. The first two indices are the indices of
        the EService name and Flow ID. The third index is the
        specific DM session on the selected Flow. The fourth index is the 
        measurement interval.
        The fifth  index is the specific bin type. The sixth index is the specific bin number.

        Several completed measurement intervals are to be supported, number of them are
        definded by osSoamPmGenPrflNumIntsStored. 96 completed measurement intervals
        are recommended to be supported. If there are at least osSoamPmGenPrflNumIntsStored
        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
        recdommended to be supported.

        Rows in this table pertaining to a given measurement interval are 
        deleted when (and only when) the corresponding row in the 
        osSoamDmHistStatsTable is deleted.

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

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

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

osSoamDmHistStatsBinsEntry OBJECT-TYPE
    SYNTAX      OsSoamDmHistStatsBinsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The conceptual row of osSoamDmHistStatsBinsTable"
    INDEX      {
               osEthServId, osEthServFlowId, 
               osSoamDmCfgIndex,
               osSoamDmHistStatsIndex,
               osSoamDmCfgMeasBinType,
               osProvBinCfgBinIndex
               }
    ::= { osSoamDmHistStatsBinsTable 1 }

OsSoamDmHistStatsBinsEntry ::= SEQUENCE {
    osSoamDmHistStatsBinsCounter                Gauge32
}

osSoamDmHistStatsBinsCounter OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "This attribute contains the count of the number of completed
        measurements initiated in this measurement interval whose value
        falls within the range specified for this bin (that is, greater
        than or equal to the measurement boundary for the bin, and
        (unless the bin is the last bin) less than the measurement
        boundary for the following bin.
       "
    REFERENCE
       "[MEF SOAM-PM] R44, R45, R88 and R89"
    ::= { osSoamDmHistStatsBinsEntry 1 }

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

osSoamPmNotifCfgAlarmInt 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
        Flow 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}
    ::= { osSoamPmNotifCfg 1 }

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

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

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

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

        bAvailabilityChangeAlarm(0)  enables/disables osSoamAvailabilityChangeAlarm
        bLmSessionStartStopAlarm(1)  enables/disables osSoamLmSessionStartStopAlarm
        bDmSessionStartStopAlarm(2)  enables/disables osSoamDmSessionStartStopAlarm
        bPmThrCrossingAlarm(3)       enables/disables osSoamPmThrCrossingAlarm
       "
    DEFVAL { { } }
    ::= { osSoamPmNotifCfg 2 }

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

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

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

osSoamPmNotifObjThrId 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 osSoamLmThrEntry or osSoamDmThrEntry.

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

osSoamPmNotifObjThrConfig 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.
       "
    ::= { osSoamPmNotifObj 3 }

osSoamPmNotifObjThrValue 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 osSoamLmMeasStatsTable, 
        osSoamLmCurStatsTable, osSoamLmCurAvailStatsTable,
        osSoamDmMeasStatsTable or osSoamDmCurStatsTable.

        This object is only used for the notification.
       "
    ::= { osSoamPmNotifObj 4 }

osSoamPmNotifObjSuspect 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 osSoamLmCurStatsTable,
        osSoamLmCurAvailStatsTable, or osSoamDmCurStatsTable.

        This object is only used for the notification.
       "
    ::= { osSoamPmNotifObj 5 }

osSoamPmNotifObjCrossingType OBJECT-TYPE
    SYNTAX      INTEGER {
                  aboveAlarm     (1),
                  setAlarm       (2),
                  clearAlarm     (3)
                }
    MAX-ACCESS  accessible-for-notify
    STATUS      current
    DESCRIPTION
       "The Notification Crossing Type of the object that caused the generation
        of the notification from the osSoamLmThrEntry or 
        osSoamDmThrEntry.

        aboveAlarm(1)   indicates that the crossing type alarm was an above
                        threshold

        setAlarm(2)     indicates that the crossing type alarm was a set
                        threshold

        clearAlarm(3)   indicates that the crossing type alarm was a clear
                        threshold

        This object is only used for the notification.
       "
    ::= { osSoamPmNotifObj 6 }

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

osSoamAvailabilityChangeAlarm NOTIFICATION-TYPE
    OBJECTS     {
                osSoamPmNotifObjDateAndTime,
                osSoamLmMeasStatsAvailFwStatus,
                osSoamLmMeasStatsAvailBwStatus,
                osSoamLmMeasStatsAvailFwLastTr,
                osSoamLmMeasStatsAvailBwLastTr
                }
    STATUS      current
    DESCRIPTION
       "An osSoamAvailabilityChangeAlarm notification is sent when the state of
        osSoamLmMeasStatsAvailFwStatus or 
        osSoamLmMeasStatsAvailBwStatus 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 
        osSoamLmMeasStatsAvailFwLastTr, including
        osEthServId, osEthServFlowId, and osSoamLmCfgIndex.

        An agent is not to generate more than one osSoamAvailabilityChangeAlarm
        'notification-event' in a given time interval per PM session as 
        specified by the osSoamPmNotifCfgAlarmInt.  A 
        'notification-event' is the transmission of a single notification to
        a list of notification destinations.

        If additional availability state changes occur within the 
        osSoamPmNotifCfgAlarmInt 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.
       "
    ::= { osSoamPmNotifs 1 }

osSoamLmSessionStartStopAlarm NOTIFICATION-TYPE
    OBJECTS     {
                osSoamLmCfgSessionStatus,
                osSoamPmNotifObjDateAndTime
                }
    STATUS      current
    DESCRIPTION
       "An osSoamLmSessionStartStopAlarm notification is sent when the state of
        osSoamLmCfgSessionStatus 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 osSoamLmCfgSessionStatus, including
        osEthServId, osEthServFlowId, and osSoamLmCfgIndex.

        An agent is not to generate more than one osSoamLmSessionStartStopAlarm
        'notification-event' in a given time interval per LM session as specified
        by the osSoamPmNotifCfgAlarmInt.  A 'notification-event' is
        the transmission of a single notification to a list of notification 
        destinations.

        If additional operational state changes occur within the 
        osSoamPmNotifCfgAlarmInt 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.
       "
    ::= { osSoamPmNotifs 2 }

osSoamDmSessionStartStopAlarm NOTIFICATION-TYPE
    OBJECTS     {
                osSoamDmCfgSessionStatus,
                osSoamPmNotifObjDateAndTime
                }
    STATUS      current
    DESCRIPTION
       "An osSoamDmSessionStartStopAlarm notification is sent when the state of
        osSoamDmCfgSessionStatus 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 osSoamDmCfgSessionStatus, including
        osEthServId, osEthServFlowId, and osSoamDmCfgIndex.

        An agent is not to generate more than one osSoamDmSessionStartStopAlarm
        'notification-event' in a given time interval per DM session as specified
        by osSoamPmNotifCfgAlarmInt.  A 'notification-event' is the
        transmission of a single notification to a list of notification 
        destinations.

        If additional operational state changes occur within the 
        osSoamPmNotifCfgAlarmInt 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.
       "
    ::= { osSoamPmNotifs 3 }

osSoamPmThrCrossingAlarm NOTIFICATION-TYPE
    OBJECTS     {
                osSoamPmNotifObjCrossingType,
                osSoamPmNotifObjThrId,
                osSoamPmNotifObjThrConfig,
                osSoamPmNotifObjThrValue,
                osSoamPmNotifObjSuspect,
                osSoamPmNotifObjDateAndTime
                }
    STATUS      current
    DESCRIPTION
       "An osSoamPmThrCrossingAlarm notification is sent if the 
        following conditions are met for a particular type.

        For an aboveAlarm five conditions need to be met:

        a) measurement of the parameter is enabled via osSoamLmCfgMeasurementEnable
           for a LM crossing or osSoamDmCfgMeasurementEnable for a DM crossing; 
           and

        b) the parameter threshold is configured in the osSoamPmLmThrPrflTable
           or osSoamDmThrCfgTable; and 

        c) the threshold crossing type of bPmThrAboveAlarm is enabled; 
           and

        d) the measured value of the parameter exceeds the value configured in
           the osSoamPmLmThrPrflTable for a LM crossing entry or
           osSoamDmThrCfgTable for a DM crossing entry for a type of
           bPmThrAboveAlarm; and

        e) no previous osSoamPmThrCrossingAlarm notifications with type
           aboveAlarm have been sent relating to the same threshold in the
           osSoamPmLmThrPrflTable or osSoamDmThrCfgTable and the
           same parameter, during this measurement interval.

        For a setAlarm five conditions need to be met:

        a) measurement of the parameter is enabled via osSoamLmCfgMeasurementEnable
           for a LM crossing or osSoamDmCfgMeasurementEnable for a DM crossing; 
           and

        b) the parameter threshold is configured in the osSoamPmLmThrPrflTable
           or osSoamDmThrCfgTable; and 

        c) the threshold crossing type of bPmThrSetClearAlarm is enabled; 
           and

        d) the measured value of the parameter exceeds the value configured in
           the osSoamPmLmThrPrflTable for a LM crossing entry or
           osSoamDmThrCfgTable for a DM crossing entry for a type of
           bPmThrSetClearAlarm for the measurement interval; and

        e) the previous measured value did not 
           exceed the value configured in the osSoamPmLmThrPrflTable for
           a LM crossing entry or osSoamDmThrCfgTable for a DM crossing
           entry for a type of bPmThrSetClearAlarm.

        For a clearAlarm five conditions need to be met:

        a) measurement of the parameter is enabled via osSoamLmCfgMeasurementEnable
           for a LM crossing or osSoamDmCfgMeasurementEnable for a DM crossing; 
           and

        b) the parameter threshold is configured in the osSoamPmLmThrPrflTable
           or osSoamDmThrCfgTable; and 

        c) the threshold crossing type of bPmThrSetClearAlarm is enabled; 
           and

        d) the measured value of the parameter did not exceed the value configured 
           in the osSoamPmLmThrPrflTable for a LM crossing entry or
           osSoamDmThrCfgTable for a DM crossing entry for a type of
           bPmThrSetClearAlarm for the measurement interval; and

        e) the previous measured value did  
           exceed the value configured in the osSoamPmLmThrPrflTable for
           a LM crossing entry or osSoamDmThrCfgTable for a DM crossing
           entry for a type of bPmThrSetClearAlarm.

        In the case of thresholds applied to a maximum or average measurement
        counter, the previous measured value is the value of the counter at the
        end of the preceding measurement interval.  In the case of thresholds
        applied to the last measured value, it is the previous measured value.

        The management entity that receives the notification can identify
        the system from the network source address of the notification,
        and can identify the LM or DM session reporting the threshold
        crossing by the indices in the osSoamPmNotifObjThrId object,
        including osEthServId, osEthServFlowId, and the osSoamLmCfgIndex or osSoamDmCfgIndex. 

        An agent is not to generate more than one osSoamLmThrCrossingAlarm
        'notification-event' of a given type per LM or DM session as specified
        by osSoamPmNotifCfgAlarmInt. A 'notification-event' is the
        transmission of a single notification to a list of notification
        destinations.

        If additional threshold crossing events occur within the 
        osSoamPmNotifCfgAlarmInt period, then notification 
        generation for these changes are suppressed by the agent until 
        the current alarm interval expires. At the end of an alarm interval 
        period, one notification-event is generated if any threshold
        crossing events occurred since the start of the alarm interval period. 
        In such a case, another alarm interval period is started right away.
       "
    ::= { osSoamPmNotifs 4 }


-- *****************************************************************************
-- SOAM Performance Measurement Global Capabilities Table
-- *****************************************************************************

osSoamPmSupported OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates if SOAM PM test is supported by hardware or not:
          false - hardware doesn't support SOAM PM test
          true  - hardware supports SOAM PM test"
    ::= { osSoamPmCapabilities 1 }

osSoamPmLmCaps OBJECT-TYPE
    SYNTAX      SoamLmCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates supported values of LM Measurement."
    ::= { osSoamPmCapabilities 2 }

osSoamPmLmThrCaps OBJECT-TYPE
    SYNTAX      SoamLmThrCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates supported values for LM Thresholds notification."
    ::= { osSoamPmCapabilities 3 }


osSoamPmDmCaps OBJECT-TYPE
    SYNTAX      SoamDmCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates supported values for DM Measurement."
    ::= { osSoamPmCapabilities 4 }


osSoamPmDmThrCaps OBJECT-TYPE
    SYNTAX      SoamDmThrCapabilities
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Indicates supported values for DM Thresholds notification."
    ::= { osSoamPmCapabilities 5 }


-- *****************************************************************************
-- SOAM-PM MIB Module - Conformance Information
-- *****************************************************************************

osSoamPmMibCompliances OBJECT IDENTIFIER ::= { osSoamPmMibConformance 1 }
osSoamPmMibGroups      OBJECT IDENTIFIER ::= { osSoamPmMibConformance 2 }

-- ******************************************************************
-- SOAM-PM MIB Units of conformance
-- ******************************************************************

osSoamPmFlowMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamPmFlowOperNextIndex,
      osSoamPmFlowSlmSinglEndResponder,
      osSoamPmFlowDmSinglEndResponder
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM PM Flow group."
    ::= { osSoamPmMibGroups 1 }

osSoamPmFlowOptGroup OBJECT-GROUP
    OBJECTS {
      osSoamPmFlowLmSinglEndResponder
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM Service OAM PM Flow group."
    ::= { osSoamPmMibGroups 2 }

osSoamPmGenPrflMandGroup OBJECT-GROUP
    OBJECTS {
	  osSoamPmGenPrflMessagePeriod,
	  osSoamPmGenPrflFrameSize,
	  osSoamPmGenPrflDataPattern,
	  osSoamPmGenPrflMeasurementInt,
	  osSoamPmGenPrflNumIntsStored,
	  osSoamPmGenPrflRepetitionPeriod,
	  osSoamPmGenPrflLastError,	  
	  osSoamPmGenPrflAdminStatus,
	  osSoamPmGenPrflOperStatus	 	  
	}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM General (LM and DM) Profile group."
    ::= { osSoamPmMibGroups 3 }
	  
osSoamPmGenPrflOptGroup OBJECT-GROUP
    OBJECTS {    
	  osSoamPmGenPrflTestTlvIncluded,
	  osSoamPmGenPrflTestTlvPattern,
	  osSoamPmGenPrflAlignMeasInts
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM General (LM and DM) Profile group."
    ::= { osSoamPmMibGroups 4 }

osSoamPmLmPrflMandGroup OBJECT-GROUP
    OBJECTS {
	  osSoamPmLmPrflType,
	  osSoamPmLmPrflMeasurementEnable,
	  osSoamPmLmPrflAvailMeasInt,
	  osSoamPmLmPrflAvailFlrThr,
	  osSoamPmLmPrflAvailNumConsInts,
	  osSoamPmLmPrflAvailNumConHighFlr,
	  osSoamPmLmPrflNumSynthFramesFlr,
	  osSoamPmLmPrflLastError,
	  osSoamPmLmPrflAdminStatus,
	  osSoamPmLmPrflOperStatus
	}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Profile group."
    ::= { osSoamPmMibGroups 5 }
	  
osSoamPmLmPrflOptGroup OBJECT-GROUP
    OBJECTS {    
	  osSoamPmLmPrflVersion
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Profile group."
    ::= { osSoamPmMibGroups 6 }

osSoamPmLmThrPrflMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamPmLmThrPrflEnable,
      osSoamPmLmThrPrflMaxFlrFwThr,
      osSoamPmLmThrPrflAvgFlrFwThr,
      osSoamPmLmThrPrflMaxFlrBwThr,
      osSoamPmLmThrPrflAvgFlrBwThr,
      osSoamPmLmThrPrflFwUnavCountThr,
      osSoamPmLmThrPrflFwAvailRatioThr,
      osSoamPmLmThrPrflBwUnavCountThr,
      osSoamPmLmThrPrflBwAvailRatioThr,
      osSoamPmLmThrPrflLastError,
      osSoamPmLmThrPrflAdminStatus,
      osSoamPmLmThrPrflOperStatus
	}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Thr Profile group."
    ::= { osSoamPmMibGroups 7 }
	  
osSoamPmLmThrPrflOptGroup OBJECT-GROUP
    OBJECTS {    
            osSoamPmLmThrPrflFwHiLosThr,
            osSoamPmLmThrPrflFwConHiLosThr,
            osSoamPmLmThrPrflBwHiLosThr,
            osSoamPmLmThrPrflBwConHiLosThr
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Thr Profile group."
    ::= { osSoamPmMibGroups 8 }

osSoamPmDmPrflMandGroup OBJECT-GROUP
    OBJECTS {
	  osSoamPmDmPrflType,
	  osSoamPmDmPrflMeasurementEnable,
	  osSoamPmDmPrflIfdvSelOffset,
	  osSoamPmDmPrflNuMeasBinPrFdInt,
	  osSoamPmDmPrflNuMeasBinPrIfdvInt,
	  osSoamPmDmPrflLastError,
	  osSoamPmDmPrflAdminStatus,
	  osSoamPmDmPrflOperStatus
	}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM Profile group."
    ::= { osSoamPmMibGroups 9 }
	  
osSoamPmDmPrflOptGroup OBJECT-GROUP
    OBJECTS {    
      osSoamPmDmPrflVersion
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM Profile group."
    ::= { osSoamPmMibGroups 10 }

osSoamPmDmThrPrflMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamPmDmThrPrflEnable,
      osSoamPmDmThrPrflMaxFdTwThr,
      osSoamPmDmThrPrflAvgFdTwThr,
      osSoamPmDmThrPrflMaxFdFwThr,
      osSoamPmDmThrPrflAvgFdFwThr,
      osSoamPmDmThrPrflMaxIfdvFwThr,
      osSoamPmDmThrPrflAvgIfdvFwThr,
      osSoamPmDmThrPrflMaxFdBwThr,
      osSoamPmDmThrPrflAvgFdBwThr,
      osSoamPmDmThrPrflMaxIfdvBwThr,
      osSoamPmDmThrPrflAvgIfdvBwThr,
      osSoamPmDmThrPrflLastError,
      osSoamPmDmThrPrflAdminStatus,
      osSoamPmDmThrPrflOperStatus
	}
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM Thr Profile group."
    ::= { osSoamPmMibGroups 11 }
	  	  
osSoamLmCfgMandGroup OBJECT-GROUP
    OBJECTS {
    osSoamLmCfgEnabled,
    osSoamLmCfgGenPrfl,
    osSoamLmCfgLmPrfl,
    osSoamLmCfgLmThrPrfl,
    osSoamLmCfgDestMacAddress,
    osSoamLmCfgDestMepId,
    osSoamLmCfgDestIsMepId,
    osSoamLmCfgStartTimeType,
    osSoamLmCfgFixedStartDateAndTime, 
    osSoamLmCfgRelativeStartTime,
    osSoamLmCfgStopTimeType,
    osSoamLmCfgFixedStopDateAndTime,
    osSoamLmCfgRelativeStopTime,
    osSoamLmCfgSessionStatus,
    osSoamLmCfgHistClear,
    osSoamLmCfgRowStatus,
    osSoamLmCfgLastError,
    osSoamLmCfgSessionStatusEx,
    osSoamLmCfgLastHistIndx
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM Configuration group."
    ::= { osSoamPmMibGroups 13 }

osSoamLmMeasStatsMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamLmMeasStatsAvailFwLastTr,
      osSoamLmMeasStatsAvailBwLastTr  
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM MeasuredStats group."
    ::= { osSoamPmMibGroups 15 }

osSoamLmMeasStatsOptGroup OBJECT-GROUP
    OBJECTS {
      osSoamLmMeasStatsAvailFwStatus,
      osSoamLmMeasStatsAvailBwStatus
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM MeasuredStats group."
    ::= { osSoamPmMibGroups 16 }

osSoamLmHistAvailStatsMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamLmLastAvailStatsEndTime,
      osSoamLmLastAvailStatsElapTime,
      osSoamLmLastAvailStatsSuspect,
      osSoamLmLastAvailStatsFwAvail,
      osSoamLmLastAvailStatsBwAvail,
      osSoamLmLastAvailStatsFwUnav,
      osSoamLmLastAvailStatsBwUnav,

      osSoamLmHistAvailStatsEndTime,
      osSoamLmHistAvailStatsElapTime,
      osSoamLmHistAvailStatsSuspect,
      osSoamLmHistAvailStatsFwAvail,
      osSoamLmHistAvailStatsBwAvail,
      osSoamLmHistAvailStatsFwUnav,
      osSoamLmHistAvailStatsBwUnav
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM Availability LM history
        statistics group.
       "
    ::= { osSoamPmMibGroups 21 }

osSoamLmHistAvailStatsOptGroup OBJECT-GROUP
    OBJECTS {
      osSoamLmLastAvailStatsFwHiLos,
      osSoamLmLastAvailStatsBwHiLos,
      osSoamLmLastAvailStatsFwConHiLos,
      osSoamLmLastAvailStatsBwConHiLos,

      osSoamLmHistAvailStatsFwHiLos,
      osSoamLmHistAvailStatsBwHiLos,
      osSoamLmHistAvailStatsFwConHiLos,
      osSoamLmHistAvailStatsBwConHiLos 
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM Availability LM history
        statistics group.
       "
    ::= { osSoamPmMibGroups 22 }

osSoamLmHistStatsMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamLmLastStatsEndTime,
      osSoamLmLastStatsElapTime,
      osSoamLmLastStatsSuspect,
      osSoamLmLastStatsFwMinFlr,
      osSoamLmLastStatsFwMaxFlr,
      osSoamLmLastStatsFwAvgFlr,
      osSoamLmLastStatsBwMinFlr,
      osSoamLmLastStatsBwMaxFlr,
      osSoamLmLastStatsBwAvgFlr,
      osSoamLmLastStatsInitiatedMeas,
      osSoamLmLastStatsReceivedMeas,

      osSoamLmHistStatsEndTime,
      osSoamLmHistStatsElapTime,
      osSoamLmHistStatsSuspect,
      osSoamLmHistStatsFwMinFlr,
      osSoamLmHistStatsFwMaxFlr,
      osSoamLmHistStatsFwAvgFlr,
      osSoamLmHistStatsBwMinFlr,
      osSoamLmHistStatsBwMaxFlr,
      osSoamLmHistStatsBwAvgFlr,
      osSoamLmHistStatsInitiatedMeas,
      osSoamLmHistStatsReceivedMeas
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM LM history statistics group."
    ::= { osSoamPmMibGroups 23 }

osSoamLmHistStatsOptGroup OBJECT-GROUP
    OBJECTS {
      osSoamLmLastStatsFwTxFrames,
      osSoamLmLastStatsFwRxFrames,
      osSoamLmLastStatsBwTxFrames,
      osSoamLmLastStatsBwRxFrames,

      osSoamLmHistStatsFwTxFrames,
      osSoamLmHistStatsFwRxFrames,
      osSoamLmHistStatsBwTxFrames,
      osSoamLmHistStatsBwRxFrames
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM LM Hist Stats group."
    ::= { osSoamPmMibGroups 24 }

osSoamDmCfgMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamDmCfgEnabled,
      osSoamDmCfgGenPrfl,
      osSoamDmCfgDmPrfl,
      osSoamDmCfgDmThrPrfl,
      osSoamDmCfgDestMacAddress,
      osSoamDmCfgDestMepId,
      osSoamDmCfgDestIsMepId,
      osSoamDmCfgStartTimeType,
      osSoamDmCfgFixedStartDateAndTime,
      osSoamDmCfgRelativeStartTime,
      osSoamDmCfgStopTimeType,
      osSoamDmCfgFixedStopDateAndTime,
      osSoamDmCfgRelativeStopTime,
      osSoamDmCfgSessionStatus,
      osSoamDmCfgHistClear,
      osSoamDmCfgRowStatus,
      osSoamDmCfgLastError,
      osSoamDmCfgSessionStatusEx,
      osSoamDmCfgLastHistIndx
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM configuration group."
    ::= { osSoamPmMibGroups 25 }

osSoamDmCfgOptGroup OBJECT-GROUP
    OBJECTS {
      osSoamDmCfgSourceMacAddress
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM DM Configuration group."
    ::= { osSoamPmMibGroups 26 }

osSoamDmCfgMeasBinMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamDmCfgMeasBinPrflId
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM measurement bin configuration 
        group."
    ::= { osSoamPmMibGroups 27 }

osSoamDmHistStatsMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamDmLastStatsIndex,

      osSoamDmLastStatsEndTime,
      osSoamDmLastStatsElapTime,
      osSoamDmLastStatsSuspect,
    
      osSoamDmLastStatsFdTwMin,
      osSoamDmLastStatsFdTwMax,
      osSoamDmLastStatsFdTwAvg,
    
      osSoamDmLastStatsFdFwMin,
      osSoamDmLastStatsFdFwMax,
      osSoamDmLastStatsFdFwAvg,
    
      osSoamDmLastStatsFdBwMin,
      osSoamDmLastStatsFdBwMax,
      osSoamDmLastStatsFdBwAvg,
    
      osSoamDmLastStatsIfdvFwMin,
      osSoamDmLastStatsIfdvFwMax,
      osSoamDmLastStatsIfdvFwAvg,
    
      osSoamDmLastStatsIfdvBwMin,
      osSoamDmLastStatsIfdvBwMax,
      osSoamDmLastStatsIfdvBwAvg,
    
      osSoamDmLastStatsInitiatedMeas,
      osSoamDmLastStatsReceivedMeas,

      osSoamDmLastStatsBinsCounter,
      
      osSoamDmHistStatsEndTime,
      osSoamDmHistStatsElapTime,
      osSoamDmHistStatsSuspect,

      osSoamDmHistStatsFdTwMin,
      osSoamDmHistStatsFdTwMax,
      osSoamDmHistStatsFdTwAvg,

      osSoamDmHistStatsFdFwMin,
      osSoamDmHistStatsFdFwMax,
      osSoamDmHistStatsFdFwAvg,

      osSoamDmHistStatsFdBwMin,
      osSoamDmHistStatsFdBwMax,
      osSoamDmHistStatsFdBwAvg,

      osSoamDmHistStatsIfdvFwMin,
      osSoamDmHistStatsIfdvFwMax,
      osSoamDmHistStatsIfdvFwAvg,

      osSoamDmHistStatsIfdvBwMin,
      osSoamDmHistStatsIfdvBwMax,
      osSoamDmHistStatsIfdvBwAvg,

      osSoamDmHistStatsInitiatedMeas,
      osSoamDmHistStatsReceivedMeas      
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM history statistics group."
       
    ::= { osSoamPmMibGroups 32 }

osSoamDmHistStatsBinsMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamDmHistStatsBinsCounter
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM DM history statistics
        bin group."
    ::= { osSoamPmMibGroups 34 }

osSoamPmNotifsMandGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
      osSoamAvailabilityChangeAlarm,
      osSoamLmSessionStartStopAlarm,
      osSoamDmSessionStartStopAlarm
    }
    STATUS      current
    DESCRIPTION
       "Mandatory notifications for the SOAM PM Notifications group."
    ::= { osSoamPmMibGroups 39 }

osSoamPmNotifsOptGroup NOTIFICATION-GROUP
    NOTIFICATIONS {
            osSoamPmThrCrossingAlarm
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM PM Notifications group."
    ::= { osSoamPmMibGroups 40 }

osSoamPmNotifCfgMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamPmNotifCfgAlarmInt,
      osSoamPmNotifCfgAlarmEnable
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the SOAM PM Notification Configuration group."
    ::= { osSoamPmMibGroups 41 }

osSoamPmNotifObjMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamPmNotifObjDateAndTime,
      osSoamPmNotifObjSuspect

    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the SOAM PM Notification Object group."
    ::= { osSoamPmMibGroups 42 }

osSoamPmNotifObjOptGroup OBJECT-GROUP
    OBJECTS {
            osSoamPmNotifObjThrConfig,
            osSoamPmNotifObjThrId,
            osSoamPmNotifObjThrValue,
            osSoamPmNotifObjCrossingType
    }
    STATUS      current
    DESCRIPTION
       "Optional objects for the Service OAM PM Notifications group."
    ::= { osSoamPmMibGroups 43 }

osSoamPmCapabilMandGroup OBJECT-GROUP
    OBJECTS {
      osSoamPmSupported,
      osSoamPmLmCaps,
      osSoamPmLmThrCaps,
      osSoamPmDmCaps,
      osSoamPmDmThrCaps
    }
    STATUS      current
    DESCRIPTION
       "Mandatory objects for the Service OAM PM Capabilities group."
    ::= { osSoamPmMibGroups 44 }

-- ******************************************************************
-- SOAM-PM MIB Module Compliance statements
-- ******************************************************************

osSoamPmMibCompliance MODULE-COMPLIANCE
    STATUS       current
    DESCRIPTION "The compliance statement for the Ethernet Service OAM PM MIB."
    MODULE
        MANDATORY-GROUPS { 
            osSoamPmFlowMandGroup,
            osSoamPmGenPrflMandGroup,
            osSoamPmLmPrflMandGroup,
            osSoamPmLmThrPrflMandGroup,
            osSoamPmDmPrflMandGroup,
            osSoamPmDmThrPrflMandGroup,                       
            osSoamLmCfgMandGroup,            
            osSoamLmMeasStatsMandGroup,
            osSoamLmHistAvailStatsMandGroup,
            osSoamLmHistStatsMandGroup,
            osSoamDmCfgMandGroup,
            osSoamDmCfgMeasBinMandGroup,
            osSoamDmHistStatsMandGroup,
            osSoamDmHistStatsBinsMandGroup,
            osSoamPmNotifsMandGroup,
            osSoamPmNotifCfgMandGroup,
            osSoamPmNotifObjMandGroup,
            osSoamPmCapabilMandGroup
        }

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

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

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

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

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

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

    GROUP osSoamLmHistAvailStatsOptGroup
    DESCRIPTION "The osSoamLmCurStatsOptGroup is an optional requirement."

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

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

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

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

    ::= { osSoamPmMibCompliances 1 }

END

