-- *****************************************************************
-- INFINERA-PM-XOCGPTP-MIB
-- 
-- September Anusree Bhattacharjee
-- 
-- 
-- Copyright (c) 2014 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

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

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


xOcgPtpPmMIB 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 42 }



xOcgPtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF XOcgPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of xOcgPtpPm entries. Each entry is uniquely identified by the value of ifIndex.Sample Duration and xOcgPtpPmTimestamp."
    ::= { xOcgPtpPmMIB 2 } 

xOcgPtpPmEntry  OBJECT-TYPE
    SYNTAX      XOcgPtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A xOcgPtpPm entry containing real-time performance information pertaining to Infinera xOcgPtp interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces of type xOcgPtp. 
        Each interface may have a number of entries in this table, each with a different combination of timestamp
        and sample duration."
    INDEX { ifIndex, xOcgPtpPmSampleDuration, xOcgPtpPmTimestamp }
    ::= { xOcgPtpPmTable 1 }


XOcgPtpPmEntry  ::= SEQUENCE {
    xOcgPtpPmTimestamp    Integer32,
    xOcgPtpPmSampleDuration INTEGER,
    xOcgPtpPmTxEdfaOprMin FloatHundredths,
    xOcgPtpPmTxEdfaOprMax FloatHundredths,
    xOcgPtpPmTxEdfaOprAve FloatHundredths,
    xOcgPtpPmTxEdfaOptMin FloatHundredths,
    xOcgPtpPmTxEdfaOptMax FloatHundredths,
    xOcgPtpPmTxEdfaOptAve FloatHundredths,
    xOcgPtpPmTxEdfaLbcMin FloatHundredths,
    xOcgPtpPmTxEdfaLbcMax FloatHundredths,
    xOcgPtpPmTxEdfaLbcAve FloatHundredths,
    xOcgPtpPmRxEdfaOprMin FloatHundredths,
    xOcgPtpPmRxEdfaOprMax FloatHundredths,
    xOcgPtpPmRxEdfaOprAve FloatHundredths,
    xOcgPtpPmRxEdfaOptMin FloatHundredths,
    xOcgPtpPmRxEdfaOptMax FloatHundredths,
    xOcgPtpPmRxEdfaOptAve FloatHundredths,
    xOcgPtpPmRxEdfaLbcMin FloatHundredths,
    xOcgPtpPmRxEdfaLbcMax FloatHundredths,
    xOcgPtpPmRxEdfaLbcAve FloatHundredths,
    xOcgPtpPmValidity     TruthValue
}

xOcgPtpPmTimestamp 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."
    ::= { xOcgPtpPmEntry  1 }


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



xOcgPtpPmTxEdfaOprMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  3 }


xOcgPtpPmTxEdfaOprMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  4 }

xOcgPtpPmTxEdfaOprAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  5 }

xOcgPtpPmTxEdfaOptMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  6 }


xOcgPtpPmTxEdfaOptMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  7 }

xOcgPtpPmTxEdfaOptAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  8 }

xOcgPtpPmTxEdfaLbcMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  9 }


xOcgPtpPmTxEdfaLbcMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  10 }

xOcgPtpPmTxEdfaLbcAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  11 }


xOcgPtpPmRxEdfaOprMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  12 }



xOcgPtpPmRxEdfaOprMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  13 }

xOcgPtpPmRxEdfaOprAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  14 }


xOcgPtpPmRxEdfaOptMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  15 }



xOcgPtpPmRxEdfaOptMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  16 }

xOcgPtpPmRxEdfaOptAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  17 }


xOcgPtpPmRxEdfaLbcMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  18 }



xOcgPtpPmRxEdfaLbcMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  19 }

xOcgPtpPmRxEdfaLbcAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmEntry  20 }

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


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

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


XOcgPtpPmRealEntry  ::= SEQUENCE {
    xOcgPtpPmRealDlmOcgOpt    FloatHundredths,
    xOcgPtpPmRealDlmOcgOpr    FloatHundredths,
    xOcgPtpPmRealTxEdfaOpr	  FloatHundredths,
    xOcgPtpPmRealTxEdfaOpt	  FloatHundredths,
    xOcgPtpPmRealTxEdfaLbc	  FloatHundredths,
    xOcgPtpPmRealRxEdfaOpr	  FloatHundredths,
    xOcgPtpPmRealRxEdfaOpt	  FloatHundredths,
    xOcgPtpPmRealRxEdfaLbc	  FloatHundredths
}

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


xOcgPtpPmRealDlmOcgOpr OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "OCG optical power received."
    ::= { xOcgPtpPmRealEntry  2 }

xOcgPtpPmRealTxEdfaOpr 	OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmRealEntry  3 }

xOcgPtpPmRealTxEdfaOpt 	OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmRealEntry  4 }

xOcgPtpPmRealTxEdfaLbc 	OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmRealEntry  5 }

xOcgPtpPmRealRxEdfaOpr 	OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmRealEntry  6 }

xOcgPtpPmRealRxEdfaOpt 	OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { xOcgPtpPmRealEntry  7 }

xOcgPtpPmRealRxEdfaLbc	OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { xOcgPtpPmRealEntry  8 }

-- Conformance Statements
xOcgPtpPmConformance    OBJECT IDENTIFIER ::= { xOcgPtpPmMIB 3 }
xOcgPtpPmCompliances    OBJECT IDENTIFIER ::= { xOcgPtpPmConformance 1 }
xOcgPtpPmGroups         OBJECT IDENTIFIER ::= { xOcgPtpPmConformance 2 }

xOcgPtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-XOCGPTP-MIB"
    MODULE
        MANDATORY-GROUPS { xOcgPtpPmGroup }
    ::= { xOcgPtpPmCompliances 1 }


xOcgPtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-XOCGPTP-MIB"
    MODULE
        MANDATORY-GROUPS { xOcgPtpPmRealGroup }
    ::= { xOcgPtpPmCompliances 2 }


xOcgPtpPmGroup OBJECT-GROUP
    OBJECTS {
        xOcgPtpPmTxEdfaOprMin,
        xOcgPtpPmTxEdfaOprMax,
        xOcgPtpPmTxEdfaOprAve,
        xOcgPtpPmTxEdfaOptMin,
        xOcgPtpPmTxEdfaOptMax,
        xOcgPtpPmTxEdfaOptAve,
        xOcgPtpPmTxEdfaLbcMin,
        xOcgPtpPmTxEdfaLbcMax,
        xOcgPtpPmTxEdfaLbcAve,
        xOcgPtpPmRxEdfaOprMin,
        xOcgPtpPmRxEdfaOprMax,
        xOcgPtpPmRxEdfaOprAve,
        xOcgPtpPmRxEdfaOptMin,
        xOcgPtpPmRxEdfaOptMax,
        xOcgPtpPmRxEdfaOptAve,
        xOcgPtpPmRxEdfaLbcMin,
        xOcgPtpPmRxEdfaLbcMax,
        xOcgPtpPmRxEdfaLbcAve,
        xOcgPtpPmValidity
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the xOcgPtp."
    ::= { xOcgPtpPmGroups 1 }

xOcgPtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        xOcgPtpPmRealDlmOcgOpt,
        xOcgPtpPmRealDlmOcgOpr,
		xOcgPtpPmRealTxEdfaOpr,
		xOcgPtpPmRealTxEdfaOpt,
		xOcgPtpPmRealTxEdfaLbc,
		xOcgPtpPmRealRxEdfaOpr,
		xOcgPtpPmRealRxEdfaOpt,
		xOcgPtpPmRealRxEdfaLbc
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the current real-time performance of the xOcgPtp."
    ::= { xOcgPtpPmGroups 2 }


END
