-- 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-SYSLOG-MIB.mib
-- Revision 1.7  2013/12/06

ZYXEL-SYSLOG-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579
		
	DisplayString                                          
	  	FROM SNMPv2-TC
	  	
	EnabledStatus
		FROM  P-BRIDGE-MIB
	
    IpAddress
        FROM SNMPv2-SMI   
    
    InetAddressType
    	FROM INET-ADDRESS-MIB
   
   	InetAddress
   		FROM INET-ADDRESS-MIB

    NOTIFICATION-TYPE
        FROM SNMPv2-SMI

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelSysLog MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for syslog"
		::= { esMgmt 81 }	

	zyxelSysLogSetup     			OBJECT IDENTIFIER ::= { zyxelSysLog 1 }
        zyxelSysLogNotifications	OBJECT IDENTIFIER ::= { zyxelSysLog 2 }

-- *******************************************************************
-- *
-- * zyxelSysLogSetup
-- *
-- *******************************************************************

-- zyxelSysLogState
		zySysLogState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                    "Enable/Disable sysLog for the switch. The syslog feature sends logs to an external syslog server."
        ::= { zyxelSysLogSetup 1 }
		
-- zyxelSysLogTypeTable
       	zyxelSysLogTypeTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelSysLogTypeEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains system logs type configuration."
        ::= { zyxelSysLogSetup 2 }
        
		zyxelSysLogTypeEntry OBJECT-TYPE
        SYNTAX	ZyxelSysLogTypeEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry contains system logs type configuration."
        INDEX          	{ zySysLogTypeIndex }
        ::= { zyxelSysLogTypeTable 1 }

        ZyxelSysLogTypeEntry ::=
           SEQUENCE {
         	zySysLogTypeIndex		INTEGER,
        	zySysLogTypeName		DisplayString,
        	zySysLogTypeState		EnabledStatus,
        	zySysLogTypeFacility	INTEGER
           }
       
        zySysLogTypeIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"The index of syslog type categories."
        ::= { zyxelSysLogTypeEntry 1 }

        zySysLogTypeName OBJECT-TYPE
        SYNTAX  DisplayString 
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      	"The names of syslog categories that the device can generate."
        ::= { zyxelSysLogTypeEntry 2 }

        zySysLogTypeState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enable/Disable the device to generate logs for the corresponding category."
        ::= { zyxelSysLogTypeEntry 3 }

   		zySysLogTypeFacility OBJECT-TYPE
        SYNTAX  INTEGER {
        	localUser0(0),
        	localUser1(1),
        	localUser2(2),
        	localUser3(3),
        	localUser4(4),
        	localUser5(5),
        	localUser6(6),
        	localUser7(7)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enter the log facility that allows you to send logs to different files in the syslog server."
        ::= { zyxelSysLogTypeEntry 4 }

-- zyxelSysLogMaxNumberOfServers
		zySysLogMaxNumberOfServers	OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                    "The maximum number of sys log servers that can be created."
        ::= { zyxelSysLogSetup 3 }
		
-- *******************************************************************
-- *
-- * zyxelSysLogsServerSetup
-- *
-- *******************************************************************
		
 --Inet syslog server table
       	zyxelSysLogServerInetTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelSysLogServerInetEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains syslog server configuration."
        ::= { zyxelSysLogSetup 5 }

		zyxelSysLogServerInetEntry OBJECT-TYPE
        SYNTAX	ZyxelSysLogServerInetEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry contains syslog server configuration."
        INDEX          	{ zySysLogServerInetAddressType,
						  zySysLogServerInetAddress }
        ::= { zyxelSysLogServerInetTable 1 }

ZyxelSysLogServerInetEntry ::=
        SEQUENCE {
                zySysLogServerInetAddressType InetAddressType,
                zySysLogServerInetAddress     InetAddress,
                zySysLogServerInetLogLevel    INTEGER,
                zySysLogServerInetUdpPort	  INTEGER,
                zySysLogServerInetRowStatus	  RowStatus
        }				

zySysLogServerInetAddressType OBJECT-TYPE
        SYNTAX     InetAddressType
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The type of Internet address of this syslog server."
        ::= { zyxelSysLogServerInetEntry 1 }

zySysLogServerInetAddress OBJECT-TYPE
        SYNTAX     InetAddress (SIZE(0..64))
        MAX-ACCESS not-accessible
        STATUS     current
        DESCRIPTION
                "The Internet address of this syslog server.
                 The type of this address is determined by the
                 value of the zySysLogServerInetAddressType object."
        ::= { zyxelSysLogServerInetEntry 2 }


zySysLogServerInetLogLevel OBJECT-TYPE
        SYNTAX  INTEGER{
        	level0(0),
        	level0To1(1),
        	level0To2(2),
        	level0To3(3),
        	level0To4(4),
        	level0To5(5),
        	level0To6(6),
        	level0To7(7)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enter the severity level(s) of the logs that you want the device to send to this syslog server. 
						The lower the number, the more critical the logs are."
        ::= { zyxelSysLogServerInetEntry 3 }


zySysLogServerInetUdpPort OBJECT-TYPE
        SYNTAX  INTEGER (1..65535)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enter the preference Udp port number, default port number is 514."
        ::= { zyxelSysLogServerInetEntry 4 }


zySysLogServerInetRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
				"This object allows entry to be created and deleted syslog servers configuration."
        ::= { zyxelSysLogServerInetEntry 5 }

-- *******************************************************************
-- *
-- * zyxelSysLogNotifications
-- *
-- ******************************************************************

-- zyxelSysLogNotifications
	zySysLogSystemLogOverThreshold	NOTIFICATION-TYPE
        STATUS  current
        DESCRIPTION
                    "System log usage reached 90%. When system log reaches the maximum number of log messages, new log messages automatically overwrite existing log messages, starting with the oldest existing log message first."
        ::= { zyxelSysLogNotifications 1 }

END 
