-- *****************************************************************
-- INFINERA-PM-DSEPTP-MIB
-- 
-- October 2008, Sharfuddin Syed / Narendra Gupta
-- 
-- 
-- Copyright (c) 2008-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-PM-DSEPTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32                                   FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    TruthValue                                  FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    FloatHundredths                             FROM INFINERA-TC-MIB
    perfMon                                     FROM INFINERA-REG-MIB;


dsePtpPmMIB MODULE-IDENTITY
    LAST-UPDATED  "200810200000Z"  
    ORGANIZATION  "Infinera"
    CONTACT-INFO
        "Infinera
        1322 Bordeaux Drive
        Sunnyvale, CA - 94089

        Contact : Technical Support
        Email   : support@infinera.com
        Phone   : 1-877-INF-5288"
    DESCRIPTION
        " "
    REVISION      "200810200000Z" 
    DESCRIPTION
        "First Version"
    ::= { perfMon 18 }



dsePtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DsePtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of DsePtpPm entries. Each entry is uniquely identified by the value of ifIndex and dsePtpPmTimestamp."
    ::= { dsePtpPmMIB 2 } 

dsePtpPmEntry  OBJECT-TYPE
    SYNTAX      DsePtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A DsePtp entry containing historical performance information pertaining to Infinera BMM OCG PTP interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type BMM OCG PTP.
        Each interface may have a number of entries in this table, each with a different combination of timestamp
        and sample duration."
    INDEX { ifIndex, dsePtpPmSampleDuration, dsePtpPmTimestamp }
    ::= { dsePtpPmTable 1 }


DsePtpPmEntry  ::= SEQUENCE {
    dsePtpPmTimestamp        Integer32,
    dsePtpPmSampleDuration   INTEGER,
    dsePtpPmValidity         TruthValue,
    dsePtpPmOptMin     FloatHundredths,
    dsePtpPmOptMax     FloatHundredths,
    dsePtpPmOptAve     FloatHundredths,
    dsePtpPmOprMin     FloatHundredths,
    dsePtpPmOprMax     FloatHundredths,
    dsePtpPmOprAve     FloatHundredths
}

dsePtpPmTimestamp OBJECT-TYPE
    SYNTAX      Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "End Time stamp for this interval. If this time is later than the current time,
        then the data for this bucket is currently being collected."
    ::= { dsePtpPmEntry  1 }


dsePtpPmSampleDuration OBJECT-TYPE
    SYNTAX      INTEGER {
                    fifteenMinutes(1),
                    day(2)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The duration of this sample."
    ::= { dsePtpPmEntry  2 }


dsePtpPmValidity OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Flag indicating if data was valid for the entire interval"
    ::= { dsePtpPmEntry  3 }


dsePtpPmOptMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum optical power transmitted."
    ::= { dsePtpPmEntry  4 }


dsePtpPmOptMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum optical power transmitted."
    ::= { dsePtpPmEntry  5 }


dsePtpPmOptAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average optical power transmitted."
    ::= { dsePtpPmEntry  6 }


dsePtpPmOprMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum optical power received."
    ::= { dsePtpPmEntry  7 }


dsePtpPmOprMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum optical power received."
    ::= { dsePtpPmEntry  8 }


dsePtpPmOprAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average optical power received."
    ::= { dsePtpPmEntry  9 }




dsePtpPmRealTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DsePtpPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of DsePtpPmReal entries. Each entry is uniquely identified by the value of ifIndex."
    ::= { dsePtpPmMIB 1 } 

dsePtpPmRealEntry  OBJECT-TYPE
    SYNTAX      DsePtpPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A DsePtp entry containing real-time performance information pertaining to Infinera
        BMM OCG PTP interfaces. This table is a subclass of IfCommon. Entries will exist in this
        table only for interfaces of type BMM OCG PTP."
    INDEX { ifIndex }
    ::= { dsePtpPmRealTable 1 }


DsePtpPmRealEntry  ::= SEQUENCE {
    dsePtpPmRealOpt               FloatHundredths,
    dsePtpPmRealOpr               FloatHundredths
}

dsePtpPmRealOpt OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "optical power transmitted."
    ::= { dsePtpPmRealEntry  1 }


dsePtpPmRealOpr OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power received."
    ::= { dsePtpPmRealEntry  2 }

-- Conformance Statements
dsePtpPmConformance    OBJECT IDENTIFIER ::= { dsePtpPmMIB 3 }
dsePtpPmCompliances    OBJECT IDENTIFIER ::= { dsePtpPmConformance 1 }
dsePtpPmGroups         OBJECT IDENTIFIER ::= { dsePtpPmConformance 2 }

dsePtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-DSEPTP-MIB"
    MODULE
        MANDATORY-GROUPS { dsePtpPmGroup }
    ::= { dsePtpPmCompliances 1 }

dsePtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the dsePtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { dsePtpPmRealGroup }
    ::= { dsePtpPmCompliances 2 }

dsePtpPmGroup OBJECT-GROUP
    OBJECTS {
        dsePtpPmValidity,
        dsePtpPmOptMin,
        dsePtpPmOptMax,
        dsePtpPmOptAve,
        dsePtpPmOprMin,
        dsePtpPmOprMax,
        dsePtpPmOprAve
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the dsePtp."
    ::= { dsePtpPmGroups 1 }

dsePtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        dsePtpPmRealOpt,
        dsePtpPmRealOpr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the dsePtp."
    ::= { dsePtpPmGroups 2 }


END
