RC-POM-MIB DEFINITIONS ::= BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, Counter32
        FROM SNMPv2-SMI
    DisplayString, TruthValue
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    rcPlugOptMod, EnableValue
        FROM RAPID-CITY;

rcPlugOptModTableMib MODULE-IDENTITY
       LAST-UPDATED     "201906070000Z"
       ORGANIZATION     "Nortel Networks"
       CONTACT-INFO     "Dwight Croonenberghs
                         Postal:        Nortel Networks, Inc. 
                                        600 Technology Park
                                        Billerica, MA 01821 
                         E-mail:        dwightc@nortel.com"
       DESCRIPTION       "OE MIB for Digital Diagnostic Monitoring of pluggable optical modules"

       REVISION "201906070000Z" -- 07 June 2019
       DESCRIPTION "Version 12: Added 
					rcPlugOptModSupportExtremeExtraFeatures   TruthValue       --105 
					(hliang)"

       REVISION "201906030000Z" -- 03 June 2019
       DESCRIPTION "Version 11: Added 
	   				rcPlugOptModExtremeSku		  DisplayString,           -- 83
					rcPlugOptModPowerOnCounter	  Counter32,               -- 84
					rcPlugOptModTxDdmInitial	  Integer32,               -- 85
					rcPlugOptModTxDdmLastGasp	  Integer32,               -- 86
					rcPlugOptModRxDdmInitial	  Integer32,               -- 87
					rcPlugOptModRxDdmLastGasp	  Integer32,               -- 88
					rcPlugOptModQSFPTx1DdmInitial     Integer32,               -- 89
					rcPlugOptModQSFPTx1DdmLastGasp	  Integer32,               -- 90
					rcPlugOptModQSFPRx1DdmInitial	  Integer32,               -- 91
					rcPlugOptModQSFPRx1DdmLastGasp	  Integer32,               -- 92
					rcPlugOptModQSFPTx2DdmInitial	  Integer32,               -- 93
					rcPlugOptModQSFPTx2DdmLastGasp	  Integer32,               -- 94
					rcPlugOptModQSFPRx2DdmInitial	  Integer32,               -- 95
					rcPlugOptModQSFPRx2DdmLastGasp	  Integer32,               -- 96
					rcPlugOptModQSFPTx3DdmInitial	  Integer32,               -- 97
					rcPlugOptModQSFPTx3DdmLastGasp	  Integer32,               -- 98
					rcPlugOptModQSFPRx3DdmInitial	  Integer32,               -- 99
					rcPlugOptModQSFPRx3DdmLastGasp	  Integer32,               -- 100
					rcPlugOptModQSFPTx4DdmInitial	  Integer32,               -- 101
					rcPlugOptModQSFPTx4DdmLastGasp	  Integer32,               -- 102
					rcPlugOptModQSFPRx4DdmInitial	  Integer32,               -- 103
					rcPlugOptModQSFPRx4DdmLastGasp	  Integer32                -- 104 
					(hliang)"

       REVISION "201702020000Z" -- 02 Feb 2017
       DESCRIPTION "Version 10: Corrected MIB compiler error."
	   
       REVISION "201510010000Z" -- 01 October 2015
       DESCRIPTION "Version 9:    Changed the size of the following objects to a range - 
	   			  rcPlugOptModConnectorType - 0..17
				  rcPlugOptModVendorName - 0..17
				  rcPlugOptModVendorPartNumber - 0..17
				  rcPlugOptModVendorRevNumber - 0..5
				  rcPlugOptModVendorSN - 0..17
				  rcPlugOptModVendorDateCode - 0..9
				  rcPlugOptModPEC - 0..17
				  rcPlugOptModCLEI - 0..11
				  Based on submit 25224 (prempa)"
	   
       REVISION "201508140000Z" -- 14 August 2015
       DESCRIPTION "Version 8: Added rcPlugNotificationObjects and
	                             rcPluggableModuleDescription "
		    
       REVISION "201501130000Z" -- 13 January 2015
       DESCRIPTION "Version 7: Added ddm-avaya-checksum-error value for
	   		rcPlugOptModDdmStatusMask.
			Requested by Mayank Khetan for VSP 9K 4.0.1.0 (Prem)"

       REVISION "201405060000Z" -- 06 May 2014
       DESCRIPTION "Version 6: Added - 
                        rcPlugOptModQSFPTx1Bias
                        rcPlugOptModQSFPTx2Bias
                        rcPlugOptModQSFPTx3Bias
                        rcPlugOptModQSFPTx4Bias
                        rcPlugOptModQSFPTx1Power
                        rcPlugOptModQSFPTx2Power
                        rcPlugOptModQSFPTx3Power
                        rcPlugOptModQSFPTx4Power
                        rcPlugOptModQSFPRx1Power
                        rcPlugOptModQSFPRx2Power
                        rcPlugOptModQSFPRx3Power
                        rcPlugOptModQSFPRx4Power
                        rcPlugOptModQSFPTx1BiasStatus
                        rcPlugOptModQSFPTx2BiasStatus
                        rcPlugOptModQSFPTx3BiasStatus
                        rcPlugOptModQSFPTx4BiasStatus
                        rcPlugOptModQSFPTx1PowerStatus
                        rcPlugOptModQSFPTx2PowerStatus
                        rcPlugOptModQSFPTx3PowerStatus
                        rcPlugOptModQSFPTx4PowerStatus
                        rcPlugOptModQSFPRx1PowerStatus
                        rcPlugOptModQSFPRx2PowerStatus
                        rcPlugOptModQSFPRx3PowerStatus
                        rcPlugOptModQSFPRx4PowerStatus"

       REVISION "201403260000Z" -- 26 March 2014
       DESCRIPTION "Version 5: Added rcPlugOptModOperTable."

       REVISION "200805090000Z" -- 09 May 2008
       DESCRIPTION "Version 4: Fixed smilint errors."

       REVISION "200801160000Z" -- 16 Jan. 2008
       DESCRIPTION "Version 3: Removed rcPlugOptModConfigTable and changed the global config scalar names"
                                     
       REVISION "200712170000Z" -- 17 Dec. 2007
       DESCRIPTION "Version 2: added rcPlugOptModConfigTable and
                                     rcPlugOptModAlarmMonitorGlobalEnable
                                     rcPlugOptModWarningMonitorGlobalEnable
                                     rcPlugOptModAlarmMonitorInterval
                                     rcPlugOptModWarningMonitorInterval"
       
       REVISION "200610200000Z" -- 20 Oct. 2006
       DESCRIPTION "Version 1: Initial version; added rcPlugOptModTable"
       ::= { rcPlugOptMod 0 }


-- This MIB defines the serial information that can be read from
-- SFPs and SFPs including the vendor specific Nortel supplied data.
-- The INF-8074i SFP MSA and the SFF-8053 SFP specifications defined
-- the first 256 bytes of serial ID information.  The SFF-8472
-- standard adds new options to those previously defined and adds
-- new transceiver types.  The SFF-8472 standard also defines an
-- enhanced digital diagnostic monitoring interface for optical
-- devices which allows real-time access to device operating
-- parameters.
--
-- If the target device supports the SFF-8472 standard, there is an
-- extra 256 bit address space.  Pertinant information from that
-- space is also described here.
-- TXT about XFPs 


rcPlugOptModTable OBJECT-TYPE
        SYNTAX	  SEQUENCE OF RcPlugOptModEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Gibc SFF diagnostic info table"
        ::= {  rcPlugOptMod 1 }

rcPlugOptModEntry OBJECT-TYPE
        SYNTAX      RcPlugOptModEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry containing info. for a particular port"
        INDEX         { rcPlugOptModPortIndex }
	::= { rcPlugOptModTable 1 }
  
RcPlugOptModEntry ::= SEQUENCE {
    rcPlugOptModPortIndex                 InterfaceIndex,          -- 1

-- Control information:

    rcPlugOptModDdmStatusMask             BITS,                    -- 2
    rcPlugOptModCalibration               INTEGER,                 -- 3
    rcPlugOptModPowerMeasure              INTEGER,                 -- 4
    rcPlugOptModConnectorType             DisplayString, -- 5 ; 16+1
    rcPlugOptModVendorName                DisplayString, -- 6 ; 16+1
    rcPlugOptModVendorPartNumber          DisplayString, -- 7 ; 16+1
    rcPlugOptModVendorRevNumber           DisplayString,  -- 8 ;  4+1
    rcPlugOptModVendorSN                  DisplayString, -- 9 ; 16+1
    rcPlugOptModVendorDateCode            DisplayString,  -- 10;  8+1
 
-- Vendor information:

    rcPlugOptModPEC                       DisplayString, -- 11 ;16+1
    rcPlugOptModCLEI                      DisplayString, -- 12 ;10+1
    rcPlugOptModSupportsDDM               TruthValue,              -- 13
    rcPlugOptModAux1Monitoring            INTEGER,                 -- 14
    rcPlugOptModAux2Monitoring            INTEGER,                 -- 15
    rcPlugOptModWaveLength                Integer32,               -- 16

-- The DDM information:

    rcPlugOptModTemperature                     Integer32,             -- 17
    rcPlugOptModTemperatureHighAlarmThreshold   Integer32,            -- 18
    rcPlugOptModTemperatureLowAlarmThreshold    Integer32,            -- 19
    rcPlugOptModTemperatureHighWarningThreshold Integer32,           -- 20
    rcPlugOptModTemperatureLowWarningThreshold  Integer32,            -- 21
    rcPlugOptModVoltage                         Integer32,             -- 22
    rcPlugOptModVoltageHighAlarmThreshold       Integer32,             -- 23
    rcPlugOptModVoltageLowAlarmThreshold        Integer32,             -- 24
    rcPlugOptModVoltageHighWarningThreshold     Integer32,             -- 25
    rcPlugOptModVoltageLowWarningThreshold      Integer32,             -- 26
    rcPlugOptModBias                            Integer32,             -- 27
    rcPlugOptModBiasHighAlarmThreshold        Integer32,             -- 28
    rcPlugOptModBiasLowAlarmThreshold         Integer32,             -- 29
    rcPlugOptModBiasHighWarningThreshold      Integer32,             -- 30
    rcPlugOptModBiasLowWarningThreshold       Integer32,             -- 31
    rcPlugOptModTxPower                       Integer32,             -- 32
    rcPlugOptModTxPowerHighAlarmThreshold     Integer32,             -- 33
    rcPlugOptModTxPowerLowAlarmThreshold      Integer32,             -- 34
    rcPlugOptModTxPowerHighWarningThreshold   Integer32,             -- 35
    rcPlugOptModTxPowerLowWarningThreshold    Integer32,             -- 36
    rcPlugOptModRxPower                       Integer32,             -- 37
    rcPlugOptModRxPowerHighAlarmThreshold     Integer32,             -- 38
    rcPlugOptModRxPowerLowAlarmThreshold      Integer32,             -- 39
    rcPlugOptModRxPowerHighWarningThreshold   Integer32,             -- 40
    rcPlugOptModRxPowerLowWarningThreshold    Integer32,             -- 41
    rcPlugOptModAux1                          Integer32,             -- 42
    rcPlugOptModAux1HighAlarmThreshold        Integer32,             -- 43
    rcPlugOptModAux1LowAlarmThreshold         Integer32,             -- 44
    rcPlugOptModAux1HighWarningThreshold      Integer32,             -- 45
    rcPlugOptModAux1LowWarningThreshold       Integer32,             -- 46
    rcPlugOptModAux2                          Integer32,             -- 47
    rcPlugOptModAux2HighAlarmThreshold        Integer32,             -- 48
    rcPlugOptModAux2LowAlarmThreshold         Integer32,             -- 49
    rcPlugOptModAux2HighWarningThreshold      Integer32,             -- 50
    rcPlugOptModAux2LowWarningThreshold       Integer32,             -- 51

    rcPlugOptModTemperatureStatus             INTEGER,               -- 52
    rcPlugOptModVoltageStatus                 INTEGER,               -- 53
    rcPlugOptModBiasStatus                    INTEGER,               -- 54
    rcPlugOptModTxPowerStatus                 INTEGER,               -- 55
    rcPlugOptModRxPowerStatus                 INTEGER,               -- 56
    rcPlugOptModAux1Status                    INTEGER,               -- 57
    rcPlugOptModAux2Status                    INTEGER,               -- 58

-- The DDM information for 40G(QSFPs):

    rcPlugOptModQSFPTx1Bias                   Integer32,             -- 59
    rcPlugOptModQSFPTx2Bias                   Integer32,             -- 60
    rcPlugOptModQSFPTx3Bias                   Integer32,             -- 61
    rcPlugOptModQSFPTx4Bias                   Integer32,             -- 62
    rcPlugOptModQSFPTx1Power                  Integer32,             -- 63
    rcPlugOptModQSFPTx2Power                  Integer32,             -- 64
    rcPlugOptModQSFPTx3Power                  Integer32,             -- 65
    rcPlugOptModQSFPTx4Power                  Integer32,             -- 76
    rcPlugOptModQSFPRx1Power                  Integer32,             -- 67
    rcPlugOptModQSFPRx2Power                  Integer32,             -- 68
    rcPlugOptModQSFPRx3Power                  Integer32,             -- 69
    rcPlugOptModQSFPRx4Power                  Integer32,             -- 70
    rcPlugOptModQSFPTx1BiasStatus             INTEGER,               -- 71
    rcPlugOptModQSFPTx2BiasStatus             INTEGER,               -- 72
    rcPlugOptModQSFPTx3BiasStatus             INTEGER,               -- 73
    rcPlugOptModQSFPTx4BiasStatus             INTEGER,               -- 74
    rcPlugOptModQSFPTx1PowerStatus            INTEGER,               -- 75
    rcPlugOptModQSFPTx2PowerStatus            INTEGER,               -- 76
    rcPlugOptModQSFPTx3PowerStatus            INTEGER,               -- 77
    rcPlugOptModQSFPTx4PowerStatus            INTEGER,               -- 78
    rcPlugOptModQSFPRx1PowerStatus            INTEGER,               -- 79
    rcPlugOptModQSFPRx2PowerStatus            INTEGER,               -- 80
    rcPlugOptModQSFPRx3PowerStatus            INTEGER,               -- 81
    rcPlugOptModQSFPRx4PowerStatus            INTEGER,               -- 82
-- The DDM information for the extra features of the SFP EEPROM:
    rcPlugOptModExtremeSku		      DisplayString,           -- 83
    rcPlugOptModPowerOnCounter		      Counter32,               -- 84
    rcPlugOptModTxDdmInitial		      Integer32,               -- 85
    rcPlugOptModTxDdmLastGasp		      Integer32,               -- 86
    rcPlugOptModRxDdmInitial		      Integer32,               -- 87
    rcPlugOptModRxDdmLastGasp		      Integer32,               -- 88
-- The DDM information for the extra features of the QSFP EEPROM:
    rcPlugOptModQSFPTx1DdmInitial    	      Integer32,               -- 89
    rcPlugOptModQSFPTx1DdmLastGasp	      Integer32,               -- 90
    rcPlugOptModQSFPRx1DdmInitial	      Integer32,               -- 91
    rcPlugOptModQSFPRx1DdmLastGasp	      Integer32,               -- 92
    rcPlugOptModQSFPTx2DdmInitial	      Integer32,               -- 93
    rcPlugOptModQSFPTx2DdmLastGasp	      Integer32,               -- 94
    rcPlugOptModQSFPRx2DdmInitial	      Integer32,               -- 95
    rcPlugOptModQSFPRx2DdmLastGasp	      Integer32,               -- 96
    rcPlugOptModQSFPTx3DdmInitial	      Integer32,               -- 97
    rcPlugOptModQSFPTx3DdmLastGasp	      Integer32,               -- 98
    rcPlugOptModQSFPRx3DdmInitial	      Integer32,               -- 99
    rcPlugOptModQSFPRx3DdmLastGasp	      Integer32,               -- 100
    rcPlugOptModQSFPTx4DdmInitial	      Integer32,               -- 101
    rcPlugOptModQSFPTx4DdmLastGasp	      Integer32,               -- 102
    rcPlugOptModQSFPRx4DdmInitial	      Integer32,               -- 103
    rcPlugOptModQSFPRx4DdmLastGasp	      Integer32,               -- 104 
    rcPlugOptModSupportExtremeExtraFeatures   TruthValue               -- 105  
    }
    
rcPlugOptModPortIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies a port on a 
                     blade or line-card."
        ::= { rcPlugOptModEntry 1 }

rcPlugOptModDdmStatusMask OBJECT-TYPE
        SYNTAX      BITS {
                        ddm-ok(0),
                        ddm-checksum-error(1),
                        ddm-i2c-read-error(2),
                        ddm-threshold-error(3),
                        ddm-calibration-error(4),
                        ddm-avaya-checksum-error(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Each bit other than ddm-ok represents a specific error. 
                     Any combination of error bits is allowed."
        ::= { rcPlugOptModEntry 2}

rcPlugOptModCalibration OBJECT-TYPE
        SYNTAX      INTEGER {
                        internal    (1),
                        external    (2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The identifier value indicates type of calibration."
        ::= { rcPlugOptModEntry 3}

rcPlugOptModPowerMeasure OBJECT-TYPE
        SYNTAX      INTEGER {
                        omi        (1),
                        average    (2)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The identifier value indicates type of external power."
        ::= { rcPlugOptModEntry 4}

rcPlugOptModConnectorType OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..17))   -- 16+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The connector type is a 16 character field that
                     contains ASCII characters, left-aligned and padded
                     on the right with ASCII spaces. This is an assigned
                     name that indicates some characteristic of the 
                     layer-1 interface."
        ::= { rcPlugOptModEntry 5 }

rcPlugOptModVendorName OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..17))   -- 16+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The vendor name is a 16 character field that
                     contains ASCII characters, left-aligned and padded
                     on the right with ASCII spaces. The vendor name
                     shall be the full name of the corporation, a
                     commonly accepted abbreviation of the name, the
                     SCSI company code, or the stock exchange code for
                     the corporation."
        ::= { rcPlugOptModEntry 6 }
	
rcPlugOptModVendorPartNumber OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..17))   -- 16+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The vendor part number is a 16 byte field that
                     contains ASCII characters, left-aligned and padded
                     on the right with ASCII spaces, defining the vendor
                     part number or product name."
        ::= { rcPlugOptModEntry 7 }

rcPlugOptModVendorRevNumber OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..5))   -- 4+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The vendor revision number is a 4-byte field that
                     contains ASCII characters, left-aligned and padded
                     on the right with ASCII spaces, defining the
                     vendor product revision number."
        ::= { rcPlugOptModEntry 8 }

rcPlugOptModVendorSN OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..17))   -- 16+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The vendor serial number is a 16 character field
                     that contains ASCII characters, left-aligned and
                     padded on the right with ASCII spaces, defining
                     the vendor serial number for the transceiver."
        ::= { rcPlugOptModEntry 9 }

rcPlugOptModVendorDateCode OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..9))    -- 8+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "The date code is an 8-byte field that contains the
                     vendor's date code in ASCII. This field is
                     mandatory and takes the form: YYMMDDLC where
                     YY is the 2 low order digits of the year (00=2000),
                     MM is the month, 01 thru 12,
                     DD is the day, 01 thru 31, and
                     LC is an optional vendor specific lot code."
        ::= { rcPlugOptModEntry 10 }

rcPlugOptModPEC OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..17))   -- 16+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is a 16 byte left-justified ASCII field that
                     records the Nortel Product Equipment Code order
                     number for the module. Nortel part numbers are 9
                     bytes long, so the 10th through 16th byte should
                     be NULL."
        ::= { rcPlugOptModEntry 11 }

rcPlugOptModCLEI OBJECT-TYPE
        SYNTAX      DisplayString(SIZE(0..11))   -- 10+1
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is a 10 byte left-justified ASCII field that
                     records the Nortel supplied Common Language
                     Equipment Identifier code for the device. The CLEI
                     code is a Telcordia human-readable representation
                     of the 1D barcode."
        ::= { rcPlugOptModEntry 12 }
 
rcPlugOptModSupportsDDM OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This boolean indicates whether or not the device
                     supports the DDM capability."
        ::= { rcPlugOptModEntry 13 }
	
rcPlugOptModAux1Monitoring OBJECT-TYPE
        SYNTAX      INTEGER(0..15)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value tells what Aux1 is measuring.The values are
                     as follows:
        
                     0  Auxiliary monitoring not implemented
                     1  APD Bias Voltage mV (units of 10 mV)
                     2  Reserved
                     3  TEC Current (mA)
                     4  Laser Temperature
                     5  Laser Wavelength
                     6  +5V Supply Voltage
                     7  +3.3V Supply Voltage
                     8  +1.8V Supply Voltage
                     9  -5.2V Supply Voltage
                    10  +5.0V Supply Current (unit of 100 uA)
                    13  +3.3V Supply Current (unit of 100 uA)
                    14  +1.8V Supply Current (unit of 100 uA)
                    15  -5.2V Supply Current (unit of 100 uA)
                     "
        ::= { rcPlugOptModEntry 14 } 
        
rcPlugOptModAux2Monitoring OBJECT-TYPE
        SYNTAX      INTEGER(0..15)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value tells you what AUX2 is measuring.The values are
                     as follows:
        
                     0  Auxiliary monitoring not implemented
                     1  APD Bias Voltage mV (units of 10 mV)
                     2  Reserved
                     3  TEC Current (mA)
                     4  Laser Temperature
                     5  Laser Wavelength
                     6  +5V Supply Voltage
                     7  +3.3V Supply Voltage
                     8  +1.8V Supply Voltage
                     9  -5.2V Supply Voltage
                    10  +5.0V Supply Current (unit of 100 uA)
                    13  +3.3V Supply Current (unit of 100 uA)
                    14  +1.8V Supply Current (unit of 100 uA)
                    15  -5.2V Supply Current (unit of 100 uA)
                     "
        ::= { rcPlugOptModEntry 15 } 

rcPlugOptModWaveLength OBJECT-TYPE
        SYNTAX      Integer32 (0..65535)
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Nominal transmitter output wavelength at room
                     temperature. It is expressed in nano-meters."
        ::= {rcPlugOptModEntry 16 }


-- These next variables represent either measured values or fixed
-- threshold values.  Sometimes they involve an integer and a fractional
-- component and sometimes we may want to convert from mW to dBm.
-- So maybe what we have in the MIB definition is not the raw numeric
-- data but rather the ASCII representation of that data including a
-- minus sign, if necessary, and a decimal point in the right place.
-- In all cases, we need to display the calibrated data if external
-- calibration is being used.  For temperature, voltage, bias current
-- and transmitter power, this involves multiplying the raw value by
-- a vendor specified slope constant (contained in the device EEPROM)
-- then adding a vendor specified offset (also contained in the device
-- EEPROM).  For received power, it involves running the raw value
-- through a polynomial. The vendor specified coefficients for that
-- polynomial are contained in the device in IEEE 754 floating-point
-- format.

rcPlugOptModTemperature OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured
                     module temperature. It is expressed in units of
                     1/256 of a degree Celsius and can range from -40C
		     to +125C with 0.0001 accuracy.The most significant byte is
                     the signed integer part of the number and the
                     least significant byte is the fraction."
        ::= { rcPlugOptModEntry 17 }

rcPlugOptModTemperatureHighAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     temperature threshold. If the device
                     temperature exceeds this value, a temperature high
                     is asserted. It is expressed in the same
                     units as the measured temperature."
        ::= { rcPlugOptModEntry 18 }

rcPlugOptModTemperatureLowAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     temperature threshold. If the device
                     temperature falls below this value, a temperature
                     low is asserted. It is expressed in the same
                     units as the measured temperature."
        ::= { rcPlugOptModEntry 19 }

rcPlugOptModTemperatureHighWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     temperature warning threshold. If the device
                     temperature exceeds this value, a temperature high
                     warning is asserted. It is expressed in the same
                     units as the measured temperature."
        ::= { rcPlugOptModEntry  20 }

rcPlugOptModTemperatureLowWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     temperature warning threshold. If the device
                     temperature falls below this value, a temperature
                     low warning is asserted. It is expressed in the
                     same units as the measured temperature."
        ::= { rcPlugOptModEntry 21 }

rcPlugOptModVoltage OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured
                     supply voltage. It is a positive number expressed
                     in microvolts and can range from 0 to 65535 mV."
        ::= { rcPlugOptModEntry 22 }

rcPlugOptModVoltageHighAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     voltage threshold. If the measured voltage exceeds
                     this value, a high voltage is asserted. It
                     is a positive number expressed in microvolts."
        ::= { rcPlugOptModEntry 23 }

rcPlugOptModVoltageLowAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     voltage threshold. If the measured voltage falls
                     below this value, a low voltage is asserted.
                     It is a positive number expressed in microvolts."
        ::= { rcPlugOptModEntry 24 }

rcPlugOptModVoltageHighWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     voltage warning threshold. If the measured voltage
                     exceeds this value, a high voltage warning is
                     asserted. It is a positive number expressed in
                     microvolts."
        ::= { rcPlugOptModEntry 25 }

rcPlugOptModVoltageLowWarningThreshold OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     voltage warning threshold. If the measured voltage
                     falls below this value, a low voltage warning is
                     asserted. It is a positive number expressed in
                     microvolts."
        ::= { rcPlugOptModEntry 26 }

rcPlugOptModBias OBJECT-TYPE    
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured
                     transmitter laser bias current. It is a positive
                     number expressed in units of 2 microamps and can
                     range from 0 to 131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 27 }

rcPlugOptModBiasHighAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     current threshold. If the measured bias
                     current exceeds this value, a high current alarm
                     is asserted. It is a positive number expressed
                     in units of 2 microamps and can range from 0 to
                     131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 28 }

rcPlugOptModBiasLowAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     current threshold. If the measured bias
                     current falls below this value, a low current
                     is asserted. It is a positive number
                     expressed in units of 2 microamps and can range
                     from 0 to 131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 29 }

rcPlugOptModBiasHighWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     current warning threshold. If the measured bias
                     current exceeds this value, a high current warning
                     is asserted. It is a positive number expressed in
                     units of 2 microamps and can range from 0 to
                     131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 30 }

rcPlugOptModBiasLowWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     current warning threshold. If the measured bias
                     current falls below this value, a low current
                     warning is asserted. It is a positive number
                     expressed in units of 2 microamps and can range
                     from 0 to 131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 31 }

-- For power readings, we should really display these values in dBm
-- CP code can convert from mW to dBm.

rcPlugOptModTxPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured
                     coupled TX output power. It is a positive number
                     expressed in units of micro watts and can range
                     from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 32 }

rcPlugOptModTxPowerHighAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     transmit power threshold. If the measured
                     transmitter power exceeds this value, a
                     transmitter power high is asserted. It is
                     a positive number expressed in units of micro
                     watts and can range from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 33 }

rcPlugOptModTxPowerLowAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     transmit power threshold. If the measured
                     transmitter power falls below this value, a
                     transmitter power low is asserted. It is a
                     positive number expressed in units of micro watts
                     and can range from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 34 }

rcPlugOptModTxPowerHighWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     transmit power warning threshold. If the measured
                     transmitter power exceeds this value, a
                     transmitter power high warning is asserted. It is
                     a positive number expressed in units of units of
                     micro watts and can range from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 35 }

rcPlugOptModTxPowerLowWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     transmit power warning threshold. If the measured
                     transmitter power falls below this value, a
                     transmitter power low warning is asserted. It is
                     a positive number expressed in units of micro
                     watts and can range from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 36 }

rcPlugOptModRxPower OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured
                     received power. It is a positive number expressed
                     in units of micro watts and can range from 0 to
                     65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 37 }

rcPlugOptModRxPowerHighAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     receiver power threshold. If the measured
                     received power exceeds this value, a receiver
                     power high is asserted. It is a positive
                     number expressed in units of micro watts and can
                     range from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 38 }

rcPlugOptModRxPowerLowAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     receiver power threshold. If the measured
                     received power falls below this value, a receiver
                     power low is asserted. It is a positive
                     number expressed in units of micro watts and can
                     range from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 39 }

rcPlugOptModRxPowerHighWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     receiver power warning threshold. If the measured
                     received power exceeds this value, a receiver
                     power high warning is asserted. It is a positive
                     number expressed in units of units of micro watts
                     and can range from 0 to 65.535 uW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 40 }

rcPlugOptModRxPowerLowWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     receiver power warning threshold. If the measured
                     received power falls below this value, a receiver
                     power low warning is asserted. It is a positive
                     number expressed in units of units of micro watts
                     and can range from 0 to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 41 }

rcPlugOptModAux1 OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This represents the internally measured A/D
                     value specified."
        ::= { rcPlugOptModEntry 42 }

rcPlugOptModAux1HighAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     Aux1 threshold."
        ::= { rcPlugOptModEntry 43 }

rcPlugOptModAux1LowAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     Aux1 threshold."
        ::= { rcPlugOptModEntry 44 }

rcPlugOptModAux1HighWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     Aux1 warning threshold."
        ::= { rcPlugOptModEntry 45 }

rcPlugOptModAux1LowWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     Aux1 warning threshold."
        ::= { rcPlugOptModEntry 46 }

rcPlugOptModAux2 OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This represents the internally measured A/D
                     value specified."
        ::= { rcPlugOptModEntry 47 }

rcPlugOptModAux2HighAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     Aux1 threshold."
        ::= { rcPlugOptModEntry 48 }

rcPlugOptModAux2LowAlarmThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     Aux1 threshold."
        ::= { rcPlugOptModEntry 49 }

rcPlugOptModAux2HighWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified high
                     Aux1 warning threshold."
        ::= { rcPlugOptModEntry 50 }

rcPlugOptModAux2LowWarningThreshold OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the vendor specified low
                     Aux1 warning threshold."
        ::= { rcPlugOptModEntry 51 }



-- These next entries represent the defined and warning bits
-- contained in DDI bytes at offsets 112 thru 117.

rcPlugOptModTemperatureStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS 	    current
        DESCRIPTION "Used to indicate the current temperature status"
        DEFVAL      { normal }
	::= { rcPlugOptModEntry 52 }

rcPlugOptModVoltageStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS 	    current
        DESCRIPTION "Used to indicate the current voltage status"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 53 }


rcPlugOptModBiasStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current laser bias status"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 54 }

rcPlugOptModTxPowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current transmitter power
                     status"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 55 }

rcPlugOptModRxPowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current receiver power status"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 56 }

rcPlugOptModAux1Status OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current Aux1 status"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 57 }

rcPlugOptModAux2Status OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current Aux2 status"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 58 }

rcPlugOptModQSFPTx1Bias OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured transmitter 
                     laser bias current in channel 1 of QSFP.. It is a positive
                     number expressed in units of 2 microamps and can range 
                     from 0 to 131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 59 }

rcPlugOptModQSFPTx2Bias OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured transmitter 
                     laser bias current in channel 2 of QSFP.. It is a positive
                     number expressed in units of 2 microamps and can range 
                     from 0 to 131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 60 }

rcPlugOptModQSFPTx3Bias OBJECT-TYPE 
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured transmitter 
                     laser bias current in channel 3 of QSFP.. It is a positive
                     number expressed in units of 2 microamps and can range 
                     from 0 to 131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 61 }

rcPlugOptModQSFPTx4Bias OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured transmitter 
                     laser bias current in channel 4 of QSFP.. It is a positive
                     number expressed in units of 2 microamps and can range 
                     from 0 to 131 mA with 0.0001 accuracy."
        ::= { rcPlugOptModEntry 62 }

rcPlugOptModQSFPTx1Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured TX output
                     power in channel 1 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0 
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 63 }

rcPlugOptModQSFPTx2Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured TX output
                     power in channel 2 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0 
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 64 }

rcPlugOptModQSFPTx3Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured TX output 
                     power in channel 3 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0 
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 65 }

rcPlugOptModQSFPTx4Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured TX output 
                     power in channel 4 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0 
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 66 }

rcPlugOptModQSFPRx1Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured received 
                     power in channel 1 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0 
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 67 }

rcPlugOptModQSFPRx2Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured received 
                     power in channel 2 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0 
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 68 }

rcPlugOptModQSFPRx3Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured received 
                     power in channel 3 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 69 }

rcPlugOptModQSFPRx4Power OBJECT-TYPE
        SYNTAX      Integer32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This value represents the internally measured received 
                     power in channel 1 of QSFP. It is a positive number 
                     expressed in units of micro watts and can range from 0 
                     to 65.535 mW (-40 to 18.16 dBm)."
        ::= { rcPlugOptModEntry 70 }

rcPlugOptModQSFPTx1BiasStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current laser bias status in 
                     channel 1 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 71 }

rcPlugOptModQSFPTx2BiasStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current laser bias status in 
                     channel 2 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 72 }

rcPlugOptModQSFPTx3BiasStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current laser bias status in 
                     channel 3 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 73 }

rcPlugOptModQSFPTx4BiasStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current laser bias status in 
                     channel 4 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 74 }

rcPlugOptModQSFPTx1PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current transmitter power
                     status in channel 1 of QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 75 }

rcPlugOptModQSFPTx2PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current transmitter power
                     status in channel 2 of QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 76 }

rcPlugOptModQSFPTx3PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current transmitter power
                     status in channel 3 of QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 77 }

rcPlugOptModQSFPTx4PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current transmitter power
                     status in channel 4 of QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 78 }

rcPlugOptModQSFPRx1PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current receiver power 
                     status in channel 1 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 79 }

rcPlugOptModQSFPRx2PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current receiver power 
                     status in channel 2 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 80 }

rcPlugOptModQSFPRx3PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current receiver power 
                     status in channel 3 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 81 }

rcPlugOptModQSFPRx4PowerStatus OBJECT-TYPE
        SYNTAX      INTEGER {
                        normal(1),
                        highWarning(2),
                        highAlarm(3),
                        lowWarning(4),
                        lowAlarm(5)
                    }
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "Used to indicate the current receiver power 
                     status in channel 4 for QSFP"
        DEFVAL      { normal }
        ::= { rcPlugOptModEntry 82 }

rcPlugOptModExtremeSku OBJECT-TYPE
        SYNTAX      DisplayString (SIZE(0..33))
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This is a 32 bytes field to hold the Extreme SKU number."
        ::= { rcPlugOptModEntry 83 }

rcPlugOptModPowerOnCounter OBJECT-TYPE
        SYNTAX       Counter32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the power-on counter. Host increments it 
		    by 1 every 48 hours."
        ::= { rcPlugOptModEntry 84 }

rcPlugOptModTxDdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Tx dB from low alarm. Host sets 
		    it once only, after the first 48 consecutive hours of operation. 
		    Update only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 85 }

rcPlugOptModTxDdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Tx dB from low alarm. 
		    Host updates it every 48 hours. Update only if Tx_disable is 
		    not active."
        ::= { rcPlugOptModEntry 86 }

rcPlugOptModRxDdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Rx dB from low alarm. Host sets 
		    it after the first 48 consecutive hours of operation since 
		    PMD power cycle. Update only if Rx_LOS is not asserted."
        ::= { rcPlugOptModEntry 87 }

rcPlugOptModRxDdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Rx dB from low alarm. 
		    Host updates it every 48 hours. Update only if Rx_LOS is 
		    not asserted."
        ::= { rcPlugOptModEntry 88 }

rcPlugOptModQSFPTx1DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Tx dB from low alarm on QSPF 
		    channel 1. Host sets it once only, after the first 48 consecutive 
		    hours of operation. Update only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 89 }

rcPlugOptModQSFPTx1DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Tx dB from low alarm 
		    on QSPF channel 1. Host updates it every 48 hours. Update only 
		    if Tx_disable is not active."
        ::= { rcPlugOptModEntry 90 }

rcPlugOptModQSFPRx1DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Rx dB from low alarm on QSPF 
		    channel 1. Host sets it after the first 48 consecutive hours 
		    of operation since PMD power cycle. Update only if Rx_LOS is 
		    not asserted."
        ::= { rcPlugOptModEntry 91 }

rcPlugOptModQSFPRx1DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Rx dB from low alarm 
		    on QSPF channel 1. Host updates it every 48 hours. Update only 
		    if Rx_LOS is not asserted."
        ::= { rcPlugOptModEntry 92 }

rcPlugOptModQSFPTx2DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Tx dB from low alarm on QSPF 
		    channel 2. Host sets it once only, after the first 48 consecutive 
		    hours of operation. Update only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 93 }

rcPlugOptModQSFPTx2DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Tx dB from low alarm 
		    on QSPF channel 2. Host updates it every 48 hours. Update 
		    only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 94 }

rcPlugOptModQSFPRx2DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Rx dB from low alarm on QSPF 
		    channel 2. Host sets it after the first 48 consecutive hours 
		    of operation since PMD power cycle. Update only if Rx_LOS is 
		    not asserted."
        ::= { rcPlugOptModEntry 95 }

rcPlugOptModQSFPRx2DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Rx dB from low alarm 
		    on QSPF channel 2. Host updates it every 48 hours. Update 
		    only if Rx_LOS is not asserted."
        ::= { rcPlugOptModEntry 96 }

rcPlugOptModQSFPTx3DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Tx dB from low alarm on QSPF 
		    channel 3. Host sets it once only, after the first 48 consecutive 
		    hours of operation. Update only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 97 }

rcPlugOptModQSFPTx3DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Tx dB from low alarm 
		    on QSPF channel 3. Host updates it every 48 hours. Update 
		    only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 98 }

rcPlugOptModQSFPRx3DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Rx dB from low alarm on QSPF 
		    channel 3. Host sets it after the first 48 consecutive hours 
		    of operation since PMD power cycle. Update only if Rx_LOS is 
		    not asserted."
        ::= { rcPlugOptModEntry 99 }

rcPlugOptModQSFPRx3DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Rx dB from low alarm 
		    on QSPF channel 3. Host updates it every 48 hours. Update only 
		    if Rx_LOS is not asserted."
        ::= { rcPlugOptModEntry 100 }

rcPlugOptModQSFPTx4DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Tx dB from low alarm on QSPF 
		    channel 4. Host sets it once only, after the first 48 consecutive 
		    hours of operation. Update only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 101 }

rcPlugOptModQSFPTx4DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Tx dB from low 
		    alarm on QSPF channel 4. Host updates it every 48 hours. 
		    Update only if Tx_disable is not active."
        ::= { rcPlugOptModEntry 102 }

rcPlugOptModQSFPRx4DdmInitial OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the Rx dB from low alarm on QSPF 
		    channel 4. Host sets it after the first 48 consecutive hours 
		    of operation since PMD power cycle. Update only if Rx_LOS 
		    is not asserted."
        ::= { rcPlugOptModEntry 103 }

rcPlugOptModQSFPRx4DdmLastGasp OBJECT-TYPE
        SYNTAX       Integer32
        MAX-ACCESS   read-only
        STATUS       current
        DESCRIPTION "This value represents the last gasp of Rx dB from 
		    low alarm on QSPF channel 4. Host updates it every 48 hours. 
		    Update only if Rx_LOS is not asserted."
        ::= { rcPlugOptModEntry 104 }

rcPlugOptModSupportExtremeExtraFeatures OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "This boolean indicates whether or not the device
                     supports the Extreme extra features."
        ::= { rcPlugOptModEntry 105 }
        
-- ----------------------------------------------------------
--Global configuration of DDI
-- ----------------------------------------------------------

rcPlugOptModScalars OBJECT IDENTIFIER ::= { rcPlugOptMod 2 }

rcPlugOptModDdmMonitor OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Enable/disable the global polling monitor for DDM"
        DEFVAL	{ disable }
        ::= { rcPlugOptModScalars 1 }

rcPlugOptModDdmMonitorInterval OBJECT-TYPE
        SYNTAX        Integer32 (5..60)
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   "Indicate the interval in which the DDM alert registers is polled"
        DEFVAL	{ 5 }
        ::= { rcPlugOptModScalars 2 }

rcPlugOptModDdmTrapSend OBJECT-TYPE                 
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   " Enable/disable the global ddm trap send to SNMP manager "
        DEFVAL	{ enable }
        ::= { rcPlugOptModScalars 3 }
        
rcPlugOptModDdmAlarmPortdown OBJECT-TYPE
        SYNTAX        EnableValue
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION   " Enable/disable the global portdown option when ddm alarm occurs "
        DEFVAL	{ enable }
        ::= { rcPlugOptModScalars 4 }

-- ----------------------------------------------------------
--MIB Table for resetting QSFP
-- ----------------------------------------------------------

rcPlugOptModOperTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF RcPlugOptModOperEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Gibc QSPF table"
        ::= {  rcPlugOptMod 3 }

rcPlugOptModOperEntry OBJECT-TYPE
        SYNTAX      RcPlugOptModOperEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "Entry containing info. for a particular port"
        INDEX         { rcPlugOptModOperPortIndex }
    ::= { rcPlugOptModOperTable 1 }
  
RcPlugOptModOperEntry ::= SEQUENCE {
    rcPlugOptModOperPortIndex  InterfaceIndex, 
    rcPlugOptModOperReset      TruthValue
}

rcPlugOptModOperPortIndex OBJECT-TYPE
        SYNTAX      InterfaceIndex
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION "An index value that uniquely identifies a port on a 
                     blade or line-card."
        ::= { rcPlugOptModOperEntry 1 }

rcPlugOptModOperReset   OBJECT-TYPE
        SYNTAX      TruthValue
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "This boolean indicates whether or not reset the QSPF 
                     on the port."
        ::= { rcPlugOptModOperEntry 2 }

rcPlugNotificationObjects OBJECT IDENTIFIER ::= { rcPlugOptMod  4 }

rcPluggableModuleDescription OBJECT-TYPE
    	SYNTAX        DisplayString
    	MAX-ACCESS    accessible-for-notify
    	STATUS        current
    	DESCRIPTION   "Name or description of the Pluggable module. It is used to by the
		  notification object rcnPlugModInsertedInNotRecommendedPortTrap"
        ::= { rcPlugNotificationObjects 1 }
    
END
