-- ZyXEL Communications Corporation
-- Private Enterprise MIB definition 
  
-- This file describes the ZyXEL Communications Corporation Enterprise MIB.
-- It contains ZyXEL products OIDs, and common managed objects.

-- ZYXEL-SFLOW-MIB.mib
-- Revision 1.6  2014/05/27 

ZYXEL-SFLOW-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579

	dot1dBasePort
       	FROM BRIDGE-MIB 
       	
    EnabledStatus
		FROM  P-BRIDGE-MIB 
		
	InetAddressType, InetAddress
		FROM INET-ADDRESS-MIB		-- RFC2851

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelSflow MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for sFlow"
		::= { esMgmt 75 }
		
	zyxelSflowSetup     	OBJECT IDENTIFIER ::= { zyxelSflow 1 }

  
-- *******************************************************************
-- *
-- * zyxelSflowSetup
-- *
-- *******************************************************************

-- zyxelSflowState
		zySflowState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable sflow on the switch. 
			sFlow (RFC 3176) is a standard technology for monitoring switched networks. An sFlow agent embedded on 
			a switch or router gets sample data and packet statistics from traffic forwarded through its ports. The 
			sFlow agent then creates sFlow data and sends it to an sFlow collector. The sFlow collector is a server 
			that collects and analyzes sFlow datagram. An sFlow datagram includes packet header, input and output 
			interface, sampling process parameters and forwarding information.
			sFlow minimizes impact on CPU load of the switch as it analyzes sample data only. sFlow can continuously 
			monitor network traffic and create reports for network performance analysis and troubleshooting. For 
			example, you can use it to know which IP address or which type of traffic caused network congestion."
        ::= { zyxelSflowSetup 1 } 
		
-- zyxelSflowMaxNumberOfCollectors
		zySflowMaxNumberOfCollectors OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
					"The maximum number of sFlow collectors entries that can be created."
        ::= { zyxelSflowSetup 2 }
		
-- zyxelSflowCollectorTable
		zyxelSflowCollectorTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF ZyxelSflowCollectorEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
					"The table contains sFlow collector configuration."              
		::= { zyxelSflowSetup 3 }  

		zyxelSflowCollectorEntry OBJECT-TYPE
		SYNTAX      ZyxelSflowCollectorEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
					"An entry contains sFlow collector configuration."
		INDEX {	zySflowCollectorIpAddressType, zySflowCollectorIpAddress }
		::= { zyxelSflowCollectorTable 1 }

		ZyxelSflowCollectorEntry ::=
		SEQUENCE {
			zySflowCollectorIpAddressType		InetAddressType, 
			zySflowCollectorIpAddress			InetAddress,
			zySflowCollectorUdpPort				INTEGER, 
			zySflowCollectorRowStatus			RowStatus
		} 

		zySflowCollectorIpAddressType OBJECT-TYPE
		SYNTAX      InetAddressType
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
						"The Type of IP address for sflow collector entry."
		::= { zyxelSflowCollectorEntry 1 }

		zySflowCollectorIpAddress OBJECT-TYPE
		SYNTAX      InetAddress
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
						"The IP address of the sFlow collector."
		::= { zyxelSflowCollectorEntry 2 }

		zySflowCollectorUdpPort OBJECT-TYPE
		SYNTAX      INTEGER
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
						"Enter a UDP port number the Switch uses to send sFlow datagram to the collector. 
						If you change the port here, make sure you change it on the collector, too. 
						The default port is 6343."
		::= { zyxelSflowCollectorEntry 3 }

		zySflowCollectorRowStatus OBJECT-TYPE
		SYNTAX      RowStatus
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
						"This object allow entry to be create and deleted a sFlow collector entry."            
		::= { zyxelSflowCollectorEntry 4 }

-- zyxelSflowPortTable	
		zyxelSflowPortTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF ZyxelSflowPortEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
					"The table contains sFlow port configuration."              
		::= { zyxelSflowSetup 4 }
              
		zyxelSflowPortEntry OBJECT-TYPE
        SYNTAX      ZyxelSflowPortEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
					"An entry contains sFlow port configuration."
        INDEX { dot1dBasePort }
		::= { zyxelSflowPortTable 1 }

		ZyxelSflowPortEntry ::=
        SEQUENCE {
			zySflowPortState	EnabledStatus
        }
    
		zySflowPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
						"Enable/Disable sflow on the port."
        ::= { zyxelSflowPortEntry 1 }  

-- zyxelSflowMaxNumberOfPortCollectors
		zySflowMaxNumberOfPortCollectors OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
					"The maximum number of sFlow port collectors entries that can be created."
        ::= { zyxelSflowSetup 5 }

-- zyxelSflowPortCollectorTable
		zyxelSflowPortCollectorTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF ZyxelSflowPortCollectorEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
					"The table contains sFlow port collector configuration."            
		::= { zyxelSflowSetup 6 }    

		zyxelSflowPortCollectorEntry OBJECT-TYPE
		SYNTAX      ZyxelSflowPortCollectorEntry
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
					"An entry contains sFlow port collector configuration."
		INDEX { dot1dBasePort, zySflowPortCollectorIpAddressType, zySflowPortCollectorIpAddress }
		::= { zyxelSflowPortCollectorTable 1 }

		ZyxelSflowPortCollectorEntry ::=
		SEQUENCE {
			zySflowPortCollectorIpAddressType	InetAddressType, 
			zySflowPortCollectorIpAddress		InetAddress,
			zySflowPortCollectorSampleRate		INTEGER, 
			zySflowPortCollectorPollInterval	INTEGER,
			zySflowPortCollectorRowStatus		RowStatus
		} 

		zySflowPortCollectorIpAddressType OBJECT-TYPE
		SYNTAX      InetAddressType
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
						"The Type of IP address for sflow port collector entry."
		::= { zyxelSflowPortCollectorEntry 1 }

		zySflowPortCollectorIpAddress OBJECT-TYPE
		SYNTAX      InetAddress
		MAX-ACCESS  not-accessible
		STATUS      current
		DESCRIPTION
						"The IP address of the sFlow port collector."
		::= { zyxelSflowPortCollectorEntry 2 } 

		zySflowPortCollectorSampleRate OBJECT-TYPE
		SYNTAX      INTEGER
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
						"Enter a number (N) from 256 to 65535. 
						The switch captures every one out of N packets for this port and creates sFlow datagram."
		::= { zyxelSflowPortCollectorEntry 3 }  

		zySflowPortCollectorPollInterval OBJECT-TYPE
		SYNTAX      INTEGER 
		MAX-ACCESS  read-write
		STATUS      current
		DESCRIPTION
						"Specify a time interval (from 20 to 120 in seconds) the switch waits before sending the sFlow datagram and packet counters for this port to the collector."
		::= { zyxelSflowPortCollectorEntry 4 }

		zySflowPortCollectorRowStatus OBJECT-TYPE
		SYNTAX      RowStatus
		MAX-ACCESS  read-create
		STATUS      current
		DESCRIPTION
						"This object allows a sFlow port collector entry to be created and deleted."            
		::= { zyxelSflowPortCollectorEntry 5 } 	
		
END   
