-- ################################################################################

EXTREME-MAC-AUTH-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    MacAddress, TEXTUAL-CONVENTION, TruthValue
        FROM SNMPv2-TC
    InterfaceIndex
        FROM IF-MIB
    extremeAgent
        FROM EXTREME-BASE-MIB
    ;

extremeMacAuthMIB MODULE-IDENTITY
    LAST-UPDATED "201403040000Z"

    ORGANIZATION "Extreme Networks, Inc."

    CONTACT-INFO "www.extremenetworks.com"

    DESCRIPTION
        "Extreme MAC Authentication MIB.

         This MIB defines objects to control client authentication
         based on the source MAC address of the traffic received on
         a port."

    ::= { extremeAgent 44 }

extremeMacAuthObjects OBJECT IDENTIFIER ::= { extremeMacAuthMIB 1 }

--
-- MAC Authentication Client Table
--

extremeMacAuthClientTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ExtremeMacAuthClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The MAC authentication client table."
    ::= { extremeMacAuthObjects 1 }

extremeMacAuthClientEntry OBJECT-TYPE
    SYNTAX      ExtremeMacAuthClientEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An entry in the MAC authentication table. Each entry
         represents a MAC authentication client."
    INDEX { extremeMacAuthClientAddress }
    ::= { extremeMacAuthClientTable 1 }

ExtremeMacAuthClientEntry ::=
    SEQUENCE {
        extremeMacAuthClientAddress        MacAddress,
        extremeMacAuthClientInitialize     TruthValue,
        extremeMacAuthClientReauthenticate TruthValue
    }

extremeMacAuthClientAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The MAC address of the client."
    ::= { extremeMacAuthClientEntry 1 }

extremeMacAuthClientInitialize OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to true shall cause the system to
         remove the entry for the client from extremeMacAuthClientTable.
         If the client was authenticated, it shall be un-authenticated
         prior to its removal.

         Setting this object to false has no effect.
         This object always returns false when it is read."
    ::= { extremeMacAuthClientEntry 2 }

extremeMacAuthClientReauthenticate OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Setting this object to true shall cause the system to
         re-authenticate the client on all ports on which the
         client is connected.

         Setting this object to false has no effect.
         This object always returns false when it is read."
    ::= { extremeMacAuthClientEntry 3 }

END
