-- 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-MAC-AUTHENTICATION-MIB.mib $ 
-- Revision 1.5  2015/02/05 07:25:28  Alan 
-- Add new feature Per VLAN MAC-Authentication 
-- Revision 1.4  2013/12/06 07:06:41  ccho 
-- remove uncessary imports 
-- Revision 1.3  2012/09/19 07:40:35  Kevin 
-- if it's leaf node, revise the vender name from zyxel to zy 
-- Revision 1.2  2012/07/05 06:23:32  Kevin 
-- 1. upgrade from SNMP to SNMPv2  
-- 2. clean warning 
-- Revision 1.1  2012/05/30 07:49:47  Kevin 
-- Initial revision 

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

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

	dot1dBasePort
       	FROM BRIDGE-MIB

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelMacAuthentication MODULE-IDENTITY
		LAST-UPDATED	"201207010000Z"    
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for mac authentication"
		::= { esMgmt 46 }
		
	zyxelMacAuthenticationSetup	     	OBJECT IDENTIFIER ::= { zyxelMacAuthentication 1 }
	                      
                                       
        zyMacAuthenticationState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/disable MAC authentication on the switch.
			 MAC authentication works in a very similar way to IEEE 802.1x authentication. "
        ::= { zyxelMacAuthenticationSetup 1 }
 
        zyMacAuthenticationNamePrefix OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Type the prefix that is appended to all MAC addresses sent to the RADIUS server for authentication."
        ::= { zyxelMacAuthenticationSetup 2 }
 
        zyMacAuthenticationPassword OBJECT-TYPE
        SYNTAX  DisplayString
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Type the password the switch sends along with the MAC address of 
			 a client for authentication with the RADIUS server."
        ::= { zyxelMacAuthenticationSetup 3 }
 
        zyMacAuthenticationTimeout OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Specify the amount of time before the switch allows a client MAC address that fails authentication 
			 to try and authenticate again. Maximum time is 3000 seconds."
        ::= { zyxelMacAuthenticationSetup 4 }
		
--		zyxelMacAuthenticationPortTable
 
		zyxelMacAuthenticationPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ZyxelMacAuthenticationPortEntry
        MAX-ACCESS  not-accessible
        STATUS  current
        DESCRIPTION
			"The table contains MAC authentication port configuration."
        ::= { zyxelMacAuthenticationSetup 5 }
        
 		zyxelMacAuthenticationPortEntry OBJECT-TYPE
        SYNTAX ZyxelMacAuthenticationPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION     
        	"An entry contains MAC authentication port configuration."
        INDEX           { dot1dBasePort }
        ::= { zyxelMacAuthenticationPortTable 1 }
 
		ZyxelMacAuthenticationPortEntry ::=
		SEQUENCE {
			zyMacAuthenticationPortState EnabledStatus,
			zyMacAuthenticationPortTrustedVlan1k	OCTET STRING,
			zyMacAuthenticationPortTrustedVlan2k	OCTET STRING,
			zyMacAuthenticationPortTrustedVlan3k	OCTET STRING,
			zyMacAuthenticationPortTrustedVlan4k	OCTET STRING
		}
 
        zyMacAuthenticationPortState OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Enable/disable MAC authentication on the port."
        ::= { zyxelMacAuthenticationPortEntry 1 }
		
		zyMacAuthenticationPortTrustedVlan1k OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
           "A string of octets containing one bit per VLAN. The
            first octet corresponds to VLANs with VlanIndex values
            1 through 8; the second octet to VLANs 9 through
            16 etc.  The most significant bit of each octet
            corresponds to the lowest VlanIndex value in that octet.

            For each VLAN that is associated to this primary VLAN,
            the bit corresponding to that VLAN is set to '1'.
            Empty (zero) most significant octes are not mandatory."
    	::= { zyxelMacAuthenticationPortEntry 2 }
		
        zyMacAuthenticationPortTrustedVlan2k      OBJECT-TYPE
            SYNTAX  OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS  current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 1024 through 2047. The
             first octet corresponds to VLANs with VlanIndex values
             1024 through 1031; the second octet to VLANs 1032
             through 1039 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.
             
             For each VLAN that is associated to this primary VLAN,
             the bit corresponding to that VLAN is set to '1'.

             Empty (zero) most significant octes are not mandatory."
         ::= { zyxelMacAuthenticationPortEntry 3 }
        
        zyMacAuthenticationPortTrustedVlan3k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 2048 through 3071. The
             first octet corresponds to VLANs with VlanIndex values
             of 2048 through 2055; the second octet to VLANs 2056
             through 2063 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.

             For each VLAN that is associated to this primary VLAN,
             the bit corresponding to that VLAN is set to '1'.

             Empty (zero) most significant octes are not mandatory."
         ::= { zyxelMacAuthenticationPortEntry 4 }
        
        zyMacAuthenticationPortTrustedVlan4k      OBJECT-TYPE
            SYNTAX      OCTET STRING (SIZE (0..128))
            MAX-ACCESS  read-write
            STATUS      current
            DESCRIPTION
            "A string of octets containing one bit per VLAN for
             VLANS with VlanIndex values 3072 through 4095. The
             first octet corresponds to VLANs with VlanIndex values
             3072 through 3079; the second octet to VLANs 3080
             through 3087 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.
        
             For each VLAN that is associated to this primary VLAN,
             the bit corresponding to that VLAN is set to '1'.
           
             Empty (zero) most significant octes are not mandatory."
         ::= { zyxelMacAuthenticationPortEntry 5 }

		 
        zyMacAuthenticationDelimiter OBJECT-TYPE
        SYNTAX  INTEGER {
			dash(1),
			colon(2),
			none(3)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Delimiter used in the MAC string:
				dash specifies the format xx-xx-xx-xx-xx-xx
				colon specifies the format xx:xx:xx:xx:xx:xx
				none specifies the format xxxxxxxxxxxx"
        ::= { zyxelMacAuthenticationSetup 6 }	

        zyMacAuthenticationCase OBJECT-TYPE
        SYNTAX  INTEGER {
			upper(1),
			lower(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"This option specifies the case (upper or lower) used in the MAC string."
        ::= { zyxelMacAuthenticationSetup 7 }

        zyMacAuthenticationPasswordType OBJECT-TYPE
        SYNTAX  INTEGER {
			static(1),
			mac-address(2)
        }
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Password type specifies the use of static password or User-Name(MAC address string) as the password."
        ::= { zyxelMacAuthenticationSetup 8 }
		 
END
