--  *****************************************************************
--  DLINKPRIME-STORM-CTRL-MIB.mib : Storm Control MIB
--
--  Copyright (c) 2014 D-Link Corporation, all rights reserved.
--
--  *****************************************************************
DLINKPRIME-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
           dlinkPrimeCommon        
                FROM DLINK-ID-REC-MIB;
   
   dlinkPrimeStormCtrlMIB    MODULE-IDENTITY
           LAST-UPDATED "201404260000Z"
           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 "201404260000Z"
        DESCRIPTION
            "This is the first version of the MIB file for 'Storm Control'
            functionality."
        ::= { dlinkPrimeCommon 17 } 

    DpStormCtlTrafficType ::= 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 {
            none(1),
            broadcast(2),
            multicast(3),
            unicast(4)
        }   
            
    DpStormCtlThrTypeValue ::= TEXTUAL-CONVENTION
        STATUS          current
        DESCRIPTION
        "Denotes a generic threshold value.

         A DpStormCtlThrTypeValue value is always interpreted within the context
         of a DpStormCtlThrType value.  Every usage of the DpStormCtlThrTypeValue
         textual convention is required to specify the DpStormCtlThrType
         object that provides the context.  
         "
         SYNTAX  INTEGER  {
             noLimit(1),
             limit_512Kbps(2),
             limit_1Mbps(3),
             limit_2Mbps(4),
             limit_4Mbps(5),
             limit_8Mbps(6),
             limit_16Mbps(7),
             limit_32Mbps(8),
             limit_64Mbps(9),
             limit_128Mbps(10),
             limit_256Mbps(11),
             limit_512Mbps(12)
         }
         
-- 
--	MIB OBJECTS     
--      
    dpStormCtrlMIBObjects        OBJECT IDENTIFIER ::= { dlinkPrimeStormCtrlMIB 1 }
    dpStormCtrlMIBConformance    OBJECT IDENTIFIER ::= { dlinkPrimeStormCtrlMIB 2 }
                            
-- --------------------------------------------------------------------------
    dpStormCtrlTrafficInfoTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF DpStormCtrlTrafficInfoEntry
        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.
            "
        ::= { dpStormCtrlMIBObjects 1 }

    dpStormCtrlTrafficInfoEntry OBJECT-TYPE
        SYNTAX          DpStormCtrlTrafficInfoEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry presents the status of a traffic type on an interface."
        INDEX    { 
            ifIndex
        }
        ::= { dpStormCtrlTrafficInfoTable 1 }

    DpStormCtrlTrafficInfoEntry ::= SEQUENCE {                                                 
        dpStormCtrlCurTrafficType       		 DpStormCtlTrafficType,
        dpStormCtrlCurTrafficValue           DpStormCtlThrTypeValue
    }
    
    dpStormCtrlCurTrafficType OBJECT-TYPE
		    SYNTAX          DpStormCtlTrafficType
		    MAX-ACCESS      read-write
		    STATUS          current
		    DESCRIPTION
		        "This object indicates the traffic type of the entry."
        ::= { dpStormCtrlTrafficInfoEntry 1 }                  
    
    dpStormCtrlCurTrafficValue OBJECT-TYPE
        SYNTAX          DpStormCtlThrTypeValue
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
            "Indicating the current traffic value on the interface."
        ::= { dpStormCtrlTrafficInfoEntry 2 }
          
--  ***************************************************************************    
--  Conformance
--  ***************************************************************************                       
    dpStormCtrlCompliances OBJECT IDENTIFIER ::= { dpStormCtrlMIBConformance 1 }
        
    dpStormCtrlCompliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION 
            "The compliance statement for entities which implement the 
            DLINKPRIME-STORM-CTRL-MIB."
        MODULE -- this module
        MANDATORY-GROUPS { dpStormCtrlBaiscGroup }
        ::= { dpStormCtrlCompliances 1 }
        
    dpStormCtrlGroup OBJECT IDENTIFIER ::= { dpStormCtrlMIBConformance 2 }
        
    dpStormCtrlBaiscGroup OBJECT-GROUP
        OBJECTS { 
            dpStormCtrlCurTrafficType,
            dpStormCtrlCurTrafficValue
        }
        STATUS current
        DESCRIPTION 
            "A collection of objects providing the information for storm control"
        ::= { dpStormCtrlGroup 1 }
   
                            
END

