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

INFINERA-PM-OSCTCTP-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;


osctCtpPmMIB 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 11 }



osctCtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OsctCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of OsctCtpPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and osctCtpPmTimestamp."
    ::= { osctCtpPmMIB 2 } 

osctCtpPmEntry  OBJECT-TYPE
    SYNTAX      OsctCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A OsctCtp entry containing historical performance information pertaining to Infinera OsctCtp interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type OSCT CTP.
        Each interface may have a number of entries in this table, each with a different combination
        of timestamp and sample duration."
    INDEX { ifIndex, osctCtpPmSampleDuration, osctCtpPmTimestamp }
    ::= { osctCtpPmTable 1 }


OsctCtpPmEntry  ::= SEQUENCE {
    osctCtpPmTimestamp        Integer32,
    osctCtpPmSampleDuration   INTEGER,
    osctCtpPmValidity         TruthValue,
    osctCtpPmOscTOPTMin       FloatHundredths,
    osctCtpPmOscTOPTMax       FloatHundredths,
    osctCtpPmOscTOPTAve       FloatHundredths,
    osctCtpPmOscTOPRMin       FloatHundredths,
    osctCtpPmOscTOPRMax       FloatHundredths,
    osctCtpPmOscTOPRAve       FloatHundredths
}

osctCtpPmTimestamp 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."
    ::= { osctCtpPmEntry  1 }


osctCtpPmSampleDuration OBJECT-TYPE
    SYNTAX      INTEGER {
                    fifteenMinutes(1),
                    day(2)
                }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Count of the number of seconds that data was collected for this interval"
    ::= { osctCtpPmEntry  2 }


osctCtpPmValidity OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The duration of this sample."
    ::= { osctCtpPmEntry  3 }


osctCtpPmOscTOPTMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power transmitted by the RAM to the BMM, minimum(dBm)."
    ::= { osctCtpPmEntry  4 }


osctCtpPmOscTOPTMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power transmitted by the RAM to the BMM, maximum(dBm)."
    ::= { osctCtpPmEntry  5 }


osctCtpPmOscTOPTAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power transmitted by the RAM to the BMM, average(dBm)."
    ::= { osctCtpPmEntry  6 }


osctCtpPmOscTOPRMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power received by the RAM from the BMM, minimum (dBm)."
    ::= { osctCtpPmEntry  7 }


osctCtpPmOscTOPRMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power received by the RAM from the BMM, maximum (dBm)."
    ::= { osctCtpPmEntry  8 }


osctCtpPmOscTOPRAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power received by the RAM from the BMM, average (dBm)."
    ::= { osctCtpPmEntry  9 }

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

osctCtpPmRealEntry  OBJECT-TYPE
    SYNTAX      OsctCtpPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A OsctCtp entry containing real-time performance information pertaining to Infinera OsctCtp interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type OSCT CTP."
    INDEX { ifIndex }
    ::= { osctCtpPmRealTable 1 }


OsctCtpPmRealEntry  ::= SEQUENCE {
    osctCtpPmRealOscTOPT    FloatHundredths,
    osctCtpPmRealOscTOPR    FloatHundredths
}

osctCtpPmRealOscTOPT OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power transmitted by the RAM to the BMM."
    ::= { osctCtpPmRealEntry  1 }


osctCtpPmRealOscTOPR OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical power received by the RAM from the BMM."
    ::= { osctCtpPmRealEntry  2 }

-- Conformance Statements
osctCtpPmConformance    OBJECT IDENTIFIER ::= { osctCtpPmMIB 3 }
osctCtpPmCompliances    OBJECT IDENTIFIER ::= { osctCtpPmConformance 1 }
osctCtpPmGroups         OBJECT IDENTIFIER ::= { osctCtpPmConformance 2 }

osctCtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-OSCTCTP-MIB"
    MODULE
        MANDATORY-GROUPS { osctCtpPmGroup }
    ::= { osctCtpPmCompliances 1 }

osctCtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the osctCtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { osctCtpPmRealGroup }
    ::= { osctCtpPmCompliances 2 }

osctCtpPmGroup OBJECT-GROUP
    OBJECTS {
        osctCtpPmValidity,
        osctCtpPmOscTOPTMin,
        osctCtpPmOscTOPTMax,
        osctCtpPmOscTOPTAve,
        osctCtpPmOscTOPRMin,
        osctCtpPmOscTOPRMax,
        osctCtpPmOscTOPRAve
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the performance of the osctCtp."
    ::= { osctCtpPmGroups 1 }

osctCtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        osctCtpPmRealOscTOPT,
        osctCtpPmRealOscTOPR
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the performance of the osctCtp."
    ::= { osctCtpPmGroups 2 }


END
