-- ***************************************************************** -- DLINKES-STORM-CTRL-MIB.mib : Storm Control MIB -- -- Copyright (c) 2013 D-Link Corporation, all rights reserved. -- -- ***************************************************************** DLINKES-STORM-CTRL-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF ifIndex, InterfaceIndex FROM IF-MIB Unsigned32 FROM SNMPv2-SMI TEXTUAL-CONVENTION FROM SNMPv2-TC dlinkCommon FROM DLINK-ID-REC-MIB; dlinkEsStormCtrlMIB MODULE-IDENTITY LAST-UPDATED "202008240000Z" ORGANIZATION "D-Link Corp." CONTACT-INFO " D-Link Corporation Postal: No. 289, Sinhu 3rd Rd., Neihu District, Taipei City 114, Taiwan, R.O.C Tel: +886-2-66000123 E-mail: tsd@dlink.com.tw " DESCRIPTION "This MIB module defines objects for Storm Control" REVISION "202008240000Z" DESCRIPTION "Modify the range of esStormCtrlPollingInterval from (1..300) to (5..600)" REVISION "201306130000Z" DESCRIPTION "This is the first version of the MIB file for 'Storm Control' functionality." ::= { dlinkCommon 25 } EsStormCtlTrafficType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The type of storm control traffic type. broadcast(1) - broadcast storm. multicast(2) - including unknown L2 multicast, known L2 multicast, unknown IP multicast and known IP multicast. unicast(3) - when the action is configured as 'shutdown mode', unicast refers to both known and unknown unicast packet; Otherwise, unicast refers to unknown unicast packet. " SYNTAX INTEGER { broadcast(1), multicast(2), unicast(3) } EsStormCtlThrType ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The type of storm control threshold is configured on an interface. pps(1) - the threshold is configured as packet count per second. kbps(2) - the threshold is configured as a rate of bits per second. percentage(3) - the threshold is configured as a percentage of total bandwidth per port. " SYNTAX INTEGER { pps(1), kbps(2), percentage(3) } EsStormCtlThrTypeValue ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "Denotes a generic threshold value. A EsStormCtlThrTypeValue value is always interpreted within the context of a EsStormCtlThrType value. Every usage of the EsStormCtlThrTypeValue textual convention is required to specify the EsStormCtlThrType object that provides the context. The unit and valid range are as follows: Threshold Type Unit Valid Range ============= ===================== ================= pps packet per second 1 ~ 2147483647 kbps bits per second 1 ~ 2147483647 percentage percentage 1 ~ 100 The special value of -1 indicates this object is undefined. " SYNTAX Integer32 esStormCtrlMIBNotifications OBJECT IDENTIFIER ::= { dlinkEsStormCtrlMIB 0 } esStormCtrlMIBObjects OBJECT IDENTIFIER ::= { dlinkEsStormCtrlMIB 1 } esStormCtrlMIBConformance OBJECT IDENTIFIER ::= { dlinkEsStormCtrlMIB 2 } -- -------------------------------------------------------------------------- esStormCtrlGentrl OBJECT IDENTIFIER ::= { esStormCtrlMIBObjects 1 } esStormCtrlNotifyEnable 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. stormOccurred(2): A notification will be generated when a storm event is detected. stormCleared(3): A notification will be generated when a storm event is cleared. both (4): A notification will be generated both when a storm event is detected and cleared. NOTE:The default value of this object is none(1)." ::= { esStormCtrlGentrl 1} esStormCtrlPollingInterval OBJECT-TYPE SYNTAX Unsigned32 (5..600) MAX-ACCESS read-write STATUS current DESCRIPTION "The interval, in seconds, the switch detects the storm." DEFVAL { 5 } ::= { esStormCtrlGentrl 2} esStormCtrlPollingRetries OBJECT-TYPE SYNTAX Integer32 (-1 | 0 | 1.. 360) MAX-ACCESS read-write STATUS current DESCRIPTION "Specify the retry count. If the action is configured as 'shutdown' mode and storm keep as long as interval * retries, the port will enters error-disabled state. The effective range is from 1 to 360. 0 means that a 'shutdown' mode port will directly enter error-disabled state when storm is detected. -1 means that a 'shutdown' mode port will never enter error-disabled state even if storm is detected." DEFVAL { 3 } ::= { esStormCtrlGentrl 3} -- -------------------------------------------------------------------------- esStormCtrlThresholdTable OBJECT-TYPE SYNTAX SEQUENCE OF EsStormCtrlThresholdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table consists of a list of interface-specific threshold configuration for storm control." ::= { esStormCtrlMIBObjects 2 } esStormCtrlThresholdEntry OBJECT-TYPE SYNTAX EsStormCtrlThresholdEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry presents threshold configuration on an interface." INDEX { ifIndex, esStormCtrlTrafficType } ::= { esStormCtrlThresholdTable 1 } EsStormCtrlThresholdEntry ::= SEQUENCE { esStormCtrlTrafficType EsStormCtlTrafficType, esStormCtrlThresholdType EsStormCtlThrType, esStormCtrlRiseThresholdValue EsStormCtlThrTypeValue, esStormCtrlLowThresholdValue EsStormCtlThrTypeValue } esStormCtrlTrafficType OBJECT-TYPE SYNTAX EsStormCtlTrafficType MAX-ACCESS not-accessible STATUS current DESCRIPTION "This object indicates the traffic type of the entry." ::= { esStormCtrlThresholdEntry 1 } esStormCtrlThresholdType OBJECT-TYPE SYNTAX EsStormCtlThrType MAX-ACCESS read-create STATUS current DESCRIPTION "This object indicates the threshold type of the entry." ::= { esStormCtrlThresholdEntry 2 } esStormCtrlRiseThresholdValue OBJECT-TYPE SYNTAX EsStormCtlThrTypeValue MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the rise threshold value of the entry. A special value of -1 indicates the storm control of the corresponding traffic type is not enabled on that interface. " ::= { esStormCtrlThresholdEntry 3 } esStormCtrlLowThresholdValue OBJECT-TYPE SYNTAX EsStormCtlThrTypeValue MAX-ACCESS read-create STATUS current DESCRIPTION "Specifies the low level threshold. A special value of -1 indicates low level is not specified. The default value will be 80% of the value of the corresponding esStormCtrlRiseThresholdValue if applicable." ::= { esStormCtrlThresholdEntry 4 } -- -------------------------------------------------------------------------- esStormCtrlIfTable OBJECT-TYPE SYNTAX SEQUENCE OF EsStormCtrlIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table consists of a list of interface-specific configuration for storm control." ::= { esStormCtrlMIBObjects 3 } esStormCtrlIfEntry OBJECT-TYPE SYNTAX EsStormCtrlIfEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry presents storm control configuration on an interface. " INDEX { ifIndex } ::= { esStormCtrlIfTable 1 } EsStormCtrlIfEntry ::= SEQUENCE { esStormCtrlIfActionType INTEGER } esStormCtrlIfActionType OBJECT-TYPE SYNTAX INTEGER { none(1), shutdown(2), drop(3) } MAX-ACCESS read-write STATUS current DESCRIPTION "Specify the action will be taken when storm occurs: none(1) - Not filter the storm packets. shutdown(2) - The storm-control shutdown the port when the rise threshold is reached. drop(3) - The storm-control always discards packets that exceed the rise threshold." ::= { esStormCtrlIfEntry 1 } -- -------------------------------------------------------------------------- esStormCtrlTrafficInfoTable OBJECT-TYPE SYNTAX SEQUENCE OF EsStormCtrlTrafficInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "A table consists of a list of status information for traffic types on interfaces. Only the interface/traffic-type on which the storm control is enabled will present on this table. " ::= { esStormCtrlMIBObjects 4 } esStormCtrlTrafficInfoEntry OBJECT-TYPE SYNTAX EsStormCtrlTrafficInfoEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry presents the status of a traffic type on an interface." INDEX { ifIndex, esStormCtrlTrafficType } ::= { esStormCtrlTrafficInfoTable 1 } EsStormCtrlTrafficInfoEntry ::= SEQUENCE { esStormCtrlTrafficInfoStatus INTEGER, esStormCtrlCurTrafficUnitType EsStormCtlThrType, esStormCtrlCurTrafficValue EsStormCtlThrTypeValue } esStormCtrlCurTrafficUnitType OBJECT-TYPE SYNTAX EsStormCtlThrType MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the current traffic unit of the entry." ::= { esStormCtrlTrafficInfoEntry 1 } esStormCtrlCurTrafficValue OBJECT-TYPE SYNTAX EsStormCtlThrTypeValue MAX-ACCESS read-only STATUS current DESCRIPTION "Indicating the current traffic value on the interface. " ::= { esStormCtrlTrafficInfoEntry 2 } esStormCtrlTrafficInfoStatus OBJECT-TYPE SYNTAX INTEGER { forwarding(1), dropped(2), errorDisabled(3), linkDown(4), inactive(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the current status of storm control on a given interface for a given traffic type. forwarding(1): no storm event has been detected. dropped(2): a storm event has occurred and the storm traffic exceeding the threshold is dropped. errorDisabled(3): the port is disabled due to a storm. linkDown(4): the port is physically linked down. inactive(5): Indicates that storm control is not enabled for the given traffic type. " ::= { esStormCtrlTrafficInfoEntry 3 } -- -------------------------------------------------------------------------- esStormCtrlNotifyInfo OBJECT IDENTIFIER ::= { esStormCtrlMIBObjects 5 } esStormCtrlNotifyTrafficType OBJECT-TYPE SYNTAX EsStormCtlTrafficType MAX-ACCESS accessible-for-notify STATUS current DESCRIPTION "This object is used by esStormCtrlOccurred and esStormCtrlStormCleared to indicate the traffic type of the occurred storm." ::= { esStormCtrlNotifyInfo 1 } -- -------------------------------------------------------------------------- esStormCtrlOccurred NOTIFICATION-TYPE OBJECTS { ifIndex, esStormCtrlNotifyTrafficType } STATUS current DESCRIPTION "This trap is sent when esStormCtrlNotifyEnable is 'stormOccurred' or 'both' and a storm is detected." ::= { esStormCtrlMIBNotifications 1 } esStormCtrlStormCleared NOTIFICATION-TYPE OBJECTS { ifIndex, esStormCtrlNotifyTrafficType } STATUS current DESCRIPTION "This trap is sent when esStormCtrlNotifyEnable is 'stormCleared' or 'both' and a storm is cleared." ::= { esStormCtrlMIBNotifications 2 } -- *************************************************************************** -- Conformance -- *************************************************************************** esStormCtrlCompliances OBJECT IDENTIFIER ::= { esStormCtrlMIBConformance 1 } esStormCtrlCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the DLINKES-STORM-CTRL-MIB." MODULE -- this module MANDATORY-GROUPS { esStormCtrlBaiscGroup } ::= { esStormCtrlCompliances 1 } esStormCtrlGroup OBJECT IDENTIFIER ::= { esStormCtrlMIBConformance 2 } esStormCtrlBaiscGroup OBJECT-GROUP OBJECTS { esStormCtrlNotifyEnable, esStormCtrlPollingInterval, esStormCtrlPollingRetries, esStormCtrlThresholdType, esStormCtrlRiseThresholdValue, esStormCtrlLowThresholdValue, esStormCtrlIfActionType, esStormCtrlCurTrafficUnitType, esStormCtrlCurTrafficValue, esStormCtrlTrafficInfoStatus, esStormCtrlNotifyTrafficType } STATUS current DESCRIPTION "A collection of objects providing the information for storm control" ::= { esStormCtrlGroup 1 } esStormCtrlNotifyGroup NOTIFICATION-GROUP NOTIFICATIONS { esStormCtrlOccurred, esStormCtrlStormCleared } STATUS current DESCRIPTION "The collection of notifications used for storm control." ::= { esStormCtrlGroup 2 } END