-- 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.

-- $Log: ZYXEL-SYSTEM-MGMT-MIB.mib $ 
-- Revision 1.11  2014/07/10 10:17:31  Alan 
-- add feature reload_stacking_default 
-- Revision 1.10  2014/06/16 10:40:11  Alan 
-- add zyxelSysMgmtReloadFactoryDefault 
-- Revision 1.9  2013/12/06 07:09:05  ccho 
-- remove uncessary imports 
-- Revision 1.8  2013/11/20 06:55:21  ccho 
-- renaming identifier name for SMI.V2 
-- Revision 1.7  2013/11/06 05:42:43  ccho 
-- fix mib style 
-- Revision 1.6  2013/08/01 06:53:47  Aga 
-- bug fix: for clear silverCreek faild message 
-- Revision 1.5  2013/06/26 07:03:41  Aga 
-- merge
--      Revision 1.5  2013/05/07 09:35:56  Aga  
--      bug fix: modify some oid for snmp privilege access control  
-- Revision 1.4  2012/09/19 08:16:45  Kevin 
-- if it's leaf node, revise the vender name from zyxel to zy 
-- Revision 1.3  2012/08/22 09:49:46  Kevin 
-- clean warning for SNMPc 
-- Revision 1.2  2012/07/05 06:24:55  Kevin 
-- 1. upgrade from SNMP to SNMPv2  
-- 2. clean warning 
-- Revision 1.1  2012/05/30 07:50:50  Kevin 
-- Initial revision 

ZYXEL-SYSTEM-MGMT-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI

	DisplayString                                          
	  	FROM SNMPv2-TC                             
	
	IpAddress
        FROM SNMPv2-SMI
  
  NOTIFICATION-TYPE
        FROM SNMPv2-SMI

  	EnabledStatus
		FROM P-BRIDGE-MIB
		
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelManagement MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for management"
		::= { esMgmt 49 }
	
	zyxelSysMgmt     			OBJECT IDENTIFIER ::= { zyxelManagement 1 }
	zyxelSysMgmtNotifications OBJECT IDENTIFIER ::= { zyxelManagement 2 }
	
-- *******************************************************************
-- *
-- * zyxelSysMgmt
-- *
-- *******************************************************************

-- zyxelSysMgmtConfigSave
        zySysMgmtConfigSave OBJECT-TYPE
        SYNTAX  INTEGER {
         		config1(1),
         		config2(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "According setting value, running-config will be written to the assigned configuration file. 
					  If not, running-config will be written to the booting configuration file. 
					  Note: This action can access all configuration includes user account and AA configuration."
        ::= { zyxelSysMgmt 1 }
        
-- zyxelSysMgmtBootupConfig
        zySysMgmtBootupConfig OBJECT-TYPE
        SYNTAX  INTEGER {
         		config1(1),
         		config2(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "The setting value (read index) will be written into non-volatile memory. 
					  While rebooting, the variable write index is equal to read index initially. "
        ::= { zyxelSysMgmt 2 }

-- zyxelSysMgmtReboot
        zySysMgmtReboot OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		reboot(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Reboot switch from SNMP. 1:Reboot, 0:Nothing"
        ::= { zyxelSysMgmt 3 }

-- zyxelSysMgmtDefaultConfig
		zySysMgmtDefaultConfig OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		resetToDefault(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Erase running config and reset to default. 
                       Note: This action can access all configuration includes user account and AA configuration."
        ::= { zyxelSysMgmt 4 }
        
-- zyxelSysMgmtLastActionStatus
		zySysMgmtLastActionStatus OBJECT-TYPE
        SYNTAX  INTEGER {
        		none(0),
        		success(1),
        		fail(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      "Display status of last managment action."
        ::= { zyxelSysMgmt 5 }        

-- zyxelSysMgmtSysStatus
		zySysMgmtSysStatus OBJECT-TYPE
		SYNTAX	BITS {
			sysAlarmDetected(0),
			sysTemperatureError(1),
			sysFanRPMError(2),
			sysVoltageRangeError(3),
			sysNoDefect(4)
		}
       	MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"This variable indicates the status of the system.
 		The zyxelSysMgmtSysStatus is a bit map represented
 		a sum, therefore, it can represent multiple defects
 		simultaneously. The sysNoDefect should be set if and only if
 		no other flag is set.
 	
	 	The various bit positions are:
			0   sysAlarmDetected
			1   sysTemperatureError
			2   sysFanRPMError
			3   sysVoltageRangeError
			4	sysNoDefect"
        ::= { zyxelSysMgmt 6 }        
        
-- zyxelSysMgmtCPUUsage
		zySysMgmtCPUUsage OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
			"Show device CPU load in %, it's the snapshot of CPU load when 
			getting the values."
		::= { zyxelSysMgmt 7 }
		
-- zyxelSysMgmtBootupImage
		zySysMgmtBootupImage OBJECT-TYPE
        SYNTAX  INTEGER {
         		image1(1),
         		image2(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "The setting value (read index) will be written into non-volatile memory.
					  When rebooting, the selected image will be used."
        ::= { zyxelSysMgmt 8 }  
 
-- zyxelSysMgmtCounterReset
		zySysMgmtCounterReset OBJECT-TYPE
        SYNTAX  INTEGER {
         		enable(1),
         		disable(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Reset all port counters."
        ::= { zyxelSysMgmt 9 }  	

-- zyxelSysMgmtTftpServiceSetup                                                   
        zyxelSysMgmtTftpServiceSetup OBJECT IDENTIFIER ::= { zyxelSysMgmt 10 }                      

        zySysMgmtTftpServiceServerIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	" IP address of TFTP server"
        ::= { zyxelSysMgmtTftpServiceSetup 1 }
        
        zySysMgmtTftpRemoteFileName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"The file name that you want to backup to or restore from TFTP server"
        ::= { zyxelSysMgmtTftpServiceSetup 2 }     
        
        zySysMgmtTftpConfigIndex OBJECT-TYPE
        SYNTAX  INTEGER {
        	    config1(1),
        	    config2(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Index of system configuration which you want to restore."
        ::= { zyxelSysMgmtTftpServiceSetup 3 }               
                               
        zySysMgmtTftpAction OBJECT-TYPE
        SYNTAX  INTEGER {         
        		none(0),
         		backupConfig(1),
         		restoreConfig(2),
				mergeConfig(3)           		
        }
        MAX-ACCESS  read-write
        STATUS  current        
		DESCRIPTION
                      	" Action of tftp service. 1: Backup running-config to tftp server, 2: Restore config from tftp server, 3: Merge config from tftp server.
						Note: This action can access all configuration includes user account and AA configuration."
        ::= { zyxelSysMgmtTftpServiceSetup 4 }    
        
        
		zySysMgmtTftpActionStatus OBJECT-TYPE
        SYNTAX  INTEGER {
        		none(0),
        		success(1),
        		fail(2),
        		underAction(3)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                      "Display status of management action."
        ::= { zyxelSysMgmtTftpServiceSetup 5 }     	
        
		zySysMgmtTftpActionPrivilege13 OBJECT-TYPE
        SYNTAX  INTEGER {         
        		none(0),
         		backupConfig(1),
				restoreConfig(2),
				mergeConfig(3)
        }
        MAX-ACCESS  read-write
        STATUS  current        
		DESCRIPTION
                      	" Action of tftp service. 1: Backup running-config to tftp server, 2: Restore config from tftp server, 3: Merge config from tftp server. 
						  Note: This action can access configuration with privilege 13."
        ::= { zyxelSysMgmtTftpServiceSetup 113 }
        
-- zyxelSysMgmtReloadFactoryDefault
		zySysMgmtReloadFactoryDefault OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		reloadFactoryDefault(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Restore system to factory default settings and reboot."
        ::= { zyxelSysMgmt 11 }
        
-- zyxelSysMgmtReloadStackingDefault
		zySysMgmtReloadStackingDefault OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		reloadStackingDefault(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Restore system to stacking default settings and reboot."
        ::= { zyxelSysMgmt 12 }
		
-- zyxelSysMgmtConfigSaveCustomDefault
		zySysMgmtConfigSaveCustomDefault OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		configSaveCustomDefault(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Save running-config to custom default. Note: This action can access all configuration includes user account and AA configuration."
        ::= { zyxelSysMgmt 13 }		

-- zyxelSysMgmtReloadCustomDefault
		zySysMgmtReloadCustomDefault OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		reloadCustomDefault(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Restore system to custom default settings and reboot."
        ::= { zyxelSysMgmt 14 }	

-- *******************************************************************
-- *
-- * zyxelSysMgmtAutoConfiguration
-- *
-- *******************************************************************	
-- zyxelSysMgmtAutoConfiguration
		zyxelSysMgmtAutoConfiguration OBJECT IDENTIFIER ::= { zyxelSysMgmt 15 }
	
-- zyxelSysMgmtAutoConfigurationSetup
		zyxelSysMgmtAutoConfigurationSetup OBJECT IDENTIFIER ::= { zyxelSysMgmtAutoConfiguration 1 }
	
		zySysMgmtAutoConfigurationState OBJECT-TYPE
		SYNTAX  EnabledStatus
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
				"Enable(1)/Disable(2) Auto Configuration feature on the switch.
				
				Function Description:
					During startup, the system will automatically try to get the configuration file from remote server-
				and to load it to runtime memory. 
				
				Note: 
				1. If the state is enabled, it won't take effect immediately until system is rebooted.
				2. To use this function, please follow the below requirements:
					For DHCP mode: 
					  a) The startup config must enable these functions:
					    - DHCP Client.	
					    - Auto Configuration.
					  b) The DHCP and TFTP servers must be running on a remote device while this function is using.
					    And the TFTP server IP address and configuration file name must be delivered by DHCP server- 
					    for telling switch device where to get the configuration.
					For HTTPS mode:
					  a) The startup config must enable/setup these functions:
					    - Auto Configuration.
					    - Specify a HTTPS URL.
					  b) The HTTPS server must be running on a remote device while this function is using."  
					
		::= { zyxelSysMgmtAutoConfigurationSetup 1 }

		zySysMgmtAutoConfigurationMode OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
				"Use which mode to obtain the download information from the remote server.
					- DHCP(1): DHCP mode.
					- HTTPS(2): HTTPS mode."
		::= { zyxelSysMgmtAutoConfigurationSetup 2 }

		zySysMgmtAutoConfigurationVlanId OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
				"Allow user to specify the Vlan ID to decide which DHCP client will process the DHCP Auto Configuration procedure.
				The switch device that supports multiple DHCP clients can setup this object."
		::= { zyxelSysMgmtAutoConfigurationSetup 3 }

		zySysMgmtAutoConfigurationUrl OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS  read-write
		STATUS  current
		DESCRIPTION
				"Allow user to specify the HTTPS URL for HTTPS Auto Configuration."
		::= { zyxelSysMgmtAutoConfigurationSetup 4 }
			
-- zyxelSysMgmtAutoConfigurationStatus
		zyxelSysMgmtAutoConfigurationStatus OBJECT IDENTIFIER ::= { zyxelSysMgmtAutoConfiguration 2 }
		
		zyxelSysMgmtAutoConfigurationResult OBJECT IDENTIFIER ::= { zyxelSysMgmtAutoConfigurationStatus 1 }

		zySysMgmtAutoConfigurationResultMode OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
				"Indicate which mode is used while Auto Configuration is executing.
				- DHCP(1): DHCP mode.
				- HTTPS(2): HTTPS mode.
				- Otherwise, no any mode is used."
		::= { zyxelSysMgmtAutoConfigurationResult 1 }		

		zySysMgmtAutoConfigurationResultState OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
				"Indicate Auto Configuration processing state: 
				 - None(0): Never executed.
				 - Success(1): Executed Successfully.
				 - Unsuccess(2): Executed Unsuccessfully."
		::= { zyxelSysMgmtAutoConfigurationResult 2 }

		zySysMgmtAutoConfigurationResultFilename OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS  read-only
		STATUS  current
		DESCRIPTION
				"Indicate what filename from remote server is used by Auto Configuration.
				- None: Auto Configuration has never executed.
				- Otherwise, report the full remote filename path."
		::= { zyxelSysMgmtAutoConfigurationResult 3 }
        
-- zyxelSysMgmtCustomDefaultSetup                                                   
        zyxelSysMgmtCustomDefaultSetup OBJECT IDENTIFIER ::= { zyxelSysMgmt 16 }                      

        zySysMgmtCustomDefaultState OBJECT-TYPE
        SYNTAX  INTEGER {
				enable(1),
				disable(2)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enable/Disable Custom Default on the switch."
        ::= { zyxelSysMgmtCustomDefaultSetup 1 }
		
-- zyxelSysMgmtConfigSavePrivilege13      
	    zySysMgmtConfigSavePrivilege13 OBJECT-TYPE
        SYNTAX  INTEGER {
         		config1(1),
         		config2(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "If setting value is given, the variable write index will be set and running-config will be written to the assigned configuration file. 
                      If not, running-config will be written to the booting one.
                      Note: This action can access configuration with privilege 13."
        ::= { zyxelSysMgmt 113 }

-- zyxelSysMgmtDefaultConfigPrivilege13
		zySysMgmtDefaultConfigPrivilege13 OBJECT-TYPE
        SYNTAX  INTEGER {
        		nothing(0),
        		resetToDefault(1)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      "Erase running config and reset to default. 
					  Note: This action can access configuration with privilege 13."
        ::= { zyxelSysMgmt 213 }  

-- *******************************************************************
-- *
-- * zyxelSysMgmtNotifications
-- *
-- *******************************************************************		

-- zyxelSysMgmtUncontrolledSystemReset
		zySysMgmtUncontrolledSystemReset	NOTIFICATION-TYPE
		STATUS  current
		DESCRIPTION
               "Network element has reset without management command."
		::= { zyxelSysMgmtNotifications 1 }
		
-- zyxelSysMgmtControlledSystemReset
		zySysMgmtControlledSystemReset	NOTIFICATION-TYPE
		STATUS  current
		DESCRIPTION
               "Nework element has reset due to a management command. "
		::= { zyxelSysMgmtNotifications 2 }
		
-- zyxelSysMgmtBootImageInconsistence
		zySysMgmtBootImageInconsistence	NOTIFICATION-TYPE
		STATUS  current
		DESCRIPTION
               "The configured image index is defferent from the current booted up image index."
		::= { zyxelSysMgmtNotifications 3 }

-- zyxelSysMgmtReloadCustomCAFail
		zySysMgmtReloadCustomCAFail	NOTIFICATION-TYPE
		STATUS  current
		DESCRIPTION
               "Reload custom HTTPS CA  fail, delete and change to default CA."
		::= { zyxelSysMgmtNotifications 4 }

END


