-- *****************************************************************
-- INFINERA-TP-OCHCTP-MIB
-- Copyright (c) 2011-2012 by Infinera Inc.
-- All rights reserved.
-- ****************************************************************

INFINERA-TP-OCHCTP-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32     FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString, TruthValue                   FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    InfnCarrierType,InfnModulation,
    InfnEnableDisable,FloatTenths, InfnReporting, 
    InfnPmHistStatsControl, InfnCDCompType,  
    InfnFFCRMode, InfnEncoding, InfnCDRange,
    InfnUsageState, InfnTxDisableActionOnAdminLock,
    InfnXYAlignment              		FROM INFINERA-TC-MIB
    terminationPoint                            FROM INFINERA-REG-MIB;


ochCtpMIB MODULE-IDENTITY
    LAST-UPDATED  "201109030000Z"
    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  "201109030000Z"
    DESCRIPTION
        "First Version"
    ::= { terminationPoint 33 }

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

ochCtpEntry  OBJECT-TYPE
    SYNTAX      OchCtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A OchCtp entry containing information pertaining to Infinera OchCtp Interfaces.
        This table is a subclass of IfCommon. Entries will exist in this table only for
        interfaces of type OCH CTP."
    INDEX { ifIndex }
    ::= { ochCtpTable 1 }


OchCtpEntry  ::= SEQUENCE {
    ochCtpSignalDegradeReporting        InfnReporting,
    ochCtpPmHistStatsEnable             InfnPmHistStatsControl,
    ochCtpCarrierGroupMode              InfnCarrierType,
    ochCtpModulation                    InfnModulation, 
    ochCtpRate                          Integer32,
    ochCtpDataUsageState                InfnUsageState,
    ochCtpCDCompMode                    InfnCDCompType,
    ochCtpChromaticDispersionSet        FloatTenths,
    ochCtpFFCRMode                      InfnFFCRMode,
    ochCtpFFCRBlockSize                 FloatTenths,
    ochCtpFFCRXYAveraging               Integer32,
    ochCtpLaneShuffling                 InfnEnableDisable,
    ochCtpTxDisableActionOnAdminLock    InfnTxDisableActionOnAdminLock,
    ochCtpTxShutdown                    TruthValue,
    ochCtpEncodingMode                  InfnEncoding,
    ochCtpTxXYAlignment                 InfnXYAlignment,
    ochCtpPmdHighThreshold              FloatTenths,
    ochCtpPmdHighTCAReporting           InfnEnableDisable,
    ochCtpPreFecQSigDegThreshold        FloatTenths,
    ochCtpPreFecQSigDegHysteresis       FloatTenths,
    ochCtpPreFecQSigDegTCAReporting     InfnEnableDisable,
    ochCtpPreFecBERSigDegThreshold      FloatTenths,
    ochCtpPreFecBERSigDegHysteresis     FloatTenths,
    ochCtpPreFecBERSigDegTCAReporting   InfnEnableDisable,
    ochCtpSupportingCarrierList         DisplayString,
    ochCtpChromaticDispersionRange      InfnCDRange,
    ochCtpFineGranularPreFecQ           InfnEnableDisable,
    ochCtpFineGranularPreFecQSampling   Integer32,
    ochCtpRapidRecovery             InfnEnableDisable,
    ochCtpAggresivePolarizationTracking InfnEnableDisable,
    ochCtpBwResilientSsLoopControl      InfnEnableDisable,
    ochCtpBwResilientCtLoopControl      InfnEnableDisable
}

ochCtpSignalDegradeReporting OBJECT-TYPE
    SYNTAX      InfnReporting
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        ""
    ::= { ochCtpEntry  1 }

ochCtpPmHistStatsEnable OBJECT-TYPE
    SYNTAX  	InfnPmHistStatsControl
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Flag to enable or disable PM collection."
    DEFVAL      { enabled }
    ::= { ochCtpEntry  2 }


ochCtpCarrierGroupMode  OBJECT-TYPE
    SYNTAX      InfnCarrierType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        ""
    ::= { ochCtpEntry  3 }

ochCtpModulation OBJECT-TYPE
    SYNTAX      InfnModulation
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        ""
    ::= { ochCtpEntry  4 }

ochCtpRate OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  5 }

ochCtpDataUsageState OBJECT-TYPE
    SYNTAX  	InfnUsageState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  6 }

ochCtpCDCompMode OBJECT-TYPE
    SYNTAX  	InfnCDCompType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  7 }

ochCtpChromaticDispersionSet OBJECT-TYPE
    SYNTAX      FloatTenths 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  8 }

ochCtpFFCRMode OBJECT-TYPE
    SYNTAX  	InfnFFCRMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  9 }

ochCtpFFCRBlockSize OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  10 }

ochCtpFFCRXYAveraging  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  11 }
    
ochCtpLaneShuffling  OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  12 }

ochCtpTxDisableActionOnAdminLock  OBJECT-TYPE
    SYNTAX  	InfnTxDisableActionOnAdminLock
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  13 }

ochCtpTxShutdown OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  14 }

ochCtpEncodingMode  OBJECT-TYPE
    SYNTAX  	InfnEncoding
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  15 }

ochCtpTxXYAlignment  OBJECT-TYPE
    SYNTAX  	InfnXYAlignment
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  16 }

ochCtpPmdHighThreshold OBJECT-TYPE
    SYNTAX      FloatTenths 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  17 }

ochCtpPmdHighTCAReporting  OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  18 }

ochCtpPreFecQSigDegThreshold  OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  19 }
    
ochCtpPreFecQSigDegHysteresis  OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  20 }
    
ochCtpPreFecQSigDegTCAReporting  OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  21 }

ochCtpPreFecBERSigDegThreshold  OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  22 }

ochCtpPreFecBERSigDegHysteresis  OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  23 } 

ochCtpPreFecBERSigDegTCAReporting  OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  24 } 
   
ochCtpSupportingCarrierList OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  25 }
    

ochCtpChromaticDispersionRange OBJECT-TYPE
    SYNTAX     	InfnCDRange
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  26 } 

ochCtpFineGranularPreFecQ  OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  27 } 

ochCtpFineGranularPreFecQSampling  OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry 28 }

ochCtpRapidRecovery OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  29 } 

ochCtpAggresivePolarizationTracking OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  30 } 

ochCtpBwResilientSsLoopControl  OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  31 } 

ochCtpBwResilientCtLoopControl  OBJECT-TYPE
    SYNTAX      InfnEnableDisable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
    ::= { ochCtpEntry  32 } 

-- Conformance Statements
ochCtpConformance    OBJECT IDENTIFIER ::= { ochCtpMIB 3 }
ochCtpCompliances    OBJECT IDENTIFIER ::= { ochCtpConformance 1 }
ochCtpGroups         OBJECT IDENTIFIER ::= { ochCtpConformance 2 }

ochCtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the OCHCTP-MIB"
    MODULE
        MANDATORY-GROUPS { ochCtpGroup }
    ::= { ochCtpCompliances 1 }

ochCtpGroup OBJECT-GROUP
    OBJECTS {
    ochCtpSignalDegradeReporting,        
    ochCtpPmHistStatsEnable,
    ochCtpCarrierGroupMode,
    ochCtpModulation , 
    ochCtpRate ,
    ochCtpDataUsageState,
    ochCtpCDCompMode,
    ochCtpChromaticDispersionSet,
    ochCtpFFCRMode,
    ochCtpFFCRBlockSize,
    ochCtpFFCRXYAveraging,
    ochCtpLaneShuffling,
    ochCtpTxDisableActionOnAdminLock,
    ochCtpTxShutdown,
    ochCtpEncodingMode,
    ochCtpTxXYAlignment,
    ochCtpPmdHighThreshold,
    ochCtpPmdHighTCAReporting,
    ochCtpPreFecQSigDegThreshold,
    ochCtpPreFecQSigDegHysteresis,
    ochCtpPreFecQSigDegTCAReporting,
    ochCtpPreFecBERSigDegThreshold,
    ochCtpPreFecBERSigDegHysteresis,
    ochCtpPreFecBERSigDegTCAReporting,
    ochCtpSupportingCarrierList,
    ochCtpChromaticDispersionRange,
    ochCtpFineGranularPreFecQ,
    ochCtpFineGranularPreFecQSampling,
    ochCtpRapidRecovery,
    ochCtpAggresivePolarizationTracking,
    ochCtpBwResilientSsLoopControl,
    ochCtpBwResilientCtLoopControl
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the OchCtp"
    ::= { ochCtpGroups 1 }


END
