--  ==========================================================================
--  File          : oasfp.mib
--  Description   : Private MIB for SFP Modules
--                
--  By            : Ilan Weber
--  Version       : Revision:   0.12
--  Original Date : May 26, 2005
--  Last Change   : Date:   September 16, 2010
--  ==========================================================================
--
--
-- Copyright (c) 2005 MRV.  All Rights Reserved.
--
-- Reproduction of this document is authorized on condition that this
-- copyright notice is included.  This MRV SNMP MIB Specification
-- embodies MRV proprietary intellectual property.  MRV
-- retains all title and ownership in the specification, including any
-- revisions.
--
-- It is MRV's intent to encourage the widespread use of this
-- specification in connection with the management of MRV's
-- products. MRV grants vendor, end-users, and other interested
-- parties a non-exclusive license to use this specification in
-- connection with the management of MRV's products.
--
-- This specification is supplied "AS IS," and MRV makes no
-- warranty, either express or implied, as to the use, operation,
-- condition, or performance of the specification.
--
-- MRV retains the right to change this MIB without notification.
--
OA-SFP-MIB DEFINITIONS ::= BEGIN

IMPORTS
                oaDevTrapsPortsIfAlias  FROM OA-TRAP-MESSAGES-MIB
                enterprises,
                OBJECT-TYPE             FROM SNMPv2-SMI
                Integer32		FROM SNMPv2-SMI
		NOTIFICATION-TYPE       FROM SNMPv2-SMI
--                TRAP-TYPE               FROM RFC-1215
                DisplayString           FROM SNMPv2-TC
                MODULE-IDENTITY         FROM SNMPv2-SMI
                MODULE-COMPLIANCE,
                NOTIFICATION-GROUP,
                OBJECT-GROUP            FROM SNMPv2-CONF;

------------------------------------------------------------------------------
-- Object Identifier Definition
------------------------------------------------------------------------------

oaSfpMib   MODULE-IDENTITY
        LAST-UPDATED "200505260000Z" -- 26 May, 2005
        ORGANIZATION "MRV Communications"
        CONTACT-INFO "For technical support, please contact your service
                      channel"
        DESCRIPTION 
              "This MIB defines objects of pluggable modules
              (such as SFP modules). The MIB objects defined in this MIB are
              based on the Small Form Factor Pluggable (SFP) Transceiver
              MultiSource Agreement(MSA)."
        REVISION "200505260000Z" -- 26 May, 2005
            DESCRIPTION "Initial MIB Creation"
   
         ::= { oaManagement 18 }

oaccess                OBJECT IDENTIFIER ::= { enterprises 6926 }
oaManagement           OBJECT IDENTIFIER ::= { oaccess 1 }

oaAlarmNotifications   OBJECT IDENTIFIER ::= { oaSfpMib 0 }
oaSfp                  OBJECT IDENTIFIER ::= { oaSfpMib 1 }
oaSfpMIBObjects        OBJECT IDENTIFIER ::= { oaSfp 1 }
oaXfpMIBObjects        OBJECT IDENTIFIER ::= { oaSfp 2 }
oaDsfpMIBObjects       OBJECT IDENTIFIER ::= { oaSfp 3 }
oaMsa300PinMIBObjects  OBJECT IDENTIFIER ::= { oaSfp 4 }

------------------------------------------------------------------------------
-- SFP MIB Definitions 
------------------------------------------------------------------------------
oaSfpCompatibleInterfaceCount OBJECT-TYPE
     SYNTAX	Integer32
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The number of ports in the system which are sfp compatible"
     ::= { oaSfpMIBObjects 1 }

------------------------------------------------------------------------------
-- SFP Info Table 
------------------------------------------------------------------------------

oaSfpInfoTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaSfpInfoEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The sfp information table."
       ::= { oaSfpMIBObjects 2 }

oaSfpInfoEntry OBJECT-TYPE
     SYNTAX	OaSfpInfoEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the SFP Information Table"
     INDEX { oaSfpInfoSlotIndex, oaSfpInfoPortIndex }
     ::= { oaSfpInfoTable 1 }

OaSfpInfoEntry ::= SEQUENCE {
       oaSfpInfoSlotIndex Integer32,
       oaSfpInfoPortIndex Integer32,
       oaSfpInfoIdentifier INTEGER,
       oaSfpInfoVendorSpecificIdentifier DisplayString,
       oaSfpInfoConnector INTEGER,
       oaSfpInfoVendorSpecificConnector DisplayString,
       oaSfpInfoTransceiver10GigaEth DisplayString,
       oaSfpInfoTransceiverInfiniband DisplayString,
       oaSfpInfoTransceiverEscon DisplayString,
       oaSfpInfoTransceiverSonet DisplayString,
       oaSfpInfoTransceiverEthernet DisplayString,
       oaSfpInfoTransceiverFibreChannel DisplayString,
       oaSfpInfoVendorName DisplayString,
       oaSfpInfoVendorOUI  DisplayString,
       oaSfpInfoVendorPN DisplayString,
       oaSfpInfoVendorRev DisplayString,
       oaSfpInfoLaserWavelength Integer32,
       oaSfpTunability INTEGER,
       oaSfpInfoVendorSN DisplayString,
       oaSfpInfoVendorDate DisplayString,
       oaSfpInfoVendorSpecificLotCode DisplayString,
       oaSfpInfoVendorSpecificData OCTET STRING,
       oaSfpInfoDiagnosticPowerType INTEGER,
       oaSfpInfoDigitalDiagnostic INTEGER,
       oaSfpInfoDiagnosticCalibration INTEGER,
       oaSfpInfoInstalledStatus INTEGER,
       oaSfpInfofaultStatus INTEGER,
       oaSfpInfoEnableStatus INTEGER
     }

oaSfpInfoSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS accessible-for-notify
     STATUS	current
     DESCRIPTION
       "The SFP slot number"
     ::= { oaSfpInfoEntry 1 }

oaSfpInfoPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS accessible-for-notify
     STATUS	current
     DESCRIPTION
       "The SFP port number"
     ::= { oaSfpInfoEntry 2 }

oaSfpInfoIdentifier OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              other(2),
              gbic(3),
              fixed(4),
              sfp(5),
              xbi300pin(6),
              xenpak(7),
              xfp(8),
              xff(9),
              xfpE(10),
              xpak(11),
              x2(12),
              dsfp(13)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The type of serial transceiver
                 unknown - Unknown or unspecified
                 other - Vendor specific
                 gbic - GBIC
                 fixed - Module/connector soldered to motherboard
                 sfp - SFP transceiver
                 xbi300pin - 300 pin XBI
                 xenpak - XENPAK transceiver
                 xfp - XFP transceiver
                 xff - XFF transceiver
                 xfpE - XFP-E transceiver
                 xpak - XPAK transceiver
                 x2 - X2 transceiver
                 dsfp - DWDM SFP transceiver"
     ::= { oaSfpInfoEntry 3 }

oaSfpInfoVendorSpecificIdentifier OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The vendor specific identifier. This Object will be set to
        value other than null only if oaSfpInfoIdentifier returns a value
        of other"
     ::= { oaSfpInfoEntry 4 }

oaSfpInfoConnector OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              other(2),
              sc(3),
              fcs1cc(4),
              fcs2cc(5),
              bnctnc(6),
              fcch(7),
              fiberJack(8),
              lc(9),
              mtrj(10),
              mu(11),
              sg(12),
              opticalPigtail(13),
              hssdcii(34),
              copperPigtail(35)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The type of external connector provided
                 unknown - Unknown or unspecified
                 other - Vendor specific
                 sc - SC
                 fcs1cc - Fibre Channel Style 1 copper connector
                 fcs2cc - Fibre Channel Style 2 copper connector
                 bnctnc - BNC/TNC
                 fcch - Fibre Channel coaxial headers
                 fiberJack - Fiber Jack
                 lc --LC
                 mtrj - MT-RJ
                 mu - MU
                 sg - SG
                 opticalPigtail - Optical Pigtail
                 hssdcii - HSSDC II
                 copperPigtail - Copper Pigtail"
     ::= { oaSfpInfoEntry 8 }

oaSfpInfoVendorSpecificConnector OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The type of vendor specific Connector. This Object will be set to
        value other than null only if oaSfpInfoConnector returns a value of
        other"
     ::= { oaSfpInfoEntry 9 }

oaSfpInfoTransceiver10GigaEth OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The 10 Giga Ethernet type of optic transceiver compliance code."
     ::= { oaSfpInfoEntry 18 }

oaSfpInfoTransceiverInfiniband OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The Infiniband type of optic transceiver compliance code."
     ::= { oaSfpInfoEntry 19 }

oaSfpInfoTransceiverEscon OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The ESCON type of optic transceiver compliance code."
     ::= { oaSfpInfoEntry 20 }

oaSfpInfoTransceiverSonet OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The SONET type of optic transceiver compliance code."
     ::= { oaSfpInfoEntry 21 }

oaSfpInfoTransceiverEthernet OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The Ethernet type of optic transceiver compliance code."
     ::= { oaSfpInfoEntry 22 }

oaSfpInfoTransceiverFibreChannel OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(0..30))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The Fibre Channel type of optic transceiver compliance code."
     ::= { oaSfpInfoEntry 23 }

oaSfpInfoVendorName OBJECT-TYPE
     SYNTAX	DisplayString (SIZE(0..16))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The sfp vendor name which is the full name of the corporation, a
        commonly accepted abbreviation of the name of the corporation, the SCSI
        company code for the corporation, or the stock exchange code for the
        corporation."
     ::= { oaSfpInfoEntry 24 }

oaSfpInfoVendorOUI OBJECT-TYPE
     SYNTAX	 DisplayString (SIZE(3))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The sfp vendor organizationally unique identifier field (vendor OUI)
        that contains the IEEE company identifier for the vendor. A value of
        all zero in the 3 octet field indicates that the vendor OUI is
        unspecified"
     ::= { oaSfpInfoEntry 25 }

oaSfpInfoVendorPN OBJECT-TYPE
     SYNTAX	DisplayString (SIZE(0..16))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The sfp vendor part number (Vendor PN) or product name if the
        Vendor PN is unspecified, the null string will be returned"
     ::= { oaSfpInfoEntry 26 }

oaSfpInfoVendorRev OBJECT-TYPE
     SYNTAX	DisplayString (SIZE(0..4))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The transceiver vendor's product revision number (Vendor Rev) if the
        Vendor Rev is unspecified, the null string will be returned"
     ::= { oaSfpInfoEntry 27 }

oaSfpInfoLaserWavelength OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 Nano Meter(nm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Nominal Transmitter output wavelength at room temperature.
        Units: 0.01 Nano Meter(nm)"
     ::= { oaSfpInfoEntry 28 }

oaSfpTunability OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              tunable(2),
              nonTunable(3)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The tunability of SFP/XFP transceiver.
        unknown    - Unknown about tunability feature;
        tunable    - Wavelength tunability feature is implemented;
        nonTunable - Wavelength tunability feature is not implemented."
     ::= { oaSfpInfoEntry 29 }

-- Extended ID Fields --
oaSfpInfoVendorSN OBJECT-TYPE
     SYNTAX	DisplayString (SIZE(0..16))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The Sfp vendor serial number (Vendor SN) if the Vendor SN is
        unspecified, the null string will be returned"
     ::= { oaSfpInfoEntry 32 }

oaSfpInfoVendorDate OBJECT-TYPE
     SYNTAX	DisplayString (SIZE(8))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The Vendor's date. Formated: YY MM DD "
     ::= { oaSfpInfoEntry 33 }

oaSfpInfoVendorSpecificLotCode OBJECT-TYPE
     SYNTAX	DisplayString (SIZE(2))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The Vendor Specific Lot code. A null value indicates that
        the lot code is unspecified."
     ::= { oaSfpInfoEntry 34 }

oaSfpInfoVendorSpecificData OBJECT-TYPE
     SYNTAX	OCTET STRING (SIZE(0..32))
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Vendor Specific Information which can be read from the SFP transceiver
        (Reference: SFF-8472, revision 9.3 -  Registers 96-127 )"
     ::= { oaSfpInfoEntry 35 }

oaSfpInfoDiagnosticPowerType OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              average(2),
              oma(3)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The diagnostic monitoring receive power type in the SFP transceiver.
                 unknown - Unknown
                 avarage - Received power measurement type is avarage
                 oma - Received power measurement type is OMA"
     ::= { oaSfpInfoEntry 36 }
       
oaSfpInfoDigitalDiagnostic OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              digitalDiagnostic(2),
              noDigitalDiagnostic(3)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The diagnostic monitoring implemented in the SFP transceiver.
                 unknown - Unknown
                 digitalDiagMonitoring - Digital diagnostic monitoring
                                         implemented.
                 noDigitalDiagMonitoring - Digital diagnostic monitoring
                                           not implemented."
     ::= { oaSfpInfoEntry 37 }
       
oaSfpInfoDiagnosticCalibration OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              externalCalibration(2),
              internalCalibration(3)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The diagnostic calibration in the SFP transceiver.
                 unknown - Unknown
                 ExternalCalibration - External Calibration
                 InternalCalibration - Internal Calibration"
     ::= { oaSfpInfoEntry 38 }
       
oaSfpInfoInstalledStatus OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              notInstalled(2),
              installed(3)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The current installed state of the sfp transceiver
                 unknown - Unknown
                 notInstalled - the SFP transceiver is not installed
                 installed - the sfp transceiver is installed"
     ::= { oaSfpInfoEntry 40 }

oaSfpInfofaultStatus OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              faulty(2),
              operational(3)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The current fault state of the sfp transceiver
                 unknown - Unknown
                 fault - the sfp transceiver is faulty
                 operational - the sfp transceiver is working properly"
     ::= { oaSfpInfoEntry 41 }

oaSfpInfoEnableStatus OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              enabled(2),
              disabled(3)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The current enable state of the sfp transceiver
                 unknown - Unknown
                 enabled - the sfp transceiver has been enabled
                 disabled - the sfp transceiver has been diabled"
     ::= { oaSfpInfoEntry 42 }

------------------------------------------------------------------------------
-- SFP Diagnostics Table 
------------------------------------------------------------------------------

oaSfpDiagnosticTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaSfpDiagnosticEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The sfp real time diagnostic table."
       ::= { oaSfpMIBObjects 3 }

oaSfpDiagnosticEntry OBJECT-TYPE
     SYNTAX	OaSfpDiagnosticEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the SFP Real Time Diagnostic Table"
     INDEX { oaSfpDiagnosticSlotIndex, oaSfpDiagnosticPortIndex }
     ::= { oaSfpDiagnosticTable 1 }

OaSfpDiagnosticEntry ::= SEQUENCE {
       oaSfpDiagnosticSlotIndex Integer32,
       oaSfpDiagnosticPortIndex Integer32,
-- Real Time Readouts
       oaSfpDiagnosticTemperature Integer32,
       oaSfpDiagnosticVcc Integer32,
       oaSfpDiagnosticTxBias Integer32,
       oaSfpDiagnosticTxPower Integer32,
       oaSfpDiagnosticRxPower Integer32
     }

oaSfpDiagnosticSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The SFP slot number"
     ::= { oaSfpDiagnosticEntry 1 }

oaSfpDiagnosticPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The SFP port number"
     ::= { oaSfpDiagnosticEntry 2 }

oaSfpDiagnosticTemperature OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "1/10 degrees Celsius (C)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Internaly measured module temperature.
        Units: 1/10 degrees Celsius (C)"
     ::= { oaSfpDiagnosticEntry 3 }

oaSfpDiagnosticVcc OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "100 micro Volts (V)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Internaly measured supply voltage in transceiver.
        Units: 100 micro Volts (V)"
     ::= { oaSfpDiagnosticEntry 4 }

oaSfpDiagnosticTxBias OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "1 micro Amperes (A)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Internaly measured Tx Bias current.
        Units: 1 micro Amperes (A)"
     ::= { oaSfpDiagnosticEntry 5 }

oaSfpDiagnosticTxPower OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 decibel (dBm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Internaly measured Tx output power.
        Units: 0.01 decibel (dBm)"
     ::= { oaSfpDiagnosticEntry 6 }

oaSfpDiagnosticRxPower OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 decibel (dBm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Internaly measured Rx input power.
        Units: 0.01 decibel (dBm)"
     ::= { oaSfpDiagnosticEntry 7 }

------------------------------------------------------------------------------
-- XFP MIB Definitions 
------------------------------------------------------------------------------

oaXfpCompatibleInterfaceCount OBJECT-TYPE
     SYNTAX	Integer32
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The number of ports in the system which are xfp compatible"
     ::= { oaXfpMIBObjects 1 }

------------------------------------------------------------------------------
-- XFP Info Table 
------------------------------------------------------------------------------

oaXfpInfoTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaXfpInfoEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The XFP information table."
       ::= { oaXfpMIBObjects 2 }

oaXfpInfoEntry OBJECT-TYPE
     SYNTAX	OaXfpInfoEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the XFP Information Table"
     INDEX { oaXfpInfoSlotIndex, oaXfpInfoPortIndex }
     ::= { oaXfpInfoTable 1 }

OaXfpInfoEntry ::= SEQUENCE {
       oaXfpInfoSlotIndex Integer32,
       oaXfpInfoPortIndex Integer32,
       oaXfpInfoLaserWavelengthTolerance Integer32
     }

oaXfpInfoSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The XFP slot number"
     ::= { oaXfpInfoEntry 1 }

oaXfpInfoPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The XFP port number"
     ::= { oaXfpInfoEntry 2 }

oaXfpInfoLaserWavelengthTolerance OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.001 Nano Meter(nm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Guaranteed +/- range of transmitter output wavelength under all normal
        operating conditions.
        Units: 0.001 Nano Meter(nm)"
     ::= { oaXfpInfoEntry 28 }

------------------------------------------------------------------------------
-- XFP Tunability Table 
------------------------------------------------------------------------------

oaXfpTunTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaXfpTunEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The XFP Tunability Parameters table."
       ::= { oaXfpMIBObjects 3 }

oaXfpTunEntry OBJECT-TYPE
     SYNTAX	OaXfpTunEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the XFP Tunability Parameters Table"
     INDEX { oaXfpTunSlotIndex, oaXfpTunPortIndex }
     ::= { oaXfpTunTable 1 }

OaXfpTunEntry ::= SEQUENCE {
       oaXfpTunSlotIndex Integer32,
       oaXfpTunPortIndex Integer32,
       oaXfpTunLaserFirstFrequency Integer32,
       oaXfpTunLaserLastFrequency Integer32,
       oaXfpTunGridSpacing INTEGER,
       oaXfpTunLaserItuBand INTEGER,
       oaXfpTunLaserItuCh Integer32
     }

oaXfpTunSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The Tunable XFP slot number"
     ::= { oaXfpTunEntry 1 }

oaXfpTunPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The Tunable XFP port number"
     ::= { oaXfpTunEntry 2 }

oaXfpTunLaserFirstFrequency OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.001 Terahertz(THz)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "First Frequency setting supported by the Tunable XFP port 
        as defined in the factory prior shipment.
        Units: 0.001 Terahertz(THz)"
     ::= { oaXfpTunEntry 3 }

oaXfpTunLaserLastFrequency OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.001 Terahertz(THz)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Last Frequency setting supported by the Tunable XFP port
        as defined in the factory prior shipment.
        Units: 0.001 Terahertz(THz)"
     ::= { oaXfpTunEntry 4 }

oaXfpTunGridSpacing OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              g200(2),
              g100(3),
              g50(4),
              g25(5)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The Tunable XFP port spacing. The port is compatible with.
                 unknown - Unknown
                 g200 - 200 GHz
                 g100 - 100 GHz
                 g50 -  50 GHz
                 g25 -  25 GHz"
     ::= { oaXfpTunEntry 5 }

oaXfpTunLaserItuBand OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              cBand(2),
              lBand(3),
              sBand(4)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "ITU Band setting supported by the Tunable XFP port.
                 unknown - Unknown
                 cBand - C Band
                 lBand - L Band
                 sBand - S Band"
     ::= { oaXfpTunEntry 6 }

oaXfpTunLaserItuCh OBJECT-TYPE
     SYNTAX	Integer32
     MAX-ACCESS read-write
     STATUS	current
     DESCRIPTION
       "ITU Channel number of the Tunable XFP port * 1000."
     ::= { oaXfpTunEntry 7 }

------------------------------------------------------------------------------
-- DWDM SFP MIB Definitions 
------------------------------------------------------------------------------

oaDsfpCompatibleInterfaceCount OBJECT-TYPE
     SYNTAX	Integer32
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The number of ports in the system which are DWDM sfp compatible"
     ::= { oaDsfpMIBObjects 1 }

------------------------------------------------------------------------------
-- DWDM SFP Info Table 
------------------------------------------------------------------------------

oaDsfpInfoTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaDsfpInfoEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The DWDM SFP information table."
       ::= { oaDsfpMIBObjects 2 }

oaDsfpInfoEntry OBJECT-TYPE
     SYNTAX	OaDsfpInfoEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the XFP Information Table"
     INDEX { oaDsfpInfoSlotIndex, oaDsfpInfoPortIndex }
     ::= { oaDsfpInfoTable 1 }

OaDsfpInfoEntry ::= SEQUENCE {
       oaDsfpInfoSlotIndex Integer32,
       oaDsfpInfoPortIndex Integer32,
       oaDsfpInfoChannelSpacing INTEGER,
       oaDsfpInfoChannelTuning Integer32
     }

oaDsfpInfoSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The DWDM SFP slot number"
     ::= { oaDsfpInfoEntry 1 }

oaDsfpInfoPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The DWDM SFP port number"
     ::= { oaDsfpInfoEntry 2 }

oaDsfpInfoChannelSpacing OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              g200(2),
              g100(3),
              g50(4)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The densest channel spacing the modle is compatible with.
                 unknown - Unknown
                 g200 - 200 GHz
                 g100 - 100 GHz
                 g50 - 50 GHz"
     ::= { oaDsfpInfoEntry 4 }

oaDsfpInfoChannelTuning OBJECT-TYPE
     SYNTAX	Integer32 
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The number of channel over which the module may be tuned by
        user command (1 - 63)."
     ::= { oaDsfpInfoEntry 5 }

------------------------------------------------------------------------------
-- MSA 300 Pin MIB Definitions 
------------------------------------------------------------------------------
oaMsa300PinCompatibleIfCount OBJECT-TYPE
     SYNTAX	Integer32
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The number of ports in the system which are MSA 300 Pin compatible"
     ::= { oaMsa300PinMIBObjects 1 }

------------------------------------------------------------------------------
-- MSA 300 Pin Identifier Table 
------------------------------------------------------------------------------
oaMsa300PinIdTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaMsa300PinIdEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The Msa300Pin Identifier table."
       ::= { oaMsa300PinMIBObjects 2 }

oaMsa300PinIdEntry OBJECT-TYPE
     SYNTAX	OaMsa300PinIdEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the Msa300Pin Identifier Table"
     INDEX { oaMsa300PinIdSlotIndex, oaMsa300PinIdPortIndex }
     ::= { oaMsa300PinIdTable 1 }

OaMsa300PinIdEntry ::= SEQUENCE {
       oaMsa300PinIdSlotIndex Integer32,
       oaMsa300PinIdPortIndex Integer32,
       oaMsa300PinIdModuleTypeCode INTEGER,
       oaMsa300PinIdFirstLaserItuBand INTEGER,
       oaMsa300PinIdFirstLaserItuCh Integer32,
       oaMsa300PinIdLastLaserItuBand INTEGER,
       oaMsa300PinIdLastLaserItuCh Integer32,
       oaMsa300PinIdLaserItuChSpacing INTEGER,
       oaMsa300PinIdModuleDistanceType INTEGER,
       oaMsa300PinIdMinDispDist Integer32,
       oaMsa300PinIdMaxDispDist Integer32
     }

oaMsa300PinIdSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin slot number"
     ::= { oaMsa300PinIdEntry 1 }

oaMsa300PinIdPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin port number"
     ::= { oaMsa300PinIdEntry 2 }

oaMsa300PinIdModuleTypeCode OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              msa10Gb(6),
              msa10GbWdm(8)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Port Type code.
                 unknown    - Unknown
                 msa10Gb    - 10Gb MSA
                 msa10GbWdm - 10Gb MSA WDM"
     ::= { oaMsa300PinIdEntry 4 }

oaMsa300PinIdFirstLaserItuBand OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              cBand(2),
              lBand(3),
              sBand(4)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "First ITU Band setting supported by the port.
                 unknown - Unknown
                 cBand - C Band
                 lBand - L Band
                 sBand - S Band"
     ::= { oaMsa300PinIdEntry 6 }

oaMsa300PinIdFirstLaserItuCh OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 Nano Meter(nm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "First ITU Channel setting supported by the port
        (i.e. maximum wavelength) as defined in the factory prior shipment.
        Units: 0.01 Nano Meter(nm)"
     ::= { oaMsa300PinIdEntry 7 }

oaMsa300PinIdLastLaserItuBand OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              cBand(2),
              lBand(3),
              sBand(4)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Last ITU Band setting supported by the port.
                 unknown - Unknown
                 cBand - C Band
                 lBand - L Band
                 sBand - S Band"
     ::= { oaMsa300PinIdEntry 8 }

oaMsa300PinIdLastLaserItuCh OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 Nano Meter(nm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Last ITU Channel setting supported by the port
        (i.e. maximum wavelength) as defined in the factory prior shipment.
        Units: 0.01 Nano Meter(nm)"
     ::= { oaMsa300PinIdEntry 9 }

oaMsa300PinIdLaserItuChSpacing OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              g200(2),
              g100(3),
              g50(4),
              g25(5)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin port spacing the port is compatible with.
                 unknown - Unknown
                 g200 - 200 GHz
                 g100 - 100 GHz
                 g50 -  50 GHz
                 g25 -  25 GHz"
     ::= { oaMsa300PinIdEntry 10 }

oaMsa300PinIdModuleDistanceType OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              msa40Km(2),
              msa80Km(3),
              msa120Km(4),
	      msa160Km(5),
	      msa200Km(6),
	      msa340Km(7)
            }
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "MSA Module Distance Type.
                 unknown     - Unknown
              	 msa40Km(2)  - 40 km distance,
              	 msa80Km(3)  - 80 km distance,
                 msa120Km(4) - 120 km distance,
	         msa160Km(5) - 160 km distance,
	         msa200Km(6) - 200 km distance,
	         msa340Km(7) - 340 km distance."
     ::= { oaMsa300PinIdEntry 11 }

oaMsa300PinIdMinDispDist OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "ps/nm"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Minimum Dispersion distance of integrated TODC. 
        (0) is returned when this feature is not supported
        Units: ps/nm"
     ::= { oaMsa300PinIdEntry 12 }

oaMsa300PinIdMaxDispDist OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "ps/nm"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Maximum Dispersion distance of integrated TODC.
        (0) is returned when this feature is not supported
        Units: ps/nm"
     ::= { oaMsa300PinIdEntry 13 }

------------------------------------------------------------------------------
-- MSA 300 Pin Measurement Table 
------------------------------------------------------------------------------

oaMsa300PinMeasTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaMsa300PinMeasEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The MSA 300 Pin Measurement table."
       ::= { oaMsa300PinMIBObjects 3 }

oaMsa300PinMeasEntry OBJECT-TYPE
     SYNTAX	OaMsa300PinMeasEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the MSA 300 Pin Measurement Table"
     INDEX { oaMsa300PinMeasSlotIndex, oaMsa300PinMeasPortIndex }
     ::= { oaMsa300PinMeasTable 1 }

OaMsa300PinMeasEntry ::= SEQUENCE {
       oaMsa300PinMeasSlotIndex Integer32,
       oaMsa300PinMeasPortIndex Integer32,
       oaMsa300PinMeasLaserOutputPwrMon Integer32,
       oaMsa300PinMeasLaserTempMon Integer32,
       oaMsa300PinMeasRecSigAvrOptPower Integer32,
       oaMsa300PinMeasLaserWlengthMon Integer32,
       oaMsa300PinMeasTransTempMon Integer32
     }

oaMsa300PinMeasSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin slot number"
     ::= { oaMsa300PinMeasEntry 1 }

oaMsa300PinMeasPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin port number"
     ::= { oaMsa300PinMeasEntry 2 }


oaMsa300PinMeasLaserOutputPwrMon OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 decibel (dBm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Laser output power.
        Units: 0.01 decibel (dBm)"
     ::= { oaMsa300PinMeasEntry 4 }

oaMsa300PinMeasLaserTempMon OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.001 degrees Celsius (C)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Laser temperature.
        Units: 0.001 degrees Celsius (C)"
     ::= { oaMsa300PinMeasEntry 5 }

oaMsa300PinMeasRecSigAvrOptPower OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 decibel (dBm)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Average received optical power.
        Units: 0.01 decibel (dBm)"
     ::= { oaMsa300PinMeasEntry 7 }

oaMsa300PinMeasLaserWlengthMon OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "Mega Hertz (MHz)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "The offset of the exact ITU channel wavelength.
        Units: Mega Hertz (MHz)"
     ::= { oaMsa300PinMeasEntry 8 }

oaMsa300PinMeasTransTempMon OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.001 degrees Celsius (C)"
     MAX-ACCESS read-only
     STATUS	current
     DESCRIPTION
       "Transponder Temperature.
        Units: 0.001 degrees Celsius (C)"
     ::= { oaMsa300PinMeasEntry 9 }

------------------------------------------------------------------------------
-- MSA 300 Pin Alarm Table 
------------------------------------------------------------------------------

oaMsa300PinAlarmTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaMsa300PinAlarmEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The MSA 300 Pin Alarm table."
       ::= { oaMsa300PinMIBObjects 4 }

oaMsa300PinAlarmEntry OBJECT-TYPE
     SYNTAX	OaMsa300PinAlarmEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the MSA 300 Pin Alarm Table"
     INDEX { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex }
     ::= { oaMsa300PinAlarmTable 1 }

OaMsa300PinAlarmEntry ::= SEQUENCE {
       oaMsa300PinAlarmSlotIndex Integer32,
       oaMsa300PinAlarmPortIndex Integer32,
       oaMsa300PinAlarmTxAlarm OCTET STRING,
       oaMsa300PinAlarmRxAlarm OCTET STRING,
       oaMsa300PinAlarmPsAlarm OCTET STRING
     }

oaMsa300PinAlarmSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS accessible-for-notify
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin slot number"
     ::= { oaMsa300PinAlarmEntry 1 }

oaMsa300PinAlarmPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS accessible-for-notify
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin port number"
     ::= { oaMsa300PinAlarmEntry 2 }

oaMsa300PinAlarmTxAlarm OBJECT-TYPE
        SYNTAX  OCTET STRING  (SIZE(3))
        MAX-ACCESS read-only
        STATUS	current
        DESCRIPTION
        "Transmit Alarms.
         Alarm bits in this object remain in the alarmed state until a read 
         of this register occurs.
         This object is organised as a bit map. Each bit represents an alarm.
         If the object is zero - no alarm is active.
         0x000000 ('0000 0000 0000 0000 0000 0000'B) - Normal (No alarm)
         0x000001 ('0000 0000 0000 0000 0000 0001'B) - TxALM INT
                                                     - Tx Summary alarm
         0x000002 ('0000 0000 0000 0000 0000 0010'B) - Tunable DCM Not Ready alarm
         0x000004 ('0000 0000 0000 0000 0000 0100'B) - LsTEMPALM
                                                     - Laser temperature alarm
         0x000008 ('0000 0000 0000 0000 0000 1000'B) - TxLOCKERR
                                                     - Loss of TxPLL lock indicator
         0x000020 ('0000 0000 0000 0000 0010 0000'B) - LsPOWALM
                                                     - Laser power alarm
         0x000200 ('0000 0000 0000 0010 0000 0000'B) - ModTEMPALM
                                                     - Modulator temperature alarm
         0x002000 ('0000 0000 0010 0000 0000 0000'B) - LsWAVALM
                                                     - Laser Wavelength alarm
         Any combination of the bits represent the combination of the alarms"
     ::= { oaMsa300PinAlarmEntry 3 }


oaMsa300PinAlarmRxAlarm OBJECT-TYPE
        SYNTAX  OCTET STRING  (SIZE(2))
        MAX-ACCESS read-only
        STATUS	current
        DESCRIPTION
        "Receive Alarms.
         Alarm bits in this object remain in the alarmed state until a read 
         of this register occurs.
         This object is organised as a bit map. Each bit represents an alarm.
         If the object is zero - no alarm is active.
         0x0000 ('0000 0000 0000 0000'B) - Normal (No alarm)
         0x0001 ('0000 0000 0000 0001'B) - RxALM INT - Rx Summary alarm
         0x0002 ('0000 0000 0000 0010'B) - RxPOWALM 
                                         - Loss average optical power alarm
         Any combination of the bits represent the combination of the alarms"
     ::= { oaMsa300PinAlarmEntry 4}

oaMsa300PinAlarmPsAlarm OBJECT-TYPE
        SYNTAX  OCTET STRING  (SIZE(1))
        MAX-ACCESS read-only
        STATUS	current
        DESCRIPTION
        "Receive Alarms.
         Alarm bits in this object remain in the alarmed state until a read 
         of this register occurs.
         This object is organised as a bit map. Each bit represents an alarm.
         If the object is zero - no alarm is active.
         0x00 ('0000 0000'B) - Normal       (No alarm)
         0x01 ('0000 0001'B) - PSUMMARY     (poerw summary)
         0x02 ('0000 0010'B) - P5VANALOG    (+5V analog)
         0x04 ('0000 0100'B) - N5P2VANALOG  (-5.2V analog)
         0x08 ('0000 1000'B) - P3P3VANALOG  (_3.3V analog)
         0x10 ('0001 0000'B) - P3P3VDIGITAL (+3.3V digital)
         0x20 ('0010 0000'B) - LVDIGITAL    (+1.8V digital)
         0x40 ('0100 0000'B) - N5P2VDIGITAL (-5.2V digital)
         Any combination of the bits represent the combination of the alarms"
     ::= { oaMsa300PinAlarmEntry 5}

------------------------------------------------------------------------------
-- MSA 300 Pin Command Table 
------------------------------------------------------------------------------

oaMsa300PinComTable OBJECT-TYPE
       SYNTAX SEQUENCE OF OaMsa300PinComEntry
       MAX-ACCESS not-accessible
       STATUS current
       DESCRIPTION
         "The MSA 300 Pin Command table."
       ::= { oaMsa300PinMIBObjects 5 }

oaMsa300PinComEntry OBJECT-TYPE
     SYNTAX	OaMsa300PinComEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
       "An entry in the MSA 300 Pin Command Table"
     INDEX { oaMsa300PinComSlotIndex, oaMsa300PinComPortIndex }
     ::= { oaMsa300PinComTable 1 }

OaMsa300PinComEntry ::= SEQUENCE {
       oaMsa300PinComSlotIndex Integer32,
       oaMsa300PinComPortIndex Integer32,
       oaMsa300PinComLaserItuBand INTEGER,
       oaMsa300PinComLaserItuCh Integer32,
       oaMsa300PinComDispDist Integer32,
       oaMsa300PinComPolarityInversion INTEGER
     }

oaMsa300PinComSlotIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin slot number"
     ::= { oaMsa300PinComEntry 1 }

oaMsa300PinComPortIndex OBJECT-TYPE
     SYNTAX	Integer32 (1..16)
     MAX-ACCESS not-accessible
     STATUS	current
     DESCRIPTION
       "The MSA 300 Pin port number"
     ::= { oaMsa300PinComEntry 2 }

oaMsa300PinComLaserItuBand OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              cBand(2),
              lBand(3),
              sBand(4)
            }
     MAX-ACCESS read-write
     STATUS	current
     DESCRIPTION
       "ITU Band of the port.
                 unknown - Unknown
                 cBand - C Band
                 lBand - L Band
                 sBand - S Band"
     ::= { oaMsa300PinComEntry 7 }

oaMsa300PinComLaserItuCh OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "0.01 Nano Meter(nm)"
     MAX-ACCESS read-write
     STATUS	current
     DESCRIPTION
       "ITU Channel wavelength of the port
        Units: 0.01 Nano Meter(nm)"
     ::= { oaMsa300PinComEntry 8 }

oaMsa300PinComDispDist OBJECT-TYPE
     SYNTAX	Integer32
     UNITS  "ps/nm"
     MAX-ACCESS read-write
     STATUS	current
     DESCRIPTION
       "Dispersion distance of integrated TODC.
        Units: ps/nm"
     ::= { oaMsa300PinComEntry 9 }

oaMsa300PinComPolarityInversion OBJECT-TYPE
     SYNTAX	INTEGER {
              unknown(1),
              on(2),
              off(3)
            }
     MAX-ACCESS read-write
     STATUS	current
     DESCRIPTION
       "Polarity Inversion feature of the port. 
        Supported for TM-DXFPT modules only, if 
        this feature is defined for module."
     ::= { oaMsa300PinComEntry 10 }

------------------------------------------------------------------------------
-- conformance information
------------------------------------------------------------------------------

oaSfpConformance OBJECT IDENTIFIER ::= { oaSfpMib 2 }

oaSfpGroups      OBJECT IDENTIFIER ::= { oaSfpConformance 1 }
oaSfpCompliances OBJECT IDENTIFIER ::= { oaSfpConformance 2 }

------------------------------------------------------------------------------
-- compliance statements
------------------------------------------------------------------------------

oaSfpCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for SNMP entities which have
             SFP/DSFP/XFP/MSA300Pin module interfaces."

    MODULE  -- this module
        MANDATORY-GROUPS {
                          oaSfpCompatibleIfCountGroup,
                          oaMsa300PinNotificationsGroup,
                          oaPlugConnNotificationsGroup
                         }

        GROUP       oaSfpGroup
        DESCRIPTION
            "This group is mandatory for those port interfaces which
            are SFP ports."

        GROUP       oaXfpGroup
        DESCRIPTION
            "This group is mandatory for those port interfaces which
            are XFP ports."

        GROUP       oaDsfpGroup
        DESCRIPTION
            "This group is mandatory for those port interfaces which
            are DSFP ports."

        GROUP       oaMsa300PinGroup
        DESCRIPTION
            "This group is mandatory for those port interfaces which
            are MSA 300 Pin ports."

        GROUP       oaXfpTunGroup
        DESCRIPTION
            "This group is mandatory for those port interfaces which
            are Tunable XFP ports."

    ::= { oaSfpCompliances 1 }

------------------------------------------------------------------------------
-- units of conformance
------------------------------------------------------------------------------

oaSfpCompatibleIfCountGroup    OBJECT-GROUP
    OBJECTS { oaSfpCompatibleInterfaceCount,
              oaXfpCompatibleInterfaceCount,
              oaDsfpCompatibleInterfaceCount,
              oaMsa300PinCompatibleIfCount }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on number
            of specific compatible ports."
    ::= { oaSfpGroups 1 }

oaSfpGroup    OBJECT-GROUP
    OBJECTS { oaSfpInfoIdentifier,
              oaSfpInfoVendorSpecificIdentifier,
              oaSfpInfoConnector,
              oaSfpInfoVendorSpecificConnector,
	      oaSfpInfoTransceiver10GigaEth,
	      oaSfpInfoTransceiverInfiniband,
	      oaSfpInfoTransceiverEscon,
	      oaSfpInfoTransceiverSonet,
              oaSfpInfoTransceiverEthernet,
	      oaSfpInfoTransceiverFibreChannel,
              oaSfpInfoVendorName,
              oaSfpInfoVendorOUI,
              oaSfpInfoVendorPN,
              oaSfpInfoVendorRev,
              oaSfpInfoLaserWavelength,
              oaSfpTunability,
              oaSfpInfoVendorSN,
              oaSfpInfoVendorDate,
              oaSfpInfoVendorSpecificLotCode,
              oaSfpInfoVendorSpecificData,
              oaSfpInfoDiagnosticPowerType,
              oaSfpInfoDigitalDiagnostic,
              oaSfpInfoDiagnosticCalibration,
              oaSfpInfoInstalledStatus,
              oaSfpInfofaultStatus,
              oaSfpInfoEnableStatus,
              oaSfpDiagnosticTemperature,
              oaSfpDiagnosticVcc,
              oaSfpDiagnosticTxBias,
              oaSfpDiagnosticTxPower,
              oaSfpDiagnosticRxPower,
              oaSfpInfoSlotIndex,
              oaSfpInfoPortIndex }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on 
            SFP compatible ports."
    ::= { oaSfpGroups 2 }

oaXfpGroup    OBJECT-GROUP
    OBJECTS { oaXfpInfoLaserWavelengthTolerance }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on 
            XFP compatible ports."
    ::= { oaSfpGroups 3 }

oaDsfpGroup    OBJECT-GROUP
    OBJECTS { oaDsfpInfoChannelSpacing,
              oaDsfpInfoChannelTuning }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on 
            DSFP compatible ports."
    ::= { oaSfpGroups 4 }

oaMsa300PinGroup    OBJECT-GROUP
    OBJECTS { oaMsa300PinIdModuleTypeCode,
              oaMsa300PinIdFirstLaserItuBand,
              oaMsa300PinIdFirstLaserItuCh,
              oaMsa300PinIdLastLaserItuBand,
              oaMsa300PinIdLastLaserItuCh,
              oaMsa300PinIdLaserItuChSpacing,
	      oaMsa300PinIdModuleDistanceType,
              oaMsa300PinIdMinDispDist,
              oaMsa300PinIdMaxDispDist,

              oaMsa300PinMeasLaserOutputPwrMon,
              oaMsa300PinMeasLaserTempMon,
              oaMsa300PinMeasRecSigAvrOptPower,
              oaMsa300PinMeasLaserWlengthMon,
              oaMsa300PinMeasTransTempMon,

              oaMsa300PinAlarmSlotIndex,
              oaMsa300PinAlarmPortIndex,
              oaMsa300PinAlarmTxAlarm,
              oaMsa300PinAlarmRxAlarm,
              oaMsa300PinAlarmPsAlarm,

              oaMsa300PinComLaserItuBand,
              oaMsa300PinComLaserItuCh,
              oaMsa300PinComDispDist,
              oaMsa300PinComPolarityInversion }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on 
            MSA 300 Pin compatible ports."
    ::= { oaSfpGroups 5 }

 oaMsa300PinNotificationsGroup   NOTIFICATION-GROUP
    NOTIFICATIONS {
             msaPortRxLossAlarmOn,
             msaPortRxLossAlarmOff,
             msaPortTxLaserWlAlarmOn,
             msaPorTxLaserWltAlarmOff,
             msaPortTxModulatorTempAlarmOn,
             msaPortTxModulatorTempAlarmOff,
             msaPortTxLaserPowerAlarmOn,
             msaPortTxLaserPowerAlarmOff,
             msaPortTxPllLockAlarmOn,
             msaPortTxPllLockAlarmOff,
             msaPortTxLaserTempAlarmOn,
             msaPortTxLaserTempAlarmOff }
    STATUS  current
    DESCRIPTION
            "The notifications which are required to be supported by
             implementations of this MIB."
    ::= { oaSfpGroups 6 }

oaPlugConnNotificationsGroup   NOTIFICATION-GROUP	
    NOTIFICATIONS {
             pluggableConnectorInserted,
             pluggableConnectorRemoved,
             sfpXfpPortTempHighAlarmOn,
             sfpXfpPortTempHighAlarmOff,
             sfpXfpPortTempLowAlarmOn,
             sfpXfpPortTempLowAlarmOff,
             sfpXfpPortTxPowerHighAlarmOn,
             sfpXfpPortTxPowerHighAlarmOff,
             sfpXfpPortTxPowerLowAlarmOn,
             sfpXfpPortTxPowerLowAlarmOff,
             sfpXfpPortRxPowerHighAlarmOn,
             sfpXfpPortRxPowerHighAlarmOff,
             sfpXfpPortRxPowerLowAlarmOn,
             sfpXfpPortRxPowerLowAlarmOff
              }
    STATUS  current
    DESCRIPTION
            "The notifications which are required to be supported by
             implementations of this MIB."
    ::= { oaSfpGroups 7 }

oaXfpTunGroup    OBJECT-GROUP
    OBJECTS { oaXfpTunLaserFirstFrequency,
              oaXfpTunLaserLastFrequency,
              oaXfpTunGridSpacing,
              oaXfpTunLaserItuBand,
              oaXfpTunLaserItuCh }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing information on 
            Tunable XFP compatible ports."
    ::= { oaSfpGroups 8 }

-- *******************************************************************
--  Notification Definition section
-- ******************************************************************* 
 
msaPortRxLossAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port Rx Loss Average Optical Power Alarm has been raised."
    ::= { oaAlarmNotifications 68 }

msaPortRxLossAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port Rx Loss Average Optical Power Alarm has been lowered."
    ::= { oaAlarmNotifications 69 }

msaPortTxLaserWlAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Laser Wavelength Alarm has been raised."
    ::= { oaAlarmNotifications 70 }

msaPorTxLaserWltAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Laser Wavelength Alarm has been lowered."
    ::= { oaAlarmNotifications 71 }

msaPortTxModulatorTempAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Modulator Temperature Alarm has been raised."
    ::= { oaAlarmNotifications 72 }

msaPortTxModulatorTempAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Modulator Temperature Alarm has been lowered."
    ::= { oaAlarmNotifications 73 }

msaPortTxLaserPowerAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Laser Power Alarm has been raised."
    ::= { oaAlarmNotifications 74 }

msaPortTxLaserPowerAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Laser Power Alarm has been lowered."
    ::= { oaAlarmNotifications 75 }

msaPortTxPllLockAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx PLL Lock Alarm has been raised."
    ::= { oaAlarmNotifications 76 }

msaPortTxPllLockAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx PLL Lock Alarm has been lowered."
    ::= { oaAlarmNotifications 77 }

msaPortTxLaserTempAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Laser Temperature Alarm has been raised."
    ::= { oaAlarmNotifications 78 }

msaPortTxLaserTempAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaMsa300PinAlarmSlotIndex, oaMsa300PinAlarmPortIndex, oaDevTrapsPortsIfAlias }
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             MSA Port WDM Tx Laser Temperature Alarm has been lowered."
    ::= { oaAlarmNotifications 79 }

pluggableConnectorInserted NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a pluggable connector/device is inserted
             into the specified slot and port."
    ::= { oaAlarmNotifications 80 }

pluggableConnectorRemoved NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a pluggable connector/device is removed
             from the specified slot and port."
    ::= { oaAlarmNotifications 81 }

sfpXfpPortTempHighAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's internal temperature exceeds high alarm level."
    ::= { oaAlarmNotifications 82 }

sfpXfpPortTempHighAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's internal temperature returns below high alarm level."
    ::= { oaAlarmNotifications 83 }

sfpXfpPortTempLowAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's internal temperature is below low alarm level."
    ::= { oaAlarmNotifications 84 }

sfpXfpPortTempLowAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's internal temperature returns up low alarm level."
    ::= { oaAlarmNotifications 85 }

sfpXfpPortTxPowerHighAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's TX output power exceeds high alarm level."
    ::= { oaAlarmNotifications 86 }

sfpXfpPortTxPowerHighAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's TX output power returns below high alarm level."
    ::= { oaAlarmNotifications 87 }

sfpXfpPortTxPowerLowAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's TX output power is below low alarm level."
    ::= { oaAlarmNotifications 88 }

sfpXfpPortTxPowerLowAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's TX output power returns up low alarm level."
    ::= { oaAlarmNotifications 89 }

sfpXfpPortRxPowerHighAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's Received power exceeds high alarm level."
    ::= { oaAlarmNotifications 90 }

sfpXfpPortRxPowerHighAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's Received power returns below high alarm level."
    ::= { oaAlarmNotifications 91 }

sfpXfpPortRxPowerLowAlarmOn NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's Received power is below low alarm level."
    ::= { oaAlarmNotifications 92 }

sfpXfpPortRxPowerLowAlarmOff NOTIFICATION-TYPE
    OBJECTS { oaSfpInfoSlotIndex,  oaSfpInfoPortIndex, oaDevTrapsPortsIfAlias}
    STATUS  current
    DESCRIPTION
            "The SNMP trap that is generated when 
             a SFP/XFP port's Received power returns up low alarm level."
    ::= { oaAlarmNotifications 93 }

END