-- *****************************************************************
-- INFINERA-PM-carrierCtp-MIB
-- 
-- October 2013, Rishab Joshi
-- 
-- 
-- Copyright (c) 2008-2013 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

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

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


carrierCtpPmMIB MODULE-IDENTITY
    LAST-UPDATED  "201310080000Z"
    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      "201310080000Z" 
    DESCRIPTION
        "First Version"
    ::= { perfMon 200 }


carrierCtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CarrierCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of carrierCtpPm entries. Each entry is uniquely identified by the value of ifIndex."
    ::= { carrierCtpPmMIB 2 } 

carrierCtpPmEntry  OBJECT-TYPE
    SYNTAX      CarrierCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A carrierCtp entry containing historical performance information pertaining to Infinera LM SCH CTP interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for interfaces
        of type carrierCtp."
    INDEX { ifIndex, carrierCtpPmSampleDuration, carrierCtpPmTimestamp}
    ::= { carrierCtpPmTable 1 }


CarrierCtpPmEntry  ::= SEQUENCE {
	carrierCtpPmTimestamp						Integer32,
	carrierCtpPmSampleDuration					INTEGER,
    carrierCtpPmValidity                        TruthValue,
    carrierCtpPmOptMin                          FloatHundredths,
    carrierCtpPmOptMax                          FloatHundredths,
    carrierCtpPmOptAve                          FloatHundredths,
    carrierCtpPmQPreFecMin                      FloatHundredths,
    carrierCtpPmQPreFecMax                      FloatHundredths,
    carrierCtpPmQPreFecAve                      FloatHundredths,
    carrierCtpPmBerPreFecMin                    FloatArbitraryPrecision,
    carrierCtpPmBerPreFecMax                    FloatArbitraryPrecision,
    carrierCtpPmBerPreFecAve                    FloatArbitraryPrecision,
    carrierCtpPmTxLBCMin                        FloatHundredths,
    carrierCtpPmTxLBCMax                        FloatHundredths,
    carrierCtpPmTxLBCAve                        FloatHundredths,
    carrierCtpPmRxLBCMin                        FloatHundredths,
    carrierCtpPmRxLBCMax                        FloatHundredths,
    carrierCtpPmRxLBCAve                        FloatHundredths,
    carrierCtpPmPmdMin                          FloatArbitraryPrecision,
    carrierCtpPmPmdMax                          FloatArbitraryPrecision,
    carrierCtpPmPmdAve                          FloatArbitraryPrecision,
    carrierCtpPmSoPmdMin                        FloatArbitraryPrecision,
    carrierCtpPmSoPmdMax                        FloatArbitraryPrecision,
    carrierCtpPmSoPmdAve                        FloatArbitraryPrecision,
    carrierCtpPmChromaticDispersionMin          FloatArbitraryPrecision,
    carrierCtpPmChromaticDispersionMax          FloatArbitraryPrecision,
    carrierCtpPmChromaticDispersionAve          FloatArbitraryPrecision,
	carrierCtpPmPhaseCorrectionMin   			FloatHundredths,
	carrierCtpPmPhaseCorrectionMax   			FloatHundredths,
	carrierCtpPmPhaseCorrectionAve   			FloatHundredths,
	carrierCtpPmBerPostFecMin					FloatArbitraryPrecision,
	carrierCtpPmBerPostFecMax					FloatArbitraryPrecision,
	carrierCtpPmBerPostFecAve					FloatArbitraryPrecision,
	carrierCtpPmCodeWord						HCPerfIntervalCount,
	carrierCtpPmUnCorrectedCodeWord				HCPerfIntervalCount,
	carrierCtpPmCorrectedBits					HCPerfIntervalCount
    
}

carrierCtpPmTimestamp 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."
    ::= { carrierCtpPmEntry  1 }


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



carrierCtpPmValidity OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry 3 }


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


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


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


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


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


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


carrierCtpPmBerPreFecMin OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  10 }


carrierCtpPmBerPreFecMax OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  11 }


carrierCtpPmBerPreFecAve OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  12 }

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

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

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

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

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

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

carrierCtpPmPmdMin OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  19 }

carrierCtpPmPmdMax OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  20 }

carrierCtpPmPmdAve OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  21 }

carrierCtpPmSoPmdMin OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  22 }

carrierCtpPmSoPmdMax OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  23 }

carrierCtpPmSoPmdAve OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  24 }

carrierCtpPmChromaticDispersionMin OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  25 }

carrierCtpPmChromaticDispersionMax OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  26 }

carrierCtpPmChromaticDispersionAve OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  27 }

carrierCtpPmPhaseCorrectionMin  OBJECT-TYPE
	SYNTAX      FloatHundredths
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION "Min Phase Correction."
	::= { carrierCtpPmEntry  28 }

carrierCtpPmPhaseCorrectionMax  OBJECT-TYPE
	SYNTAX     FloatHundredths
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION "Max Phase Correction"
	::= { carrierCtpPmEntry  29 }

carrierCtpPmPhaseCorrectionAve  OBJECT-TYPE
	SYNTAX      FloatHundredths
	MAX-ACCESS  read-only
	STATUS      current
	DESCRIPTION "Average Phase Correction."
	::= { carrierCtpPmEntry  30 }

carrierCtpPmBerPostFecMin OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  31 }

carrierCtpPmBerPostFecMax OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  32 }

carrierCtpPmBerPostFecAve OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision 
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  33 }

carrierCtpPmCodeWord	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  34 }

carrierCtpPmUnCorrectedCodeWord	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  35 }

carrierCtpPmCorrectedBits	OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmEntry  36 }

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

carrierCtpPmRealEntry  OBJECT-TYPE
    SYNTAX      CarrierCtpPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A carrierCtp entry containing real-time performance information pertaining to Infinera
        carrierCtp interfaces. This table is a subclass of IfCommon."
    INDEX { ifIndex }
    ::= { carrierCtpPmRealTable 1 }


CarrierCtpPmRealEntry  ::= SEQUENCE {
    carrierCtpPmRealOpt                         FloatHundredths,
    carrierCtpPmRealQPreFec                     FloatHundredths,
    carrierCtpPmRealBerPreFec                   FloatArbitraryPrecision,
    carrierCtpPmRealTxLBC                       FloatHundredths,
    carrierCtpPmRealRxLBC                       FloatHundredths,
    carrierCtpPmRealPmd                         FloatArbitraryPrecision,
    carrierCtpPmRealSoPmd                       FloatArbitraryPrecision,
    carrierCtpPmRealChromaticDispersion         FloatArbitraryPrecision,
	carrierCtpPmRealPhaseCorrection             FloatHundredths,
	carrierCtpPmRealBerPostFec					FloatArbitraryPrecision,
	carrierCtpPmRealCodeWord					Counter64,
	carrierCtpPmRealUnCorrectedCodeWord			Counter64,
	carrierCtpPmRealCorrectedBits				Counter64,
	carrierCtpPmRealWavelength					FloatHundredths
}

carrierCtpPmRealOpt OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  1 }


carrierCtpPmRealQPreFec OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  2 }

carrierCtpPmRealBerPreFec OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  3 }

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

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

carrierCtpPmRealPmd OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  6 }

carrierCtpPmRealSoPmd OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  7 }

carrierCtpPmRealChromaticDispersion OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  8 }

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

carrierCtpPmRealBerPostFec OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  10 }

carrierCtpPmRealCodeWord OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  11	}

carrierCtpPmRealUnCorrectedCodeWord OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  12 }

carrierCtpPmRealCorrectedBits OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { carrierCtpPmRealEntry  13 }

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

-- Conformance Statements
carrierCtpPmConformance    OBJECT IDENTIFIER ::= { carrierCtpPmMIB 3 }
carrierCtpPmCompliances    OBJECT IDENTIFIER ::= { carrierCtpPmConformance 1 }
carrierCtpPmGroups         OBJECT IDENTIFIER ::= { carrierCtpPmConformance 2 }

carrierCtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the carrierCtp-MIB"
    MODULE
        MANDATORY-GROUPS { carrierCtpPmGroup }
    ::= { carrierCtpPmCompliances 1 }

carrierCtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the carrierCtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { carrierCtpPmRealGroup }
    ::= { carrierCtpPmCompliances 2 }

carrierCtpPmGroup OBJECT-GROUP
    OBJECTS {
        carrierCtpPmValidity,    
        carrierCtpPmOptMin,    
        carrierCtpPmOptMax,      
        carrierCtpPmOptAve,      
        carrierCtpPmQPreFecMin,
        carrierCtpPmQPreFecMax,  
        carrierCtpPmQPreFecAve,  
        carrierCtpPmBerPreFecMin,
        carrierCtpPmBerPreFecMax,
        carrierCtpPmBerPreFecAve,
        carrierCtpPmTxLBCMin,
        carrierCtpPmTxLBCMax,    
        carrierCtpPmTxLBCAve,    
        carrierCtpPmRxLBCMin,    
        carrierCtpPmRxLBCMax,    
        carrierCtpPmRxLBCAve,     
        carrierCtpPmPmdMin,    
        carrierCtpPmPmdMax,      
        carrierCtpPmPmdAve,
        carrierCtpPmSoPmdMin,
        carrierCtpPmSoPmdMax,
        carrierCtpPmSoPmdAve,
        carrierCtpPmChromaticDispersionMin,
        carrierCtpPmChromaticDispersionMax,
        carrierCtpPmChromaticDispersionAve,
		carrierCtpPmPhaseCorrectionMin,
		carrierCtpPmPhaseCorrectionMax,
		carrierCtpPmPhaseCorrectionAve,
        carrierCtpPmBerPostFecMin,
        carrierCtpPmBerPostFecMax,
        carrierCtpPmBerPostFecAve,
		carrierCtpPmCodeWord,           
		carrierCtpPmUnCorrectedCodeWord,
		carrierCtpPmCorrectedBits      

    }     

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

carrierCtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        carrierCtpPmRealOpt,
        carrierCtpPmRealQPreFec,
        carrierCtpPmRealBerPreFec,
        carrierCtpPmRealTxLBC,
        carrierCtpPmRealRxLBC,
        carrierCtpPmRealPmd,
        carrierCtpPmRealSoPmd,
        carrierCtpPmRealChromaticDispersion,
		carrierCtpPmRealPhaseCorrection,
		carrierCtpPmRealBerPostFec,
		carrierCtpPmRealCodeWord,
		carrierCtpPmRealUnCorrectedCodeWord,
		carrierCtpPmRealCorrectedBits,
		carrierCtpPmRealWavelength
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the carrierCtp."
    ::= { carrierCtpPmGroups 2 }

END


