-- *****************************************************************
-- INFINERA-PM-ODUIKT-MIB
-- Copyright (c) 2009-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-PM-ODUKTI-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
    HCPerfIntervalCount                         FROM HC-PerfHist-TC-MIB
    InfnServiceType,InfnSampleDuration          FROM INFINERA-TC-MIB
    perfMon                                     FROM INFINERA-REG-MIB;


oduiKtPmMIB MODULE-IDENTITY
    LAST-UPDATED  "201110200000Z"
    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      "201110200000Z" 
    DESCRIPTION
        "First Version"
    ::= { perfMon 31 }



oduiKtPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OduiKtPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of ODUikT Performance Monitoring entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and OduiKtPmTimestamp."
    ::= { oduiKtPmMIB 2 } 

oduiKtPmEntry  OBJECT-TYPE
    SYNTAX      OduiKtPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A OduiKt entry containing historical performance information pertaining to Infinera OduiKt interfaces.
        Entries will exist in this table for interfaces of type OduiKt.
        Each interface may have a number of entries in this table, each with a different combination of timestamp and sample duration."
    INDEX { ifIndex, oduiKtPmSampleDuration, oduiKtPmTimestamp }
    ::= { oduiKtPmTable 1 }


OduiKtPmEntry  ::= SEQUENCE {
    oduiKtPmTimestamp          Integer32,
    oduiKtPmSampleDuration     InfnSampleDuration,
    oduiKtPmValidity           TruthValue,
    oduiKtPmCVT           HCPerfIntervalCount,
    oduiKtPmErroredBlocks      HCPerfIntervalCount,
    oduiKtPmBEICount           HCPerfIntervalCount,
    oduiKtPmDefectSeconds      Integer32,
    oduiKtPmCircuitId          DisplayString,
    oduiKtPmPayloadType        InfnServiceType
}

oduiKtPmTimestamp 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."
    ::= { oduiKtPmEntry  1 }


oduiKtPmSampleDuration OBJECT-TYPE
    SYNTAX      InfnSampleDuration
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The duration of this sample."
    ::= { oduiKtPmEntry  2 }


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


oduiKtPmCVT OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of BIP-8 errors."
    ::= { oduiKtPmEntry  4 }

oduiKtPmErroredBlocks OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Errored Blocks."
    ::= { oduiKtPmEntry  5 }

oduiKtPmBEICount OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Backward Error Indication."
    ::= { oduiKtPmEntry  6 }

oduiKtPmDefectSeconds OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Defect Seconds."
    ::= { oduiKtPmEntry  7 }

oduiKtPmCircuitId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Circuit ID of ODUIKT Client CTP."
    ::= { oduiKtPmEntry  8 }

oduiKtPmPayloadType OBJECT-TYPE
    SYNTAX      InfnServiceType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Payload type ."
    ::= { oduiKtPmEntry  9 }


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

oduiKtPmRealEntry  OBJECT-TYPE
    SYNTAX      OduiKtPmRealEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A OduiKt entry containing real-time performance information pertaining to Infinera OduiKt interfaces.
        Entries will exist in this table for interfaces of type OduiKt."
    INDEX { ifIndex }
    ::= { oduiKtPmRealTable 1 }


OduiKtPmRealEntry  ::= SEQUENCE {
    oduiKtPmRealCVT             HCPerfIntervalCount,
    oduiKtPmRealErroredBlocks        HCPerfIntervalCount,
    oduiKtPmRealBEICount             HCPerfIntervalCount,
    oduiKtPmRealDefectSeconds        Integer32
}

oduiKtPmRealCVT OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of BIP-8 errors."
    ::= { oduiKtPmRealEntry  1 }


oduiKtPmRealErroredBlocks OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Errored Blocks."
    ::= { oduiKtPmRealEntry  2 }

oduiKtPmRealBEICount OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Backward Error Indication ."
    ::= { oduiKtPmRealEntry  3 }


oduiKtPmRealDefectSeconds OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Defect Seconds."
    ::= { oduiKtPmRealEntry  4 }

-- Conformance Statements
oduiKtPmConformance    OBJECT IDENTIFIER ::= { oduiKtPmMIB 3 }
oduiKtPmCompliances    OBJECT IDENTIFIER ::= { oduiKtPmConformance 1 }
oduiKtPmGroups         OBJECT IDENTIFIER ::= { oduiKtPmConformance 2 }

oduiKtPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-OduiKt-MIB"
    MODULE
        MANDATORY-GROUPS { oduiKtPmGroup }
    ::= { oduiKtPmCompliances 1 }

oduiKtPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the ODUikT real time PM       MIB"
    MODULE
        MANDATORY-GROUPS { oduiKtPmRealGroup }
    ::= { oduiKtPmCompliances 2 }

oduiKtPmGroup OBJECT-GROUP
    OBJECTS {
    oduiKtPmTimestamp,
    oduiKtPmSampleDuration,
    oduiKtPmValidity,
    oduiKtPmCVT,
    oduiKtPmErroredBlocks,
    oduiKtPmBEICount,
    oduiKtPmDefectSeconds,
    oduiKtPmCircuitId,
    oduiKtPmPayloadType   
    }
    STATUS current
    DESCRIPTION
        "A collection of objects for reading the performance of the OduiKt."
    ::= { oduiKtPmGroups 1 }

oduiKtPmRealGroup OBJECT-GROUP
    OBJECTS {
    oduiKtPmRealCVT,
    oduiKtPmRealErroredBlocks,
    oduiKtPmRealBEICount,
    oduiKtPmRealDefectSeconds
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the OduiKt."
    ::= { oduiKtPmGroups 2 }

END
