-- 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-MAC-FILTER-MIB.mib
-- Revision 1.6  2013/12/06 

ZYXEL-MAC-FILTER-MIB DEFINITIONS ::= BEGIN

    IMPORTS
	OBJECT-TYPE
		FROM SNMPv2-SMI			-- RFC2578	
		
	MODULE-IDENTITY
		FROM SNMPv2-SMI
	
	RowStatus, MacAddress
		FROM SNMPv2-TC			-- RFC2579
		
	DisplayString                                          
	  	FROM SNMPv2-TC
	  	
	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelMacFilter MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for MAC filter"
		::= { esMgmt 47 }
		
	zyxelMacFilterSetup	    OBJECT IDENTIFIER ::= { zyxelMacFilter 1 }
	       		                      
        
        zyMacFilterMaxNumberOfRules OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
			"The maximum number of filter rule that can be created."
        ::= { zyxelMacFilterSetup 1 }
                                             
--  	zyxelMacFilterTable
       	zyxelMacFilterTable	OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelMacFilterEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains MAC filter configuration."
        ::= { zyxelMacFilterSetup 2 }
        
		zyxelMacFilterEntry OBJECT-TYPE
        SYNTAX	ZyxelMacFilterEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
        	"An entry contains MAC filter configuration."
        INDEX          	{ zyMacFilterMacAddress, zyMacFilterVid }
        ::= { zyxelMacFilterTable 1 }

        ZyxelMacFilterEntry ::=
           SEQUENCE {
        	zyMacFilterMacAddress	MacAddress,
        	zyMacFilterVid			INTEGER,           
         	zyMacFilterName			DisplayString,
        	zyMacFilterAction		INTEGER,
        	zyMacFilterRowStatus	RowStatus
           }
       

        zyMacFilterMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"Type a MAC address in valid MAC address format, that is , six hexadecimal character pairs."
        ::= { zyxelMacFilterEntry 1 }

   		zyMacFilterVid OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The VLAN group identificaton number."
        ::= { zyxelMacFilterEntry 2 }   

        zyMacFilterName OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"A descriptive name for this rule. This is for identification only."
        ::= { zyxelMacFilterEntry 3 }

        zyMacFilterAction OBJECT-TYPE
        SYNTAX  INTEGER {
			discardSource(1),
			discardDestination(2),
			both(3)
		}
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"1.discard source : drop the frames from the source MAC address. 
			 The switch can still send frames to the MAC address. 
			 2. discard destination: drop the frames to the destination MAC address.
			 The switch can still receive frames originating from the MAC address.
			 3. both : block traffic to/from the MAC address specified in the MAC field."
        ::= { zyxelMacFilterEntry 4 }        

   		zyMacFilterRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
			"This object allows entries to be created and deleted from the filter table."
        ::= { zyxelMacFilterEntry 5 }

END
