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

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

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE,
    Integer32                                   FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP             FROM SNMPv2-CONF
    DisplayString                               FROM SNMPv2-TC
    ifIndex                                     FROM IF-MIB
    InfnReporting, InfnALSDisableMode,
    InfnSlotOperatingMode, InfnRxEDFAGainMode,
    FloatTenths, FloatArbitraryPrecision        FROM INFINERA-TC-MIB
    terminationPoint                            FROM INFINERA-REG-MIB;


bandCtpMIB 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"
    ::= { terminationPoint 2 }

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

bandCtpEntry  OBJECT-TYPE
    SYNTAX      BandCtpEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A BandCtp entry containing information pertaining to Infinera BandCtp interfaces
        This table is a subclass of IfCommon.
        Entries will exist in this table only for interfaces of type Band CTP.
        These objects are auto created when a BMM/OAM circuit pack object
        is created. They are deleted when BMM/OAM circuit pack object is deleted."
    INDEX { ifIndex }
    ::= { bandCtpTable 1 }


BandCtpEntry  ::= SEQUENCE {
    bandCtpMaxOCGs                   Integer32,
    bandCtpChannelPlan               INTEGER,
    bandCtpRxExpectedPowerNominal    FloatTenths,
    bandCtpSpanLoss1LowThreshold     FloatTenths,
    bandCtpSpanLoss1HighThreshold    FloatTenths,
    bandCtpSpanLoss1ThldReporting    INTEGER,
    bandCtpExpectedSpanLoss          FloatTenths,
    bandCtpSpanLossReporting         INTEGER,
    bandCtpMaxEngineeredSpanLoss     FloatTenths,
    bandCtpALSAction                 INTEGER,
    bandCtpALSDisableTime            Integer32,
    bandCtpPmHistStatsEnable         INTEGER,
    bandCtpOprLowThreshold           FloatTenths,
    bandCtpOprHighThreshold          FloatTenths,
    bandCtpCBandOlosSoakTime         INTEGER,
    bandCtpSpanLoss2LowThreshold     FloatTenths,
    bandCtpSpanLoss2HighThreshold    FloatTenths,
    bandCtpSpanLoss2ThldReporting    InfnReporting,
    bandCtpCustomMargin              FloatTenths,
    bandCtpALSDisableMode            InfnALSDisableMode,
    bandCtpSlotOperatingMode         InfnSlotOperatingMode,
    bandCtpTeInterfaceList           DisplayString,
    bandCtpRxEDFAGainMode            InfnRxEDFAGainMode,
    bandCtpRxEDFAGainModeValue       InfnRxEDFAGainMode,
    bandCtpRxEDFAGain                FloatArbitraryPrecision,
    bandCtpRxEDFATilt                FloatTenths,
    bandCtpTxEDFAInputPowerOffset    FloatTenths,
    bandCtpMuxFreqSlotAttenProfile   DisplayString,
    bandCtpDemuxFreqSlotAttenProfile DisplayString,
    bandCtpTxVOA                     FloatTenths,
    bandCtpTargetLineOutputPower     FloatTenths
}

bandCtpMaxOCGs OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max number Of OCGs supportable in this band. This is not the actual OCGs that are available at any given point."
    DEFVAL      { 0 }
    ::= { bandCtpEntry  1 }


bandCtpChannelPlan OBJECT-TYPE
    SYNTAX  INTEGER {
        unknown(1),
        odd(2),
        even(3),
        all(4)
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tells the channel plan of the BMM/OAM. Odd implies the contained OCGs are 1,3,5,7 and even implies
        that the contained OCGs follow the 2, 4, 6, 8 plan."
    DEFVAL      { odd }
    ::= { bandCtpEntry  2 }


bandCtpRxExpectedPowerNominal OBJECT-TYPE
    SYNTAX      FloatTenths (-400..-10)
    UNITS       "0.1 dBm"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Expected nominal power value that is configured by the installer."
    DEFVAL      { -400 }
    ::= { bandCtpEntry  3 }


bandCtpSpanLoss1LowThreshold OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value specifies the decrease from ESL. When recived power
        goes below (ESL - SpanLoss1LowThreshold) the TCC will be set."
    DEFVAL      { 15 }
    ::= { bandCtpEntry  4 }


bandCtpSpanLoss1HighThreshold OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This value specifies the increase from ESL. When recived power
        crosses (ESL + SpanLoss1HighThreshold) the TCC will be set."
    DEFVAL      { 15 }
    ::= { bandCtpEntry  5 }


bandCtpSpanLoss1ThldReporting OBJECT-TYPE
    SYNTAX  INTEGER {
        disabled(1),
        enabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This attributes control the reporting of alarm on first gauge. This can be set enabled or disabled."
    DEFVAL      { disabled }
    ::= { bandCtpEntry  6 }


bandCtpExpectedSpanLoss OBJECT-TYPE
    SYNTAX      FloatTenths (0..400)
    UNITS       "0.1 db"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The expected power on this Fiber. This value is different for different span length, connectors,
        splices etc. This attribute is configured by the user.  The expected Span Loss is measured on the
        fiber."
    DEFVAL      { 25 }
    ::= { bandCtpEntry  7 }


bandCtpSpanLossReporting OBJECT-TYPE
    SYNTAX  INTEGER {
        disabled(1),
        enabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "If enabled(2), span loss reporting will proceed based on the provided expectedSpanLoss and
        maxEngineeredSpanLoss attributes. If set to disabled(1), the spanLossExceededLimit alarms/TCC
        is suppressed."
    DEFVAL      { disabled }
    ::= { bandCtpEntry  8 }

bandCtpMaxEngineeredSpanLoss OBJECT-TYPE
    SYNTAX      FloatTenths (0..400)
    UNITS       "0.1 db"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Span loss information from the route planner."
    DEFVAL      { 50 }
    ::= { bandCtpEntry  9 }


bandCtpALSAction OBJECT-TYPE
    SYNTAX  INTEGER {
        disabled(1),
        enabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Flag that indicates the automatic laser shutdown setttings."
    DEFVAL      { enabled }
    ::= { bandCtpEntry  10 }


bandCtpALSDisableTime OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "The time interval (in minutes) for which ALS will be disabled."
    DEFVAL      { 15 }
    ::= { bandCtpEntry  11 }


bandCtpPmHistStatsEnable OBJECT-TYPE
    SYNTAX  INTEGER {
        enabled(1),
        disabled(2)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION "Flag to enable or disable PM collection."
    DEFVAL      { enabled }
    ::= { bandCtpEntry  12 }

bandCtpOprLowThreshold OBJECT-TYPE
    SYNTAX      FloatTenths
    UNITS       "0.1 db"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies low threshold value for received C band power."
    DEFVAL      { 0 }
    ::= { bandCtpEntry  13 }

bandCtpOprHighThreshold OBJECT-TYPE
    SYNTAX      FloatTenths
    UNITS       "0.1 db"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "This object specifies high threshold value for received C band power."
    DEFVAL      { 0 }
    ::= { bandCtpEntry  14 }

bandCtpCBandOlosSoakTime OBJECT-TYPE
    SYNTAX      INTEGER {
        fast(1),
        medium(2),
        long(3)
    }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION ""
--    DEFVAL      { 0 }
    ::= { bandCtpEntry 15 }

bandCtpSpanLoss2LowThreshold OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Span loss-2 Low threshold"
    ::= { bandCtpEntry  16 }

bandCtpSpanLoss2HighThreshold OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Span loss-2 high threshold"
    ::= { bandCtpEntry  17 }

bandCtpSpanLoss2ThldReporting OBJECT-TYPE
    SYNTAX      InfnReporting
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Span loss-2 threshold reporting enable/disable"
    ::= { bandCtpEntry  18 }

bandCtpCustomMargin OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Custom margin"
    ::= { bandCtpEntry  19 }

bandCtpALSDisableMode OBJECT-TYPE
    SYNTAX      InfnALSDisableMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "ALS disable mode"
    ::= { bandCtpEntry  20 }

bandCtpSlotOperatingMode OBJECT-TYPE
    SYNTAX      InfnSlotOperatingMode
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Slot Operating Mode"
    ::= { bandCtpEntry  21 }

bandCtpTeInterfaceList OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "TE Interface List"
    ::= { bandCtpEntry  22 }

bandCtpRxEDFAGainMode OBJECT-TYPE
    SYNTAX      InfnRxEDFAGainMode
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "RX EDFA Gain Mode"
    ::= { bandCtpEntry  23 }

bandCtpRxEDFAGainModeValue OBJECT-TYPE
    SYNTAX      InfnRxEDFAGainMode
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "RX EDFA Gain Mode Value"
    ::= { bandCtpEntry  24 }

bandCtpRxEDFAGain OBJECT-TYPE
    SYNTAX      FloatArbitraryPrecision
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "RX EDFA Gain"
    ::= { bandCtpEntry  25 }

bandCtpRxEDFATilt OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "RX EDFA Tilt"
    ::= { bandCtpEntry  26 }

bandCtpTxEDFAInputPowerOffset OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "TX EDFA Input Power Offset"
    ::= { bandCtpEntry  27 }

bandCtpMuxFreqSlotAttenProfile OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Mux Frequency Slot Attenuation Profile"
    ::= { bandCtpEntry  28 }

bandCtpDemuxFreqSlotAttenProfile OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Demux Frequency Slot Attenuation Profile"
    ::= { bandCtpEntry  29 }

bandCtpTxVOA OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "TX EDFA Input Power Offset"
    ::= { bandCtpEntry  30 }

bandCtpTargetLineOutputPower OBJECT-TYPE
    SYNTAX      FloatTenths
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "TX EDFA Input Power Offset"
    ::= { bandCtpEntry  31 }

-- Conformance Statements
bandCtpConformance    OBJECT IDENTIFIER ::= { bandCtpMIB 3 }
bandCtpCompliances    OBJECT IDENTIFIER ::= { bandCtpConformance 1 }
bandCtpGroups         OBJECT IDENTIFIER ::= { bandCtpConformance 2 }

bandCtpCompliance MODULE-COMPLIANCE
    STATUS current
    DESCRIPTION
    "Describes the requirements for conformance to the BANDCTP-MIB"
    MODULE
        MANDATORY-GROUPS { bandCtpGroup }
    ::= { bandCtpCompliances 1 }

bandCtpGroup OBJECT-GROUP
    OBJECTS {
        bandCtpMaxOCGs,
        bandCtpChannelPlan,
        bandCtpRxExpectedPowerNominal,
        bandCtpSpanLoss1LowThreshold,
        bandCtpSpanLoss1HighThreshold,
        bandCtpSpanLoss1ThldReporting,
        bandCtpExpectedSpanLoss,
        bandCtpSpanLossReporting,
        bandCtpMaxEngineeredSpanLoss,
        bandCtpALSAction,
        bandCtpALSDisableTime,
        bandCtpPmHistStatsEnable,
        bandCtpOprLowThreshold,
        bandCtpOprHighThreshold,
        bandCtpCBandOlosSoakTime,
        bandCtpSpanLoss2LowThreshold,
        bandCtpSpanLoss2HighThreshold,
        bandCtpSpanLoss2ThldReporting,
        bandCtpCustomMargin,
        bandCtpALSDisableMode,
        bandCtpSlotOperatingMode,
        bandCtpTeInterfaceList,
        bandCtpRxEDFAGainMode,
        bandCtpRxEDFAGainModeValue,
        bandCtpRxEDFAGain,
        bandCtpRxEDFATilt,
        bandCtpTxEDFAInputPowerOffset,
        bandCtpMuxFreqSlotAttenProfile,
        bandCtpDemuxFreqSlotAttenProfile,
        bandCtpTxVOA,
        bandCtpTargetLineOutputPower
    }
    STATUS current
    DESCRIPTION
        " A collection of objects for managing the bandCtp"
    ::= { bandCtpGroups 1 }
END
