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

INFINERA-PM-CHANNELCTP-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
    FloatHundredths,FloatArbitraryPrecision     FROM INFINERA-TC-MIB
    HCPerfIntervalCount                         FROM HC-PerfHist-TC-MIB
    perfMon                                     FROM INFINERA-REG-MIB;


channelCtpPmMIB 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 3 }



channelCtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ChannelCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of ChannelCtpPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and channelCtpPmTimestamp."
    ::= { channelCtpPmMIB 2 } 

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


ChannelCtpPmEntry  ::= SEQUENCE {
    channelCtpPmTimestamp             Integer32,
    channelCtpPmSampleDuration        INTEGER,
    channelCtpPmValidity              TruthValue,
    channelCtpPmChanOchOprMin         FloatHundredths,
    channelCtpPmChanOchOprMax         FloatHundredths,
    channelCtpPmChanOchOprAve         FloatHundredths,
    channelCtpPmChanOchOptMin         FloatHundredths,
    channelCtpPmChanOchOptMax         FloatHundredths,
    channelCtpPmChanOchOptAve         FloatHundredths,
    channelCtpPmChanOchLBCMin         FloatHundredths,
    channelCtpPmChanOchLBCMax         FloatHundredths,
    channelCtpPmChanOchLBCAve         FloatHundredths,
    channelCtpPmFecCorrectedBits      HCPerfIntervalCount,
    channelCtpPmFecUncorrectedRows    HCPerfIntervalCount,
    channelCtpPmFecTotalCodeWords     HCPerfIntervalCount,
    channelCtpPmOchDtsCV              HCPerfIntervalCount,
    channelCtpPmOchDtsES              Integer32,
    channelCtpPmOchDtsSES             Integer32,
    channelCtpPmChanOchQValueMin      FloatHundredths,
    channelCtpPmChanOchQValueMax      FloatHundredths,
    channelCtpPmChanOchQValueAve      FloatHundredths
}

channelCtpPmTimestamp 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."
    ::= { channelCtpPmEntry  1 }


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


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


channelCtpPmChanOchOprMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum Optical channel power received by the XLM/DLM. One measurement for each optical channel."
    ::= { channelCtpPmEntry  4 }


channelCtpPmChanOchOprMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum Optical channel power received by the XLM/DLM. One measurement for each optical channel."
    ::= { channelCtpPmEntry  5 }


channelCtpPmChanOchOprAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average Optical channel power received by the XLM/DLM. One measurement for each optical channel."
    ::= { channelCtpPmEntry  6 }


channelCtpPmChanOchOptMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum Optical channel power transmitted by the XLM/DLM. One measurement for each of the ten optical channels within an OCG. One measurement for each optical channel."
    ::= { channelCtpPmEntry  7 }


channelCtpPmChanOchOptMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum Optical channel power transmitted by the XLM/DLM. One measurement for each of the ten optical channels within an OCG. One measurement for each optical channel."
    ::= { channelCtpPmEntry  8 }


channelCtpPmChanOchOptAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average Optical channel power transmitted by the XLM/DLM. One measurement for each of the ten optical channels within an OCG. One measurement for each optical channel."
    ::= { channelCtpPmEntry  9 }


channelCtpPmChanOchLBCMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Minimum measured laser bias current of the channel optical transmitter. One measurement for each optical channel."
    ::= { channelCtpPmEntry  10 }


channelCtpPmChanOchLBCMax OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Maximum measured laser bias current of the channel optical transmitter. One measurement for each optical channel."
    ::= { channelCtpPmEntry  11 }


channelCtpPmChanOchLBCAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Average measured laser bias current of the channel optical transmitter. One measurement for each optical channel."
    ::= { channelCtpPmEntry  12 }


channelCtpPmFecCorrectedBits OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Corrected number of zeros and ones"
    ::= { channelCtpPmEntry  13 }


channelCtpPmFecUncorrectedRows OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "FEC UnCorrected Rows"
    ::= { channelCtpPmEntry  14 }


channelCtpPmFecTotalCodeWords OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total number of codewords"
    ::= { channelCtpPmEntry  15 }


channelCtpPmOchDtsCV OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of BIP errors detected at the DTF section layer."
    ::= { channelCtpPmEntry  16 }


channelCtpPmOchDtsES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the number of seconds during which at least one DTF Section layer BIP error was detected or an LOF or OLOS defect was present."
    ::= { channelCtpPmEntry  17 }


channelCtpPmOchDtsSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the seconds during which K (=10000) or more DTF Section layer BIP errors were detected or an LOF or OLOS defect was present."
    ::= { channelCtpPmEntry  18 }

channelCtpPmChanOchQValueMin OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "."
    ::= { channelCtpPmEntry  19 }

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

channelCtpPmChanOchQValueAve OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { channelCtpPmEntry  21 }


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

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


ChannelCtpPmRealEntry  ::= SEQUENCE {
    channelCtpPmRealChanOchOpr            FloatHundredths,
    channelCtpPmRealChanOchOpt            FloatHundredths,
    channelCtpPmRealChanOchLBC            FloatHundredths,
    channelCtpPmRealChanOchWavelength     FloatHundredths,
    channelCtpPmRealQFactor               FloatHundredths,
    channelCtpPmRealBerPreFec             FloatArbitraryPrecision,
    channelCtpPmRealBerPostFec            FloatArbitraryPrecision,
    channelCtpPmRealFecCorrectedBits      Counter64,
    channelCtpPmRealFecUncorrectedRows    Counter64,
    channelCtpPmRealFecTotalCodeWords     Counter64,
    channelCtpPmRealOchDtsCV              Counter64,
    channelCtpPmRealOchDtsES              Integer32,
    channelCtpPmRealOchDtsSES             Integer32,
    channelCtpPmRealPrbsSyncErr           Integer32,
    channelCtpPmRealPrbsErr               Integer32
}

channelCtpPmRealChanOchOpr OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical channel power received (measured as minimum, average, maximum) by the XLM/DLM. One measurement for each optical channel."
    ::= { channelCtpPmRealEntry  1 }

channelCtpPmRealChanOchOpt OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Optical channel power transmitted by the XLM/DLM (measured as minimum, average, maximum). One measurement for each of the ten optical channels within an OCG. One measurement for each optical channel."
    ::= { channelCtpPmRealEntry  2 }

channelCtpPmRealChanOchLBC OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Measured laser bias current of the channel optical transmitter (measured as minimum, average, maximum). One measurement for each optical channel."
    ::= { channelCtpPmRealEntry  3 }

channelCtpPmRealChanOchWavelength OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Och Wave length"
    ::= { channelCtpPmRealEntry  4 }

channelCtpPmRealQFactor OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Q factor"
    ::= { channelCtpPmRealEntry  5 }

channelCtpPmRealBerPreFec OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Bit error rate before applying FEC."
    ::= { channelCtpPmRealEntry  6 }

channelCtpPmRealBerPostFec OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Bit error rate post FEC."
    ::= { channelCtpPmRealEntry  7 }

channelCtpPmRealFecCorrectedBits OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Corrected number of zeros and ones"
    ::= { channelCtpPmRealEntry  8 }

channelCtpPmRealFecUncorrectedRows OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "FEC UnCorrected Rows."
    ::= { channelCtpPmRealEntry  9 }

channelCtpPmRealFecTotalCodeWords OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total number of codewords."
    ::= { channelCtpPmRealEntry  10 }

channelCtpPmRealOchDtsCV OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Code Violation"
    ::= { channelCtpPmRealEntry  11 }

channelCtpPmRealOchDtsES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of seconds during which (at any point during the second) at least one DTF Section layer BIP error was detected or an LOF or OLOS defect was present."
    ::= { channelCtpPmRealEntry  12 }

channelCtpPmRealOchDtsSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of seconds during which (at any point during the second) at least one DTF Section layer BIP error was detected or an LOF or OLOS defect was present."
    ::= { channelCtpPmRealEntry  13 }

channelCtpPmRealPrbsSyncErr OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of times re-sync has been attempted after initial sync was achieved. Incremented only when PRBS monitoring is enabled."
    ::= { channelCtpPmRealEntry  14 }

channelCtpPmRealPrbsErr OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of bits not matching the expected pattern (whether synch has been achieved or not). Incremented only when PRBS monitoring is enabled."
    ::= { channelCtpPmRealEntry  15 }

-- Conformance Statements
channelCtpPmConformance    OBJECT IDENTIFIER ::= { channelCtpPmMIB 3 }
channelCtpPmCompliances    OBJECT IDENTIFIER ::= { channelCtpPmConformance 1 }
channelCtpPmGroups         OBJECT IDENTIFIER ::= { channelCtpPmConformance 2 }

channelCtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-CHANNELCTP-MIB"
    MODULE
        MANDATORY-GROUPS { channelCtpPmGroup }
    ::= { channelCtpPmCompliances 1 }

channelCtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the channelCtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { channelCtpPmRealGroup }
    ::= { channelCtpPmCompliances 2 }

channelCtpPmGroup OBJECT-GROUP
    OBJECTS {
        channelCtpPmValidity,
        channelCtpPmChanOchOprMin,
        channelCtpPmChanOchOprMax,
        channelCtpPmChanOchOprAve,
        channelCtpPmChanOchOptMin,
        channelCtpPmChanOchOptMax,
        channelCtpPmChanOchOptAve,
        channelCtpPmChanOchLBCMin,
        channelCtpPmChanOchLBCMax,
        channelCtpPmChanOchLBCAve,
        channelCtpPmFecCorrectedBits,
        channelCtpPmFecUncorrectedRows,
        channelCtpPmFecTotalCodeWords,
        channelCtpPmOchDtsCV,
        channelCtpPmOchDtsES,
        channelCtpPmOchDtsSES,
        channelCtpPmChanOchQValueMin,
        channelCtpPmChanOchQValueMax,
        channelCtpPmChanOchQValueAve
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the channelCtp."
    ::= { channelCtpPmGroups 1 }

channelCtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        channelCtpPmRealChanOchOpr,
        channelCtpPmRealChanOchOpt,
        channelCtpPmRealChanOchLBC,
        channelCtpPmRealChanOchWavelength,
        channelCtpPmRealQFactor,
        channelCtpPmRealBerPreFec,
        channelCtpPmRealBerPostFec,
        channelCtpPmRealFecCorrectedBits,
        channelCtpPmRealFecUncorrectedRows,
        channelCtpPmRealFecTotalCodeWords,
        channelCtpPmRealOchDtsCV,
        channelCtpPmRealOchDtsES,
        channelCtpPmRealOchDtsSES,
        channelCtpPmRealPrbsSyncErr,
        channelCtpPmRealPrbsErr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the current real-time performance of the channelCtp."
    ::= { channelCtpPmGroups 2 }

END
