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

ZYXEL-IPV6-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus
		FROM SNMPv2-TC			-- RFC2579
	
	EnabledStatus
		FROM  P-BRIDGE-MIB

	InetAddressType, InetAddress
		FROM INET-ADDRESS-MIB		-- RFC2851

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelIpv6 MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for Internet Protocol version 6 (IPv6)"
		::= { esMgmt 34 }
	
	zyxelIpv6Setup     		OBJECT IDENTIFIER ::= { zyxelIpv6 1 }	
	
--
--
--  34. zyxelIpv6
--
--
         
	zyIpv6HopLimit OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enter the number of the IPv6 hop limit (from 1 to 255)."
        ::= { zyxelIpv6Setup 1 }
  
    zyIpv6IcmpRateLimitErrorInterval OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enter a value of error interval to control the sending rate of error messages, and the minimum accuracy is 10 milliseconds."
        ::= { zyxelIpv6Setup 2 }
   
     zyIpv6IcmpRateLimitBucketSize OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enter a value of bucket size to control the number of ICMPv6 message allowed per error interval."
        ::= { zyxelIpv6Setup 3 }

	zyIpv6MaxNumberOfGlobalAddrresses OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The maximum number of IPv6 Global Address entries that can be created."
        ::= { zyxelIpv6Setup 4 }
  
--	zyxelIpv6Table
	zyxelIpv6Table OBJECT-TYPE
		SYNTAX      SEQUENCE OF ZyxelIpv6Entry
		MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	    "The table contains IPv6 configuration."              
		::= { zyxelIpv6Setup 5 }  
    
    zyxelIpv6Entry OBJECT-TYPE
        SYNTAX      ZyxelIpv6Entry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry contains IPv6 configuration. "
        INDEX {           
        	zyIpv6IfIndex              
        }
    	::= { zyxelIpv6Table 1 }

    ZyxelIpv6Entry ::=
        SEQUENCE {       
        	zyIpv6IfIndex					INTEGER,
            zyIpv6State    					EnabledStatus, 
            zyIpv6AddressAutoConfigState	EnabledStatus,   
            zyIpv6LinkLocalIpAddrressType 	InetAddressType,
            zyIpv6LinkLocalIpAddrress     	InetAddress,  
            zyIpv6DefaultGatewayType      	InetAddressType,
            zyIpv6DefaultGateway          	InetAddress     
        }                 
        
    zyIpv6IfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The index of IPv6 Interface."
        ::= { zyxelIpv6Entry 1 }
   
    zyIpv6State OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enable/Disable IPv6 on the interface."
        ::= { zyxelIpv6Entry 2 }     
        
    zyIpv6AddressAutoConfigState OBJECT-TYPE
        SYNTAX  EnabledStatus{
			stateless(1),
			stateful(2)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "Enable/Disable stateless address auto-configuration."
        ::= { zyxelIpv6Entry 3 }
       
    zyIpv6LinkLocalIpAddrressType OBJECT-TYPE
        SYNTAX  InetAddressType        
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This type of the link local address."
        ::= { zyxelIpv6Entry 4 }

    zyIpv6LinkLocalIpAddrress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The IPv6 link local address. Each interface has only one IPv6 link local address."
        ::= { zyxelIpv6Entry 5 }
      
    zyIpv6DefaultGatewayType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
       	"This type of default gateway address."
        ::= { zyxelIpv6Entry 6 }

    zyIpv6DefaultGateway OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The IPv6 default gateway."
        ::= { zyxelIpv6Entry 7 }
       

--	zyxelIpv6GlobalAddressTable
	zyxelIpv6GlobalAddressTable OBJECT-TYPE
		SYNTAX      SEQUENCE OF ZyxelIpv6GlobalAddressEntry
		MAX-ACCESS  not-accessible
	    STATUS      current
	    DESCRIPTION
	    "The table contains IPv6 global address configuration. "              
        ::= { zyxelIpv6Setup 6 }  
    
    zyxelIpv6GlobalAddressEntry OBJECT-TYPE
        SYNTAX      ZyxelIpv6GlobalAddressEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
        "An entry contains IPv6 global address configuration. "
        INDEX {           
        	zyIpv6GlobalAddressIfIndex,
        	zyIpv6GlobalAddressIpAddressType,
        	zyIpv6GlobalAddressIpAddress,
        	zyIpv6GlobalAddressPrefixLength,
        	zyIpv6GlobalAddressEUI64State
        }
    ::= { zyxelIpv6GlobalAddressTable 1 }

    ZyxelIpv6GlobalAddressEntry ::=
        SEQUENCE {       
        	zyIpv6GlobalAddressIfIndex		  INTEGER,
            zyIpv6GlobalAddressIpAddressType  InetAddressType, 
            zyIpv6GlobalAddressIpAddress      InetAddress,   
            zyIpv6GlobalAddressPrefixLength   INTEGER,
            zyIpv6GlobalAddressEUI64State     EnabledStatus,  
            zyIpv6GlobalAddressStatus		  INTEGER,
            zyIpv6GlobalAddressRowStatus      RowStatus     
        } 
   
     zyIpv6GlobalAddressIfIndex OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The index of IPv6 global address interface."
        ::= { zyxelIpv6GlobalAddressEntry 1 }
   
      zyIpv6GlobalAddressIpAddressType OBJECT-TYPE
        SYNTAX  InetAddressType
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The type of IPv6 global address."
        ::= { zyxelIpv6GlobalAddressEntry 2 }
 
       zyIpv6GlobalAddressIpAddress OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The IPv6 global address. Each interface can be multiple IPv6 global addresses."
        ::= { zyxelIpv6GlobalAddressEntry 3 }
                          
      zyIpv6GlobalAddressPrefixLength OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The IPv6 global address prefix length."
        ::= { zyxelIpv6GlobalAddressEntry 4 }
                                   
      zyIpv6GlobalAddressEUI64State OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
		"Enable/Disable EUI-64 and enable it will replace the IPv6 address from the post-64 bit to EUI-64 MAC address."
        ::= { zyxelIpv6GlobalAddressEntry 5 }
                                    
      zyIpv6GlobalAddressStatus OBJECT-TYPE
        SYNTAX  INTEGER{
 	        preferred(1),
	        deprecated(2),
	        invalid(3),
            inaccessible(4),
            unknown(5),
            tentative(6),
            duplicate(7)
        }
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "The status of IPv6 global address."
        ::= { zyxelIpv6GlobalAddressEntry 6 }
                                   
      zyIpv6GlobalAddressRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        "This object allows entry to be created and deleted an IPv6 global address entry."
        ::= { zyxelIpv6GlobalAddressEntry 7 }

END
