   TPLINK-BANDWIDTH-MIB DEFINITIONS ::= BEGIN

         IMPORTS
            OBJECT-TYPE,OBJECT-IDENTITY,MODULE-IDENTITY,NOTIFICATION-TYPE 
          	  	         	FROM SNMPv2-SMI
			DisplayString 
      						FROM SNMPv2-TC  								
			ifIndex
							FROM RFC1213-MIB
			tplinkMgmt
							FROM TPLINK-MIB;
						  
	tplinkBandWidthMIB MODULE-IDENTITY
		LAST-UPDATED    "201212130930Z"
		ORGANIZATION    "TPLINK"
		CONTACT-INFO    "www.tplink.com.cn"
		DESCRIPTION	    "Private MIB for system time configuration."
		REVISION        "201212130930Z"
		DESCRIPTION
				"Initial version of this MIB module."
		::= { tplinkMgmt 23 }
		
	tplinkBandWidthMIBObjects		OBJECT IDENTIFIER	::= { tplinkBandWidthMIB 1 }
	tplinkBandWidthNotifications	OBJECT IDENTIFIER	::= { tplinkBandWidthMIB 2 }          	  	          
	
		tpRateLimit  				OBJECT IDENTIFIER ::= {tplinkBandWidthMIBObjects 1}
        tpStormControl	 			OBJECT IDENTIFIER ::= {tplinkBandWidthMIBObjects 2}
              
        -- the rate limit    
        
         tpRateLimitTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TpRateLimitEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of rate limit entries.
                     Here you can configure the traffic rate on each port."
            ::= { tpRateLimit 1 }

        tpRateLimitEntry OBJECT-TYPE
            SYNTAX  TpRateLimitEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of rate limit."
            INDEX   { ifIndex }
            ::= { tpRateLimitTable 1 }
    
        TpRateLimitEntry ::=
            SEQUENCE {
								tpRateLimitPort
										DisplayString, 
								tpRateLimitIngressRate
										INTEGER,
								tpRateLimitEgressRate
										INTEGER,
								tpRateLimitPortLag
										OCTET STRING (SIZE (1..255))	
            }
            
        tpRateLimitPort OBJECT-TYPE
            SYNTAX  DisplayString  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The port number of the Switch."
            ::= { tpRateLimitEntry 1 }
        
        tpRateLimitIngressRate OBJECT-TYPE
            SYNTAX  INTEGER(0..1000000)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Set the bandwidth for receiving packets on the port."
            ::= { tpRateLimitEntry 2 }
       
       tpRateLimitEgressRate OBJECT-TYPE
            SYNTAX  INTEGER(0..1000000)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Set the bandwidth for sending packets on the port."
            ::= { tpRateLimitEntry 3 }
        
        tpRateLimitPortLag OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The LAG number which the port belongs to."
            ::= { tpRateLimitEntry 4 }    
      
       -- the storm control

         tpStormControlEnPPSTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TpStormControlEnPPSEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of storm control entries.
                     Here you can configure the port PPS mode with PPS enabled or disabled.
					 Configure this table before the storm control mode and rate configuring."
            ::= { tpStormControl 1 }

         tpStormControlModeTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TpStormControlModeEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of storm control entries.
                     Here you can configure the port storm control mode with kbps, ratio or pps.
					 Configure this table before the storm control rate configuring."
            ::= { tpStormControl 2 }
			
         tpStormControlTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TpStormControlEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of storm control entries.
                     Here you can configure the bandwidth for forwarding packets."
            ::= { tpStormControl 3 }			

        tpStormControlEnPPSEntry OBJECT-TYPE
            SYNTAX  TpStormControlEnPPSEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of storm control PPS mode."
            INDEX   { ifIndex }
            ::= { tpStormControlEnPPSTable 1 }
			
        TpStormControlEnPPSEntry ::=
            SEQUENCE {
								tpStormControlEnPPSPort
										DisplayString, 
								tpStormControlEnablePPS
										INTEGER,
								tpStormControlEnPPSPortLag
										OCTET STRING (SIZE (1..255)) 								
            }		

        tpStormControlEnPPSPort OBJECT-TYPE
            SYNTAX  DisplayString  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The port number of the Switch."
            ::= { tpStormControlEnPPSEntry 1 }			
			
        tpStormControlEnablePPS OBJECT-TYPE
			SYNTAX INTEGER{
					disable(0),
					enable(1)
					}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
					"The storm control rate mode configuration: 
					 Disable: 	kbps & ratio mode is avalible with this status.
					 Enable:	enable PPS mode, only pps mode is avalible."
			::= { tpStormControlEnPPSEntry 2 }
			
     tpStormControlEnPPSPortLag OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The LAG number which the port belongs to. "
            ::= { tpStormControlEnPPSEntry 3 }

        tpStormControlModeEntry OBJECT-TYPE
            SYNTAX  TpStormControlModeEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of storm control rate mode."
            INDEX   { ifIndex }
            ::= { tpStormControlModeTable 1 }
			
        TpStormControlModeEntry ::=
            SEQUENCE {
								tpStormControlModePort
										DisplayString, 
								tpStormControlBroadCastRateMode
										INTEGER,
								tpStormControlMultiCastRateMode
										INTEGER,	
								tpStormControlULRateMode
										INTEGER,										
								tpStormControlModePortLag
										OCTET STRING (SIZE (1..255)) 								
            }	

        tpStormControlModePort OBJECT-TYPE
            SYNTAX  DisplayString  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The port number of the Switch."
            ::= { tpStormControlModeEntry 1 }			
			
		tpStormControlBroadCastRateMode OBJECT-TYPE
            SYNTAX  INTEGER{
				kbps(0),
				ratio(1),
				pps(2)
			}
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Broadcast rate mode configuration. 
					 Configure kbps & ratio with the 'tpStormControlEnablePPS' setting to disable.
					 Configure pps with the 'tpStormControlEnablePPS' setting to enable."
            ::= { tpStormControlModeEntry 2 }				
			
		tpStormControlMultiCastRateMode OBJECT-TYPE
            SYNTAX  INTEGER{
				kbps(0),
				ratio(1),
				pps(2)
			}
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Multicast rate mode configuration. 
					 Configure kbps & ratio with the 'tpStormControlEnablePPS' setting to disable.
					 Configure pps with the 'tpStormControlEnablePPS' setting to enable."
            ::= { tpStormControlModeEntry 3 }

		tpStormControlULRateMode OBJECT-TYPE
            SYNTAX  INTEGER{
				kbps(0),
				ratio(1),
				pps(2)
			}
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "UL-Frame rate mode configuration. 
					 Configure kbps & ratio with the 'tpStormControlEnablePPS' setting to disable.
					 Configure pps with the 'tpStormControlEnablePPS' setting to enable."
            ::= { tpStormControlModeEntry 4 }

     tpStormControlModePortLag OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The LAG number which the port belongs to. "
            ::= { tpStormControlModeEntry 5 }
			
        tpStormControlEntry OBJECT-TYPE
            SYNTAX  TpStormControlEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains of the information of storm control."
            INDEX   { ifIndex }
            ::= { tpStormControlTable 1 }
    
        TpStormControlEntry ::=
            SEQUENCE {
								tpStormControlPort
										DisplayString, 
								tpStormControlBroadCastRate
										INTEGER,							
								tpStormControlMultiCastRate
										INTEGER,								
								tpStormControlULRate
										INTEGER,
								tpStormControlPortLag
										OCTET STRING (SIZE (1..255))  			
            }
            
        tpStormControlPort OBJECT-TYPE
            SYNTAX  DisplayString  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The port number of the Switch."
            ::= { tpStormControlEntry 1 }
			
        tpStormControlBroadCastRate OBJECT-TYPE
            SYNTAX  INTEGER(0..1488000)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Set the bandwidth for receiving broadcast packets on the port. 
                     The packet traffic exceeding the bandwidth will be discarded. 
					 kbps(0-1000000)	ratio(0-100)	pps(0-1488000)
                     Set it 0 to disable the storm control function for the port."
            ::= { tpStormControlEntry 2 }
			
       tpStormControlMultiCastRate OBJECT-TYPE
            SYNTAX  INTEGER(0..1488000)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Set the bandwidth for receiving multicast packets on the port. 
                     The packet traffic exceeding the bandwidth will be discarded. 
					 kbps(0-1000000)	ratio(0-100)	pps(0-1488000)
                     Set it 0 to disable the storm control function for the port."
            ::= { tpStormControlEntry 3 }
            
     tpStormControlULRate OBJECT-TYPE
            SYNTAX  INTEGER(0..1488000)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "Set the bandwidth for receiving UL-Frame on the port. 
                     The packet traffic exceeding the bandwidth will be discarded. 
					 kbps(0-1000000)	ratio(0-100)	pps(0-1488000)
                     Set it 0 to disable the storm control function for the port. "
            ::= { tpStormControlEntry 4 }
            
     tpStormControlPortLag OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The LAG number which the port belongs to. "
            ::= { tpStormControlEntry 5 }
			
	  tpBroadcastRateExceed NOTIFICATION-TYPE  
        	OBJECTS 
			{
				tpStormControlPort,
				tpStormControlBroadCastRate			
			}

           	STATUS          current
    		DESCRIPTION 
    			"An broadcastRateExceed notification is sent when the value
        of broadcast stormControl rate set of port is exceeded.                        
        
        		Note that if you need this notification, the value of broadcast 
        stormControl rate of port must be set. The transmission of 
        stormControl notifications are throttled by the agent three sesonds 
        every time."
    		::= { tplinkBandWidthNotifications 1}       
    		
    	tpMulticastRateExceed NOTIFICATION-TYPE  
        	OBJECTS 
			{
				tpStormControlPort,
				tpStormControlMultiCastRate			
			}

           	STATUS          current
    		DESCRIPTION 
    			"An stormControl notification is sent when the value
        of multicast stormControl rate set of port is exceeded.                        
        
        		Note that if you need this notification, the value of multicast 
        stormControl rate of port must be set. The transmission of 
        stormControl notifications are throttled by the agent three sesonds 
        every time."
    		::= { tplinkBandWidthNotifications 2}

    		
        tpIngressRateExceed NOTIFICATION-TYPE 
			OBJECTS 
			{
				tpRateLimitPort,
				tpRateLimitIngressRate
			}
           	STATUS          current
    		DESCRIPTION 
    			"An ingressRateExceed notification is sent when the value
        of ingress rate set of port is exceeded.                        
        
        		Note that if you need this notification, the value of ingress 
        rate of port must be set.The transmission of ingressRateExceed 
        notifications are throttled by the agent three sesonds every time."
    		::= { tplinkBandWidthNotifications 3}
        tpEgressRateExceed NOTIFICATION-TYPE 
			OBJECTS 
			{
				tpRateLimitPort,
				tpRateLimitEgressRate
			}
           	STATUS          current
    		DESCRIPTION 
    			"An egressRateExceed notification is sent when the value
         of egress rate set of port is exceeded.                        
        
        		Note that if you need this notification, the value of egress 
         rate of port must be set.The transmission of egressRateExceed 
         notifications are throttled by the agent three sesonds every time."
    		::= { tplinkBandWidthNotifications 4}      
END

