-- 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-DNS-MIB.mib
-- Revision 1.2  2015/06/15 

ZYXEL-DNS-MIB DEFINITIONS ::= BEGIN


    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI	
		
	InetAddressType, InetAddress
		FROM INET-ADDRESS-MIB		-- RFC2851		
	
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelDns MODULE-IDENTITY
		LAST-UPDATED	"201501010000Z"    
		ORGANIZATION 	"Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for DNS"
		::= { esMgmt 111 }

	zyxelDnsSetup 	OBJECT IDENTIFIER ::= { zyxelDns 1 }		
	zyxelDnsStatus 	OBJECT IDENTIFIER ::= { zyxelDns 2 }			

    --  zyxelDnsSetup	
	zyxelDnsStaticNameServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelDnsStaticNameServerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table maintains static name server configuration."
        ::= { zyxelDnsSetup 1 }
        
	zyxelDnsStaticNameServerEntry OBJECT-TYPE
        SYNTAX	ZyxelDnsStaticNameServerEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains static name server configuration."
        INDEX          	{ zyDnsStaticNameServerPreference }
        ::= { zyxelDnsStaticNameServerTable 1 }              

      	ZyxelDnsStaticNameServerEntry ::=
		SEQUENCE {
        	zyDnsStaticNameServerPreference				INTEGER,
        	zyDnsStaticNameServerInetAddressType		InetAddressType,
        	zyDnsStaticNameServerInetAddress			InetAddress
        }

	zyDnsStaticNameServerPreference OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This field displays the preference of name server. Note: which lower value mean a higher chance to be queried."
        ::= { zyxelDnsStaticNameServerEntry 1 }

	zyDnsStaticNameServerInetAddressType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "A value that represents a type of Internet address."
        ::= { zyxelDnsStaticNameServerEntry 2 }                        

	zyDnsStaticNameServerInetAddress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "An InetAddress value is always interpreted within the context of an InetAddressType value."
        ::= { zyxelDnsStaticNameServerEntry 3 }                        		
    
    --  zyxelDnsStatus
	zyxelDnsNameServerTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelDnsNameServerEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table maintains name server information."
        ::= { zyxelDnsStatus 1 }
        
	zyxelDnsNameServerEntry OBJECT-TYPE
        SYNTAX	ZyxelDnsNameServerEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains name server information."
        INDEX          	{ zyDnsNameServerIndex }
        ::= { zyxelDnsNameServerTable 1 }              

      	ZyxelDnsNameServerEntry ::=
		SEQUENCE {
        	zyDnsNameServerIndex			INTEGER,
        	zyDnsNameServerInetAddressType	InetAddressType,
        	zyDnsNameServerInetAddress		InetAddress,
			zyDnsNameServerSource			INTEGER        	
           }

	zyDnsNameServerIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This field displays the index of domain name server. Note: The indexes which lower value mean a higher chance to be queried."
        ::= { zyxelDnsNameServerEntry 1 }

	zyDnsNameServerInetAddressType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "A value that represents a type of Internet address."
        ::= { zyxelDnsNameServerEntry 2 }                        

	zyDnsNameServerInetAddress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "An InetAddress value is always interpreted within the context of an InetAddressType value."
        ::= { zyxelDnsNameServerEntry 3 } 
        
	zyDnsNameServerSource OBJECT-TYPE
        SYNTAX  INTEGER {    		
        	static(0),
        	dhcpv4(1),
        	dhcpv6(2)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This field displays the source of the server."
        ::= { zyxelDnsNameServerEntry 4 }                           	     
                          
END

