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

INFINERA-PM-LMOCHPTP-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, FloatArbitraryPrecision    FROM INFINERA-TC-MIB
    perfMon                                     FROM INFINERA-REG-MIB;


lmOchPtpPmMIB MODULE-IDENTITY
    LAST-UPDATED  "201105230000Z"
    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      "201105230000Z" 
    DESCRIPTION
        "First Version"
    ::= { perfMon 24 }



lmOchPtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF LmOchPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of LmOchPtpPm entries. Each entry is uniquely identified by the value of ifIndex, Sample Duration and lmOchPtpPmTimestamp."
    ::= { lmOchPtpPmMIB 2 } 

lmOchPtpPmEntry  OBJECT-TYPE
    SYNTAX      LmOchPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A LmOchPtp entry containing historical performance information pertaining to Infinera LM OCG PTP interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type LM 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, lmOchPtpPmSampleDuration, lmOchPtpPmTimestamp }
    ::= { lmOchPtpPmTable 1 }


LmOchPtpPmEntry  ::= SEQUENCE {
    lmOchPtpPmTimestamp        Integer32,
    lmOchPtpPmSampleDuration   INTEGER,
    lmOchPtpPmValidity         TruthValue,
    lmOchPtpPmChanOchOptMin     FloatHundredths,
    lmOchPtpPmChanOchOptMax     FloatHundredths,
    lmOchPtpPmChanOchOptAve     FloatHundredths,
    lmOchPtpPmChanOchOprMin     FloatHundredths,
    lmOchPtpPmChanOchOprMax     FloatHundredths,
    lmOchPtpPmChanOchOprAve     FloatHundredths,
    lmOchPtpPmChanOchLBCMin     FloatHundredths,
    lmOchPtpPmChanOchLBCMax     FloatHundredths,
    lmOchPtpPmChanOchLBCAve                     FloatHundredths,
    lmOchPtpPmChanOchChromaticDispersionMin     FloatHundredths,
    lmOchPtpPmChanOchChromaticDispersionMax     FloatHundredths,
    lmOchPtpPmChanOchChromaticDispersionAve     FloatHundredths,
    lmOchPtpPmChanOchQMin       FloatHundredths,
    lmOchPtpPmChanOchQMax       FloatHundredths,
    lmOchPtpPmChanOchQAve       FloatHundredths,
    lmOchPtpPmChanOchPmdMin     FloatArbitraryPrecision,
    lmOchPtpPmChanOchPmdMax     FloatArbitraryPrecision,
    lmOchPtpPmChanOchPmdAve     FloatArbitraryPrecision,
    lmOchPtpPmChanOchSoPmdMin   FloatArbitraryPrecision,
    lmOchPtpPmChanOchSoPmdMax   FloatArbitraryPrecision,
    lmOchPtpPmChanOchSoPmdAve   FloatArbitraryPrecision
}

lmOchPtpPmTimestamp 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."
    ::= { lmOchPtpPmEntry  1 }


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


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


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


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


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


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


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


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

    lmOchPtpPmChanOchLBCMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum Laser Bias Current"
    ::= { lmOchPtpPmEntry  10 }


    lmOchPtpPmChanOchLBCMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum Laser Bias Current."
    ::= { lmOchPtpPmEntry  11 }


    lmOchPtpPmChanOchLBCAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average Laser Bias Current."
    ::= { lmOchPtpPmEntry  12 }

    lmOchPtpPmChanOchChromaticDispersionMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum Chromatic Dispersion."
    ::= { lmOchPtpPmEntry  13 }

    lmOchPtpPmChanOchChromaticDispersionMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum Chromatic Dispersion."
    ::= { lmOchPtpPmEntry  14 }

    lmOchPtpPmChanOchChromaticDispersionAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average Chromatic Dispersion."
    ::= { lmOchPtpPmEntry  15 }

    lmOchPtpPmChanOchQMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Qvalue Dispersion."
    ::= { lmOchPtpPmEntry  16 }

    lmOchPtpPmChanOchQMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Qvalue Dispersion."
    ::= { lmOchPtpPmEntry  17 }

    lmOchPtpPmChanOchQAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Qvalue Dispersion."
    ::= { lmOchPtpPmEntry  18 }

    lmOchPtpPmChanOchPmdMin OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmEntry  19 }

    lmOchPtpPmChanOchPmdMax OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmEntry  20 }

    lmOchPtpPmChanOchPmdAve OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmEntry  21 }

    lmOchPtpPmChanOchSoPmdMin OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmEntry  22 }

    lmOchPtpPmChanOchSoPmdMax OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmEntry  23 }

    lmOchPtpPmChanOchSoPmdAve OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmEntry  24 }

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

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


LmOchPtpPmRealEntry  ::= SEQUENCE {
    lmOchPtpPmRealChanOchOpt                        FloatHundredths,
    lmOchPtpPmRealChanOchOpr                        FloatHundredths,
    lmOchPtpPmRealChanOchLBC                        FloatHundredths,
    lmOchPtpPmRealChanOchChromaticDispersion        FloatHundredths,
    lmOchPtpPmRealChanOchQ                          FloatHundredths,
    lmOchPtpPmRealChanOchPmd                        FloatArbitraryPrecision,
    lmOchPtpPmRealChanOchSoPmd                      FloatArbitraryPrecision

}

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


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

lmOchPtpPmRealChanOchLBC OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Laser Bias Current. One attribute for each OCH."
    ::= { lmOchPtpPmRealEntry  3 }

lmOchPtpPmRealChanOchChromaticDispersion OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Chromatic Dispersion. One attribute for each OCH."
    ::= { lmOchPtpPmRealEntry  4 }

lmOchPtpPmRealChanOchQ OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Q Value.One attribute for each OCH."
    ::= { lmOchPtpPmRealEntry  5 }

lmOchPtpPmRealChanOchPmd OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmRealEntry  6 }

lmOchPtpPmRealChanOchSoPmd OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { lmOchPtpPmRealEntry  7 }


-- Conformance Statements
lmOchPtpPmConformance    OBJECT IDENTIFIER ::= { lmOchPtpPmMIB 3 }
lmOchPtpPmCompliances    OBJECT IDENTIFIER ::= { lmOchPtpPmConformance 1 }
lmOchPtpPmGroups         OBJECT IDENTIFIER ::= { lmOchPtpPmConformance 2 }

lmOchPtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the LMOCHPTP-MIB"
    MODULE
        MANDATORY-GROUPS { lmOchPtpPmGroup }
    ::= { lmOchPtpPmCompliances 1 }

lmOchPtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the lmOchPtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { lmOchPtpPmRealGroup }
    ::= { lmOchPtpPmCompliances 2 }

lmOchPtpPmGroup OBJECT-GROUP
    OBJECTS {
        lmOchPtpPmValidity,
        lmOchPtpPmChanOchOptMin,
        lmOchPtpPmChanOchOptMax,
        lmOchPtpPmChanOchOptAve,
        lmOchPtpPmChanOchOprMin,
        lmOchPtpPmChanOchOprMax,
        lmOchPtpPmChanOchOprAve,
        lmOchPtpPmChanOchLBCMin,
        lmOchPtpPmChanOchLBCMax,
        lmOchPtpPmChanOchLBCAve,
        lmOchPtpPmChanOchChromaticDispersionMin,
	    lmOchPtpPmChanOchChromaticDispersionMax,
	    lmOchPtpPmChanOchChromaticDispersionAve,
        lmOchPtpPmChanOchQMin,
        lmOchPtpPmChanOchQMax,
        lmOchPtpPmChanOchQAve,
        lmOchPtpPmChanOchPmdMin,
        lmOchPtpPmChanOchPmdMax,
        lmOchPtpPmChanOchPmdAve,
        lmOchPtpPmChanOchSoPmdMin,
        lmOchPtpPmChanOchSoPmdMax,
        lmOchPtpPmChanOchSoPmdAve
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the lmOchPtp."
    ::= { lmOchPtpPmGroups 1 }

lmOchPtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        lmOchPtpPmRealChanOchOpt,
        lmOchPtpPmRealChanOchOpr,
	    lmOchPtpPmRealChanOchLBC,
	    lmOchPtpPmRealChanOchChromaticDispersion,
        lmOchPtpPmRealChanOchQ,
        lmOchPtpPmRealChanOchPmd,
        lmOchPtpPmRealChanOchSoPmd
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the lmOchPtp."
    ::= { lmOchPtpPmGroups 2 }


END
