-- *****************************************************************
-- CISCO-L2-DEV-MONITORING-MIB.my: CISCO L2 DEVICE MONITORING MIB 
-- file
--
-- August 2001, Francis Pang 
--
-- Copyright (c) 2001-2003 by Cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************
--
CISCO-L2-DEV-MONITORING-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        NOTIFICATION-TYPE,
        OBJECT-TYPE,
        Unsigned32
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        NOTIFICATION-GROUP,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        MacAddress, 
        TruthValue,
        RowStatus
                FROM SNMPv2-TC
        InterfaceIndex
                FROM IF-MIB
        ciscoMgmt
                FROM CISCO-SMI;





ciscoL2DevMonMIB MODULE-IDENTITY
        LAST-UPDATED    "200307220000Z"
        ORGANIZATION    "Cisco System Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service

                Postal: 170 West Tasman Drive,
                        San Jose CA 95134-1706.
                        USA

                   Tel: +1 800 553-NETS

                E-mail: cs-snmp@cisco.com"
        DESCRIPTION
                "This MIB module is for monitoring of active 
                layer 2 devices by hot standby layer 2 devices 
                and the configuration of hot standby switch-over
                parameters."
        REVISION        "200307220000Z"
        DESCRIPTION
                "Added cl2DevMonActiveRadioMacType to identify 
                to the device radio MAC protocol type and
                cl2DevMonActiveLocalRadioIndex to identify
                the local radio used for monitoring."
        REVISION        "200109270000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 271 }



ciscoL2DevMonMIBObjects OBJECT IDENTIFIER 
        ::= { ciscoL2DevMonMIB 1 }

cl2DevMonConfig OBJECT IDENTIFIER 
        ::= { ciscoL2DevMonMIBObjects 1}


-- *****************************************************************
--  Attributes for Hot Standby Monitoring unit 
-- *****************************************************************

cl2DevMonInStandbyMode OBJECT-TYPE   
        SYNTAX TruthValue 
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "If the value of this variable is TRUE, this device 
                is in monitoring or standby mode and it will poll 
                for the health of the devices on the 
                cl2DevMonActiveTable.  If the value of 
                cl2DevMonInStandbyMode is FALSE,
                it only can be set back to TRUE using command line 
                interface or SNMP request. The value can be set to 
                FALSE only by the device itself because force 
                switch over from standby mode to active mode is
                not allowed."
        DEFVAL { false }
        ::= { cl2DevMonConfig 1 }


cl2DevMonNotifEnabled OBJECT-TYPE
        SYNTAX TruthValue
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
               "Indicates whether cl2DevMonSwitchover 
                notifications will or will not be sent by the device 
                when it changes its cl2DevMonInStandbyMode to 
                FALSE and becomes an active unit."
        DEFVAL { false }
        ::= { cl2DevMonConfig 2 }


cl2DevMonActiveTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Cl2DevMonActiveEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
                "The table for active devices on the network
                being monitored by the hot standby monitoring 
                unit. This table is on the hot standby 
                monitoring unit. All entries on this table will 
                only be added, deleted, modified using command
                user interface or SNMP request."
        ::= { cl2DevMonConfig 3 }


cl2DevMonActiveEntry OBJECT-TYPE
        SYNTAX Cl2DevMonActiveEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
                "An entry in the cl2DevMonActiveTable table."
        INDEX { cl2DevMonActiveMacAddress }
        ::= { cl2DevMonActiveTable 1 }


Cl2DevMonActiveEntry ::= SEQUENCE { 
        cl2DevMonActiveMacAddress           MacAddress,
        cl2DevMonActivePollingFrequency     Unsigned32, 
        cl2DevMonActivePollingTimeOut       Unsigned32,
        cl2DevMonActiveRowStatus            RowStatus, 
        cl2DevMonActiveRadioMacType         INTEGER,   
        cl2DevMonActiveLocalRadioIndex      InterfaceIndex  
                                  }


cl2DevMonActiveMacAddress OBJECT-TYPE   
        SYNTAX MacAddress 
        MAX-ACCESS not-accessible 
        STATUS current
        DESCRIPTION
                "Mac address of the active unit to be monitored by
                this hot standby monitoring unit." 
        ::= { cl2DevMonActiveEntry 1 }

cl2DevMonActivePollingFrequency OBJECT-TYPE   
        SYNTAX Unsigned32 (1..30) 
        UNITS "seconds"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The frequency, in seconds, the active unit 
                specified by cl2DevMonActiveMacAddress is polled 
                for its health."
        DEFVAL { 5 }
        ::= { cl2DevMonActiveEntry 2 }


cl2DevMonActivePollingTimeOut OBJECT-TYPE 
        SYNTAX Unsigned32 (1..600) 
        UNITS "seconds"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The total time, in seconds, the standby monitoring 
                unit can tolerate the failure of polling 
                of the active unit.  After this duration, one
                more failure of the polling will trigger this hot
                standby monitoring unit to take over and become an
                active unit. It then will stop monitoring other 
                active units and set value of cl2DevMonInStandbyMode 
                to FALSE."
        DEFVAL { 5 }
        ::= { cl2DevMonActiveEntry 3 }


cl2DevMonActiveRowStatus OBJECT-TYPE 
        SYNTAX RowStatus 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "The status column used for creating, modifying, and
                deleting instances of the columnar objects in the 
                cl2DevMonActiveTable table.
 
                Creation of rows must be done via 'createAndGo' and 
                all columns are mandatory. This object will become 
                'active' if the NMS performs a multivarbind set 
                including this object. 

                Any object in a row can be modified any time when 
                the row is in the 'active' state.

                Removal of a row can be done via setting this
                object to 'destroy'." 

        ::= { cl2DevMonActiveEntry 4 }


cl2DevMonActiveRadioMacType OBJECT-TYPE
        SYNTAX INTEGER {
                     ieee802dot11a(1),
                     ieee802dot11b(2),
                     ieee802dot11g(3)
                       }
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "If the device being monitored is a IEEE 802.11
                Wireless device, cl2DevMonActiveMacAddress 
                is the remote device radio MAC address and this 
                is the type of IEEE 802.11 Standard applies that
                radio:
                     ieee802dot11a(1) - IEEE 802.11a Standard,
                     ieee802dot11b(2) - IEEE 802.11b Standard,
                     ieee802dot11g(3) - IEEE 802.11g Standard.

                If the device being monitored is not a 
                IEEE 802.11 Wireless device, the default value
                for this object is '0'."
        REFERENCE
                "IEEE P802.11g (expected June 2003), Wireless LAN
                Medium Access Control (MAC) and Physical Layer (PHY)
                Specifications: Higher Speed Physical Layer (PHY)
                Extension to IEEE 802.11b."
        ::= { cl2DevMonActiveEntry 5 }


cl2DevMonActiveLocalRadioIndex OBJECT-TYPE
        SYNTAX InterfaceIndex 
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "If the device being monitored is a IEEE 802.11
                Wireless LAN device, this is the ifIndex of a 
                local radio of ifType ieee80211(71) used for the
                monitoring. 
 
                If the local radio only supports to monitor only 
                one remote radio, adding or updating multiple 
                rows to the same ifIndex is not allowed."
        ::= { cl2DevMonActiveEntry 6 }


-- *****************************************************************
-- notifications
-- *****************************************************************

ciscoL2DevMonMIBNotifications OBJECT IDENTIFIER 
        ::= { ciscoL2DevMonMIB 0 }

cl2DevMonSwitchover NOTIFICATION-TYPE
        OBJECTS {    
                cl2DevMonActivePollingFrequency, 
                cl2DevMonActivePollingTimeOut   
                }
        STATUS current
        DESCRIPTION
                "This cl2DevMonSwitchover notification will 
                only be sent when this device changes its 
                cl2DevMonInStandbyMode to FALSE and becomes 
                an active unit. The sending of these 
                notifications can be enabled/disabled
                via the cl2DevMonNotifEnabled object."
        ::= { ciscoL2DevMonMIBNotifications 1 }



-- *****************************************************************
--   Conformance information
-- *****************************************************************

ciscoL2DevMonMIBConformance
        OBJECT IDENTIFIER ::= { ciscoL2DevMonMIB 2 }
ciscoL2DevMonMIBCompliances
        OBJECT IDENTIFIER 
                ::= { ciscoL2DevMonMIBConformance 1 }
ciscoL2DevMonMIBGroups
        OBJECT IDENTIFIER 
                ::= { ciscoL2DevMonMIBConformance 2 }


-- *****************************************************************
--   Compliance statements
-- *****************************************************************

ciscoL2DevMonCompliance MODULE-COMPLIANCE
        STATUS  deprecated
        DESCRIPTION
                "The compliance statement for the 
                ciscoL2DevMonConfig group."
        MODULE 
                MANDATORY-GROUPS {
                        ciscoL2DevMonConfigGroup,
                        ciscoL2DevMonNotificationGroup
                }
        ::= { ciscoL2DevMonMIBCompliances 1 }


ciscoL2DevMonComplianceRev1 MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for the 
                ciscoL2DevMonConfig group."
        MODULE 
                MANDATORY-GROUPS {
                        ciscoL2DevMonConfigGroup,
                        ciscoL2DevMonNotificationGroup
                }
        GROUP   ciscoL2DevMonRadioConfigGroup
        DESCRIPTION
            "Implementation of this group is required when object
            cl2DevMonActiveRadioMacType value is one of the IEEE
            802.11 MAC protocol." 
        ::= { ciscoL2DevMonMIBCompliances 2 }


-- *****************************************************************
--   Units of conformance
-- *****************************************************************


ciscoL2DevMonConfigGroup OBJECT-GROUP
        OBJECTS {
                cl2DevMonInStandbyMode,
                cl2DevMonNotifEnabled,
                cl2DevMonActivePollingFrequency,
                cl2DevMonActivePollingTimeOut,
                cl2DevMonActiveRowStatus
        }
        STATUS    current
        DESCRIPTION
                "Management information to support operation of 
                 L2 monitoring and hot standby."
        ::= { ciscoL2DevMonMIBGroups 1 }


ciscoL2DevMonNotificationGroup NOTIFICATION-GROUP
        NOTIFICATIONS {
                cl2DevMonSwitchover 
        }
        STATUS current
        DESCRIPTION
                "The notifications for the 
                CISCO-L2-DEV-MONITORING-MIB"
        ::= { ciscoL2DevMonMIBGroups 2 }


ciscoL2DevMonRadioConfigGroup OBJECT-GROUP
        OBJECTS {
                cl2DevMonActiveRadioMacType,
                cl2DevMonActiveLocalRadioIndex
        }
        STATUS    current
        DESCRIPTION
                "Management information to identify the MAC type 
                 of a IEEE 802.11 Wireless LAN device and local
                 radio ifIndex."
        ::= { ciscoL2DevMonMIBGroups 3 }

END


