-- 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-ANTI-ARPSCAN-MIB.mib
-- Revision 1.2  2015/02/16 


ZYXEL-ANTI-ARPSCAN-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	

	RowStatus, MacAddress
		FROM SNMPv2-TC			-- RFC2579

	MODULE-IDENTITY
		FROM SNMPv2-SMI   

	dot1dBasePort
		FROM BRIDGE-MIB
		
	IpAddress	  	
		FROM SNMPv2-SMI

	DisplayString                                          
	  	FROM SNMPv2-TC			-- RFC2579
	  	
	EnabledStatus
		FROM  P-BRIDGE-MIB

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelAntiArpscan MODULE-IDENTITY
		LAST-UPDATED	"201410280000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			"www.zyxel.com"	   
		DESCRIPTION
			"The subtree for Anti Arpscan"
		::= { esMgmt 106 }
	
	zyxelAntiArpscanSetup   OBJECT IDENTIFIER ::= { zyxelAntiArpscan 1 }   
	zyxelAntiArpscanStatus    OBJECT IDENTIFIER ::= { zyxelAntiArpscan 2 }	
--
--
--  106.zyxelAntiArpscan
--
--

-- 
		zyAntiArpscanState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
            "Enable/Disable Anti Arpscan on the switch."
        ::= { zyxelAntiArpscanSetup 1 }

-- 
		zyAntiArpscanPortThreshold OBJECT-TYPE
        SYNTAX  INTEGER	(2.. 255)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Set the threshold (2-255) of received ARP messages for the port-based Anti-Arpscan."
        ::= { zyxelAntiArpscanSetup 2 }

		zyAntiArpscanHostThreshold OBJECT-TYPE
        SYNTAX  INTEGER	(2.. 100)
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Set the threshold (2-100) of received ARP messages for the host-based Anti-Arpscan."
        ::= { zyxelAntiArpscanSetup 3 }

	
-- zyxelAntiArpscanPortTable
        zyxelAntiArpscanPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelAntiArpscanPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains Anti-Arpscan port configuration."
        ::= { zyxelAntiArpscanSetup 4 }
        
		zyxelAntiArpscanPortEntry OBJECT-TYPE
        SYNTAX	ZyxelAntiArpscanPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry contains Anti-Arpscan port configuration."
        INDEX          	{ dot1dBasePort }
        ::= { zyxelAntiArpscanPortTable 1 }

        ZyxelAntiArpscanPortEntry ::=
           SEQUENCE {
        	zyAntiArpscanPortTrustState	INTEGER
           }

        zyAntiArpscanPortTrustState OBJECT-TYPE
        SYNTAX  INTEGER {
        	trusted(1),untrusted(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                      	"Enable/Disable this port to be a trusted port (enable) or an untrusted port (disable)."
        ::= { zyxelAntiArpscanPortEntry 1 }

--        
        zyAntiArpscanMaxNumberOfTrustHosts OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"The maximum number of trusted host entries that can be created"
        ::= { zyxelAntiArpscanSetup 5 }
        
--  	zyxelAntiArpscanTrustHostTable        
        
        zyxelAntiArpscanTrustHostTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelAntiArpscanTrustHostEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains trust host configuration."
        ::= { zyxelAntiArpscanSetup 6 }
        
		zyxelAntiArpscanTrustHostEntry OBJECT-TYPE
        SYNTAX	ZyxelAntiArpscanTrustHostEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        "An entry contains trust host configuration."
        INDEX          	{ zyAntiArpscanTrustHostIpAddress, zyAntiArpscanTrustHostMask }
        ::= { zyxelAntiArpscanTrustHostTable 1 }

        ZyxelAntiArpscanTrustHostEntry ::=
           SEQUENCE {
           	zyAntiArpscanTrustHostIpAddress		IpAddress,
           	zyAntiArpscanTrustHostMask			IpAddress,
           	zyAntiArpscanTrustHostName			DisplayString,
        	zyAntiArpscanTrustHostRowStatus		RowStatus
           }

        zyAntiArpscanTrustHostIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"This parameter specifies the IP network address of the trust host."
        ::= { zyxelAntiArpscanTrustHostEntry 1 }
  
        zyAntiArpscanTrustHostMask OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The mask of an trusted host."
        ::= { zyxelAntiArpscanTrustHostEntry 2 }

        zyAntiArpscanTrustHostName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"A descriptive name (up to 32 printable ASCII characters) for identification purposes."
        ::= { zyxelAntiArpscanTrustHostEntry 3 }
  
        zyAntiArpscanTrustHostRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
		"This object allows trust host entries to be created and deleted."
        ::= { zyxelAntiArpscanTrustHostEntry 4 }


-- 
	    zyAntiArpscanHostClear OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Remove the filtered hosts on the specified port"
        ::= { zyxelAntiArpscanStatus 1 }
	
--		zyxelAntiArpscanHostTable

        zyxelAntiArpscanHostTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelAntiArpscanHostEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
		"The table contains host information."
        ::= { zyxelAntiArpscanStatus 2 }
        
		zyxelAntiArpscanHostEntry OBJECT-TYPE
        SYNTAX	ZyxelAntiArpscanHostEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        	"An entry contains host information."
        INDEX          	{ zyAntiArpscanHostMacAddress, zyAntiArpscanHostVid }
        ::= { zyxelAntiArpscanHostTable 1 }

        ZyxelAntiArpscanHostEntry ::=
           SEQUENCE {
			zyAntiArpscanHostMacAddress		MacAddress,
			zyAntiArpscanHostVid			INTEGER,
			zyAntiArpscanHostPort			INTEGER,
			zyAntiArpscanHostIpAddress		IpAddress,
			zyAntiArpscanHostStatus			INTEGER	
           }

        zyAntiArpscanHostMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This field displays the source MAC address of the host."
        ::= { zyxelAntiArpscanHostEntry 1 }

        zyAntiArpscanHostVid OBJECT-TYPE
        SYNTAX  INTEGER	(1.. 4094)
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
        "This field displays the source VLAN ID of the host."
        ::= { zyxelAntiArpscanHostEntry 2 }

        zyAntiArpscanHostPort OBJECT-TYPE
		SYNTAX 	INTEGER
        MAX-ACCESS	read-only
        STATUS	current
        DESCRIPTION	
        "This field displays the source port of the host."
		::= { zyxelAntiArpscanHostEntry 3 }     
	
        zyAntiArpscanHostIpAddress OBJECT-TYPE
        SYNTAX  IpAddress
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This field displays the Ip Address of the host."
        ::= { zyxelAntiArpscanHostEntry 4 } 
            
        zyAntiArpscanHostStatus OBJECT-TYPE
        SYNTAX  INTEGER{
			errDisable(2)
		}
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        "This field displays the Anti-Arpscan status of the host."
        ::= { zyxelAntiArpscanHostEntry 5 }

		
END
