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

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


bmmOcgPtpPmMIB 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 2 }



bmmOcgPtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BmmOcgPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of BmmOcgPtpPm entries. Each entry is uniquely identified by the value of ifIndex, Sample Duration and bmmOcgPtpPmTimestamp."
    ::= { bmmOcgPtpPmMIB 2 } 

bmmOcgPtpPmEntry  OBJECT-TYPE
    SYNTAX      BmmOcgPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A BmmOcgPtp 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, bmmOcgPtpPmSampleDuration, bmmOcgPtpPmTimestamp }
    ::= { bmmOcgPtpPmTable 1 }


BmmOcgPtpPmEntry  ::= SEQUENCE {
    bmmOcgPtpPmTimestamp        Integer32,
    bmmOcgPtpPmSampleDuration   INTEGER,
    bmmOcgPtpPmValidity         TruthValue,
    bmmOcgPtpPmBmmOcgOptMin     FloatHundredths,
    bmmOcgPtpPmBmmOcgOptMax     FloatHundredths,
    bmmOcgPtpPmBmmOcgOptAve     FloatHundredths,
    bmmOcgPtpPmBmmOcgOprMin     FloatHundredths,
    bmmOcgPtpPmBmmOcgOprMax     FloatHundredths,
    bmmOcgPtpPmBmmOcgOprAve     FloatHundredths
}

bmmOcgPtpPmTimestamp 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."
    ::= { bmmOcgPtpPmEntry  1 }


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


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


bmmOcgPtpPmBmmOcgOptMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum OCG optical power leaving the BMM towards its attached XLM/DLM or GAM."
    ::= { bmmOcgPtpPmEntry  4 }


bmmOcgPtpPmBmmOcgOptMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum OCG optical power leaving the BMM towards its attached XLM/DLM or GAM."
    ::= { bmmOcgPtpPmEntry  5 }


bmmOcgPtpPmBmmOcgOptAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average OCG optical power leaving the BMM towards its attached XLM/DLM or GAM."
    ::= { bmmOcgPtpPmEntry  6 }


bmmOcgPtpPmBmmOcgOprMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum OCG optical power arriving at the BMM from the local XLM/DLM or GAM."
    ::= { bmmOcgPtpPmEntry  7 }


bmmOcgPtpPmBmmOcgOprMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum OCG optical power arriving at the BMM from the local XLM/DLM or GAM."
    ::= { bmmOcgPtpPmEntry  8 }


bmmOcgPtpPmBmmOcgOprAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average OCG optical power arriving at the BMM from the local XLM/DLM or GAM."
    ::= { bmmOcgPtpPmEntry  9 }




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

bmmOcgPtpPmRealEntry  OBJECT-TYPE
    SYNTAX      BmmOcgPtpPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A BmmOcgPtp 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 }
    ::= { bmmOcgPtpPmRealTable 1 }


BmmOcgPtpPmRealEntry  ::= SEQUENCE {
    bmmOcgPtpPmRealBmmOcgOpt               FloatHundredths,
    bmmOcgPtpPmRealBmmOcgOpr               FloatHundredths
}

bmmOcgPtpPmRealBmmOcgOpt OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total OCG optical power leaving the BMM towards its attached XLM/DLM or GAM. One attribute for each OCG."
    ::= { bmmOcgPtpPmRealEntry  1 }


bmmOcgPtpPmRealBmmOcgOpr OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total OCG optical power arriving at the BMM from the local XLM/DLM or GAM. One attribute for each OCG."
    ::= { bmmOcgPtpPmRealEntry  2 }

-- Conformance Statements
bmmOcgPtpPmConformance    OBJECT IDENTIFIER ::= { bmmOcgPtpPmMIB 3 }
bmmOcgPtpPmCompliances    OBJECT IDENTIFIER ::= { bmmOcgPtpPmConformance 1 }
bmmOcgPtpPmGroups         OBJECT IDENTIFIER ::= { bmmOcgPtpPmConformance 2 }

bmmOcgPtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the BMMOCGPTP-MIB"
    MODULE
        MANDATORY-GROUPS { bmmOcgPtpPmGroup }
    ::= { bmmOcgPtpPmCompliances 1 }

bmmOcgPtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the bmmOcgPtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { bmmOcgPtpPmRealGroup }
    ::= { bmmOcgPtpPmCompliances 2 }

bmmOcgPtpPmGroup OBJECT-GROUP
    OBJECTS {
        bmmOcgPtpPmValidity,
        bmmOcgPtpPmBmmOcgOptMin,
        bmmOcgPtpPmBmmOcgOptMax,
        bmmOcgPtpPmBmmOcgOptAve,
        bmmOcgPtpPmBmmOcgOprMin,
        bmmOcgPtpPmBmmOcgOprMax,
        bmmOcgPtpPmBmmOcgOprAve
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the bmmOcgPtp."
    ::= { bmmOcgPtpPmGroups 1 }

bmmOcgPtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        bmmOcgPtpPmRealBmmOcgOpt,
        bmmOcgPtpPmRealBmmOcgOpr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the bmmOcgPtp."
    ::= { bmmOcgPtpPmGroups 2 }


END
