-- *****************************************************************
-- CISCO-INTERFACE-XCVR-MONITOR-MIB.my
--   
-- Copyright (c) 2009 by cisco Systems Inc.
-- All rights reserved.
--   
-- *****************************************************************

CISCO-INTERFACE-XCVR-MONITOR-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE,
    NOTIFICATION-GROUP,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    ifName
        FROM IF-MIB
    TEXTUAL-CONVENTION
        FROM SNMPv2-TC
    ciscoMgmt
        FROM CISCO-SMI;


ciscoInterfaceXcvrMonitorMIB MODULE-IDENTITY
    LAST-UPDATED    "200910090000Z"
    ORGANIZATION    "Cisco Systems, Inc."
    CONTACT-INFO
            "Cisco Systems
            Customer Service

            Postal: 170 W Tasman Drive
            San Jose, CA  95134
            USA

            Tel: +1 800 553-NETS

            E-mail: sanos-pm@cisco.com"
    DESCRIPTION
        "A MIB module that provides monitoring information
        about the transceivers plugged into interface on a
        system."
    REVISION        "200910090000Z"
    DESCRIPTION
        "Initial version of this MIB module."
    ::= { ciscoMgmt 706 }



-- Textual Conventions

CiscoInterfaceXcvrMonitorStatus ::= TEXTUAL-CONVENTION
    STATUS          current
    DESCRIPTION
        "This textual convention defines the status of the
        monitoring parameter for a given sensor type in 
        transceiver digital diagnostics on an interface.

        The value of the monitoring parameter for a given
        sensor lies are bounded within maximum (high) and
        minimum (low) limits. If the current value is over 
        the high limit, this status is set to 'highSet'. Upon
        the value of the sensor coming back into the normal
        range (between high and low values), this status is
        set to 'highClear'. 

        Similarly, if the current value is below the low limit, 
        this status is set to 'lowSet'. Upon the value the 
        sensor coming back into normal range subsequently, this 
        status is set to 'lowClear'.

        If the current value is stays within the high and low 
        limits, this status is set to 'normal'. Also, subsequently 
        after the status had been either 'highClear' or 
        'lowClear', if the value is within the high and low 
        limits, this status is set to 'normal'."
    SYNTAX          INTEGER  {
                        highSet(1),
                        lowSet(2),
                        highClear(3),
                        lowClear(4),
                        normal(5)
                    }
ciscoInterfaceXcvrMonMIBNotifs  OBJECT IDENTIFIER
    ::= { ciscoInterfaceXcvrMonitorMIB 0 }

ciscoInterfaceXcvrMonMIBObjects  OBJECT IDENTIFIER
    ::= { ciscoInterfaceXcvrMonitorMIB 1 }

ciscoInterfaceXcvrMonMIBConform  OBJECT IDENTIFIER
    ::= { ciscoInterfaceXcvrMonitorMIB 2 }


-- Cisco Interface Transceiver Digital Diagnostics
-- Monitoring Information

cIfXcvrMonDigitalDiagTempAlarm OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of temperature alarm flag on the
        temperature sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 1 }

cIfXcvrMonDigitalDiagTempWarning OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of temperature warning flag on the
        temperature sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 2 }

cIfXcvrMonDigitalDiagVoltAlarm OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of voltage alarm flag on the
        voltage sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 3 }

cIfXcvrMonDigitalDiagVoltWarning OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of voltage warning flag on the
        voltage sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 4 }

cIfXcvrMonDigitalDiagCurrAlarm OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of current alarm flag on the
        current sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 5 }

cIfXcvrMonDigitalDiagCurrWarning OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of current warning flag on the
        current sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 6 }

cIfXcvrMonDigitalDiagRxPwrAlarm OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of Rx power alarm flag on the
        Rx power sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 7 }

cIfXcvrMonDigitalDiagRxPwrWarning OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of Rx power warning flag on the
        Rx power sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 8 }

cIfXcvrMonDigitalDiagTxPwrAlarm OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of Tx power alarm flag on the
        Tx power sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 9 }

cIfXcvrMonDigitalDiagTxPwrWarning OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of Tx power warning flag on the
        Tx power sensor of the transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 10 }

cIfXcvrMonDigitalDiagTxFaultAlarm OBJECT-TYPE
    SYNTAX          CiscoInterfaceXcvrMonitorStatus
    MAX-ACCESS      accessible-for-notify
    STATUS          current
    DESCRIPTION
        "The current status of Tx fault count flag on the
        transceiver in the interface." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 11 }

cIfXcvrMonStatusChangeNotifEnable OBJECT-TYPE
    SYNTAX          INTEGER  {
                        enable(1),
                        disable(2)
                    }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
        "Indicates whether cIfXcvrMonStatusChangeNotif should be
        generated." 
    ::= { ciscoInterfaceXcvrMonMIBObjects 12 }

cIfXcvrMonStatusChangeNotif NOTIFICATION-TYPE
    OBJECTS         {
                        ifName,
                        cIfXcvrMonDigitalDiagTempAlarm,
                        cIfXcvrMonDigitalDiagTempWarning,
                        cIfXcvrMonDigitalDiagVoltAlarm,
                        cIfXcvrMonDigitalDiagVoltWarning,
                        cIfXcvrMonDigitalDiagCurrAlarm,
                        cIfXcvrMonDigitalDiagCurrWarning,
                        cIfXcvrMonDigitalDiagRxPwrAlarm,
                        cIfXcvrMonDigitalDiagRxPwrWarning,
                        cIfXcvrMonDigitalDiagTxPwrAlarm,
                        cIfXcvrMonDigitalDiagTxPwrWarning,
                        cIfXcvrMonDigitalDiagTxFaultAlarm
                    }
    STATUS          current
    DESCRIPTION
        "This notification trap indicates the current status of the
        alarm and warning monitoring parameters for all the sensors 
        based on the digital diagnostic monitoring information.
        This notification is generated whenever there is a change 
        in the status of atleast one of the monitoring parameters
        of the sensors on the transceiver in an interface."
   ::= { ciscoInterfaceXcvrMonMIBNotifs 1 }
ciscoInterfaceXcvrMonMIBCompliances  OBJECT IDENTIFIER
    ::= { ciscoInterfaceXcvrMonMIBConform 1 }

ciscoInterfaceXcvrMonMIBGroups  OBJECT IDENTIFIER
    ::= { ciscoInterfaceXcvrMonMIBConform 2 }


cIfXcvrMonMIBCompliance MODULE-COMPLIANCE
    STATUS          current
    DESCRIPTION
        "This is a default module-compliance
        containing default object groups."
    MODULE          -- this module
    MANDATORY-GROUPS {
                        cIfXcvrDigitalDiagMonStatusGroup,
                        cIfXcvrMonStatusChangeNotifGroup
                    }

    OBJECT          cIfXcvrMonStatusChangeNotifEnable
    MIN-ACCESS      read-only
    DESCRIPTION
        "Write access is not required."
    ::= { ciscoInterfaceXcvrMonMIBCompliances 1 }

-- Units of Conformance

cIfXcvrDigitalDiagMonStatusGroup OBJECT-GROUP
    OBJECTS         {
                        cIfXcvrMonDigitalDiagTempAlarm,
                        cIfXcvrMonDigitalDiagTempWarning,
                        cIfXcvrMonDigitalDiagVoltAlarm,
                        cIfXcvrMonDigitalDiagVoltWarning,
                        cIfXcvrMonDigitalDiagCurrAlarm,
                        cIfXcvrMonDigitalDiagCurrWarning,
                        cIfXcvrMonDigitalDiagRxPwrAlarm,
                        cIfXcvrMonDigitalDiagRxPwrWarning,
                        cIfXcvrMonDigitalDiagTxPwrAlarm,
                        cIfXcvrMonDigitalDiagTxPwrWarning,
                        cIfXcvrMonDigitalDiagTxFaultAlarm,
                        cIfXcvrMonStatusChangeNotifEnable
                    }
    STATUS          current
    DESCRIPTION
        "A collection of Cisco specific Digital Diagnostics
        monitoring status information."
    ::= { ciscoInterfaceXcvrMonMIBGroups 1 }

cIfXcvrMonStatusChangeNotifGroup NOTIFICATION-GROUP
   NOTIFICATIONS    { cIfXcvrMonStatusChangeNotif }
    STATUS          current
    DESCRIPTION
        "A collection of Cisco specific Digital Diagnostics
        monitoring notifications."
    ::= { ciscoInterfaceXcvrMonMIBGroups 2 }

END



