-- *********************************************************************
-- BROCADE-PRODUCTS-MIB.mib: Brocade Products MIB.
--
-- Jun 2012, Prabhu Sundaram
--
-- Copyright (c) 2012 by Brocade Communications Systems, Inc.
-- All rights reserved.
--
-- *********************************************************************

BROCADE-MAPS-MIB DEFINITIONS ::= BEGIN

			 IMPORTS
			 Integer32, OBJECT-IDENTITY, OBJECT-TYPE,
			 MODULE-IDENTITY, NOTIFICATION-TYPE 
			 FROM SNMPv2-SMI
			 
			 bcsiModules
			 FROM Brocade-REG-MIB

			 swVfId
			 FROM SW-MIB

			 DateAndTime
			 FROM SNMPv2-TC;

             maps MODULE-IDENTITY
             LAST-UPDATED "202012231615Z" -- Dec 23, 2020 04:15pm
             ORGANIZATION "Brocade Communications Systems, Inc.,"
             CONTACT-INFO "Brocade Storage Networking Division, Global Support,
						   1320 Ridder Park Drive,
						   San Jose, CA 95131 U.S.A
						   Tel: +1-408-433-7001
						   WEB:www.broadcom.com/support/fibre-channel-networking"

             DESCRIPTION     "The MIB module is for Brocade's Monitoring and
								Alerting Policy Suite[MAPS] feature."
		REVISION	"201303011400Z" -- March 01, 2013 02:00pm
		DESCRIPTION "added db category"
		REVISION	"201304221330Z" -- April 22, 2013 01:30pm
		DESCRIPTION "Updated mapsConfigObjectGroupType syntax values"
		REVISION "201505051700Z"  
	    	DESCRIPTION "Added mapsRuleTriggerCount, mapsLastRuleExecTime, mapsQuietTime OIDs"
		REVISION "201605111700Z"
		DESCRIPTION "Added mapsQuietTimeExpirationTrap, deprecating mapsRuleTriggerCount, mapsLastRuleExecTime, mapsQuietTime OIDs from mapsTrapAM trap"
		REVISION        "201705171430Z" -- May 17, 2017 02:30pm
		DESCRIPTION "Updated mapsConfigObjectGroupType value list"
		REVISION        "201708011030Z" -- Aug 1, 2017 10:30am
		DESCRIPTION "Updated mapsConfigObjectGroupType value list (Added Eth-port)"
		REVISION        "201708111030Z" -- Aug 11, 2017 10:30am
		DESCRIPTION "Obsolete mapsRuleTriggerCount, mapsLastRuleExecTime, mapsQuietTime OIDs from mapsTrapAM trap. Added new OID mapsConfigObjectNewKeyValue and Deperacted mapsConfigObjectKeyValue OID"

		REVISION        "201801241615Z" -- Jan 24, 2018 04:15pm
		DESCRIPTION  "Removed the time base field in the description of mapsConfigMsList"
		REVISION        "202002141615Z" -- Feb 14, 2018 04:15pm
		DESCRIPTION  "Added mapsBNAOnly OID"
		REVISION    "201909011159Z" -- Sep 01, 2019 11:59am
		DESCRIPTION "Updated the description of the object mapsConfigAction."
		REVISION    "201909011159Z" -- Sep 01, 2019 11:59am
		DESCRIPTION "Updated the enum values in the object mapsConfigObjectKeyType."
		REVISION    "202012231615Z" -- Dec 23, 2020 04:15pm
		DESCRIPTION    "Updated CONTACT-INFO"

             ::=        { bcsiModules 4 }    
            
    mapsTraps OBJECT-IDENTITY
    STATUS     current
    DESCRIPTION     "The OID represents the MAPS Trap."
    ::= { maps 0 }          
    
    mapsConfig OBJECT-IDENTITY
    STATUS     current
    DESCRIPTION     "The OID represents the MAPS Config params."
    ::= { maps 1 }     
    
    mapsConfigRuleName OBJECT-TYPE
    SYNTAX            OCTET STRING (SIZE (64))
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION       "It indicates the rule name which associates a condition 
    					with actions that need to be triggered 
    					when the specified condition is evaluated to true."
    ::= { mapsConfig 1 }     
    
    mapsConfigCondition OBJECT-TYPE
    SYNTAX            OCTET STRING (SIZE (64))
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION       "It indicates the condition defined in the rule. 
					It includes the counter, time base and threshold 
					value with the logical operation (eg: >, <, >= etc) that 
					needs to be evaluated. Eg: (CRC/MIN > 10)"
    ::= { mapsConfig 2 }     
    
    mapsConfigNumOfMS            OBJECT-TYPE
    SYNTAX             Integer32
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     "It indicates the number of monitoring system entries 
					in the notifications"
    ::= { mapsConfig 3 }

    mapsConfigMsName OBJECT-TYPE
    SYNTAX            OCTET STRING (SIZE (16))
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION       "This is monitoring system name like CRC, ITW, PS, FAN."   
    ::= { mapsConfig 4 }
    
  	mapsConfigObjectGroupType     OBJECT-TYPE
    SYNTAX      INTEGER {
    			unknown  (1),
    			ps (2),
    			fan  (3),
    			port (4),
    			ve-port-cir (5),
    			ts (6),
    			slot (7),
    			gbic (8),
    			flash (9),
    			rule (10),
			switch (11),
			chassis (12),
			cpu (13),
			wwn (14),
			flow (15),
			ve-port-tunnel (16),
			tunnel-qos (17),
			be-port (18),
			circuit-qos (19),
			ge-port (20),
			cert (21),
			asic (22),
			dp (23),
			pid (24),
			vtap-port (25),
			eth-port (26)
    		}	
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "It indicates the object group type like circuit, PS, FAN."   
    ::= { mapsConfig 5 }
    
  	mapsConfigObjectKeyType     OBJECT-TYPE
    SYNTAX      INTEGER {
    			int32  (1),
    			uint32 (2),
    			float  (3),
    			string (4),
			
    		}	
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "It indicates the object key type. The main purpose of this
 				object to help NMS applications to interpret the data easily.
				Eg: If the mapsConfigObjectGroupType is port then the key type 
				is an integer and key value is the port number." 
    ::= { mapsConfig 6 }
  
    mapsConfigObjectKeyValue     OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE (64))
    MAX-ACCESS     read-only
    STATUS         deprecated
    DESCRIPTION    "It indicates the object key value. Incase of integer this field
					keeps as 1, 2, 3, 4, etc., and for string it keeps 
					flowname1, flowname2, etc., Eg: if Group type is port,
					then the object key value is the port number."
    ::= { mapsConfig 7 }
     
  	mapsConfigValueType     OBJECT-TYPE
    SYNTAX      INTEGER {
    			uint32  (1),
    			int32 (2),
    			float  (3),
    			string (4),
			uint64 (6),
			temperatureSensorState (7),
			fruState (8),
			portState (9),
			overSubscriptionState (10),
			airflowState (11),
			deviceLoginState (12),
			systemTemperatureState (13),
    		}	
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "It indicates the value type which could be integer, float
					or string. The main purpose of this object to help 
	   				NMS applications to interpret the data easily."   
    ::= { mapsConfig 8 }
     
    mapsConfigCurrentValue        OBJECT-TYPE
    SYNTAX             OCTET STRING (SIZE (64))
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     "It indicates the actual value of the monitoring
						system."
    ::= { mapsConfig 9 }

    mapsConfigTimeBase        OBJECT-TYPE
    SYNTAX             OCTET STRING (SIZE (16))
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     "The time period across which the change 
    					in a counter is to be monitored"
    ::= { mapsConfig 10 }
   
    mapsConfigSeverityLevel      OBJECT-TYPE
    SYNTAX          INTEGER {
                   critical      (1),
                   error         (2),
                   warning       (3),
                   informational (4),
                   debug         (5)
                 }
    MAX-ACCESS          read-only
    STATUS          current
    DESCRIPTION     "It indicates the severity level of the
       					condition triggered"
    ::= { mapsConfig 11 }
        
    mapsConfigMsList		       OBJECT-TYPE
    SYNTAX             OCTET STRING (SIZE (128))
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     "It indicates the list of the monitoring systems. The
		    format is <msname>,<value-type>,<current-value>"
    ::= { mapsConfig 12 }
	
	mapsConfigAction 				OBJECT-TYPE
	SYNTAX 			   Integer32
	MAX-ACCESS         read-only
    STATUS             current
        DESCRIPTION    "It indicates the actions(bitmask value) that need 
						to be triggered when the specified condition 
						evaluated to be true. Action bitmask value mapping are 
							none				(0),
							raslog				(1),
							snmp				(2),
							port-fence			(8),
							email				(16),
							switchstatus-down	(64),
							switchstatus-marginal (128),
							switchstatus-healthy (256),
							switchpolicy		(512),
							sfp-marginal		(1024)
				Ex: mapsConfigAction value 3 represents both raslog and snmp action"
    ::= { mapsConfig 13 }
	

    mapsDbCategory     OBJECT-TYPE
    SYNTAX             OCTET STRING (SIZE (24))
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     	"indicates db category name"
    ::= { mapsConfig 14 }

    mapsRuleTriggerCount        OBJECT-TYPE
    SYNTAX             Unsigned32
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     "Number of times rule trigger in quiet time"
    ::= { mapsConfig 15 }
    
	mapsLastRuleExecTime        OBJECT-TYPE
    SYNTAX             DateAndTime
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     "Last rule execution time"
    ::= { mapsConfig 16 }
   
 
	mapsQuietTime        OBJECT-TYPE
    SYNTAX             Unsigned32
	UNITS           "seconds"
    MAX-ACCESS         read-only
    STATUS             current
    DESCRIPTION     "Quiet time configured in the rule"
    ::= { mapsConfig 17 }

    mapsConfigObjectNewKeyValue     OBJECT-TYPE
    SYNTAX         OCTET STRING (SIZE (64))
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION    "Replaces mapsConfigObjectKeyValue OID. New OID is enahced version of deprecated one. The OID is inline with other alerts - RASLOG, EMAIL and has following formats: F-Port 1, Flow(<flow details), etc"

    ::= { mapsConfig 18 }

	mapsBNAOnly     OBJECT-TYPE
	SYNTAX         TruthValue
	MAX-ACCESS     read-only
	STATUS         current
	DESCRIPTION    "This is for internal usage. All the applications can ignore it."

	::= { mapsConfig 19 }
     

    mapsTrapAM	NOTIFICATION-TYPE        
    OBJECTS     {            
                mapsConfigRuleName, 
                mapsConfigObjectGroupType,
				mapsConfigObjectKeyType,
                mapsConfigObjectKeyValue,
                mapsConfigNumOfMS,
                mapsConfigMsList,
                mapsConfigSeverityLevel,          
				mapsConfigCondition,
				mapsConfigAction,
				swVfId,
				mapsDbCategory,
		mapsConfigObjectNewKeyValue,
				mapsBNAOnly
                }
    STATUS current
    DESCRIPTION     "Trap to be send for MAPS threshold events."
    ::= { mapsTraps 1 }        
     
  mapsQuietTimeExpirationTrap	NOTIFICATION-TYPE        
    OBJECTS     {            
                mapsConfigRuleName, 
                mapsConfigObjectGroupType,
		mapsConfigObjectKeyType,
                mapsConfigObjectKeyValue,
                mapsConfigNumOfMS,
                mapsConfigMsList,
                mapsConfigSeverityLevel,          
		mapsConfigCondition,
		mapsConfigAction,
		swVfId,
		mapsDbCategory,
		mapsRuleTriggerCount,
		mapsLastRuleExecTime,
		mapsQuietTime,
		mapsConfigObjectNewKeyValue,
		mapsBNAOnly
      }
    STATUS current
    DESCRIPTION     "Trap to be send upon quiet time expiration."
    ::= { mapsTraps 2 } 					 
	        
END
