You are here:

MonitorTools.com > Technical documentation > SNMP > MIB > Cisco > CISCO-PORT-STORM-CONTROL-MIB
ActiveXperts Network Monitor 2019##AdminFavorites

CISCO-PORT-STORM-CONTROL-MIB by vendor Cisco

CISCO-PORT-STORM-CONTROL-MIB file content

The SNMP protocol is used to for conveying information and commands between agents and managing entities. SNMP uses the User Datagram Protocol (UDP) as the transport protocol for passing data between managers and agents. The reasons for using UDP for SNMP are, firstly it has low overheads in comparison to TCP, which uses a 3-way hand shake for connection. Secondly, in congested networks, SNMP over TCP is a bad idea because TCP in order to maintain reliability will flood the network with retransmissions.

Management information (MIB) is represented as a collection of managed objects. These objects together form a virtual information base called MIB. An agent may implement many MIBs, but all agents must implement a particular MIB called MIB-II [16]. This standard defines variables for things such as interface statistics (interface speeds, MTU, octets sent, octets received, etc.) as well as various other things pertaining to the system itself (system location, system contact, etc.). The main goal of MIB-II is to provide general TCP/IP management information.

Use ActiveXperts Network Monitor 2019 to import vendor-specific MIB files, inclusing CISCO-PORT-STORM-CONTROL-MIB.


Vendor: Cisco
Mib: CISCO-PORT-STORM-CONTROL-MIB  [download]  [view objects]
Tool: ActiveXperts Network Monitor 2019 [download]    (ships with advanced SNMP/MIB tools)
-- CISCO-PORT-STORM-CONTROL-MIB.my
--        MIB support for the Port Storm Control Feature
-- 
--
-- Copyright (c) 2003 by Cisco Systems, Inc.
-- All rights reserved.
--

CISCO-PORT-STORM-CONTROL-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,OBJECT-TYPE,
        NOTIFICATION-TYPE, Integer32,
        Counter64
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP,
        NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB
        TruthValue, TEXTUAL-CONVENTION,
        TimeStamp
                FROM SNMPv2-TC
        ciscoMgmt
                FROM CISCO-SMI;

ciscoPortStormControlMIB  MODULE-IDENTITY
        LAST-UPDATED    "200307030000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Services

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

                        Tel: +1 800 553-NETS
                E-mail: cs-lan-switch-snmp@cisco.com"
        DESCRIPTION
                "The MIB module for managing Cisco Port Storm Control."
        REVISION        "200307030000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { ciscoMgmt 362 }



-- 
-- A LAN storm occurs when packets flood the LAN creating excessive 
-- traffic. Storm control is a mechanism to mitigate the effect of
-- the storm, by controlling the amount of received broadcast,
-- multicast, or unicast traffic.
--
-- The port storm control MIB allows the Network Management Station
-- to configure the storm control feature on supported physical 
-- interfaces.
--  

-- 
-- MIB Groups
--

ciscoPortStormControlMIBNotifs  OBJECT IDENTIFIER ::= 
                                { ciscoPortStormControlMIB 0 }


ciscoPortStormControlMIBObjects OBJECT IDENTIFIER ::= 
                                { ciscoPortStormControlMIB 1 }


ciscoPortStormControlMIBConform OBJECT IDENTIFIER ::= 
                                { ciscoPortStormControlMIB 2 }


cpscConfigObjects  OBJECT IDENTIFIER ::= 
                      { ciscoPortStormControlMIBObjects 1 }

cpscStatusObjects  OBJECT IDENTIFIER ::=
                      { ciscoPortStormControlMIBObjects 2 } 




-- 
-- Textual Conventions
--

-- 
-- Traffic Types that can be regulated by Storm Control
--
CPortStormControlTrafficType ::= TEXTUAL-CONVENTION
        STATUS      current
        DESCRIPTION
            "The type of traffic that can be configured to be
            regulated per physical interface."
        SYNTAX INTEGER {
            broadcast (1),
            multicast (2),
            unicast   (3),
	    all       (4)
        }


-- 
-- Storm control Action that the user can configure on a port
--
CPortStormControlActionType ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
            "The type of storm control action that is configured on 
            a port.

            An action of filter indicates that packets should be 
            filtered if a storm event is detected on a port.

            An action of shutdown indicates that the port should be 
            shutdown if a storm event is detected on a port."

        SYNTAX INTEGER {
            filter    (1),
            shutdown  (2)
        }


CPortStormControlStatusType ::= TEXTUAL-CONVENTION
        STATUS  current
        DESCRIPTION
            "The current status of storm control on a given
            interface for a given traffic type.

            inactive - Indicates that storm control is not enabled
                       for the given traffic type.

            forwarding - Indicates that storm control is monitoring
                         the traffic type, but no storm event has
                         been detected.

            trafficTypeFiltered - Indicates that a storm event has
                                  has occurred and the particular
                                  traffic type is being filtered

            allTrafficFiltered - Indicates that a storm event has 
                                 occurred and all traffic received
                                 on the interface is being filtered

            shutdown -  Indicates that the interface has been
                        shutdown in response to a storm event."

        SYNTAX  INTEGER {
            inactive            (1),
            forwarding          (2),
            trafficTypeFiltered (3),
            allTrafficFiltered  (4),
            shutdown            (5)
        }



-- 
-- Storm Control Configuration
-- A management station needs to do a couple of things to 
-- configure storm control on an interface
-- One is to configure the thresholds for the particular traffic 
-- type(s) and the other is to configure the desired action
-- 


cpscThresholdTable  OBJECT-TYPE
        SYNTAX     SEQUENCE OF CPortSCThresholdEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION 
            "A table of storm control threshold configuration entries."
        ::= { cpscConfigObjects 1 }


cpscThresholdEntry  OBJECT-TYPE
        SYNTAX      CPortSCThresholdEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A collection of storm control threshold configuration
            entries.

            Storm control can be configured for multiple traffic types
            on a given interface. One entry is created for each
	    interface and the traffic type that can be monitored by
	    the device."

        INDEX  { ifIndex, cpscTrafficType }
        ::= { cpscThresholdTable 1 }



CPortSCThresholdEntry  ::= 
        SEQUENCE {
            cpscTrafficType       CPortStormControlTrafficType,
            cpscUpperThreshold    INTEGER,
            cpscLowerThreshold    INTEGER
        }
        

cpscTrafficType  OBJECT-TYPE
        SYNTAX      CPortStormControlTrafficType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "This object identifies a particular traffic type
            for which a management station desires to configure
            storm control on the given interface (which is identified
            by its ifIndex)."
        ::= { cpscThresholdEntry 1 }


cpscUpperThreshold  OBJECT-TYPE
        SYNTAX       INTEGER (0..10000)
        UNITS        "0.01 Percentage"
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This object represents the upper threshold of total
            amount of a particular traffic type that can be seen
            on a given interface, after which a storm event is
            declared and storm control action is taken.

            The value represents the traffic as a percentage of
            total bandwidth of the interface, in units of 0.01 %.

            For example, if a management station sets the value of
            cpscUpperThreshold.3.1 as 4000, it means the 
            following:
                a) storm control is enabled on the interface with 
                   ifIndex = 3 for broadcast (1) packets
                b) if the broadcast traffic received per second
                   on the interface is more than (4000*0.01 = 40%) of
                   the total interface bandwidth, then the system will
                   take storm control actions, as indicated by
                   cpscAction.3 .

            It should be noted that setting the upper threshold value
            to anything other than 100% results in storm control being
            automatically enabled on the given interface, for the
            given traffic type.

            An implementation may not be able to support different
            threshold values for different traffic types, in which
            case changing the value for one traffic type will 
            automatically result in the threshold value for other
            types also modified.

            The default value of this object is implementation-
            dependent."
        
        ::= { cpscThresholdEntry 2 }


cpscLowerThreshold  OBJECT-TYPE
        SYNTAX       INTEGER (0..10000)
        UNITS        "0.01 Percentage"
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This object represents the lower threshold of total
            amount of a particular traffic type.

            When a filter action (see cpscAction) is
            in effect on an interface because of a previous storm 
            event, the value of this object determines when the 
            system will stop the filter action. 

            The value represents traffic as percent of total bandwidth
            of the interface, in units of 0.01 %.
            For example, if a broadcast(1) storm occurred on an 
            interface with ifIndex 3, and the value of 
            cpscLowerThreshold.3.1 is 2500 (25%), then 
            the system will stop filtering broadcast traffic on that
            interface if it drops below 25% of the total bandwidth.

            This value will be ignored if a shutdown action is 
            configured. The value of this object must be
            equal to or less than the value of the upper threshold
            specified by cpscUpperThreshold for the same entry.

            The default value of this object is implementation-
            dependent.

            On platforms that only support one threshold level for 
            this traffic type and interface,this object is read-only
            and always has the same value of  the corresponding 
            cpscUpperThreshold for the same entry."

        ::= { cpscThresholdEntry 3 }



--
-- Per interface storm action configuration table
--


cpscActionTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF CPortSCActionEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table of storm control action entries."
        ::= { cpscConfigObjects 2 }


cpscActionEntry  OBJECT-TYPE
        SYNTAX     CPortSCActionEntry
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
            "An entry containing the storm control action
	    configuration information. An entry is created for each
	    interface that can support the storm control feature."
            
        INDEX  { ifIndex }
        ::= { cpscActionTable 1 }


CPortSCActionEntry ::=
        SEQUENCE {
            cpscAction              CPortStormControlActionType,
            cpscNotificationControl INTEGER
        }



cpscAction  OBJECT-TYPE
        SYNTAX       CPortStormControlActionType
        MAX-ACCESS   read-write
        STATUS       current
        DESCRIPTION
            "This object represents the storm control action
            taken when the traffic of a particular type exceeds
            the configured upper threshold values."
            
        ::= { cpscActionEntry 1 }


cpscNotificationControl  OBJECT-TYPE
        SYNTAX      INTEGER {
		        none          (1),
			stormOccurred (2),
			stormCleared  (3),
			both          (4)
		    }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
	    "This object controls when a storm control notification
	    will be generated.

	    If the object is set to none(1), no notifications will
	    be generated.

	    A notification will be generated when a storm event is
	    detected or cleared when the object is set to
	    stormOccurred(2) or stormCleared(3) respectively.

	    If the object is set to both(4), a notification will be
	    generated both when a storm event is detected and
	    cleared. 

	    NOTE:
	        a) The default value of this object is none(1).
		b) Irrespective of the value of this object, the
		value of the global object cpscNotificationThreshold
		controls whether or not a notification will be
		generated at a given point. "

        ::= {cpscActionEntry 2 }



-- 
-- Global Storm control notification configuration
--
cpscNotificationThreshold  OBJECT-TYPE
        SYNTAX      INTEGER (0..1000)
	UNITS       "Notifications per Minute"
	MAX-ACCESS  read-write
        STATUS      current
	DESCRIPTION
	    "The value of object controls the global rate of storm
	    control notifications generated by an entity per minute. 

	    A value of 0 indicates no limit, and the entity will
	    generate notifications for each storm event as governed by
	    the cpscNotificationControl for a given interface."
	
        ::= { cpscConfigObjects 3 }

        
--
-- Storm control status information
--
            
cpscStatusTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF CPortSCStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A table of storm control status entries."
        ::= { cpscStatusObjects 1 }


cpscStatusEntry  OBJECT-TYPE
        SYNTAX      CPortSCStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A collection of storm control status entries, one per
             interface and traffic type.

	     An entry is created for each storm control capable
	     interface and the traffic type with the storm control
	     status information."

        INDEX { ifIndex, cpscTrafficType }
        ::= { cpscStatusTable 1 } 

CPortSCStatusEntry  ::=
        SEQUENCE {
            cpscStatus            CPortStormControlStatusType,
            cpscCurrentLevel      INTEGER,
            cpscSuppressedPacket  Counter64
        }


cpscStatus  OBJECT-TYPE
        SYNTAX      CPortStormControlStatusType
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object identifies the status of storm control
            on the interface (identified by ifIndex) corresponding
            to a particular traffic type (identified by    
            cpscTrafficType).

            A value of inactive indicates that no storm control
            has been enabled on the interface for the traffic type."
        ::= { cpscStatusEntry 1 }


cpscCurrentLevel  OBJECT-TYPE      
        SYNTAX      INTEGER(0..10000)
        UNITS       "0.01 Percentage"
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION    
            "This object identifies the current level of traffic of
            a particular type on a given interface, as a percentage
            of the total interface bandwidth.

            When storm control is inactive, the value is 10000,
            indicating the maximum level (100% of the particular
            traffic type is allowed to be received)."
        ::= { cpscStatusEntry 2 }


cpscSuppressedPacket  OBJECT-TYPE
        SYNTAX      Counter64
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This object represents the total number of packets
            of a particular traffic type that have been suppressed
            on a given interface by storm control filter action."
        
        ::= { cpscStatusEntry 3 }



-- 
-- Storm control history table
-- Provides information about storm events that
-- occurred on a given interface, if available
--
cpscHistoryTable  OBJECT-TYPE
        SYNTAX      SEQUENCE OF CPortSCHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A conceptual table to represent the history
            of storm events on an interface.

            Management station can use this to get 
            information about the timeline of storm events as
            to when each event occurred, and when it ended."

        ::= { cpscStatusObjects 2 }

cpscHistoryEntry  OBJECT-TYPE
        SYNTAX      CPortSCHistoryEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A collection of storm control history entries
            per interface and per traffic type. The number of such
	    entries available is implementation-dependent."

        INDEX { ifIndex, cpscHistoryTrafficType, cpscHistoryIndex }
        ::= { cpscHistoryTable 1 }


CPortSCHistoryEntry  ::=
        SEQUENCE {
            cpscHistoryTrafficType   CPortStormControlTrafficType,
            cpscHistoryIndex         Integer32,
            cpscHistoryStartTime     TimeStamp,
            cpscHistoryEndTime       TimeStamp
        }


cpscHistoryTrafficType  OBJECT-TYPE
        SYNTAX      CPortStormControlTrafficType
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The traffic type corresponding to this storm history
            entry."
        ::= { cpscHistoryEntry 1 }


cpscHistoryIndex  OBJECT-TYPE
        SYNTAX      Integer32 (1..1024)
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "A number that uniquely identifies one storm control 
            history entry for a given interface. The index starts
            at 1 and increases by 1. 

            Although this MIB specification stipulates a maximum of 
            1K entries, the actual maximum number of history entries
            returned per interface is implementation-dependent.

            When the value of this index reaches the actual maximum 
            number of entries supported by an implementation, it will
            wrap around to 1."

        ::= { cpscHistoryEntry 2 }


cpscHistoryStartTime  OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of sysUpTime when the storm event was declared
            on the interface for the particular traffic type, and 
            storm control measures were taken."
        ::= { cpscHistoryEntry 3 }


cpscHistoryEndTime  OBJECT-TYPE
        SYNTAX      TimeStamp
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "The value of sysUpTime when the storm ceased to exist 
            and the interface was set to its previous normal state.

            If the interface was shutdown due to user configuration,
            then the value will be equal to the value of sysUpTime 
            when the interface was shutdown.

            If the storm event continues to persist when this object
            is queried, the value returned will be 0."
        ::= { cpscHistoryEntry 4 }
        


--
-- Notifications
--

cpscNotificationsPrefix   OBJECT IDENTIFIER ::= 
            { ciscoPortStormControlMIBNotifs 1 }


cpscEvent  NOTIFICATION-TYPE
        OBJECTS { cpscStatus }
        STATUS  current
        DESCRIPTION
            "This notification is sent by the implementation when
            a storm event occurs on an interface with respect to
            a particular traffic type."

        ::= { cpscNotificationsPrefix 1 }



--
-- MIB Conformance statements
--

ciscoPortStormControlMIBCompliances
        OBJECT IDENTIFIER ::= { ciscoPortStormControlMIBConform 1 }

ciscoPortStormControlMIBGroups
        OBJECT IDENTIFIER ::= { ciscoPortStormControlMIBConform 2 }


ciscoPortStormControlMIBCompliance  MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
            "The compliance statement for the cisco port storm 
            control MIB."
        MODULE -- This module
        MANDATORY-GROUPS {
            cpscConfigurationGroup
        }

	GROUP  cpscNotifConfigurationGroup
	DESCRIPTION
	    "This group is mandatory if the managed system supports
	    notifications for storm events."

	GROUP  cpscNotificationGroup
	DESCRIPTION
	    "This group is mandatory if the managed system supports
	    notifications for storm events."

	GROUP  cpscStatusGroup
	DESCRIPTION
	    "This group is mandatory if the storm control status
	    information is available in the managed system."

	GROUP  cpscStatisticsGroup
	DESCRIPTION
	    "This group is mandatory if the storm control statistics
	    information is available in the managed system."

        GROUP  cpscHistoryGroup
        DESCRIPTION
	    "This group is mandatory if the managed system maintains
	    such storm control history information."
        
        OBJECT     cpscLowerThreshold
	MIN-ACCESS read-only
        DESCRIPTION
            "Write access is not required."

        OBJECT     cpscAction
	MIN-ACCESS read-only
        DESCRIPTION
	    "Write access is not required."

        ::= { ciscoPortStormControlMIBCompliances 1 }


cpscConfigurationGroup  OBJECT-GROUP
        OBJECTS {
            cpscUpperThreshold,
            cpscLowerThreshold,
            cpscAction
        }
        STATUS  current
        DESCRIPTION
            "A collection of objects to configure the Port Storm
            Control feature on a given interface."
        ::= { ciscoPortStormControlMIBGroups 1 }


cpscStatusGroup  OBJECT-GROUP
        OBJECTS {
            cpscStatus,
            cpscCurrentLevel
        }               
        STATUS  current
        DESCRIPTION
            "A collection of objects to provide storm control
            status on a given interface."
        ::= { ciscoPortStormControlMIBGroups 2 }


cpscNotificationGroup  NOTIFICATION-GROUP
        NOTIFICATIONS {
            cpscEvent
        }
        STATUS  current
        DESCRIPTION
            "A collection of notification objects for user with
            the cisco port storm control mib."
        ::= { ciscoPortStormControlMIBGroups 3 }


cpscNotifConfigurationGroup  OBJECT-GROUP
        OBJECTS {
            cpscNotificationControl,
	    cpscNotificationThreshold
        }
        STATUS  current
        DESCRIPTION
            "A collection of objects to configure notification
	    information." 
	::= { ciscoPortStormControlMIBGroups 4 }


cpscStatisticsGroup  OBJECT-GROUP
        OBJECTS {
	    cpscSuppressedPacket
	}
	STATUS  current
	DESCRIPTION
	    "A collection of objects to provide storm control
	    statistics information."
	::= { ciscoPortStormControlMIBGroups 5 }


cpscHistoryGroup  OBJECT-GROUP
        OBJECTS {
            cpscHistoryStartTime,
            cpscHistoryEndTime
        }
        STATUS  current
        DESCRIPTION
            "A collection of objects to provide storm control
            history information on a given interface."
        ::= { ciscoPortStormControlMIBGroups 6 }


END