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

INFINERA-PM-DTPCTP-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
    perfMon                                     FROM INFINERA-REG-MIB;


dtpCtpPmMIB 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 6 }



dtpCtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF DtpCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of DtpCtpPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and dtpCtpPmTimestamp."
    ::= { dtpCtpPmMIB 2 } 

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

DtpCtpPmEntry  ::= SEQUENCE {
    dtpCtpPmTimestamp        Integer32,
    dtpCtpPmSampleDuration   INTEGER,
    dtpCtpPmValidity         TruthValue,
    dtpCtpPmDtpRxCV          HCPerfIntervalCount,
    dtpCtpPmDtpRxES          Integer32,
    dtpCtpPmDtpRxSES         Integer32,
    dtpCtpPmDtpRxUAS         Integer32,
    dtpCtpPmDtpTxCV          HCPerfIntervalCount,
    dtpCtpPmDtpTxES          Integer32,
    dtpCtpPmDtpTxSES         Integer32,
    dtpCtpPmDtpTxUAS         Integer32
}

dtpCtpPmTimestamp 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."
    ::= { dtpCtpPmEntry  1 }

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


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


dtpCtpPmDtpRxCV OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Received code violations."
    ::= { dtpCtpPmEntry  4 }


dtpCtpPmDtpRxES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received errored seconds."
    ::= { dtpCtpPmEntry  5 }


dtpCtpPmDtpRxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received Severely Errored Seconds"
    ::= { dtpCtpPmEntry  6 }


dtpCtpPmDtpRxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the seconds during which the DTF Path is considered unavailable."
    ::= { dtpCtpPmEntry  7 }


dtpCtpPmDtpTxCV OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmitted Code Violations."
    ::= { dtpCtpPmEntry  8 }


dtpCtpPmDtpTxES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted errored seconds."
    ::= { dtpCtpPmEntry  9 }


dtpCtpPmDtpTxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmitted Severely Errored Seconds"
    ::= { dtpCtpPmEntry  10 }


dtpCtpPmDtpTxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the seconds during which the DTF Path is considered unavailable."
    ::= { dtpCtpPmEntry  11 }


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

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


DtpCtpPmRealEntry  ::= SEQUENCE {
    dtpCtpPmRealDtpRxCV        Counter64,
    dtpCtpPmRealDtpRxES        Integer32,
    dtpCtpPmRealDtpRxSES       Integer32,
    dtpCtpPmRealDtpRxUAS       Integer32,
    dtpCtpPmRealDtpTxCV        Counter64,
    dtpCtpPmRealDtpTxES        Integer32,
    dtpCtpPmRealDtpTxSES       Integer32,
    dtpCtpPmRealDtpTxUAS       Integer32,
    dtpCtpPmRealPrbsSyncErr    Integer32,
    dtpCtpPmRealPrbsErr        Integer32,
    dtpCtpPmRealInternalCV     Counter64
}

dtpCtpPmRealDtpRxCV OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Received code violations."
    ::= { dtpCtpPmRealEntry  1 }


dtpCtpPmRealDtpRxES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Received errored seconds."
    ::= { dtpCtpPmRealEntry  2 }


dtpCtpPmRealDtpRxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Received Severely Errored Seconds"
    ::= { dtpCtpPmRealEntry  3 }


dtpCtpPmRealDtpRxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "DtpUAS"
    ::= { dtpCtpPmRealEntry  4 }


dtpCtpPmRealDtpTxCV OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmitted Code Violations."
    ::= { dtpCtpPmRealEntry  5 }


dtpCtpPmRealDtpTxES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmitted errored seconds."
    ::= { dtpCtpPmRealEntry  6 }


dtpCtpPmRealDtpTxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmitted Severely Errored Seconds."
    ::= { dtpCtpPmRealEntry  7 }


dtpCtpPmRealDtpTxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "DtpTxUAS"
    ::= { dtpCtpPmRealEntry  8 }


dtpCtpPmRealPrbsSyncErr 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."
    ::= { dtpCtpPmRealEntry  9 }


dtpCtpPmRealPrbsErr 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."
    ::= { dtpCtpPmRealEntry  10 }


dtpCtpPmRealInternalCV OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "InternalCV"
    ::= { dtpCtpPmRealEntry  11 }


-- Conformance Statements
dtpCtpPmConformance    OBJECT IDENTIFIER ::= { dtpCtpPmMIB 3 }
dtpCtpPmCompliances    OBJECT IDENTIFIER ::= { dtpCtpPmConformance 1 }
dtpCtpPmGroups         OBJECT IDENTIFIER ::= { dtpCtpPmConformance 2 }

dtpCtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-DTPCTP-MIB"
    MODULE
        MANDATORY-GROUPS { dtpCtpPmGroup }
    ::= { dtpCtpPmCompliances 1 }

dtpCtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the dtpCtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { dtpCtpPmRealGroup }
    ::= { dtpCtpPmCompliances 2 }

dtpCtpPmGroup OBJECT-GROUP
    OBJECTS {
        dtpCtpPmValidity,
        dtpCtpPmDtpRxCV,
        dtpCtpPmDtpRxES,
        dtpCtpPmDtpRxSES,
        dtpCtpPmDtpRxUAS,
        dtpCtpPmDtpTxCV,
        dtpCtpPmDtpTxES,
        dtpCtpPmDtpTxSES,
        dtpCtpPmDtpTxUAS
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the historical performance of the dtpCtp."
    ::= { dtpCtpPmGroups 1 }

dtpCtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        dtpCtpPmRealDtpRxCV,
        dtpCtpPmRealDtpRxES,
        dtpCtpPmRealDtpRxSES,
        dtpCtpPmRealDtpRxUAS,
        dtpCtpPmRealDtpTxCV,
        dtpCtpPmRealDtpTxES,
        dtpCtpPmRealDtpTxSES,
        dtpCtpPmRealDtpTxUAS,
        dtpCtpPmRealPrbsSyncErr,
        dtpCtpPmRealPrbsErr,
        dtpCtpPmRealInternalCV
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the dtpCtp."
    ::= { dtpCtpPmGroups 2 }

END
