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

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


sdhClientCtpPmMIB 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 1 }



sdhClientCtpPmTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF SdhClientCtpPmEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of SdhClientCtpPm entries. Each entry is uniquely identified by the value of ifIndex, sampleDuration and sdhClientCtpPmTimestamp."
    ::= { sdhClientCtpPmMIB 2 }

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


SdhClientCtpPmEntry  ::= SEQUENCE {
    sdhClientCtpPmTimestamp          Integer32,
    sdhClientCtpPmSampleDuration     INTEGER,
    sdhClientCtpPmValidity           TruthValue,
    sdhClientCtpPmRxBE               HCPerfIntervalCount,
    sdhClientCtpPmRxES               Integer32,
    sdhClientCtpPmRxSES              Integer32,
    sdhClientCtpPmRxOFS              Integer32,
    sdhClientCtpPmRxLOSS             Integer32,
    sdhClientCtpPmTxBE               HCPerfIntervalCount,
    sdhClientCtpPmTxES               Integer32,
    sdhClientCtpPmTxSES              Integer32,
    sdhClientCtpPmTxOFS              Integer32,
    sdhClientCtpPmCktId              DisplayString,
    sdhClientCtpPmTribPRBSSyncErr    Integer32,
    sdhClientCtpPmTribPRBSErr        HCPerfIntervalCount,
    sdhClientCtpPmPayloadType        InfnServiceType,
    sdhClientCtpPmRxUAS              Integer32,
    sdhClientCtpPmTxUAS		         Integer32,
    sdhClientCtpPmLinePRBSSyncErr    Integer32,
    sdhClientCtpPmLinePRBSErr        HCPerfIntervalCount
}

sdhClientCtpPmTimestamp 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."
    ::= { sdhClientCtpPmEntry  1 }


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


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


sdhClientCtpPmRxBE OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of errors within a block in the incoming clients SDH signal. All Infinera SDH interfaces use 8000 blocks/sec, regardless of signal rate."
    ::= { sdhClientCtpPmEntry  4 }


sdhClientCtpPmRxES 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 RS block error was detected or an LOS or LOF defect is present."
    ::= { sdhClientCtpPmEntry  5 }


sdhClientCtpPmRxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the seconds during which 30% or more RS block errors (BE) were detected or an LOF or LOS defect was present."
    ::= { sdhClientCtpPmEntry  6 }


sdhClientCtpPmRxOFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Regenerator Section - Out of Frame Seconds. Count of seconds during which an OOF defect is present (at any point in the second)."
    ::= { sdhClientCtpPmEntry  7 }


sdhClientCtpPmRxLOSS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Regenerator Section - Loss of Signal Seconds. Count of seconds during which any LOS defect (OLOS or dLOS) existed."
    ::= { sdhClientCtpPmEntry  8 }


sdhClientCtpPmTxBE OBJECT-TYPE
    SYNTAX      HCPerfIntervalCount
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of errors within a block in the SDH signal received from the network and to be transmitted to the receiving client. All Infinera SDH interfaces use 8000 blocks/sec, regardless of signal rate."
    ::= { sdhClientCtpPmEntry  9 }


sdhClientCtpPmTxES 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 Tx RS block error was detected or a de-encap (Tx) LOS or LOF defect was present."
    ::= { sdhClientCtpPmEntry  10 }


sdhClientCtpPmTxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the seconds during which 30% or more Tx RS block errors (BE) were detected or a de-encap (Tx) LOF or LOS defect was present."
    ::= { sdhClientCtpPmEntry  11 }


sdhClientCtpPmTxOFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Regenerator Section - Out of Frame Seconds. Count of seconds during which a de-encap (Tx) OOF defect was present."
    ::= { sdhClientCtpPmEntry  12 }


sdhClientCtpPmCktId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Circuit ID(s) of the connection created on the SDH termination point."
    ::= { sdhClientCtpPmEntry  13 }


sdhClientCtpPmTribPRBSSyncErr 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."
    ::= { sdhClientCtpPmEntry  14 }


sdhClientCtpPmTribPRBSErr 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). Incre mented only when Trib PRBS monitoring is enabled."
    ::= { sdhClientCtpPmEntry  15 }

  sdhClientCtpPmPayloadType OBJECT-TYPE
      SYNTAX      InfnServiceType
      MAX-ACCESS  read-only
      STATUS      current
      DESCRIPTION "The payload type."
      ::= { sdhClientCtpPmEntry  16 }

sdhClientCtpPmRxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the Unavailable seconds."
    ::= { sdhClientCtpPmEntry  17 }

sdhClientCtpPmTxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Count of the Unavailable seconds."
    ::= { sdhClientCtpPmEntry  18 }

sdhClientCtpPmLinePRBSSyncErr 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."
    ::= { sdhClientCtpPmEntry  19 }


sdhClientCtpPmLinePRBSErr 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). Incre mented only when Line PRBS monitoring is enabled."
    ::= { sdhClientCtpPmEntry  20 }

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

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


SdhClientCtpPmRealEntry  ::= SEQUENCE {
    sdhClientCtpPmRealRxBE               Counter64,
    sdhClientCtpPmRealRxES               Integer32,
    sdhClientCtpPmRealRxSES              Integer32,
    sdhClientCtpPmRealRxOFS              Integer32,
    sdhClientCtpPmRealRxLOSS             Integer32,
    sdhClientCtpPmRealTxBE               Counter64,
    sdhClientCtpPmRealTxES               Integer32,
    sdhClientCtpPmRealTxSES              Integer32,
    sdhClientCtpPmRealTxOFS              Integer32,
    sdhClientCtpPmRealCktId              DisplayString,
    sdhClientCtpPmRealLinePRBSSyncErr    Integer32,
    sdhClientCtpPmRealLinePRBSErr        HCPerfIntervalCount,
    sdhClientCtpPmRealTribPRBSSyncErr    Integer32,
    sdhClientCtpPmRealTribPRBSErr        HCPerfIntervalCount,
    sdhClientCtpPmRealRxUAS   	         Integer32,
    sdhClientCtpPmRealTxUAS		         Integer32,
	sdhClientCtpPmRealRxBER              FloatArbitraryPrecision,
	sdhClientCtpPmRealTxBER              FloatArbitraryPrecision
}

sdhClientCtpPmRealRxBE OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of errors within a block in the incoming clients SDH signal. All Infinera SDH interfaces use 8000 blocks/sec, regardless of signal rate."
    ::= { sdhClientCtpPmRealEntry  1 }


sdhClientCtpPmRealRxES 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 RS block error was detected or an LOS or LOF defect is present."
    ::= { sdhClientCtpPmRealEntry  2 }


sdhClientCtpPmRealRxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the seconds during which 30% or more RS block errors (BE) were detected or an LOF or LOS defect was present."
    ::= { sdhClientCtpPmRealEntry  3 }


sdhClientCtpPmRealRxOFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Regenerator Section - Out of Frame Seconds. Count of seconds during which an OOF defect is present (at any point in the second)."
    ::= { sdhClientCtpPmRealEntry  4 }


sdhClientCtpPmRealRxLOSS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Regenerator Section - Loss of Signal Seconds. Count of seconds during which any LOS defect (OLOS or dLOS) existed."
    ::= { sdhClientCtpPmRealEntry  5 }


sdhClientCtpPmRealTxBE OBJECT-TYPE
    SYNTAX      Counter64
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the number of errors within a block in the SDH signal received from the network and to be transmitted to the receiving client. NOTE: All Infinera SDH interfaces use 8000 blocks/sec, regardless of signal rate."
    ::= { sdhClientCtpPmRealEntry  6 }


sdhClientCtpPmRealTxES 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 Tx RS block error was detected or a de-encap (Tx) LOS or LOF defect was present."
    ::= { sdhClientCtpPmRealEntry  7 }


sdhClientCtpPmRealTxSES OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of the seconds during which 30% or more Tx RS block errors (BE) were detected or a de-encap (Tx) LOF or LOS defect was present."
    ::= { sdhClientCtpPmRealEntry  8 }


sdhClientCtpPmRealTxOFS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Regenerator Section - Out of Frame Seconds. Count of seconds during which a de-encap (Tx) OOF defect was present."
    ::= { sdhClientCtpPmRealEntry  9 }


sdhClientCtpPmRealCktId OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Circuit ID(s) of the connection created on the SDH termination point."
    ::= { sdhClientCtpPmRealEntry  10 }

sdhClientCtpPmRealLinePRBSSyncErr 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."
    ::= { sdhClientCtpPmRealEntry  11 }


sdhClientCtpPmRealLinePRBSErr 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."
    ::= { sdhClientCtpPmRealEntry  12 }


sdhClientCtpPmRealTribPRBSSyncErr 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."
    ::= { sdhClientCtpPmRealEntry  13 }


sdhClientCtpPmRealTribPRBSErr 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). Incre mented only when Trib PRBS monitoring is enabled."
    ::= { sdhClientCtpPmRealEntry  14 }

sdhClientCtpPmRealRxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Regenerator Section - Unavailable seconds."
    ::= { sdhClientCtpPmRealEntry  15 }

sdhClientCtpPmRealTxUAS OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Count of Un available seconds."
    ::= { sdhClientCtpPmRealEntry  16 }

sdhClientCtpPmRealRxBER OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Receive Bit Error Rate.."
    ::= { sdhClientCtpPmRealEntry  17 }


sdhClientCtpPmRealTxBER OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Transmit Bit Error Rate."
    ::= { sdhClientCtpPmRealEntry  18 }



-- Conformance Statements
sdhClientCtpPmConformance    OBJECT IDENTIFIER ::= { sdhClientCtpPmMIB 3 }
sdhClientCtpPmCompliances    OBJECT IDENTIFIER ::= { sdhClientCtpPmConformance 1 }
sdhClientCtpPmGroups         OBJECT IDENTIFIER ::= { sdhClientCtpPmConformance 2 }

sdhClientCtpPmCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the PM-SDHCLIENTCTP-MIB"
    MODULE
        MANDATORY-GROUPS { sdhClientCtpPmGroup }
    ::= { sdhClientCtpPmCompliances 1 }

sdhClientCtpPmRealCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the sdhClientCtpPmReal-MIB"
    MODULE
        MANDATORY-GROUPS { sdhClientCtpPmRealGroup }
    ::= { sdhClientCtpPmCompliances 2 }

sdhClientCtpPmGroup OBJECT-GROUP
    OBJECTS {
        sdhClientCtpPmValidity,
        sdhClientCtpPmRxBE,
        sdhClientCtpPmRxES,
        sdhClientCtpPmRxSES,
        sdhClientCtpPmRxOFS,
        sdhClientCtpPmRxLOSS,
        sdhClientCtpPmTxBE,
        sdhClientCtpPmTxES,
        sdhClientCtpPmTxSES,
        sdhClientCtpPmTxOFS,
        sdhClientCtpPmCktId,
        sdhClientCtpPmTribPRBSSyncErr,
        sdhClientCtpPmTribPRBSErr,
        sdhClientCtpPmPayloadType,
		sdhClientCtpPmRxUAS,
		sdhClientCtpPmTxUAS,
		sdhClientCtpPmLinePRBSSyncErr,
		sdhClientCtpPmLinePRBSErr
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the performance of the sdhClientCtp."
    ::= { sdhClientCtpPmGroups 1 }

sdhClientCtpPmRealGroup OBJECT-GROUP
    OBJECTS {
        sdhClientCtpPmRealRxBE,
        sdhClientCtpPmRealRxES,
        sdhClientCtpPmRealRxSES,
        sdhClientCtpPmRealRxOFS,
        sdhClientCtpPmRealRxLOSS,
        sdhClientCtpPmRealTxBE,
        sdhClientCtpPmRealTxES,
        sdhClientCtpPmRealTxSES,
        sdhClientCtpPmRealTxOFS,
        sdhClientCtpPmRealCktId,
        sdhClientCtpPmRealLinePRBSSyncErr,
        sdhClientCtpPmRealLinePRBSErr,
        sdhClientCtpPmRealTribPRBSSyncErr,
        sdhClientCtpPmRealTribPRBSErr,
		sdhClientCtpPmRxUAS,
		sdhClientCtpPmTxUAS,
		sdhClientCtpPmRealRxBER,
		sdhClientCtpPmRealTxBER
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for reading the real-time performance of the sdhClientCtp."
    ::= { sdhClientCtpPmGroups 2 }

END
