-- 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-SNMP-MIB.mib
-- Revision 1.17  2016/03/07 

ZYXEL-SNMP-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

	dot1dBasePort
       	FROM BRIDGE-MIB
       	
  IpAddress
      FROM SNMPv2-SMI

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelSnmp MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for Simple Network Management Protocol (SNMP)"
		::= { esMgmt 76 }

	zyxelSnmpSetup     		OBJECT IDENTIFIER ::= { zyxelSnmp 1 }
  
-- *******************************************************************
-- *
-- * zyxelSnmpSetup
-- *
-- *******************************************************************

-- zyxelSnmpGetCommunity
        zySnmpGetCommunity OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
					"This is the password for the incoming Get- and getNext- requests from the management station. 
					This string is only used by SNMP managers using SNMP version 2c or lower."
        ::= { zyxelSnmpSetup 1 }
		
-- zyxelSnmpSetCommunity
        zySnmpSetCommunity OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
					"This is the password for the incoming Set- and SetNext- requests from the management station. 
					This string is only used by SNMP managers using SNMP version 2c or lower."
        ::= { zyxelSnmpSetup 2 }
		
-- zyxelSnmpTrapCommunity
        zySnmpTrapCommunity OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
					"This is the password sent with each trap to the SNMP manager. 
					This string is only used by SNMP managers using SNMP version 2c or lower."
        ::= { zyxelSnmpSetup 3 }

-- zyxelSnmpTrapDestinationMaxNumberOfDestinations
        zySnmpTrapDestinationMaxNumberOfDestinations OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
					"The maximum number of snmp destination entries that can be created."
        ::= { zyxelSnmpSetup 4 }

-- zyxelSnmpTrapDestinationTable
        zyxelSnmpTrapDestinationTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelSnmpTrapDestinationEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains SNMP trap destination configuration."
        ::= { zyxelSnmpSetup 5 }
        
		zyxelSnmpTrapDestinationEntry OBJECT-TYPE
        SYNTAX	ZyxelSnmpTrapDestinationEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry contains SNMP trap destination configuration."
        INDEX  	{ zySnmpTrapDestinationIpAddress }
        ::= { zyxelSnmpTrapDestinationTable 1 }

        ZyxelSnmpTrapDestinationEntry ::=
        SEQUENCE {
        	zySnmpTrapDestinationIpAddress	IpAddress,
        	zySnmpTrapDestinationUdpPort	INTEGER,
        	zySnmpTrapDestinationVersion	INTEGER,
        	zySnmpTrapDestinationUserName	DisplayString,
			zySnmpTrapDestinationRowStatus 	RowStatus
        }

		zySnmpTrapDestinationIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"Destination IP address of trap server."
        ::= { zyxelSnmpTrapDestinationEntry 1 }
        
        zySnmpTrapDestinationUdpPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
                      	"The UDP port that the manager listens for SNMP traps."
        ::= { zyxelSnmpTrapDestinationEntry 2 }
        
        zySnmpTrapDestinationVersion OBJECT-TYPE
        SYNTAX  INTEGER {
			v1(0),
			v2c(1),
			v3(2)
		}
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
                      	"Specify the version of the SNMP trap messages."
        ::= { zyxelSnmpTrapDestinationEntry 3 }

        zySnmpTrapDestinationUserName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS  current
        DESCRIPTION
                      	"Username that is sent to the SNMP manager along with the SNMP v3 trap. 
						This username must match an existing account on the switch."
        ::= { zyxelSnmpTrapDestinationEntry 4 }  

        zySnmpTrapDestinationRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
                      	"This object allow entries to be created and deleted from SNMP trap destination table."
        ::= { zyxelSnmpTrapDestinationEntry 5 }		

-- zyxelSnmpVersion
        zySnmpVersion OBJECT-TYPE
		SYNTAX 	INTEGER {
			v2c(0),
			v3(1),
			v3v2c(2)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
					"Select the SNMP version for the switch. 
					The SNMP version on the switch must match the version on the SNMP manager. 
					v3v2c means that the manager can get/set by SNMPv3 and can get by SNMPv2c."
        ::= { zyxelSnmpSetup 6 }
		
-- zyxelSnmpUserTable	
		zyxelSnmpUserTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF ZyxelSnmpUserEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
					"The table contains SNMP user configuration."
    	::= { zyxelSnmpSetup 7 }

    	zyxelSnmpUserEntry OBJECT-TYPE
        SYNTAX ZyxelSnmpUserEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
					"An entry contains SNMP user configuration."
        INDEX { zySnmpUserName }
        ::= { zyxelSnmpUserTable 1 }

   		ZyxelSnmpUserEntry ::=
        SEQUENCE {
         	zySnmpUserName						DisplayString,
           	zySnmpUserSecurityLevel				INTEGER,
          	zySnmpUserAuthenticationProtocol	INTEGER,
           	zySnmpUserPrivacyProtocol			INTEGER,
			zySnmpUserGroup	        			DisplayString
       	} 

		zySnmpUserName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
						"The username of a login account on the switch."
		::= { zyxelSnmpUserEntry 1 }

		zySnmpUserSecurityLevel OBJECT-TYPE
		SYNTAX  INTEGER {
			noAuthNoPriv(0),
			authNoPriv(1),
			authPriv(2)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
						"Select whether you want to implement authentication and/or encryption for SNMP communication from this user."
		::= { zyxelSnmpUserEntry 2 }	

		zySnmpUserAuthenticationProtocol OBJECT-TYPE
		SYNTAX  INTEGER {
			md5(0),
			sha(1)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
						"The type of authentication protocol to be used."
		::= { zyxelSnmpUserEntry 3 }

		zySnmpUserPrivacyProtocol OBJECT-TYPE
		SYNTAX 	INTEGER {
			des(0),
			aes(1)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
						"The type of privacy protocol to be used."
		::= { zyxelSnmpUserEntry 4 }

		zySnmpUserGroup OBJECT-TYPE
		SYNTAX		DisplayString
		MAX-ACCESS	read-only
		STATUS		current
		DESCRIPTION
						"The group name which this user belongs to."
		::= { zyxelSnmpUserEntry 5 }
		
-- zyxelSnmpTrapGroupTable
        zyxelSnmpTrapGroupTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelSnmpTrapGroupEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table cantains SNMP trap group configuration."
        ::= { zyxelSnmpSetup 8 }

		zyxelSnmpTrapGroupEntry OBJECT-TYPE
        SYNTAX	ZyxelSnmpTrapGroupEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry cantains SNMP trap group configuration."
        INDEX  { zySnmpTrapDestinationIpAddress }
        ::= { zyxelSnmpTrapGroupTable 1 }

        ZyxelSnmpTrapGroupEntry ::=
           SEQUENCE {
        	zySnmpTrapSysGroup	 		BITS,
        	zySnmpTrapInterfaceGroup	BITS,
        	zySnmpTrapAAAGroup  		BITS,
        	zySnmpTrapIPGroup	 		BITS,
        	zySnmpTrapSwitchGroup	 	BITS
           }

        zySnmpTrapSysGroup OBJECT-TYPE
        SYNTAX	BITS {
			coldStart(0),
			warmStart(1),
			fanSpeed(2),
			temperature(3),
			voltage(4),
			reset (5),
			timeSync (6),
			intrusionlock(7),
			bps(8),
			maintainence(9),
			externalalarm(10),
			powerportfailed(11),
			errorlog(12),
			loopGuard(13),
			errdisable(14),
			dyinggasp(15),
			poe(16),
			fanairflow(17),
			stacking(18),
			powerSource(19),
			loginRecord(20)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"System group of SNMP trap that the switch sends to the SNMP manager."
        ::= { zyxelSnmpTrapGroupEntry 1 }
        
        zySnmpTrapInterfaceGroup OBJECT-TYPE
       	SYNTAX	BITS {
			linkup(0),
			linkdown(1),
			autonegotiation(2),
			lldp(3),
			transceiverDdm(4),
			module(5),
			stormControl(6),
			zuld(7),
			flexLink(8)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Interface group of SNMP trap that the switch sends to the SNMP manager."
        ::= { zyxelSnmpTrapGroupEntry 2 }
        
        zySnmpTrapAAAGroup OBJECT-TYPE
       	SYNTAX	BITS {
			authentication(0),
			authorization(1),
			accounting(2)			
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"AAA group of SNMP trap that the switch sends to the SNMP manager."
        ::= { zyxelSnmpTrapGroupEntry 3 }        
        
        zySnmpTrapIPGroup OBJECT-TYPE
       	SYNTAX	BITS {
			ping(0),
			traceroute(1)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"IP group of SNMP trap that the switch sends to the SNMP manager."
        ::= { zyxelSnmpTrapGroupEntry 4 }                
        
        zySnmpTrapSwitchGroup OBJECT-TYPE
       	SYNTAX	BITS {
			stp(0),
			mactable(1),
			rmon(2),
			cfm(3),
			classifier(4),
			rip(5),
			ospf(6)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Switch group of SNMP trap that the switch sends to the SNMP manager."
        ::= { zyxelSnmpTrapGroupEntry 5 }
		
-- zyxelSnmpTrapPortTable
        zyxelSnmpTrapPortTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelSnmpTrapPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains SNMP trap port configuration."
        ::= { zyxelSnmpSetup 9 }
        
		zyxelSnmpTrapPortEntry OBJECT-TYPE
        SYNTAX	ZyxelSnmpTrapPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry contains SNMP trap port configuration."
        INDEX          	{ dot1dBasePort }
        ::= { zyxelSnmpTrapPortTable 1 }

        ZyxelSnmpTrapPortEntry ::=
           SEQUENCE {
           	zySnmpTrapPortIntrusionlockState	EnabledStatus,
           	zySnmpTrapPortLoopguardState	 	EnabledStatus,
           	zySnmpTrapPortErrdisableState	 	EnabledStatus,
           	zySnmpTrapPortPoeState	 			EnabledStatus,
        	zySnmpTrapPortLinkupState	 		EnabledStatus,
        	zySnmpTrapPortLinkdownState			EnabledStatus,
        	zySnmpTrapPortAutonegotiationState  EnabledStatus,
        	zySnmpTrapPortLldpState				EnabledStatus,
        	zySnmpTrapPortTransceiverDdmState	EnabledStatus,
			zySnmpTrapPortStormControlState		EnabledStatus,
        	zySnmpTrapPortZuldState				EnabledStatus,
			zySnmpTrapPortFlexLinkState			EnabledStatus
           }
		   
        zySnmpTrapPortIntrusionlockState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP intrusionlock trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 1 }
        
        zySnmpTrapPortLoopguardState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP loopguard trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 2 }

        zySnmpTrapPortErrdisableState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP errdisable trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 3 }
        
        zySnmpTrapPortPoeState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP PoE trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 4 }                        
        
        zySnmpTrapPortLinkupState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP linkUp trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 5 }

        zySnmpTrapPortLinkdownState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP linkDown trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 6 }
        
        zySnmpTrapPortAutonegotiationState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP LLDP trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 7 }

        zySnmpTrapPortLldpState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP autonegotiation trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 8 } 
        
        zySnmpTrapPortTransceiverDdmState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP Transceiver-ddm trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 9 }

		zySnmpTrapPortStormControlState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP storm-control trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 10 }

        zySnmpTrapPortZuldState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP ZULD trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 11 }
		
		zySnmpTrapPortFlexLinkState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION	
						"Enabled/Disabled SNMP flex-link trap on the sepcified port."
        ::= { zyxelSnmpTrapPortEntry 12 }

END         
