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

INFINERA-PM-SONETCLIENTCTP-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
    FloatHundredths, InfnServiceType, 
    FloatArbitraryPrecision                     FROM INFINERA-TC-MIB
    commonPerfMon                               FROM INFINERA-REG-MIB;


sonetClientCtpPmMIB 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"
    ::= { commonPerfMon 2 }



sonetClientCtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SonetClientCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of SonetClientCtpPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and sonetClientCtpPmTimestamp."
    ::= { sonetClientCtpPmMIB 2 } 

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


SonetClientCtpPmEntry  ::= SEQUENCE {
    sonetClientCtpPmTimestamp          Integer32,
    sonetClientCtpPmSampleDuration     INTEGER,
    sonetClientCtpPmValidity           TruthValue,
    sonetClientCtpPmRxCV               HCPerfIntervalCount,
    sonetClientCtpPmRxES               Integer32,
    sonetClientCtpPmRxSES              Integer32,
    sonetClientCtpPmRxSEFS             Integer32,
    sonetClientCtpPmTxCV               HCPerfIntervalCount,
    sonetClientCtpPmTxES               Integer32,
    sonetClientCtpPmTxSES              Integer32,
    sonetClientCtpPmTxSEFS             Integer32,
    sonetClientCtpPmCktId              DisplayString,
    sonetClientCtpPmTribPRBSSyncErr    Integer32,
    sonetClientCtpPmTribPRBSErr        HCPerfIntervalCount,
    sonetClientCtpPmPayloadType        InfnServiceType,
    sonetClientCtpPmLinePRBSSyncErr    Integer32,
    sonetClientCtpPmLinePRBSErr        HCPerfIntervalCount,
	sonetClientCtpPmRxBER              FloatArbitraryPrecision,
	sonetClientCtpPmTxBER              FloatArbitraryPrecision    
    
}

sonetClientCtpPmTimestamp 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."
    ::= { sonetClientCtpPmEntry  1 }


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


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


sonetClientCtpPmRxCV OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of BIP errors detected at the Section layer on the incoming clients SONET signal. Up to eight Section BIP errors can be detected per STS-N frame, with each error incrementing the Sonet-Rx-CV-S current second register."
    ::= { sonetClientCtpPmEntry  4 }


sonetClientCtpPmRxES 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 Section layer BIP error was detected or an SEF or LOF defect as present."
    ::= { sonetClientCtpPmEntry  5 }


sonetClientCtpPmRxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the seconds during which K or more Section layer BIP errors were detected or an SEF or LOF defect was present."
    ::= { sonetClientCtpPmEntry  6 }


sonetClientCtpPmRxSEFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of seconds during which an SEF defect is present."
    ::= { sonetClientCtpPmEntry  7 }


sonetClientCtpPmTxCV OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of BIP errors detected at the Section layer in the SONET signal received from the line/system side and to be transmitted to the receiving client. Up to eight Section BIP errors can be detected per STS-N frame, with each error incrementing the Sonet-Rx-CV-S current second register."
    ::= { sonetClientCtpPmEntry  8 }


sonetClientCtpPmTxES 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 Section layer BIP error was detected or an LOF or SEF defect was present at the signal de-encapsulation point."
    ::= { sonetClientCtpPmEntry  9 }


sonetClientCtpPmTxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the seconds during which K or more Section layer BIP errors were detected or an LOF or SEF defect was present at the signal de-encapsulation point."
    ::= { sonetClientCtpPmEntry  10 }


sonetClientCtpPmTxSEFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of seconds during which an SEF defect is present at the signal de-encapsulation point."
    ::= { sonetClientCtpPmEntry  11 }


sonetClientCtpPmCktId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "CircuitId"
    ::= { sonetClientCtpPmEntry  12 }


sonetClientCtpPmTribPRBSSyncErr 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 Trib PRBS monitoring is enabled."
    ::= { sonetClientCtpPmEntry  13 }


sonetClientCtpPmTribPRBSErr 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 Trib PRBS monitoring is enabled."
    ::= { sonetClientCtpPmEntry  14 }

sonetClientCtpPmPayloadType OBJECT-TYPE
      SYNTAX      InfnServiceType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION "PayloadType"
      ::= { sonetClientCtpPmEntry  15 }

sonetClientCtpPmLinePRBSSyncErr 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 Line PRBS monitoring is enabled."
    ::= { sonetClientCtpPmEntry  16 }


sonetClientCtpPmLinePRBSErr 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 Line PRBS monitoring is enabled."
    ::= { sonetClientCtpPmEntry  17 }

sonetClientCtpPmRxBER OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Receive Bit Error Rate."
    ::= { sonetClientCtpPmEntry  18 }


sonetClientCtpPmTxBER OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmit Bit Error Rate."
    ::= { sonetClientCtpPmEntry  19 }

      

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

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


SonetClientCtpPmRealEntry  ::= SEQUENCE {
    sonetClientCtpPmRealRxCV               Counter64,
    sonetClientCtpPmRealRxES               Integer32,
    sonetClientCtpPmRealRxSES              Integer32,
    sonetClientCtpPmRealRxSEFS             Integer32,
    sonetClientCtpPmRealTxCV               Counter64,
    sonetClientCtpPmRealTxES               Integer32,
    sonetClientCtpPmRealTxSES              Integer32,
    sonetClientCtpPmRealTxSEFS             Integer32,
    sonetClientCtpPmRealCktId              DisplayString,
    sonetClientCtpPmRealTribPRBSSyncErr    Integer32,
    sonetClientCtpPmRealTribPRBSErr        HCPerfIntervalCount,
    sonetClientCtpPmRealLinePRBSSyncErr    Integer32,
    sonetClientCtpPmRealLinePRBSErr        HCPerfIntervalCount,
    sonetClientCtpPmRealRxBER              FloatArbitraryPrecision,
    sonetClientCtpPmRealTxBER              FloatArbitraryPrecision
}

sonetClientCtpPmRealRxCV OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of BIP errors detected at the Section layer on the incoming clients SONET signal. Up to eight Section BIP errors can be detected per STS-N frame, with each error incrementing the Sonet-Rx-CV-S current second register."
    ::= { sonetClientCtpPmRealEntry  1 }


sonetClientCtpPmRealRxES 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 Section layer BIP error was detected or an SEF or LOF defect was present."
    ::= { sonetClientCtpPmRealEntry  2 }


sonetClientCtpPmRealRxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the seconds during which K or more Section layer BIP errors were detected or an SEF or LOF defect was present."
    ::= { sonetClientCtpPmRealEntry  3 }


sonetClientCtpPmRealRxSEFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of seconds during which an SEF defect is present. "
    ::= { sonetClientCtpPmRealEntry  4 }


sonetClientCtpPmRealTxCV OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of BIP errors detected at the Section layer in the SONET signal received from the line/system side and to be transmitted to the receiving client. Up to eight Section BIP errors can be detected per STS-N frame, with each error incrementing the Sonet-Rx-CV-S current second register."
    ::= { sonetClientCtpPmRealEntry  5 }


sonetClientCtpPmRealTxES 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 Section layer BIP error was detected or an LOF or SEF defect was present at the signal de-encapsulation point."
    ::= { sonetClientCtpPmRealEntry  6 }


sonetClientCtpPmRealTxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the seconds during which K or more Section layer BIP errors were detected or an LOF or SEF defect was present at the signal de-encapsulation point."
    ::= { sonetClientCtpPmRealEntry  7 }


sonetClientCtpPmRealTxSEFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of seconds during which an SEF defect is present."
    ::= { sonetClientCtpPmRealEntry  8 }


sonetClientCtpPmRealCktId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "CircuitId"
    ::= { sonetClientCtpPmRealEntry  9 }


sonetClientCtpPmRealTribPRBSSyncErr 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 Trib PRBS monitoring is enabled."
    ::= { sonetClientCtpPmRealEntry  10 }


sonetClientCtpPmRealTribPRBSErr 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 Trib PRBS monitoring is enabled."
    ::= { sonetClientCtpPmRealEntry  11 }

sonetClientCtpPmRealLinePRBSSyncErr 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 Line PRBS monitoring is enabled."
    ::= { sonetClientCtpPmRealEntry  12 }


sonetClientCtpPmRealLinePRBSErr 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 Line PRBS monitoring is enabled."
    ::= { sonetClientCtpPmRealEntry  13 }
    
sonetClientCtpPmRealRxBER OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Receive Bit Error Rate."
    ::= { sonetClientCtpPmRealEntry  14 }


sonetClientCtpPmRealTxBER OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Transmit Bit Error Rate."
    ::= { sonetClientCtpPmRealEntry  15 }
        
    
-- Conformance Statements
sonetClientCtpPmConformance    OBJECT IDENTIFIER ::= { sonetClientCtpPmMIB 3 }
sonetClientCtpPmCompliances    OBJECT IDENTIFIER ::= { sonetClientCtpPmConformance 1 }
sonetClientCtpPmGroups         OBJECT IDENTIFIER ::= { sonetClientCtpPmConformance 2 }

sonetClientCtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-SONETCLIENTCTP-MIB"
    MODULE
        MANDATORY-GROUPS { sonetClientCtpPmGroup }
    ::= { sonetClientCtpPmCompliances 1 }

sonetClientCtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the sonetClientCtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { sonetClientCtpPmRealGroup }
    ::= { sonetClientCtpPmCompliances 2 }

sonetClientCtpPmGroup OBJECT-GROUP
    OBJECTS {
        sonetClientCtpPmValidity,
        sonetClientCtpPmRxCV,
        sonetClientCtpPmRxES,
        sonetClientCtpPmRxSES,
        sonetClientCtpPmRxSEFS,
        sonetClientCtpPmTxCV,
        sonetClientCtpPmTxES,
        sonetClientCtpPmTxSES,
        sonetClientCtpPmTxSEFS,
        sonetClientCtpPmCktId,
        sonetClientCtpPmTribPRBSSyncErr,
        sonetClientCtpPmTribPRBSErr,
        sonetClientCtpPmPayloadType,
        sonetClientCtpPmLinePRBSSyncErr,
        sonetClientCtpPmLinePRBSErr,
        sonetClientCtpPmRxBER,
        sonetClientCtpPmTxBER        
        
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the performance of the sonetClientCtp."
    ::= { sonetClientCtpPmGroups 1 }

sonetClientCtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        sonetClientCtpPmRealRxCV,
        sonetClientCtpPmRealRxES,
        sonetClientCtpPmRealRxSES,
        sonetClientCtpPmRealRxSEFS,
        sonetClientCtpPmRealTxCV,
        sonetClientCtpPmRealTxES,
        sonetClientCtpPmRealTxSES,
        sonetClientCtpPmRealTxSEFS,
        sonetClientCtpPmRealCktId,
        sonetClientCtpPmRealTribPRBSSyncErr,
        sonetClientCtpPmRealTribPRBSErr,
        sonetClientCtpPmRealLinePRBSSyncErr,
        sonetClientCtpPmRealLinePRBSErr,
        sonetClientCtpPmRealRxBER,
        sonetClientCtpPmRealTxBER
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the performance of the sonetClientCtp."
    ::= { sonetClientCtpPmGroups 2 }


END
