-- 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-AUTHENTICATION-MIB.mib
-- Revision 1.5  2015/02/05 

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

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

	dot1dBasePort
       	FROM BRIDGE-MIB

	esMgmt			
		FROM ZYXEL-ES-SMI;

	zyxelMacAuthentication MODULE-IDENTITY
		LAST-UPDATED	"202310240000Z"
		ORGANIZATION "Enterprise Solution ZyXEL"     
		CONTACT-INFO
			""	   
		DESCRIPTION
			"The subtree for mac authentication"
		::= { esMgmt 46 }
		
	zyxelMacAuthenticationSetup	     	OBJECT IDENTIFIER ::= { zyxelMacAuthentication 1 }
	zyxelMacAuthenticationStatus	        OBJECT IDENTIFIER ::= { zyxelMacAuthentication 2 }
	                      
                                       
        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 set to this port trusted 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 1025 through 2048. The
             first octet corresponds to VLANs with VlanIndex values
             1025 through 1032; the second octet to VLANs 1033
             through 1040 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.

             For each VLAN that is set to this port trusted 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 2049 through 3072. The
             first octet corresponds to VLANs with VlanIndex values
             of 2049 through 2056; the second octet to VLANs 2057
             through 2064 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.

             For each VLAN that is set to this port trusted 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 3073 through 4094. The
             first octet corresponds to VLANs with VlanIndex values
             3073 through 3080; the second octet to VLANs 3081
             through 3088 etc.  The most significant bit of each
             octet corresponds to the lowest VlanIndex value in that
             octet.
        
             For each VLAN that is set to this port trusted 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 }
		 
        zyMacAuthenticationClearMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS  read-write
        STATUS  current
        DESCRIPTION
			"Clear recorded MAC address by MAC authentication"
        ::= { zyxelMacAuthenticationStatus 1 }		
END
