    ADTRAN-ARP-MIB
                           
    DEFINITIONS ::= BEGIN

    -- TITLE:     The ADTRAN Total Access 5000 Gen ARP MIB
    -- VERSION:   1.0
    -- DATE:      September 3, 2008

    -- This MIB defines the object identifier (OID) for the Total Access
    -- Modules containing an ARP Table.

    -- MIBs supported:
    --   None

    -- HISTORY:
       -- September 3, 2008 Created to reveal the ARP Cache Entries via SNMP for TA5k ATM Agg, PIVOT, and SM.

    IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Integer32, IpAddress
            FROM SNMPv2-SMI

        DisplayString
            FROM SNMPv2-TC
			
	    adGenSlotInfoIndex 
		    FROM ADTRAN-GENSLOT-MIB

        adGenArp, adGenArpID
            FROM ADTRAN-GENTA5K-MIB;


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

    adTa5kArpModuleIdentity MODULE-IDENTITY
        LAST-UPDATED "200809030000Z"
        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
            "Total Access 5000 ARP MIB"
        ::= { adGenArpID 1 }

    -- ********************************************************************
    --                     adGenArpTable (30.1)
    -- ********************************************************************
    adGenArpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AdGenArpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                   "ARP Cache Table"
        ::= { adGenArp 1 }

    adGenArpEntry OBJECT-TYPE
        SYNTAX  AdGenArpEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                   "Table Entry"
        INDEX   { adGenSlotInfoIndex , adGenArpIpAddress, adGenArpOuterVlan, adGenArpInnerVlan }
        ::= { adGenArpTable 1 }

    AdGenArpEntry ::=
        SEQUENCE {  
                    adGenArpIpAddress                IpAddress,
                    adGenArpOuterVlan                Integer32,
					adGenArpInnerVlan                Integer32,
					adGenArpMacAddress               OCTET STRING,
                    adGenArpTTLMin                   Integer32,
                    adGenArpInterface                DisplayString,
                    adGenArpType                     INTEGER
                 }


    adGenArpIpAddress OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "IpAddress of ARP Entry"
        ::= { adGenArpEntry 1 }

    adGenArpOuterVlan OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "If Available, Outer VLAN Tag of entry 
                 4095 represents no vlan tag"
        ::= { adGenArpEntry 2 }

    adGenArpInnerVlan OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "If Available, Inner VLAN Tag of entry 
                 4095 represents no vlan tag"
        ::= { adGenArpEntry 3 }

    adGenArpMacAddress OBJECT-TYPE
        SYNTAX          OCTET STRING (SIZE (6))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "MacAddress of ARP Entry
                00:00:00:00:00:00 Signifies (Unavailable)"
        ::= { adGenArpEntry 4 }
    
    adGenArpTTLMin OBJECT-TYPE
        SYNTAX          Integer32
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION 
                "Number of minutes that an arp entry has until it is deleted"
        ::= { adGenArpEntry 5 }
        
    adGenArpInterface OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "May contain vlan tags, slot/port information or
                any other description needed to specify where this 
                entry is found"
        ::= { adGenArpEntry 6 }
        
    adGenArpType OBJECT-TYPE
        SYNTAX INTEGER {
                         other(1),   
						 invalid(2),
						 dynamic(3),
						 static(4),
                         proxy(5),
                         reachable(6),
                         stale(7),
                         incomplete(8)
                       }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
			   "Describes the current state of the arp entry
				other      --currently undefined
				invalid    --entry is about to be deleted
				dynamic    --entry was discovered by ARP - no state information present
				static,    --entry was entered by user or defined on an interface
				proxy,     --entry is being proxied by the ARP host
				reachable, --entry was discovered by ARP recently (half the timeout period)
				stale,     --entry was discovered by ARP and mac address has been used to send data, though the MAC is under review b/c of unresponsiveness to ARP requests
				incomplete --entry is awaiting discovery by ARP (no valid mac address) "
        ::= { adGenArpEntry 7 }
	
	adGenArpSettingsTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AdGenArpSettingsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                   "ARP Cache Settings"
        ::= { adGenArp 2 }

    adGenArpSettingsEntry OBJECT-TYPE
        SYNTAX  AdGenArpSettingsEntry
        MAX-ACCESS  not-accessible
        STATUS      current
        DESCRIPTION
                   "Table Entry"
        INDEX   { adGenSlotInfoIndex}
        ::= { adGenArpSettingsTable 1 }

    AdGenArpSettingsEntry ::=
        SEQUENCE {  
                    adGenArpTimeout                     Integer32
                 }

	adGenArpTimeout OBJECT-TYPE
        SYNTAX Integer32
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
			   "Describes how long before an unresponsive stale arp entry or unused entry 
			    remains in the arp cache table in minutes. Applies only to Dynamic Entries"
        ::= { adGenArpSettingsEntry 1 }
				 
END
