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

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

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32, Counter64                        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString, 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;


dchCtpPmMIB 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 4 }



dchCtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DchCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of DchCtpPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and dchCtpPmTimestamp."
    ::= { dchCtpPmMIB 2 } 

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


DchCtpPmEntry  ::= SEQUENCE {
    dchCtpPmTimestamp             Integer32,
    dchCtpPmSampleDuration        INTEGER,
    dchCtpPmValidity              TruthValue,
    dchCtpPmFecCorrectedBits      HCPerfIntervalCount,
    dchCtpPmFecUncorrectedRows    HCPerfIntervalCount,
    dchCtpPmFecTotalCodeWords     HCPerfIntervalCount,
    dchCtpPmDtsCV                 HCPerfIntervalCount,
    dchCtpPmDtsES                 Integer32,
    dchCtpPmDtsSES                Integer32,
    dchCtpPmDtsSEFS               Integer32,
    dchCtpPmCktId                 DisplayString,
    dchCtpPmTribPRBSSyncErr       Integer32,
    dchCtpPmTribPRBSErr           HCPerfIntervalCount
}

dchCtpPmTimestamp 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."
    ::= { dchCtpPmEntry  1 }


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


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


dchCtpPmFecCorrectedBits OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Corrected number of zeros and ones"
    ::= { dchCtpPmEntry  4 }


dchCtpPmFecUncorrectedRows OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "FEC UnCorrected Rows."
    ::= { dchCtpPmEntry  5 }


dchCtpPmFecTotalCodeWords OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total number of codewords"
    ::= { dchCtpPmEntry  6 }


dchCtpPmDtsCV OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of BIP errors detected at the DTF Path layer."
    ::= { dchCtpPmEntry  7 }


dchCtpPmDtsES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "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."
    ::= { dchCtpPmEntry  8 }


dchCtpPmDtsSES 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."
    ::= { dchCtpPmEntry  9 }


dchCtpPmDtsSEFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of seconds during which an LOF defect is present."
    ::= { dchCtpPmEntry  10 }


dchCtpPmCktId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "CircuitId"
    ::= { dchCtpPmEntry  11 }


dchCtpPmTribPRBSSyncErr OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of times re-sync has been attempted after initial sync was achieved. Incremented only when PRBS monitoring is enabled."
    ::= { dchCtpPmEntry  12 }


dchCtpPmTribPRBSErr OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Number of bits not matching the expected pattern (whether synch has been achieved or not). Incremented only when PRBS monitoring is enabled."
    ::= { dchCtpPmEntry  13 }



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

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


DchCtpPmRealEntry  ::= SEQUENCE {
    dchCtpPmRealQ                     FloatHundredths,
    dchCtpPmRealBerPreFec             FloatArbitraryPrecision,
    dchCtpPmRealBerPostFec            FloatArbitraryPrecision,
    dchCtpPmRealFecCorrectedBits      Counter64,
    dchCtpPmRealFecUncorrectedRows    Counter64,
    dchCtpPmRealFecTotalCodeWords     Counter64,
    dchCtpPmRealDtsCV                 Counter64,
    dchCtpPmRealDtsES                 Integer32,
    dchCtpPmRealDtsSES                Integer32,
    dchCtpPmRealDtsSEFS               Integer32,
    dchCtpPmRealCktId                 DisplayString,
    dchCtpPmRealLinePRBSSyncErr       Integer32,
    dchCtpPmRealLinePRBSErr           HCPerfIntervalCount,
    dchCtpPmRealTribPRBSSyncErr       Integer32,
    dchCtpPmRealTribPRBSErr           HCPerfIntervalCount
}

dchCtpPmRealQ OBJECT-TYPE
    SYNTAX      FloatHundredths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Q"
    ::= { dchCtpPmRealEntry  1 }


dchCtpPmRealBerPreFec OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Pre-FEC BER."
    ::= { dchCtpPmRealEntry  2 }


dchCtpPmRealBerPostFec OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Ber Post Fec"
    ::= { dchCtpPmRealEntry  3 }


dchCtpPmRealFecCorrectedBits OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Corrected number of zeros and ones"
    ::= { dchCtpPmRealEntry  4 }


dchCtpPmRealFecUncorrectedRows OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "FEC Uncorrected Rows"
    ::= { dchCtpPmRealEntry  5 }


dchCtpPmRealFecTotalCodeWords OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total number of codewords"
    ::= { dchCtpPmRealEntry  6 }


dchCtpPmRealDtsCV OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of BIP errors detected at the DTF Path layer."
    ::= { dchCtpPmRealEntry  7 }


dchCtpPmRealDtsES 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."
    ::= { dchCtpPmRealEntry  8 }


dchCtpPmRealDtsSES 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."
    ::= { dchCtpPmRealEntry  9 }


dchCtpPmRealDtsSEFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Received Severely Errored Frame Seconds"
    ::= { dchCtpPmRealEntry  10 }


dchCtpPmRealCktId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Circuits Id"
    ::= { dchCtpPmRealEntry  11 }


dchCtpPmRealLinePRBSSyncErr 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."
    ::= { dchCtpPmRealEntry  12 }


dchCtpPmRealLinePRBSErr OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount 
    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."
    ::= { dchCtpPmRealEntry  13 }


dchCtpPmRealTribPRBSSyncErr 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."
    ::= { dchCtpPmRealEntry  14 }


dchCtpPmRealTribPRBSErr OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    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."
    ::= { dchCtpPmRealEntry  15 }

-- Conformance Statements
dchCtpPmConformance    OBJECT IDENTIFIER ::= { dchCtpPmMIB 3 }
dchCtpPmCompliances    OBJECT IDENTIFIER ::= { dchCtpPmConformance 1 }
dchCtpPmGroups         OBJECT IDENTIFIER ::= { dchCtpPmConformance 2 }

dchCtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-DCHCTP-MIB"
    MODULE
        MANDATORY-GROUPS { dchCtpPmGroup }
    ::= { dchCtpPmCompliances 1 }

dchCtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the dchCtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { dchCtpPmRealGroup }
    ::= { dchCtpPmCompliances 2 }

dchCtpPmGroup OBJECT-GROUP
    OBJECTS {
        dchCtpPmValidity,
        dchCtpPmFecCorrectedBits,
        dchCtpPmFecUncorrectedRows,
        dchCtpPmFecTotalCodeWords,
        dchCtpPmDtsCV,
        dchCtpPmDtsES,
        dchCtpPmDtsSES,
        dchCtpPmDtsSEFS,
        dchCtpPmCktId,
        dchCtpPmTribPRBSSyncErr,
        dchCtpPmTribPRBSErr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the dchCtp."
    ::= { dchCtpPmGroups 1 }

dchCtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        dchCtpPmRealQ,
        dchCtpPmRealBerPreFec,
        dchCtpPmRealBerPostFec,
        dchCtpPmRealFecCorrectedBits,
        dchCtpPmRealFecUncorrectedRows,
        dchCtpPmRealFecTotalCodeWords,
        dchCtpPmRealDtsCV,
        dchCtpPmRealDtsES,
        dchCtpPmRealDtsSES,
        dchCtpPmRealDtsSEFS,
        dchCtpPmRealCktId,
        dchCtpPmRealLinePRBSSyncErr,
        dchCtpPmRealLinePRBSErr,
        dchCtpPmRealTribPRBSSyncErr,
        dchCtpPmRealTribPRBSErr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the dchCtp."
    ::= { dchCtpPmGroups 2 }

END
