-- ============================================================================
-- Copyright(c) 2008-2012 Shenzhen TP-LINK Technologies Co.,Ltd.
-- 
-- FileName    : tplink-sflow.mib
-- Description : 
-- Reference   : 
-- Version     : 1.0
-- History     : 
--               Yu ChangYe, 2015.9.19, Created.
--      
-- ============================================================================


TPLINK-SFLOW-MIB DEFINITIONS ::= BEGIN

	IMPORTS
		OBJECT-TYPE,MODULE-IDENTITY,IpAddress 
			FROM SNMPv2-SMI
		tplinkMgmt
			FROM TPLINK-MIB	
		DisplayString 
			FROM SNMPv2-TC  								
		ifIndex
			FROM RFC1213-MIB;
					  
tplinkSflowMIB MODULE-IDENTITY
	LAST-UPDATED    "201509231007Z"
	ORGANIZATION    "TPLINK"
	CONTACT-INFO    "www.tplink.com"
	DESCRIPTION	    "Private MIB for the sFlow configuration."
	REVISION        "201509231007Z"
	DESCRIPTION
			"Initial version of this MIB module."
	::= { tplinkMgmt 95 }
	
		
		
   
tplinkSflowMIBObjects		OBJECT IDENTIFIER	::= { tplinkSflowMIB 1 }
--  tplinkSflowNotifications	OBJECT IDENTIFIER	::= { tplinkSflowMIB 2 }          	  	          

	
	tpSflowGlobalConfig             OBJECT IDENTIFIER ::= {tplinkSflowMIBObjects 1}
	tpSflowCollector  				OBJECT IDENTIFIER ::= {tplinkSflowMIBObjects 2}
	tpSflowSampler	 			    OBJECT IDENTIFIER ::= {tplinkSflowMIBObjects 3}
         
		 
    -- the sflow GlobalConfig    
        

		tpSflowGlobalConfigStatus OBJECT-TYPE
			SYNTAX INTEGER {
				disable(0),
				enable(1)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION "Allows you to Enable/Disable the sFlow function. 
				0. disable 
				1. enable"
			::= { tpSflowGlobalConfig 1 }		
		
		tpSflowGlobalConfigAddress OBJECT-TYPE
			SYNTAX  IpAddress  
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION "The IP address of the agent."
			::= { tpSflowGlobalConfig 2 }		
		
		tpSflowGlobalConfigVersion	OBJECT-TYPE
			SYNTAX	INTEGER
			MAX-ACCESS	read-only
			STATUS	current
			DESCRIPTION "The sFlow version number."
			::= {tpSflowGlobalConfig 3}
		
		
	-- the sflow collector 
		 
		 
        tpSflowCollectorTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TpSflowCollectorEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of sflow collector entries.
                     Here you can configure the sflow collector."
            ::= { tpSflowCollector 1 }

        tpSflowCollectorEntry OBJECT-TYPE
            SYNTAX  TpSflowCollectorEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains the information of sflow collector."
            INDEX   { tpSflowCollectorCollectorId }
            ::= { tpSflowCollectorTable 1 }
    
        TpSflowCollectorEntry ::=
            SEQUENCE {
								tpSflowCollectorCollectorId
										INTEGER, 
								tpSflowCollectorDescription
										DisplayString,
								tpSflowCollectorCollectorIp
										IpAddress, 		
								tpSflowCollectorCollectorPort
										INTEGER,
								tpSflowCollectorMaxDatagram
										INTEGER,
								tpSflowCollectorTimeout
										INTEGER,
								tpSflowCollectorLifetime
										INTEGER										
						
            }
            
        tpSflowCollectorCollectorId OBJECT-TYPE
            SYNTAX  INTEGER
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The collector ID."
            ::= { tpSflowCollectorEntry 1 }
        
								
		tpSflowCollectorDescription	OBJECT-TYPE
			SYNTAX	DisplayString
			MAX-ACCESS	read-write
			STATUS	current
			DESCRIPTION
			"This description of the collector."
			::= {tpSflowCollectorEntry 2}
		
		tpSflowCollectorCollectorIp OBJECT-TYPE
			SYNTAX  IpAddress  
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
				"The IP address of the collector"
			::= { tpSflowCollectorEntry 3 }		
			
		tpSflowCollectorCollectorPort OBJECT-TYPE
			SYNTAX  INTEGER(1..65535)
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
					"The UDP port of the collector."
			::= { tpSflowCollectorEntry 4 }
       
       tpSflowCollectorMaxDatagram OBJECT-TYPE
            SYNTAX  INTEGER(300..1400)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "The max datagram of the collector."
            ::= { tpSflowCollectorEntry 5 }
    
       tpSflowCollectorTimeout OBJECT-TYPE
            SYNTAX  INTEGER(0..2000000)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "The timeout value of the collector."
            ::= { tpSflowCollectorEntry 6 }
        
       tpSflowCollectorLifetime OBJECT-TYPE
            SYNTAX  INTEGER
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The lifetime of the collector."
            ::= { tpSflowCollectorEntry 7 }
        
 
      
       -- the sflow sampler
		 
        tpSflowSamplerTable OBJECT-TYPE
            SYNTAX  SEQUENCE OF TpSflowSamplerEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "A list of sflow sampler entries.
                     Here you can configure the sflow sampler."
            ::= { tpSflowSampler 1 }

        tpSflowSamplerEntry OBJECT-TYPE
            SYNTAX  TpSflowSamplerEntry
            MAX-ACCESS  not-accessible
            STATUS  current
            DESCRIPTION
                    "An entry contains the information of the sflow sampler."
            INDEX   { ifIndex }
            ::= { tpSflowSamplerTable 1 }
    
        TpSflowSamplerEntry ::=
            SEQUENCE {
								tpSflowSamplerPort
										DisplayString, 
								tpSflowSamplerCollectorId
										INTEGER,	
								tpSflowSamplerIngRate
										INTEGER,
								tpSflowSamplerEgRate
										INTEGER,
								tpSflowSamplerMaxHeader
										INTEGER,										
								tpSflowSamplerPortLag
										OCTET STRING (SIZE (1..255))	
            }
            
        tpSflowSamplerPort OBJECT-TYPE
            SYNTAX  DisplayString  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The port number of the switch."
            ::= { tpSflowSamplerEntry 1 }
        
       
        tpSflowSamplerCollectorId OBJECT-TYPE
            SYNTAX  INTEGER(0..4)				
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "The collector ID."
            ::= { tpSflowSamplerEntry 2 }							

		
		tpSflowSamplerIngRate OBJECT-TYPE
			SYNTAX  INTEGER(0..65535)
			MAX-ACCESS  read-write
			STATUS  current
			DESCRIPTION
					"The ratio of ingress packets to the samples generated(Range:0, 1024-65535)."
			::= { tpSflowSamplerEntry 3 }
       
       tpSflowSamplerEgRate OBJECT-TYPE
            SYNTAX  INTEGER(0..65535)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "The ratio of egress packets to the samples generated(Range:0, 1024-65535)."
            ::= { tpSflowSamplerEntry 4 }
    
       tpSflowSamplerMaxHeader OBJECT-TYPE
            SYNTAX  INTEGER(18..256)
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
                    "The maximum number of bytes that should be sampled."
            ::= { tpSflowSamplerEntry 5 }

    
        tpSflowSamplerPortLag OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (1..255))  
            MAX-ACCESS  read-only
            STATUS  current
            DESCRIPTION
                    "The LAG number which the port belongs to."
            ::= { tpSflowSamplerEntry 6 }    
      
  
END

