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

INFINERA-PM-ODUKT-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;


oduKtPmMIB MODULE-IDENTITY
    LAST-UPDATED  "200907200000Z"
    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      "200907200000Z" 
    DESCRIPTION
        "First Version"
    ::= { perfMon 21 }



oduKtPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF OduKtPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of ODUkT Performance Monitoring entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and OduKtPmTimestamp."
    ::= { oduKtPmMIB 2 } 

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


OduKtPmEntry  ::= SEQUENCE {
    oduKtPmTimestamp          Integer32,
    oduKtPmSampleDuration     InfnSampleDuration,
    oduKtPmValidity           TruthValue,
    oduKtPmCVT           HCPerfIntervalCount,
    oduKtPmErroredBlocks      HCPerfIntervalCount,
    oduKtPmBEICount           HCPerfIntervalCount,
    oduKtPmDefectSeconds      Integer32,
    oduKtPmCircuitId          DisplayString,
    oduKtPmPayloadType        InfnServiceType,
    oduKtPmDefectSecondsFEND  Integer32
}

oduKtPmTimestamp 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."
    ::= { oduKtPmEntry  1 }


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


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


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

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

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

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

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

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

oduKtPmDefectSecondsFEND OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Defect Seconds."
    ::= { oduKtPmEntry  10 }


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

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


OduKtPmRealEntry  ::= SEQUENCE {
    oduKtPmRealCVT             HCPerfIntervalCount,
    oduKtPmRealErroredBlocks        HCPerfIntervalCount,
    oduKtPmRealBEICount             HCPerfIntervalCount,
    oduKtPmRealDefectSeconds        Integer32,
    oduKtPmRealDefectSecondsFEND    Integer32
}

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


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

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


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

oduKtPmRealDefectSecondsFEND OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Number of Defect Seconds."
    ::= { oduKtPmRealEntry  5 }

-- Conformance Statements
oduKtPmConformance    OBJECT IDENTIFIER ::= { oduKtPmMIB 3 }
oduKtPmCompliances    OBJECT IDENTIFIER ::= { oduKtPmConformance 1 }
oduKtPmGroups         OBJECT IDENTIFIER ::= { oduKtPmConformance 2 }

oduKtPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-OduKt-MIB"
    MODULE
        MANDATORY-GROUPS { oduKtPmGroup }
    ::= { oduKtPmCompliances 1 }

oduKtPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the ODUkT real time PM       MIB"
    MODULE
        MANDATORY-GROUPS { oduKtPmRealGroup }
    ::= { oduKtPmCompliances 2 }

oduKtPmGroup OBJECT-GROUP
    OBJECTS {
    oduKtPmTimestamp,
    oduKtPmSampleDuration,
    oduKtPmValidity,
    oduKtPmCVT,
    oduKtPmErroredBlocks,
    oduKtPmBEICount,
    oduKtPmDefectSeconds,
    oduKtPmCircuitId,
    oduKtPmPayloadType,
    oduKtPmDefectSecondsFEND
    }
    STATUS current
    DESCRIPTION
        "A collection of objects for reading the performance of the OduKt."
    ::= { oduKtPmGroups 1 }

oduKtPmRealGroup OBJECT-GROUP
    OBJECTS {
    oduKtPmRealCVT,
    oduKtPmRealErroredBlocks,
    oduKtPmRealBEICount,
    oduKtPmRealDefectSeconds,
    oduKtPmRealDefectSecondsFEND
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the OduKt."
    ::= { oduKtPmGroups 2 }

END
