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

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

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


gamOcgPtpPmMIB 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 7 }



gamOcgPtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF GamOcgPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of GamOcgPtpPm entries. Each entry is uniquely identified by the value of ifIndex amd gamOcgPtpPmTimestamp."
    ::= { gamOcgPtpPmMIB 2 } 

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


GamOcgPtpPmEntry  ::= SEQUENCE {
    gamOcgPtpPmTimestamp          Integer32,
    gamOcgPtpPmSampleDuration     INTEGER,
    gamOcgPtpPmValidity           TruthValue,
    gamOcgPtpPmGamOcgOptMin    FloatHundredths,
    gamOcgPtpPmGamOcgOptMax    FloatHundredths,
    gamOcgPtpPmGamOcgOptAve    FloatHundredths,
    gamOcgPtpPmGamOcgOprMin    FloatHundredths,
    gamOcgPtpPmGamOcgOprMax    FloatHundredths,
    gamOcgPtpPmGamOcgOprAve    FloatHundredths,
    gamOcgPtpPmGamOcgLbcMin    FloatHundredths,
    gamOcgPtpPmGamOcgLbcMax    FloatHundredths,
    gamOcgPtpPmGamOcgLbcAve    FloatHundredths


}

gamOcgPtpPmTimestamp 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."
    ::= { gamOcgPtpPmEntry  1 }


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


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


gamOcgPtpPmGamOcgOptMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power transmitted from GAM to BMM which is monitored on L1 port of GAM, minimum (dBm)"
    ::= { gamOcgPtpPmEntry  4 }


gamOcgPtpPmGamOcgOptMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power transmitted from GAM to BMM which is monitored on L1 port of GAM, maximum (dBm)"
    ::= { gamOcgPtpPmEntry  5 }


gamOcgPtpPmGamOcgOptAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power transmitted from GAM to BMM which is monitored on L1 port of GAM, average (dBm)"
    ::= { gamOcgPtpPmEntry  6 }


gamOcgPtpPmGamOcgOprMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power received by GAM from BMM, minimum (dBm)"
    ::= { gamOcgPtpPmEntry  7 }


gamOcgPtpPmGamOcgOprMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power received by GAM from BMM, maximum (dBm)"
    ::= { gamOcgPtpPmEntry  8 }


gamOcgPtpPmGamOcgOprAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power received by GAM from BMM, average (dBm)"
    ::= { gamOcgPtpPmEntry  9 }


gamOcgPtpPmGamOcgLbcMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Laser Bias Current  by GAM from DLM, minimum "
    ::= { gamOcgPtpPmEntry  10 }


gamOcgPtpPmGamOcgLbcMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Laser Bias Current  by GAM from DLM, maximum "
    ::= { gamOcgPtpPmEntry  11}


gamOcgPtpPmGamOcgLbcAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Laser Bias Current  by GAM from DLM, average"
    ::= { gamOcgPtpPmEntry  12 }


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

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


GamOcgPtpPmRealEntry  ::= SEQUENCE {
    gamOcgPtpPmRealGamOcgOpt    FloatHundredths,
    gamOcgPtpPmRealGamOcgOpr    FloatHundredths,
    gamOcgPtpPmRealGamOcgLbc   FloatHundredths
}

gamOcgPtpPmRealGamOcgOpt OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power transmitted from GAM to BMM which is monitored on L1 port of GAM(dBm)."
    ::= { gamOcgPtpPmRealEntry  1 }


gamOcgPtpPmRealGamOcgOpr OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical Power received by GAM from BMM (dBm)."
    ::= { gamOcgPtpPmRealEntry  2 }

gamOcgPtpPmRealGamOcgLbc OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Laser Bias Current of GAM from DLM"
    ::= { gamOcgPtpPmRealEntry  3 }

-- Conformance Statements
gamOcgPtpPmConformance    OBJECT IDENTIFIER ::= { gamOcgPtpPmMIB 3 }
gamOcgPtpPmCompliances    OBJECT IDENTIFIER ::= { gamOcgPtpPmConformance 1 }
gamOcgPtpPmGroups         OBJECT IDENTIFIER ::= { gamOcgPtpPmConformance 2 }

gamOcgPtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-GAMOCGPTP-MIB"
    MODULE
        MANDATORY-GROUPS { gamOcgPtpPmGroup }
    ::= { gamOcgPtpPmCompliances 1 }

gamOcgPtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the gamOcgPtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { gamOcgPtpPmRealGroup }
    ::= { gamOcgPtpPmCompliances 2 }

gamOcgPtpPmGroup OBJECT-GROUP
    OBJECTS {
        gamOcgPtpPmValidity,
        gamOcgPtpPmGamOcgOptMin,
        gamOcgPtpPmGamOcgOptMax,
        gamOcgPtpPmGamOcgOptAve,
        gamOcgPtpPmGamOcgOprMin,
        gamOcgPtpPmGamOcgOprMax,
        gamOcgPtpPmGamOcgOprAve,
        gamOcgPtpPmGamOcgLbcMin,
        gamOcgPtpPmGamOcgLbcMax,
        gamOcgPtpPmGamOcgLbcAve

    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the gamOcgPtp."
    ::= { gamOcgPtpPmGroups 1 }

gamOcgPtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        gamOcgPtpPmRealGamOcgOpt,
        gamOcgPtpPmRealGamOcgOpr,
        gamOcgPtpPmRealGamOcgLbc
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the gamOcgPtp."
    ::= { gamOcgPtpPmGroups 2 }

END
