-- 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-ARP-MIB.mib $ 
-- Revision 1.8  2013/12/06 07:02:27  ccho 
-- remove uncessary imports 
-- Revision 1.7  2013/11/06 05:41:06  ccho 
-- fix mib style 
-- Revision 1.6  2013/01/08 07:51:49  Kevin 
-- revise syntax of zyArpPort for SilverCreek 
-- Revision 1.5  2012/11/02 03:55:29  Kevin 
-- add feature static arp 
-- Revision 1.4  2012/09/19 07:29:30  Kevin 
-- if it's leaf node, revise the vender name from zyxel to zy 
-- Revision 1.3  2012/09/06 08:33:24  Kevin 
-- Remove unuse entry and revise arp status entries 
-- Revision 1.2  2012/07/05 06:22:09  Kevin 
-- 1. upgrade from SNMP to SNMPv2  
-- 2. clean warning 
-- Revision 1.1  2012/05/30 07:48:10  Kevin 
-- Initial revision 

ZYXEL-ARP-MIB DEFINITIONS ::= BEGIN
    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
		
	RowStatus, MacAddress
		FROM SNMPv2-TC			-- RFC2579
		

	dot1dBasePort
		FROM BRIDGE-MIB

	IpAddress
		FROM SNMPv2-SMI
		
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelArp MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for arp"
		::= { esMgmt 11 }

	zyxelArpSetup 				OBJECT IDENTIFIER ::= { zyxelArp 1 }
	zyxelArpStatus     			OBJECT IDENTIFIER ::= { zyxelArp 2 }

-- 	******************************************************************
-- *
-- 1.zyxelArpLearningSetup
-- *
-- ******************************************************************  
        zyxelArpLearningPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelArpLearningPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains ARP learning port configuration."
        ::= { zyxelArpSetup 1 }
        
		zyxelArpLearningPortEntry OBJECT-TYPE
        SYNTAX	ZyxelArpLearningPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains ARP learning port configuration. "
        INDEX          	{ dot1dBasePort }
        ::= { zyxelArpLearningPortTable 1 }

        ZyxelArpLearningPortEntry ::=
           SEQUENCE {
        	zyArpLearningPortMode		INTEGER
           }
                  
        zyArpLearningPortMode OBJECT-TYPE
        SYNTAX  INTEGER {
        		arpReply(0),
        		gratuitousArp(1),
        		arpRequest(2)
       	}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The ARP learning mode the switch uses on the port."
        ::= { zyxelArpLearningPortEntry 1 }
        
 --	arpAgeingTime
 		zyArpAgingTime OBJECT-TYPE
        SYNTAX	INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
        "The number of seconds which learned arp are held."
        ::= { zyxelArpSetup 2 }   

		zyStaticArpMaxNumberOfArps OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
		"The maximum number of static ARP entries that can be created."
        ::= { zyxelArpSetup 3 }
        

 --	staticArpTable 
		zyxelStaticArpTable OBJECT-TYPE
		SYNTAX	SEQUENCE OF ZyxelStaticArpEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION   
        "The table contains static ARP configuration."		
		::=	{ zyxelArpSetup 4 }
		
		zyxelStaticArpEntry OBJECT-TYPE
		SYNTAX  ZyxelStaticArpEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION	
        "An entry contains  static ARP configuration."
		INDEX	{ zyStaticArpIpAddrress, zyStaticArpMacAddress, zyStaticArpVlan, zyStaticArpPort }
		::={ zyxelStaticArpTable 1 }
		
		ZyxelStaticArpEntry ::=
			SEQUENCE {
				zyStaticArpIpAddrress		IpAddress,
				zyStaticArpMacAddress		MacAddress,
				zyStaticArpVlan				INTEGER,
				zyStaticArpPort				INTEGER,
				zyStaticArpRowStatus		RowStatus
			}
		
		zyStaticArpIpAddrress OBJECT-TYPE
		SYNTAX 	IpAddress
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION	
        "This parameter specifies the source IP address of this entry. "
		::={ zyxelStaticArpEntry 1 }
		
		zyStaticArpMacAddress OBJECT-TYPE
		SYNTAX 	MacAddress
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION	
        "This parameter specifies the MAC address assigned to the IP address in this entry. "
		::={ zyxelStaticArpEntry 2 }
		
		zyStaticArpVlan OBJECT-TYPE
		SYNTAX 	INTEGER  (1.. 4094)
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION	
        "This parameter specifies the VLAN identification nember."
		::={ zyxelStaticArpEntry 3 }

		zyStaticArpPort OBJECT-TYPE
		SYNTAX 	INTEGER
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION	
        "This parameter specifies the port where the ARP entry entered in the previous field."
		::={ zyxelStaticArpEntry 4 }

		zyStaticArpRowStatus OBJECT-TYPE
		SYNTAX 	RowStatus
        MAX-ACCESS	read-create
        STATUS	current
        DESCRIPTION	
        "This object allow static ARP entries to be create and deleted from static ARP table."
		::={ zyxelStaticArpEntry 5 }        
                

--  2.zyxelArpStatus
	
	
--  	zyxelArpTable
      	zyxelArpTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelArpEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "The table contains ARP information."
        ::= { zyxelArpStatus 1 }
        
		zyxelArpEntry OBJECT-TYPE
        SYNTAX	ZyxelArpEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
		"An entry contains ARP information."
        INDEX          	{ zyArpIpAddress, zyArpVid }
        ::= { zyxelArpTable 1 }

        ZyxelArpEntry ::=
           SEQUENCE {
        	zyArpIpAddress	IpAddress,  
        	zyArpVid		INTEGER,
        	zyArpMacAddress	MacAddress,
        	zyArpPort       INTEGER,
        	zyArpType		INTEGER  	
           }
        
        zyArpIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This is the learned IP address of a device connected to a switch port with the corresponding MAC address below."
        ::= { zyxelArpEntry 1 } 
        
        zyArpVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This is the VLAN to which the device belongs."
        ::= { zyxelArpEntry 2 }

        zyArpMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This is the MAC address of the device with the corresponding IP address above."
        ::= { zyxelArpEntry 3 }
            
        zyArpPort OBJECT-TYPE
		SYNTAX 	INTEGER
        MAX-ACCESS	read-only
        STATUS	current
        DESCRIPTION	
        "This is the port to which the device belongs."
		::={ zyxelArpEntry 4 }     
            
        zyArpType OBJECT-TYPE
        SYNTAX  INTEGER{
			static(1),
			dynamic(2)
		}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This show whether the MAC address is dynamic (learned by the switch) or static (manually entered)."
        ::= { zyxelArpEntry 5 }

END

