    ADTRAN-IEEE8021X-MIB

    DEFINITIONS ::= BEGIN

    -- TITLE:     The ADTRAN Generic IEEE 802.1X MIB
    -- VERSION:   1.0
    -- DATE:      May 1, 2009

    -- This MIB defines the object identifier (OID) for
    -- Modules supporting IEEE 802.1X.

    -- MIBs supported:
    --   None

    -- HISTORY:
       -- May 1, 2009 Created to reveal the Adtran generic IEEE 802.1X MIBs.

    IMPORTS
    	   adGen802dot1x, adGen802dot1xID
   	      	FROM ADTRAN-SHARED-CND-SYSTEM-MIB

         MODULE-IDENTITY, OBJECT-TYPE, Unsigned32
            FROM SNMPv2-SMI

  	  DisplayString
	      FROM SNMPv2-TC

	  dot1xPaePortNumber
	  	FROM IEEE8021-PAE-MIB

        InterfaceIndex,
		ifIndex
            FROM IF-MIB;


-- *********************************************************************************************************

    adGen802dot1xMIB MODULE-IDENTITY
        LAST-UPDATED "201306270000Z"
        ORGANIZATION
            "ADTRAN, Inc."
        CONTACT-INFO
            "CND Tech Support
                Postal: ADTRAN, Inc.
                        901 Explorer Blvd.
                        Huntsville, AL  35806
                        Tel: +1 800 726 8663
                        Fax: +1 256 963 6217
                        E-mail: support@adtran.com"
        DESCRIPTION
            "Adtran IEEE 802.1X-2004 MIB"

        REVISION "201306270000Z"
        DESCRIPTION
            "Added adGen802dot1xPortStatusClearCounters to adGen802dot1xPortStatusTable"

        REVISION "201306190000Z"
        DESCRIPTION
      		"Add adGen802dot1xPortConfigTable and adGen802dot1xPortStatusTable"

        ::= { adGen802dot1xID 1 }

    -- ********************************************************************
    --  The EAPOL Configuration Group
    -- ********************************************************************
    adGen802dot1xEapolConfigTable OBJECT-TYPE
    	SYNTAX 		SEQUENCE OF AdGen802dot1xEapolConfigEntry
    	MAX-ACCESS	not-accessible
    	STATUS		current
    	DESCRIPTION
    		"The Adtran specific IEEE 802.1X table."
    	::= { adGen802dot1x 1 }

    adGen802dot1xEapolConfigEntry OBJECT-TYPE
    	SYNTAX		AdGen802dot1xEapolConfigEntry
    	MAX-ACCESS	not-accessible
    	STATUS		current
    	DESCRIPTION
    		"An entry in the Adtran specific IEEE 802.1X table."
    	INDEX { ifIndex }
    	::= { adGen802dot1xEapolConfigTable 1 }

    AdGen802dot1xEapolConfigEntry ::=
    	SEQUENCE {
    		adGen802dot1xEapRespTimeout
    			Unsigned32,
    		adGen802dot1xMaxEapReq
    			Unsigned32
    		}

    adGen802dot1xEapRespTimeout OBJECT-TYPE
    	SYNTAX		Unsigned32
    	MAX-ACCESS	read-write
    	STATUS		current
    	DESCRIPTION
    		"The value, in seconds, of the EAP response timeout constant
    		currently in use by the EAPOL state machine that the
    		authenticator will wait for a response from the supplicant.
    		The default value is 30 seconds and can range in value from
    		1 - 65,535 seconds."
    	DEFVAL { 30 }
    	::= { adGen802dot1xEapolConfigEntry 1 }

    adGen802dot1xMaxEapReq OBJECT-TYPE
    	SYNTAX		Unsigned32
    	MAX-ACCESS	read-write
    	STATUS		current
    	DESCRIPTION
    		"The value of the maximum requests constant currently in use
    		by the EAPOL state machine that the authenticator will retransmit
    		an Extensible Authentication Protocol (EAP) packet to the
    		supplicant before it times out the authentication session.  The
    		default value is 2 and can range in value from 1 - 10."
   		DEFVAL { 2 }
   		::= { adGen802dot1xEapolConfigEntry 2 }


    -- ********************************************************************
    --  The Port Configuration Group
    -- ********************************************************************
    adGen802dot1xPortConfigTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AdGen802dot1xPortConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Adtran specific IEEE 802.1X port table."
        ::= { adGen802dot1x 2 }

    adGen802dot1xPortConfigEntry OBJECT-TYPE
        SYNTAX      AdGen802dot1xPortConfigEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the Adtran specific IEEE 802.1X table."
        INDEX { dot1xPaePortNumber }
        ::= { adGen802dot1xPortConfigTable 1 }

    AdGen802dot1xPortConfigEntry ::=
        SEQUENCE {
            adGen802dot1xPortIPEntity
                INTEGER,
            adGen802dot1xPortIPHostName
                DisplayString,
            adGen802dot1xPortAuthServerType
                INTEGER,
            adGen802dot1xPortRadiusServerGroupName
                DisplayString
            }

    adGen802dot1xPortIPEntity OBJECT-TYPE
        SYNTAX      INTEGER {
                        none(1),
                        ipHost(2),
                        subtendedHost(3)
                        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The type of IP entity associated with port authentication.
             If type is none(1), there is no connection to an IP entity"
        ::= { adGen802dot1xPortConfigEntry 1 }

    adGen802dot1xPortIPHostName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "If adGen802dot1xPortIPEntity is set to ipHost(2), this object
             refers to the name of the IP host.  Not used otherwise."
        ::= { adGen802dot1xPortConfigEntry 2 }

    adGen802dot1xPortAuthServerType OBJECT-TYPE
        SYNTAX      INTEGER {
                        radius(1)
                        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "The type of server used in port authentication."
        ::= { adGen802dot1xPortConfigEntry 3 }

    adGen802dot1xPortRadiusServerGroupName OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "If adGen802dot1xPortIPEntity is set to subtendedHost(3)
	    and adGen802dot1xPortAuthServerType is set to radius(1), this
            object represents the name of the RADIUS group.
	    Not used otherwise."
        ::= { adGen802dot1xPortConfigEntry 4 }

    -- ********************************************************************
    --  The Port Status
    -- ********************************************************************
    adGen802dot1xPortStatusTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF AdGen802dot1xPortStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "The Adtran specific IEEE 802.1X port Status table."
        ::= { adGen802dot1x 3 }

    adGen802dot1xPortStatusEntry OBJECT-TYPE
        SYNTAX      AdGen802dot1xPortStatusEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
            "An entry in the Adtran specific IEEE 802.1X table."
        INDEX { dot1xPaePortNumber }
        ::= { adGen802dot1xPortStatusTable 1 }

    AdGen802dot1xPortStatusEntry ::=
        SEQUENCE {
            adGen802dot1xPortStatusLastError
                DisplayString,
            adGen802dot1xPortStatusClearCounters
                INTEGER
	}

   adGen802dot1xPortStatusLastError OBJECT-TYPE
        SYNTAX      DisplayString
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "Returns the last error that occurred"
        ::= { adGen802dot1xPortStatusEntry 1 }

   adGen802dot1xPortStatusClearCounters OBJECT-TYPE
        SYNTAX      INTEGER {
                        clear(1)
                        }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION
            "A SET to a value of clear(1) will clear all 802.1x rolling counters
             associated with the specified interface.  A GET always returns 1."
        ::= { adGen802dot1xPortStatusEntry 2 }

END
