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

ZYXEL-PORT-SECURITY-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
		
	PortList
		FROM  Q-BRIDGE-MIB
		
	dot1dBasePort
       	FROM BRIDGE-MIB

	esMgmt			
		FROM ZYXEL-ES-SMI;


	zyxelPortSecurity MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for dhcp"
		::= { esMgmt 66 }
		
	zyxelPortSecuritySetup  OBJECT IDENTIFIER ::= { zyxelPortSecurity 1 }
	
	
-- *******************************************************************
-- *
-- * zyxelPortSecuritySetup
-- *
-- *******************************************************************

-- zyxelPortSecurityState
 		zyPortSecurityState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable port security on the switch."
        ::= { zyxelPortSecuritySetup 1 }
        
-- zyxelPortSecurityPortTable
        zyxelPortSecurityPortTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelPortSecurityPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains port security on the specified port configuration. "
        ::= { zyxelPortSecuritySetup 2 }
        
		zyxelPortSecurityPortEntry OBJECT-TYPE
        SYNTAX	ZyxelPortSecurityPortEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
			"An entry contains port security on the specified port configuration. "
        INDEX          	{ dot1dBasePort }
        ::= { zyxelPortSecurityPortTable 1 }

        ZyxelPortSecurityPortEntry ::=
           SEQUENCE {
        	zyPortSecurityPortState			EnabledStatus,
			zyPortSecurityPortLearnState	EnabledStatus,
			zyPortSecurityPortMacLimit		INTEGER
           }

        zyPortSecurityPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
 			"Enable/Disable Port Security on the specified port. Enable(1) means this port only accept frames 
 			from static MAC addresses that are configured for the port,and dynamic MAC address frames up to the 
 			number specified by zyxelPortSecurityPortMacLimit object."
        ::= { zyxelPortSecurityPortEntry 1 }
        
        zyPortSecurityPortLearnState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/Disable MAC address learning on the specified port. MAC address learning reduces outgoing 
			broadcast traffic. For MAC address learning to occur on a port, the port itself must be active with 
			address learning enabled. "
        ::= { zyxelPortSecurityPortEntry 2 }
        
        zyPortSecurityPortMacLimit OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Set this field to limit the number of (dynamic) MAC addresses that may be learned on a port. For 
			example, if you set this field to 5 on port 2, then only the devices with these five learned MAC 
			addresses may access port 2 at any one time. A sixth device must wait until one of the five learned 
			MAC addresses ages out. "
        ::= { zyxelPortSecurityPortEntry 3 }

-- zyxelPortSecurityMacFreeze
		zyPortSecurityMacFreeze OBJECT-TYPE
        SYNTAX  PortList
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
                    "This entry is used to execute MacFreeze action to port. 
					It's meaningless while reading this entry."
        ::= { zyxelPortSecuritySetup 3 }     
        
-- zyxelPortSecurityMaxNumberOfVMLs
		zyPortSecurityMaxNumberOfVMLs OBJECT-TYPE
		SYNTAX  INTEGER
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
                    "The maximum number of port security VML that can be created."
        ::= { zyxelPortSecuritySetup 4 }

-- zyxelPortSecurityVMLTable     
    	zyxelPortSecurityVMLTable OBJECT-TYPE
        SYNTAX	SEQUENCE OF ZyxelPortSecurityVMLEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                 	"The table contains VLAN MAC address limit on the specified port for the specified VLAN configuration. "
        ::= { zyxelPortSecuritySetup 5 }
        
		zyxelPortSecurityVMLEntry OBJECT-TYPE
        SYNTAX	ZyxelPortSecurityVMLEntry
        MAX-ACCESS	not-accessible
        STATUS	current
        DESCRIPTION    	
					"An entry contains VLAN MAC address limit on the specified port for the specified VLAN configuration. "
        INDEX          	{ zyPortSecurityVMLPort, zyPortSecurityVMLVID }
        ::= { zyxelPortSecurityVMLTable 1 }

        ZyxelPortSecurityVMLEntry ::=
           SEQUENCE {
        	zyPortSecurityVMLPort		INTEGER,
			zyPortSecurityVMLVID		INTEGER,
			zyPortSecurityVMLMacLimit	INTEGER,
			zyPortSecurityVMLRowStatus	RowStatus 
           }

        zyPortSecurityVMLPort OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"The configured port number of VLAN MAC Limit."
        ::= { zyxelPortSecurityVMLEntry 1 }
        
        zyPortSecurityVMLVID OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
                      	"The configured VLAN number of VLAN MAC Limit."
        ::= { zyxelPortSecurityVMLEntry 2 }
        
        zyPortSecurityVMLMacLimit OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Set this field to limit the number of (dynamic) MAC addresses that may be learned on a port in a 
			specified VLAN. For example, if you set this field to 5 on port 2 in VLAN 3, then only the devices 
			with these five learned MAC addresses may access port 2 in VLAN 3 at any one time. A sixth device 
			would have to wait until one of the five learned MAC addresses aged out. "
        ::= { zyxelPortSecurityVMLEntry 3 }   
         
        zyPortSecurityVMLRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
			"This object allows entries to be created and deleted from the portSecurityVMLTable."
        ::= { zyxelPortSecurityVMLEntry 4 }


END      
