Network Working Group
Request for Comments: 2677
Category: Standards Track
M. Greene
Contractor
J. Cucchiara
IronBridge Networks
J. Luciani
Bay Networks
August 1999

Definitions of Managed Objects for

the NBMA Next Hop Resolution Protocol (NHRP)

Status of this Memo

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

Copyright Notice

Copyright © The Internet Society (1999). All Rights Reserved.

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for the Next Hop Resolution Protocol (NHRP) as defined in RFC 2332.

Table of Contents

   1 Introduction .................................................    2
   2 The SNMP Management Framework ................................    2
   3 Structure of the MIB .........................................    3
   3.1 The NHRP General Group .....................................    3
   3.1.1 The NHRP Cache Table .....................................    4
   3.1.2 The NHRP Purge Request Table .............................    4
   3.2 The NHRP Client Group ......................................    4
   3.2.1 The NHRP Client Table ....................................    4
   3.2.2 The NHRP Client Registration Table .......................    5
   3.2.3 The NHRP Client NHS Table ................................    5
   3.2.4 The NHRP Client Statistics Table .........................    5
   3.3 The NHRP Server Group ......................................    5
   3.3.1 The NHRP Server Table ....................................    5
   3.3.2 The NHRP Server Cache Table ..............................    5
   3.3.3 The NHRP Server NHC Table ................................    6
   
   3.3.4 The NHRP Server Statistics Table .........................    6
   4 NBMA Next Hop Resolution Protocol MIB Definitions ............    6
   5 IANA Considerations ..........................................   62
   6 Security .....................................................   62
   7 Intellectual Property ........................................   63
   8 Acknowledgments ..............................................   63
   9 References ...................................................   64
   10 Authors' Addresses ..........................................   66
   11 Full Copyright Statement ....................................   67

1. Introduction

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it describes managed objects for the Next Hop Resolution Protocol (NHRP) as defined in RFC 2332 [17].

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 [21].

2. The SNMP Management Framework

The SNMP Management Framework presently consists of five major components:

    o   An overall architecture, described in RFC 2571 [1].
    
    o   Mechanisms for describing and naming objects and events for the
        purpose of management. The first version of this Structure of
        Management Information (SMI) is called SMIv1 and described in
        STD 16, RFC 1155 [2], STD 16, RFC 1212 [3] and RFC 1215 [4]. The
        second version, called SMIv2, is described in STD 58, RFC 2578
        [5], STD 58, RFC 2579 [6] and STD 58, RFC 2580 [7].
    
    o   Message protocols for transferring management information. The
        first version of the SNMP message protocol is called SNMPv1 and
        described in STD 15, RFC 1157 [8]. A second version of the SNMP
        message protocol, which is not an Internet standards track
        protocol, is called SNMPv2c and described in RFC 1901 [9] and RFC
        1906 [10].  The third version of the message protocol is called
        SNMPv3 and described in RFC 1906 [10], RFC 2572 [11] and RFC 2574
        [12].
    
    o   Protocol operations for accessing management information. The
        first set of protocol operations and associated PDU formats is
        described in STD 15, RFC 1157 [8]. A second set of protocol
        operations and associated PDU formats is described in RFC 1905
        [13].
    
    o   A set of fundamental applications described in RFC 2573 [14] and
        the view-based access control mechanism described in RFC 2575
        [15].

A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [16].

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI.

This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB.

3. Structure of the MIB

The NHRP MIB contains three groups: the General Group, the Client Group, and the Server Group.

3.1. The NHRP General Group

   The General Group contains objects that apply to both clients and
   servers -- in particular the nhrpNextIndex scalar object,  the NHRP
   Cache Table and the NHRP Purge Request Table.

The nhrpNextIndex scalar object is used to provide unique indices for the nhprClientIndex in the nhrpClientTable and the nhrpServerIndex in the nhrpServerTable. If used consistently, this object may prevent conflicts when multiple managers attempt to create rows simultaneously in the same table.

3.1.1. The NHRP Cache Table

The NHRP Cache Table represents the internetwork layer address to NBMA address cache that is maintained by both NHRP clients and NHRP servers.

The NHRP Cache Table contains an ifIndex as part of the Index Clause. This ifIndex represents the use of a generic ifIndex, such that the value of this ifIndex SHOULD reflect a specific NBMA subnetwork related interface as determined by an implementation. For example, assuming that the NBMA subnetwork is ATM, then it is up to the implementors of this MIB to determine their own ATM interface layering (assuming compliance with the IF-MIB, RFC 2233 [18] and the ATM-MIB, RFC 2515 [19]). In other words, assuming that the NBMA subnetwork is ATM, the ifIndex in the NHRP Cache Table would represent the ifIndex containing or consisting of the VC (or shortcut) denoted by this Table entry.

The indexing scheme for the NHRP Cache Table is very similar to the MPC Ingress Cache Table and the MPS Ingress Cache Table in the

   Multiprotocol Over ATM (MPOA) MIB [23].  This MIB and the MPOA MIB
   were designed to be complementary and non-overlapping.  The MPOA MIB
   should also support this MIB.  The MPOA MIB was designed prior to
   this MIB, and was designed by the LANE/MPOA Working Group in the ATM
   FORUM.   The indexing scheme of the NHRP Cache Table (and the NHRP
   Server Cache Table) reflect the indexing scheme of the MPC Ingress
   Cache Table and the MPS Ingress Cache Table.  Although, other
   indexing schemes could have been used for the NHRP Cache Table, a
   consistent indexing scheme between these tables was thought to be
   more advantageous from an implementation standpoint.

3.1.2. The NHRP Purge Request Table

The NHRP Purge Request Table is a way to track Purge Request Information.

3.2. The NHRP Client Group

The Client Group contains objects that only apply to NHRP clients (NHCs).

3.2.1. The NHRP Client Table

The NHRP Client Table contains entries for NHRP Next Hop Clients (NHCs) associated with this agent. Each row in the table represents a single NHC. The RequestID used in Registration requests needs to be saved to non-volatile storage. Depending upon the implementation, this may or may not impact how the StorageType is used. For a complete description of how the Registration RequestID is used, see Section 5.2.3 of [17].

3.2.2. The NHRP Client Registration Table

   The NHRP Client Registration Table contains information on
   registration requests which need to be maintained by the Clients.
   Each entry in this table represents a single registration request.
   Note:  since the NHRP specification does not mandate a refresh
   algorithm, this table omits refresh information, however, this table
   does contain information for all the registration requests which need
   to be maintained by the NHRP Clients.

3.2.3. The NHRP Client NHS Table

The NHRP Client NHS Table contains the NBMA subnetwork addresses of servers configured for use by the client. By default, the agent will add an entry to this table which corresponds to the client's default router.

3.2.4. The NHRP Client Statistics Table

The NHRP Client Statistics Table contains NHRP statistics maintained by a client. These statistics include counters on requests and replies, as well as counters for errors which are encountered by the Clients.

3.3. The NHRP Server Group

The Server Group contains objects that only apply to NHRP servers (NHSes).

3.3.1. The NHRP Server Table

The NHRP Server Table contains entries for each server associated with this agent.

3.3.2. The NHRP Server Cache Table

The NHRP Server Cache Table contains additional objects that a server keeps for each entry in its cache. This table extends the NHRP Cache Table defined in the General Group.

3.3.3. The NHRP Server NHC Table

This table contains information about all the Clients known to the Servers.

3.3.4. The NHRP Server Statistics Table

The NHRP Server Statistics Table contains NHRP statistics maintained by a server. These statistics include counters on requests and replies, as well as counters for errors which are encountered by the Servers.

4. NBMA Next Hop Resolution Protocol MIB Definitions

NHRP-MIB DEFINITIONS ::= BEGIN

   IMPORTS
   
       OBJECT-TYPE, MODULE-IDENTITY, mib-2, Integer32,
       Counter32, Unsigned32
           FROM SNMPv2-SMI
       MODULE-COMPLIANCE, OBJECT-GROUP
           FROM SNMPv2-CONF
       TEXTUAL-CONVENTION, TruthValue, RowStatus, StorageType,
       TimeStamp
           FROM SNMPv2-TC
       ifIndex
           FROM IF-MIB
       AddressFamilyNumbers
           FROM IANA-ADDRESS-FAMILY-NUMBERS-MIB
       ;

nhrpMIB MODULE-IDENTITY

       LAST-UPDATED "9908260000Z"  -- August 26, 1999
       ORGANIZATION "Internetworking Over NBMA (ion) Working Group"
       CONTACT-INFO
           "Maria Greene (maria@xedia.com)
            Contractor
       
            Joan Cucchiara (joan@ironbridgenetworks.com)
            IronBridge Networks
       
            James V. Luciani (luciani@baynetworks.com)
            Bay Networks"

DESCRIPTION

"This MIB contains managed object definitions for the Next Hop Resolution Procol, NHRP, as defined in RFC 2332 [17]."

       -- revision history
       
       REVISION     "9908260000Z"  -- August 26, 1999
       DESCRIPTION  "Initial version, published as RFC 2677."
       
       ::= { mib-2 71 }

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

    -- NHRP Textual Conventions
    --****************************************************************

NhrpGenAddr ::= TEXTUAL-CONVENTION

        STATUS      current
        DESCRIPTION
            "The value of an internetwork layer or NBMA address."
        SYNTAX      OCTET STRING (SIZE (0..64))
    
    nhrpObjects OBJECT IDENTIFIER ::= { nhrpMIB 1 }
    
    --****************************************************************
    -- NHRP General (Client and Server) Objects
    --****************************************************************
    
    nhrpGeneralObjects OBJECT IDENTIFIER ::= { nhrpObjects 1 }
    
    --
    --  The following scalar is to be used to
    --  provided indices for the
    --  nhrpClientTable, and/or the nhrpServerTable.
    --
    
    nhrpNextIndex   OBJECT-TYPE
        SYNTAX      Unsigned32
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION
            "This scalar is used for creating rows in the
            nhrpClientTable and the nhrpServerTable.
            The value of this variable is a currently unused value
            for nhrpClientIndex and nhrpServerIndex.

The value returned when reading this variable must be unique for the NHC's and NHS's indices associated with this row. Subsequent attempts to read this variable must return different values.

            NOTE:  this object exists in the General Group because
            it is to be used in establishing rows in the
            nhrpClientTable and the nhrpServerTable.  In other words,
            the value retrieved from this object could become the
            value of nhrpClientIndex and nhprServerIndex.

In the situation of an agent re-initialization the value of this object must be saved in non-volatile storage.

            This variable will return the special value 0 if no new
            rows can be created."
        ::= { nhrpGeneralObjects 1 }
        
        --
        -- The NHRP Cache Table
        --

nhrpCacheTable OBJECT-TYPE

            SYNTAX      SEQUENCE OF NhrpCacheEntry
            MAX-ACCESS  not-accessible
            STATUS      current
       
       DESCRIPTION
           "This table contains mappings between internetwork layer
           addresses and NBMA subnetwork layer addresses."
       ::= { nhrpGeneralObjects 2 }

nhrpCacheEntry OBJECT-TYPE

       SYNTAX      NhrpCacheEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A cached mapping between an internetwork layer address
           and an NBMA address. Entries can be created by the
           network administrator using the nhrpCacheRowStatus
           column, or they may be added dynamically based on
           protocol operation (including NHRP, SCSP, and others,
           such as ATMARP).

When created based by NHRP protocol operations

this entry is largely based on contents contained in

the Client Information Entry (CIE).

           Zero or more Client Information Entries (CIEs) may be
           included in the NHRP Packet. For a complete description
           of the CIE, refer to Section 5.2.0.1 of
           RFC 2332 [17]."
       INDEX       {
                       nhrpCacheInternetworkAddrType,
                       nhrpCacheInternetworkAddr,
                       ifIndex,
                       nhrpCacheIndex
                   }
       ::= { nhrpCacheTable 1 }

NhrpCacheEntry ::= SEQUENCE {

       nhrpCacheInternetworkAddrType    AddressFamilyNumbers,
       nhrpCacheInternetworkAddr        NhrpGenAddr,
       nhrpCacheIndex                   Unsigned32,
       nhrpCachePrefixLength            Integer32,
       nhrpCacheNextHopInternetworkAddr NhrpGenAddr,
       nhrpCacheNbmaAddrType            AddressFamilyNumbers,
       nhrpCacheNbmaAddr                NhrpGenAddr,
       nhrpCacheNbmaSubaddr             NhrpGenAddr,
       nhrpCacheType                    INTEGER,
       nhrpCacheState                   INTEGER,
       nhrpCacheHoldingTimeValid        TruthValue,
       nhrpCacheHoldingTime             Unsigned32,
       nhrpCacheNegotiatedMtu           Integer32,
       nhrpCachePreference              Integer32,
       nhrpCacheStorageType             StorageType,
       nhrpCacheRowStatus               RowStatus
   
   }

nhrpCacheInternetworkAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The internetwork layer address type of this Next Hop
           Resolution Cache entry. The value of this object indicates
           how to interpret the values of nhrpCacheInternetworkAddr
           and nhrpCacheNextHopInternetworkAddr."
       ::= { nhrpCacheEntry 1 }

nhrpCacheInternetworkAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "The value of the internetwork address of the
           destination."
       ::= { nhrpCacheEntry 2 }

nhrpCacheIndex OBJECT-TYPE

       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An identifier for this entry that has local
           significance within the scope of the General
           Group.  This identifier is used here to
           uniquely identify this row, and also used
           in the 'nhrpPurgeTable' for the value of
           the 'nhrpPurgeCacheIdentifier'."
       ::= { nhrpCacheEntry 3 }

nhrpCachePrefixLength OBJECT-TYPE

       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of bits that define the internetwork layer
           prefix associated with the nhrpCacheInternetworkAddr."
       ::= { nhrpCacheEntry 4 }

nhrpCacheNextHopInternetworkAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the internetwork address of the next hop."
       
       ::= { nhrpCacheEntry 5 }

nhrpCacheNbmaAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The NBMA address type. The value of this
           object indicates how to interpret
           the values of nhrpCacheNbmaAddr and
           nhrpCacheNbmaSubaddr."
       ::= { nhrpCacheEntry 6 }

nhrpCacheNbmaAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the NBMA subnetwork address of the next
           hop."
       ::= { nhrpCacheEntry 7 }

nhrpCacheNbmaSubaddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the NBMA subaddress of the next hop. If
           there is no subaddress concept for the NBMA address
           family, this value will be a zero-length OCTET STRING."
       ::= { nhrpCacheEntry 8 }

nhrpCacheType OBJECT-TYPE

       SYNTAX      INTEGER {
                       other(1),
                       register(2),
                       resolveAuthoritative(3),
                       resoveNonauthoritative(4),
                       transit(5),
                       administrativelyAdded(6),
                       atmarp(7),
                       scsp(8)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An indication of how this cache entry
           was created. The values are:
       
           'other(1)'                   The entry was added by some
                                        other means.
       
           'register(2)'                In a server, added based on a
                                        client registration.
       
           'resolveAuthoritative(3)'    In a client, added based on
                                        receiving an Authoritative
                                        NHRP Resolution Reply.

'resolveNonauthoritative(4)' In a client, added based on

receiving a Nonauthoritative NHRP Resolution Reply.

           'transit(5)'                 In a transit server, added by
                                        examining a forwarded NHRP
                                        packet.
           
           'administrativelyAdded(6)'   In a client or server,
                                        manually added by the
                                        administrator. The
                                        StorageType of this entry is
                                        reflected in
                                        'nhrpCacheStorageType'.
           
           'atmarp(7)'                  The entry was added due to an
                                        ATMARP.
           
           'scsp(8)'                    The entry was added due to
                                        SCSP.

When the entry is under creation using the nhrpCacheRowStatus column, the only value that can be specified by the administrator is 'administrativelyAdded'. Attempting to set any other value will cause an 'inconsistentValue' error.

           The value cannot be modified once the entry is active."
       ::= { nhrpCacheEntry 9 }

nhrpCacheState OBJECT-TYPE

       SYNTAX      INTEGER {
                       incomplete(1),
                       ackReply(2),
                       nakReply(3)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION

"An indication of the state of this entry. The values are:

'incomplete(1)' The client has sent a NHRP Resolution

Request but has not yet received the NHRP Resolution Reply.

               'ackReply(2)'   For a client or server, this is a
               
                               cached valid mapping.
       
               'nakReply(3)'   For a client or server, this is a
                               cached NAK mapping."
       ::= { nhrpCacheEntry 10 }

nhrpCacheHoldingTimeValid OBJECT-TYPE

       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "True(1) is returned if the value of
           'nhrpCacheType' is not
           'administrativelyAdded'.  Since the
           value of 'nhrpCacheType' was not
           configured by a user, the value of
           'nhrpCacheHoldingTime' is
           considered valid.  In other words, the value of
           'nhrpCacheHoldingTime' represents
           the Holding Time for the cache Entry.
       
           If 'nhrpCacheType has been configured by a
           user, (i.e. the value of 'nhrpCacheType' is
           'administrativelyAdded') then false(2) will be returned.
           This indicates that the value of
           'nhrpCacheHoldingTime' is undefined because this row
           could possibly be backed up in nonvolatile storage."
       ::= { nhrpCacheEntry 11 }

nhrpCacheHoldingTime OBJECT-TYPE

       SYNTAX      Unsigned32(0..65535)
       UNITS       "seconds"
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "If the value of 'nhrpCacheHoldingTimeValid is
           true(1) then this object represents the number
           of seconds that the cache entry will remain in this
           table.  When this value reaches 0 (zero) the row should
           be deleted.
       
           If the value of 'nhrpCacheHoldingTimeValid is
           false(2) then this object is undefined."
       ::= { nhrpCacheEntry 12 }

nhrpCacheNegotiatedMtu OBJECT-TYPE

       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The maximum transmission unit (MTU) that was negotiated
           or registered for this entity. In other words, this is the
           actual MTU being used."
       ::= { nhrpCacheEntry 13 }

nhrpCachePreference OBJECT-TYPE

       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object which reflects the Preference value of the
           Client Information Entry (CIE).
       
           Zero or more Client Information Entries (CIEs) may be
           included in the NHRP Packet.  One of the fields in the
           CIE is the Preference.  For a complete description of
           the CIE, refer to Section 5.2.0.1 of  RFC 2332 [17]."
       REFERENCE
           "Section 5.2.0.1 Mandatory Part Format, RFC 2332 [17]."
       ::= { nhrpCacheEntry 14 }

nhrpCacheStorageType OBJECT-TYPE

       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This value only has meaning when the 'nhrpCacheType'
           has the value of 'administrativelyAdded'.

When the row is created due to being 'administrativelyAdded', this object reflects whether this row is kept in volatile storage
and lost upon reboot or if this row is backed up by non-volatile or permanent storage.

           If the value of 'nhrpCacheType' has a value which
           is not 'administrativelyAdded, then the value of this
           object is 'other(1)'."
       DEFVAL      { nonVolatile }
       ::= { nhrpCacheEntry 15 }

nhrpCacheRowStatus OBJECT-TYPE

       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object that allows entries in this table to be
           created and deleted using the RowStatus convention."
       ::= { nhrpCacheEntry 16 }
   
   --
   -- The NHRP Purge Request Table
   --

nhrpPurgeReqTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpPurgeReqEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table will track Purge Request Information."
       ::= { nhrpGeneralObjects 3 }

nhrpPurgeReqEntry OBJECT-TYPE

       SYNTAX      NhrpPurgeReqEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Information regarding a Purge Request."
       INDEX       {   nhrpPurgeIndex  }
       ::= { nhrpPurgeReqTable 1 }
   
   NhrpPurgeReqEntry ::= SEQUENCE {
       nhrpPurgeIndex                        Unsigned32,
       nhrpPurgeCacheIdentifier              Unsigned32,
       nhrpPurgePrefixLength                 Integer32,
       nhrpPurgeRequestID                    Unsigned32,
       nhrpPurgeReplyExpected                TruthValue,
       nhrpPurgeRowStatus                    RowStatus
   }
   
   nhrpPurgeIndex  OBJECT-TYPE
       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An index for this entry that has local significance
           within the scope of this table."
       ::= { nhrpPurgeReqEntry 1 }

nhrpPurgeCacheIdentifier OBJECT-TYPE

       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  read-create
       STATUS      current
       
       DESCRIPTION
           "This object identifies which row in
           'nhrpCacheTable' is being purged.  This object
           should have the same value as the 'nhrpCacheIndex'
           in the 'nhrpCacheTable'."
       ::= { nhrpPurgeReqEntry 2 }

nhrpPurgePrefixLength OBJECT-TYPE

       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "In the case of NHRP Purge Requests, this specifies the
           equivalence class of addresses which match the first
           'Prefix Length' bit positions of the Client Protocol
           Address specified in the Client Information Entry (CIE)."
       ::= { nhrpPurgeReqEntry 3 }

nhrpPurgeRequestID OBJECT-TYPE

       SYNTAX      Unsigned32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Request ID used in the purge request."
       ::= { nhrpPurgeReqEntry 4 }

nhrpPurgeReplyExpected OBJECT-TYPE

       SYNTAX      TruthValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An indication of whether this Purge Request has the
           'N' Bit cleared (off)."
       ::= { nhrpPurgeReqEntry 5 }

nhrpPurgeRowStatus OBJECT-TYPE

       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object that allows entries in this table to be
           created and deleted using the RowStatus convention."
       ::= { nhrpPurgeReqEntry 6 }
   
   --****************************************************************
   -- NHRP Client Objects
   --****************************************************************
   
   nhrpClientObjects OBJECT IDENTIFIER ::= { nhrpObjects 2 }
   
   --
   -- The NHRP Client Table
   --

nhrpClientTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpClientEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Information about NHRP clients (NHCs) managed by this
           agent."
       ::= { nhrpClientObjects 1 }

nhrpClientEntry OBJECT-TYPE

       SYNTAX      NhrpClientEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Information about a single NHC."
       INDEX       { nhrpClientIndex }
       ::= { nhrpClientTable 1 }
   
   NhrpClientEntry ::= SEQUENCE {
       nhrpClientIndex                      Unsigned32,
       nhrpClientInternetworkAddrType       AddressFamilyNumbers,
       nhrpClientInternetworkAddr           NhrpGenAddr,
       nhrpClientNbmaAddrType               AddressFamilyNumbers,
       nhrpClientNbmaAddr                   NhrpGenAddr,
       nhrpClientNbmaSubaddr                NhrpGenAddr,
       nhrpClientInitialRequestTimeout      Integer32,
       nhrpClientRegistrationRequestRetries Integer32,
       nhrpClientResolutionRequestRetries   Integer32,
       nhrpClientPurgeRequestRetries        Integer32,
       nhrpClientDefaultMtu                 Unsigned32,
       nhrpClientHoldTime                   Unsigned32,
       nhrpClientRequestID                  Unsigned32,
       nhrpClientStorageType                StorageType,
       nhrpClientRowStatus                  RowStatus
   }

nhrpClientIndex OBJECT-TYPE

       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An identifier for the NHRP client that is unique within
           the scope of this agent.  The 'nhrpNextIndex' value
           should be consulted (read), prior to creating a row in
           this table, and the value returned from reading
           'nhrpNextIndex' should be used as this object's value."
       
       ::= { nhrpClientEntry 1 }

nhrpClientInternetworkAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the internetwork layer address of this
           client. This object indicates how the value of
           nhrpClientInternetworkAddr is to be interpreted."
       ::= { nhrpClientEntry 2 }

nhrpClientInternetworkAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the internetwork layer address of this
           client."
       ::= { nhrpClientEntry 3 }

nhrpClientNbmaAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the NBMA subnetwork address of this client.
           This object indicates how the values of
           nhrpClientNbmaAddr and nhrpClientNbmaSubaddr are to be
           interpreted."
       ::= { nhrpClientEntry 4 }

nhrpClientNbmaAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The NBMA subnetwork address of this client."
       ::= { nhrpClientEntry 5 }

nhrpClientNbmaSubaddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The NBMA subaddress of this client. For NBMA address
           families without a subaddress concept, this will be a
           zero-length OCTET STRING."
       ::= { nhrpClientEntry 6 }

nhrpClientInitialRequestTimeout OBJECT-TYPE

       SYNTAX      Integer32 (1..900)
       UNITS       "seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of seconds that the client will wait before
           timing out an NHRP initial request.  This object only has
           meaning for the initial timeout period."
       DEFVAL      { 10 }
       ::= { nhrpClientEntry 7 }

nhrpClientRegistrationRequestRetries OBJECT-TYPE

       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of times the client will retry the
           registration request before failure. A value of
           0 means don't retry. A value of 65535 means
           retry forever."
       DEFVAL      { 3 }
       ::= { nhrpClientEntry 8 }

nhrpClientResolutionRequestRetries OBJECT-TYPE

       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of times the client will retry the resolution
           request before failure. A value of 0 means don't retry.
           A value of 65535 means retry forever."
       DEFVAL      { 3 }
       ::= { nhrpClientEntry 9 }

nhrpClientPurgeRequestRetries OBJECT-TYPE

       SYNTAX      Integer32 (0..65535)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of times the client will retry a purge request
           before failure. A value of 0 means don't retry. A value of
           65535 means retry forever."
       DEFVAL      { 3 }
       ::= { nhrpClientEntry 10 }

nhrpClientDefaultMtu OBJECT-TYPE

       SYNTAX      Unsigned32 (0..65535)
       MAX-ACCESS  read-create
       STATUS      current
       
       DESCRIPTION
           "The default maximum transmission unit (MTU) of the
           LIS/LAG which this client should use. This object
           will be initialized by the agent to the default MTU
           of the LIS/LAG (which is 9180) unless a different MTU
           value is specified during creation of this Client."
       REFERENCE
           "RFC 2225 [25], Classical IP and ARP over ATM, Section 7,
           DEFAULT VALUE FOR IP MTU OVER ATM AAL5."
       DEFVAL      { 9180 }
       ::= { nhrpClientEntry 11 }

nhrpClientHoldTime OBJECT-TYPE

       SYNTAX      Unsigned32(0..65535)
       UNITS       "seconds"
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The hold time the client will register."
       DEFVAL      { 900 }
       ::= { nhrpClientEntry 12 }

nhrpClientRequestID OBJECT-TYPE

       SYNTAX      Unsigned32
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Request ID used to register this client with its
           server. According to Section 5.2.3 of the NHRP
           Specification, RFC 2332 [17], the Request ID must
           be kept in non-volatile storage, so that if an NHC
           crashes and  re-initializes, it will use a different
       
           Request ID during the registration process
           when reregistering with the same NHS."
       REFERENCE
           "Section 5.2.3 NHRP Registration Request, RFC 2332 [17]."
       ::= { nhrpClientEntry 13 }

nhrpClientStorageType OBJECT-TYPE

       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object defines whether this row is kept in
           volatile storage and lost upon a Client crash or
           reboot situation, or if this row is backed up by
           nonvolatile or permanent storage."
       DEFVAL      { nonVolatile }
       ::= { nhrpClientEntry 14 }

nhrpClientRowStatus OBJECT-TYPE

       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object that allows entries in this table to be
           created and deleted using the RowStatus convention."
       ::= { nhrpClientEntry 15 }
   
   --
   -- The NHRP Client Registration Table
   --

nhrpClientRegistrationTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpClientRegistrationEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of Registration Request Information that
           needs to be maintained by the NHCs (clients)."
       REFERENCE
           "Section 5.2.3 NHRP Registration Request, RFC 2332 [17]."
       ::= { nhrpClientObjects 2 }

nhrpClientRegistrationEntry OBJECT-TYPE

       SYNTAX      NhrpClientRegistrationEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An NHC needs to maintain registration request information
           between the NHC and the NHS.  An entry in this table
           represents information for a single registration request."
       INDEX       { nhrpClientIndex,
                     nhrpClientRegIndex
                   }
       ::= { nhrpClientRegistrationTable 1 }
   
   NhrpClientRegistrationEntry ::= SEQUENCE {
       nhrpClientRegIndex          Unsigned32,
       nhrpClientRegUniqueness     INTEGER,
       nhrpClientRegState          INTEGER,
       nhrpClientRegRowStatus      RowStatus
   }

nhrpClientRegIndex OBJECT-TYPE

       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
       
           "An identifier for this entry such that it
           identifies a specific Registration Request from
           the NHC represented by the nhrpClientIndex."
       ::= { nhrpClientRegistrationEntry 1 }

nhrpClientRegUniqueness OBJECT-TYPE

       SYNTAX      INTEGER {
                       requestUnique(1),
                       requestNotUnique(2)
                   }
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Uniqueness indicator for this Registration Request.
           If this object has the value of requestUnique(1), then
           the Uniqueness bit is set in the the NHRP Registration
           Request represented by this row.  The value cannot
           be changed once the row is created."
       ::= { nhrpClientRegistrationEntry 2 }
   
   nhrpClientRegState  OBJECT-TYPE
       SYNTAX      INTEGER {
                       other(1),
                       registering(2),
                       ackRegisterReply(3),
                       nakRegisterReply(4)
                   }
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The registration state of this client. The values are:
               'other(1)'             The state of the registration
                                      request is not one of
                                      'registering',
                                      'ackRegisterReply' or
                                      'nakRegisterReply'.
   
               'registering(2)'        A registration request has
                                       been issued and a registration
                                       reply is expected.
   
               'ackRegisterReply(3)'   A positive registration reply
                                       has been received.
   
               'nakRegisterReply(4)'   The client has received a
                                       negative registration
                                       reply (NAK)."
       ::= { nhrpClientRegistrationEntry 3 }
   
   nhrpClientRegRowStatus OBJECT-TYPE
   
       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object that allows entries in this table to be
           created and deleted using the RowStatus convention."
       ::= { nhrpClientRegistrationEntry 4 }
   
   --
   -- The NHRP Client->Server Table
   --

nhrpClientNhsTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpClientNhsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of NHSes that are available for use by this NHC
           (client). By default, the agent will add an entry to this
           table that corresponds to the client's default router."
       ::= { nhrpClientObjects 3 }

nhrpClientNhsEntry OBJECT-TYPE

       SYNTAX      NhrpClientNhsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An NHS that may be used by an NHC."
       INDEX       { nhrpClientIndex, nhrpClientNhsIndex }
       ::= { nhrpClientNhsTable 1 }
   
   NhrpClientNhsEntry ::= SEQUENCE {
       nhrpClientNhsIndex                  Unsigned32,
       nhrpClientNhsInternetworkAddrType   AddressFamilyNumbers,
       nhrpClientNhsInternetworkAddr       NhrpGenAddr,
       nhrpClientNhsNbmaAddrType           AddressFamilyNumbers,
       nhrpClientNhsNbmaAddr               NhrpGenAddr,
       nhrpClientNhsNbmaSubaddr            NhrpGenAddr,
       nhrpClientNhsInUse                  TruthValue,
       nhrpClientNhsRowStatus              RowStatus
   }

nhrpClientNhsIndex OBJECT-TYPE

       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An identifier for an NHS available to an NHC."
       ::= { nhrpClientNhsEntry 1 }

nhrpClientNhsInternetworkAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the internetwork layer address of the
           NHRP server represented in this entry. This object
           indicates how the value of
           nhrpClientNhsInternetworkAddr is to be interpreted."
       ::= { nhrpClientNhsEntry 2 }

nhrpClientNhsInternetworkAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the destination internetwork layer
           address of the NHRP server represented by this
       
           entry.  If this value is not known, this will be
           a zero-length OCTET STRING."
       ::= { nhrpClientNhsEntry 3 }

nhrpClientNhsNbmaAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the NBMA subnetwork address of the NHRP
           Server represented by this entry. This object indicates
           how the values of nhrpClientNhsNbmaAddr and
           nhrpClientNhsNbmaSubaddr are to be interpreted."
       ::= { nhrpClientNhsEntry 4 }

nhrpClientNhsNbmaAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The NBMA subnetwork address of the NHS. The type of
           the address is indicated by the corresponding value of
           nhrpClientNhsNbmaAddrType."
       ::= { nhrpClientNhsEntry 5 }

nhrpClientNhsNbmaSubaddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The NBMA subaddress of the NHS. For NMBA address
           families that do not have the concept of subaddress,
                this will be a zero-length OCTET STRING."
       ::= { nhrpClientNhsEntry 6 }

nhrpClientNhsInUse OBJECT-TYPE

       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "An indication of whether this NHS is in use by the NHC."
       ::= { nhrpClientNhsEntry 7 }

nhrpClientNhsRowStatus OBJECT-TYPE

       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object that allows entries in this table to be
           created and deleted using the RowStatus convention."
       ::= { nhrpClientNhsEntry 8 }
   
   --
   -- The NHRP Client StatisticsTable
   --

nhrpClientStatTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpClientStatEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table contains statistics collected by NHRP
           clients."
       ::= { nhrpClientObjects 4 }

nhrpClientStatEntry OBJECT-TYPE

       SYNTAX      NhrpClientStatEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Statistics collected by a NHRP client."
       INDEX       { nhrpClientIndex }
       ::= { nhrpClientStatTable 1 }

NhrpClientStatEntry ::= SEQUENCE {

       nhrpClientStatTxResolveReq                    Counter32,
       nhrpClientStatRxResolveReplyAck               Counter32,
       nhrpClientStatRxResolveReplyNakProhibited     Counter32,
       nhrpClientStatRxResolveReplyNakInsufResources Counter32,
       nhrpClientStatRxResolveReplyNakNoBinding      Counter32,
       nhrpClientStatRxResolveReplyNakNotUnique      Counter32,
       nhrpClientStatTxRegisterReq                   Counter32,
       nhrpClientStatRxRegisterAck                   Counter32,
       nhrpClientStatRxRegisterNakProhibited         Counter32,
       nhrpClientStatRxRegisterNakInsufResources     Counter32,
       nhrpClientStatRxRegisterNakAlreadyReg         Counter32,
       
       nhrpClientStatRxPurgeReq                      Counter32,
       nhrpClientStatTxPurgeReq                      Counter32,
       nhrpClientStatRxPurgeReply                    Counter32,
       nhrpClientStatTxPurgeReply                    Counter32,
       
       nhrpClientStatTxErrorIndication               Counter32,
       nhrpClientStatRxErrUnrecognizedExtension      Counter32,
       nhrpClientStatRxErrLoopDetected               Counter32,
   
       nhrpClientStatRxErrProtoAddrUnreachable       Counter32,
       nhrpClientStatRxErrProtoError                 Counter32,
       nhrpClientStatRxErrSduSizeExceeded            Counter32,
       nhrpClientStatRxErrInvalidExtension           Counter32,
       nhrpClientStatRxErrAuthenticationFailure      Counter32,
       nhrpClientStatRxErrHopCountExceeded           Counter32,
       nhrpClientStatDiscontinuityTime               TimeStamp
   }

nhrpClientStatTxResolveReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Resolution Requests transmitted
           by this client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 1 }

nhrpClientStatRxResolveReplyAck OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of positively acknowledged NHRP Resolution
           Replies received by this client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 2 }

nhrpClientStatRxResolveReplyNakProhibited OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Resolution Replies received
           by this client that contained the code indicating
           'Administratively Prohibited'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 3 }

nhrpClientStatRxResolveReplyNakInsufResources OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Resolution Replies received
           by this client that contained the code indicating
           'Insufficient Resources'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 4 }

nhrpClientStatRxResolveReplyNakNoBinding OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Resolution Replies received
           by this client that contained the code indicating
           'No Internetworking Layer Address to NBMA Address
           Binding Exists'.

Discontinuities in the value of this counter can occur at re-initialization of the management system, at NHRP Client re-initialization and at
other times as indicated by the value of nhrpClientStatDiscontinuityTime."

       ::= { nhrpClientStatEntry 5 }

nhrpClientStatRxResolveReplyNakNotUnique OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NAKed NHRP Resolution Replies received

by this client that contained the code indicating

'Binding Exists But Is Not Unique'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 6 }

nhrpClientStatTxRegisterReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Registration Requests transmitted
           by this client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 7 }

nhrpClientStatRxRegisterAck OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of positively acknowledged NHRP Registration
           Replies received by this client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 8 }

nhrpClientStatRxRegisterNakProhibited OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NAKed NHRP Registration Replies received

by this client that contained the code indicating

'Administratively Prohibited'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 9 }

nhrpClientStatRxRegisterNakInsufResources OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Registration Replies received
           by this client that contained the code indicating
           'Insufficient Resources'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 10 }

nhrpClientStatRxRegisterNakAlreadyReg OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Registration Replies received
           by this client that contained the code indicating 'Unique
           Internetworking Layer Address Already Registered'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 11 }

nhrpClientStatRxPurgeReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NHRP Purge Requests received by this client.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 12 }

nhrpClientStatTxPurgeReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Requests transmitted by this
           client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 13 }

nhrpClientStatRxPurgeReply OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Replies received by this
           client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 14 }

nhrpClientStatTxPurgeReply OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Replies transmitted by this
           client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       ::= { nhrpClientStatEntry 15 }

nhrpClientStatTxErrorIndication OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets transmitted
           by this client.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 16 }

nhrpClientStatRxErrUnrecognizedExtension OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this client with the error code
           'Unrecognized Extension'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 17 }

nhrpClientStatRxErrLoopDetected OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NHRP Error Indication packets received by this client with the error code 'NHRP Loop Detected'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 18 }

nhrpClientStatRxErrProtoAddrUnreachable OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this client with the error code 'Protocol Address
           Unreachable'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 19 }

nhrpClientStatRxErrProtoError OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this client with the error code 'Protocol Error'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 20 }

nhrpClientStatRxErrSduSizeExceeded OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this client with the error code 'NHRP SDU Size

Exceeded'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 21 }

nhrpClientStatRxErrInvalidExtension OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this client with the error code 'Invalid Extension'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 22 }

nhrpClientStatRxErrAuthenticationFailure OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this client with the error code 'Authentication
           Failure'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 23 }

nhrpClientStatRxErrHopCountExceeded OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NHRP Error Indication packets received by this client with the error code 'Hop Count Exceeded'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Client re-initialization and at
           other times as indicated by the value of
           nhrpClientStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpClientStatEntry 24 }

nhrpClientStatDiscontinuityTime OBJECT-TYPE

       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUpTime on the most recent occasion at
           which any one or more of this Client's counters
           suffered a discontinuity.  If no such discontinuities
           have occurred since the last re-initialization of the
           local management subsystem or the NHRP Client
           re-initialization associated with this entry, then
           this object contains a zero value."
       REFERENCE
           "RFC 2233 [18]."
       ::= { nhrpClientStatEntry 25 }
   
   --****************************************************************
   -- NHRP Server Objects
   --****************************************************************
   
   nhrpServerObjects OBJECT IDENTIFIER ::= { nhrpObjects 3 }
   
   --
   -- The NHRP Next Hop Server Table
   --

nhrpServerTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpServerEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table contains information for a set of NHSes
           associated with this agent."
       ::= { nhrpServerObjects 1 }

nhrpServerEntry OBJECT-TYPE

       SYNTAX      NhrpServerEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Information about a single NHS."
       INDEX       { nhrpServerIndex }
       ::= { nhrpServerTable 1 }
   
   NhrpServerEntry ::= SEQUENCE {
       nhrpServerIndex                 Unsigned32,
       nhrpServerInternetworkAddrType  AddressFamilyNumbers,
       nhrpServerInternetworkAddr      NhrpGenAddr,
       nhrpServerNbmaAddrType          AddressFamilyNumbers,
       nhrpServerNbmaAddr              NhrpGenAddr,
       nhrpServerNbmaSubaddr           NhrpGenAddr,
       nhrpServerStorageType           StorageType,
       nhrpServerRowStatus             RowStatus
   }

nhrpServerIndex OBJECT-TYPE

       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An identifier for the server that is unique within the
           scope of this agent."
       ::= { nhrpServerEntry 1 }

nhrpServerInternetworkAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the internetwork layer address of this
           server. This object is used to interpret the value of
           nhrpServerInternetworkAddr."
       ::= { nhrpServerEntry 2 }

nhrpServerInternetworkAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the internetwork layer address of this
           server."
       ::= { nhrpServerEntry 3 }

nhrpServerNbmaAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the NBMA subnetwork address of this server.
           This object is used to interpret the value of
           nhrpServerNbmaAddr."
       ::= { nhrpServerEntry 4 }

nhrpServerNbmaAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the NBMA subnetwork address of this
           server."
       ::= { nhrpServerEntry 5 }

nhrpServerNbmaSubaddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the NBMA subaddress of this server.
           For NBMA address families without a subaddress
           concept, this will be a zero-length OCTET STRING."
       ::= { nhrpServerEntry 6 }

nhrpServerStorageType OBJECT-TYPE

       SYNTAX      StorageType
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "This object defines whether this row is kept in
           volatile storage and lost upon a Server crash or
           reboot situation, or if this row is backed up by
           nonvolatile or permanent storage."
       DEFVAL      { nonVolatile }
       ::= { nhrpServerEntry 7 }

nhrpServerRowStatus OBJECT-TYPE

       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object that allows entries in this table to be
           created and deleted using the RowStatus convention."
       ::= { nhrpServerEntry 8 }
   
   --
   -- The Server Cache Table
   --
   nhrpServerCacheTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF NhrpServerCacheEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "This table extends the nhrpCacheTable for
           NHSes.  If the nhrpCacheTable has a row added due to
           an NHS or based on information regarding an NHS then
           a row is also added in this table.
   
           The rows in this table will be created when rows in
           the nhrpCacheTable are created.  However, there may
           be rows created in the nhrpCacheTable which do not
           have corresponding rows in this table.  For example,
           if the nhrpCacheTable has a row added due to a Next
           Hop Client which is co-resident on the same device
           as the NHS, a row will not be added to this table."
       ::= { nhrpServerObjects 2 }

nhrpServerCacheEntry OBJECT-TYPE

       SYNTAX      NhrpServerCacheEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Additional information kept by a NHS for a relevant
           Next Hop Resolution Cache entry."
       INDEX       {
                       nhrpCacheInternetworkAddrType,
                       nhrpCacheInternetworkAddr,
                       ifIndex,
                       nhrpCacheIndex
                   }
       ::= { nhrpServerCacheTable 1 }
   
   NhrpServerCacheEntry ::= SEQUENCE {
       nhrpServerCacheAuthoritative   TruthValue,
       nhrpServerCacheUniqueness      TruthValue
   }

nhrpServerCacheAuthoritative OBJECT-TYPE

       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "An indication of whether this cache entry is
           authoritative, which means the entry was added because
           of a direct registration request with this server or
           by Server Cache Synchronization Protocol (SCSP) from
           an authoritative source."
       ::= { nhrpServerCacheEntry 1 }

nhrpServerCacheUniqueness OBJECT-TYPE

       SYNTAX      TruthValue
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The Uniqueness indicator for this cache
           entry used in duplicate address detection. This value
           cannot be changed after the entry is active."
       ::= { nhrpServerCacheEntry 2 }
   
   --
   -- The NHRP Server->Client Table
   --

nhrpServerNhcTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpServerNhcEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "A table of NHCs that are available for use by this NHS
           (Server)."
       REFERENCE
           "Section 4 Configuration (Next Hop Servers),
           RFC 2332 [17]."
       ::= { nhrpServerObjects 3 }

nhrpServerNhcEntry OBJECT-TYPE

       SYNTAX      NhrpServerNhcEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An NHC that may be used by an NHS."
       INDEX       { nhrpServerIndex, nhrpServerNhcIndex }
       ::= { nhrpServerNhcTable 1 }
   
   NhrpServerNhcEntry ::= SEQUENCE {
       nhrpServerNhcIndex                  Unsigned32,
       nhrpServerNhcPrefixLength           Integer32,
       nhrpServerNhcInternetworkAddrType   AddressFamilyNumbers,
       nhrpServerNhcInternetworkAddr       NhrpGenAddr,
       nhrpServerNhcNbmaAddrType           AddressFamilyNumbers,
       nhrpServerNhcNbmaAddr               NhrpGenAddr,
       nhrpServerNhcNbmaSubaddr            NhrpGenAddr,
       nhrpServerNhcInUse                  TruthValue,
       nhrpServerNhcRowStatus              RowStatus
   }

nhrpServerNhcIndex OBJECT-TYPE

       SYNTAX      Unsigned32 (1..4294967295)
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "An identifier for an NHC available to an NHS."
       ::= { nhrpServerNhcEntry 1 }

nhrpServerNhcPrefixLength OBJECT-TYPE

       SYNTAX      Integer32 (0..255)
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The number of bits that define the internetwork
           layer prefix associated with the
           nhrpServerNhcInternetworkAddr."
       ::= { nhrpServerNhcEntry 2 }

nhrpServerNhcInternetworkAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the internetwork layer address of the
           NHRP Client represented in this entry. This object
           indicates how the value of nhrpServerNhcInternetworkAddr
           is to be interpreted."
       ::= { nhrpServerNhcEntry 3 }

nhrpServerNhcInternetworkAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The value of the internetwork layer address of
           the NHRP Client represented by this entry.  If this
           value is not known, this will be a zero-length
           OCTET STRING."
       ::= { nhrpServerNhcEntry 4 }

nhrpServerNhcNbmaAddrType OBJECT-TYPE

       SYNTAX      AddressFamilyNumbers
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The type of the NBMA subnetwork address of the NHRP
           Client represented by this entry. This object indicates
           how the values of nhrpServerNhcNbmaAddr and
           nhrpServerNhcNbmaSubaddr are to be interpreted."
       ::= { nhrpServerNhcEntry 5 }

nhrpServerNhcNbmaAddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The NBMA subnetwork address of the NHC. The type of the
           address is indicated by the corresponding value of
           nhrpServerNbmaAddrType."
       ::= { nhrpServerNhcEntry 6 }

nhrpServerNhcNbmaSubaddr OBJECT-TYPE

       SYNTAX      NhrpGenAddr
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "The NBMA subaddress of the NHC. For NMBA address familes
           that do not have the concept of subaddress, this will
           be a zero-length OCTET STRING."
       ::= { nhrpServerNhcEntry 7 }

nhrpServerNhcInUse OBJECT-TYPE

       SYNTAX      TruthValue
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "An indication of whether this NHC is in use by the NHS."
       ::= { nhrpServerNhcEntry 8 }

nhrpServerNhcRowStatus OBJECT-TYPE

       SYNTAX      RowStatus
       MAX-ACCESS  read-create
       STATUS      current
       DESCRIPTION
           "An object that allows entries in this table to be
           created and deleted using the RowStatus convention."
       ::= { nhrpServerNhcEntry 9 }
   
   --
   -- The Next Hop Server Statistics Table
   --

nhrpServerStatTable OBJECT-TYPE

       SYNTAX      SEQUENCE OF NhrpServerStatEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Statistics collected by Next Hop Servers."
       ::= { nhrpServerObjects 4 }

nhrpServerStatEntry OBJECT-TYPE

       SYNTAX      NhrpServerStatEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
           "Statistics for a particular NHS. The statistics are
           broken into received (Rx), transmitted (Tx)
           and forwarded (Fw).  Forwarded (Fw) would be done
           by a transit NHS."
       INDEX       { nhrpServerIndex }
       ::= { nhrpServerStatTable 1 }

NhrpServerStatEntry ::= SEQUENCE {

       nhrpServerStatRxResolveReq                    Counter32,
       nhrpServerStatTxResolveReplyAck               Counter32,
       nhrpServerStatTxResolveReplyNakProhibited     Counter32,
       nhrpServerStatTxResolveReplyNakInsufResources Counter32,
       nhrpServerStatTxResolveReplyNakNoBinding      Counter32,
       nhrpServerStatTxResolveReplyNakNotUnique      Counter32,
       
       nhrpServerStatRxRegisterReq                   Counter32,
       nhrpServerStatTxRegisterAck                   Counter32,
       nhrpServerStatTxRegisterNakProhibited         Counter32,
       nhrpServerStatTxRegisterNakInsufResources     Counter32,
       nhrpServerStatTxRegisterNakAlreadyReg         Counter32,
       
       nhrpServerStatRxPurgeReq                      Counter32,
       nhrpServerStatTxPurgeReq                      Counter32,
       nhrpServerStatRxPurgeReply                    Counter32,
       nhrpServerStatTxPurgeReply                    Counter32,

-- Error Indications

       nhrpServerStatRxErrUnrecognizedExtension      Counter32,
       nhrpServerStatRxErrLoopDetected               Counter32,
       nhrpServerStatRxErrProtoAddrUnreachable       Counter32,
       nhrpServerStatRxErrProtoError                 Counter32,
       nhrpServerStatRxErrSduSizeExceeded            Counter32,
       nhrpServerStatRxErrInvalidExtension           Counter32,
       nhrpServerStatRxErrInvalidResReplyReceived    Counter32,
       nhrpServerStatRxErrAuthenticationFailure      Counter32,
       nhrpServerStatRxErrHopCountExceeded           Counter32,
       
       nhrpServerStatTxErrUnrecognizedExtension      Counter32,
       nhrpServerStatTxErrLoopDetected               Counter32,
       nhrpServerStatTxErrProtoAddrUnreachable       Counter32,
       nhrpServerStatTxErrProtoError                 Counter32,
       nhrpServerStatTxErrSduSizeExceeded            Counter32,
       nhrpServerStatTxErrInvalidExtension           Counter32,
       nhrpServerStatTxErrAuthenticationFailure      Counter32,
       nhrpServerStatTxErrHopCountExceeded           Counter32,

-- Transit NHS statistics

       nhrpServerStatFwResolveReq                    Counter32,
       nhrpServerStatFwResolveReply                  Counter32,
       nhrpServerStatFwRegisterReq                   Counter32,
       nhrpServerStatFwRegisterReply                 Counter32,
       nhrpServerStatFwPurgeReq                      Counter32,
       nhrpServerStatFwPurgeReply                    Counter32,
       nhrpServerStatFwErrorIndication               Counter32,
       nhrpServerStatDiscontinuityTime               TimeStamp
   
   }

nhrpServerStatRxResolveReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Resolution Requests received by this
           server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 1 }

nhrpServerStatTxResolveReplyAck OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of positively acknowledged NHRP
           Resolution Replies transmitted by this server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 2 }

nhrpServerStatTxResolveReplyNakProhibited OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Resolution Replies
           transmitted by this server with the code
           'Administratively Prohibited'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 3 }

nhrpServerStatTxResolveReplyNakInsufResources OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Resolution Replies
           transmitted by this server with the code
           'Insufficient Resources'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 4 }

nhrpServerStatTxResolveReplyNakNoBinding OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Resolution Replies
           transmitted by this server with the code
           'No Internetworking Layer Address to NBMA
           Address Binding Exists'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 5 }

nhrpServerStatTxResolveReplyNakNotUnique OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Resolution Replies
           transmitted by this server with the code
           'Binding Exists But Is Not Unique'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 6 }

nhrpServerStatRxRegisterReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Registration Requests received
           by this server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 7 }

nhrpServerStatTxRegisterAck OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of positively acknowledged NHRP Registration
           Replies transmitted by this server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 8 }

nhrpServerStatTxRegisterNakProhibited OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Registration Replies
           transmitted by this server with the code
           'Administratively Prohibited'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 9 }

nhrpServerStatTxRegisterNakInsufResources OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Registration Replies
           transmitted by this server with the code
           'Insufficient Resources'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 10 }

nhrpServerStatTxRegisterNakAlreadyReg OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NAKed NHRP Registration Replies
           transmitted by this server with the code
           'Unique Internetworking Layer Address Already
           Registered'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 11 }

nhrpServerStatRxPurgeReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Requests received by
           this server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 12 }

nhrpServerStatTxPurgeReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Requests transmitted by this
           server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 13 }

nhrpServerStatRxPurgeReply OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Replies received by this
           server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 14 }

nhrpServerStatTxPurgeReply OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Replies transmitted by
           this server.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 15 }

nhrpServerStatRxErrUnrecognizedExtension OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this server with the error code

'Unrecognized Extension'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 16 }

nhrpServerStatRxErrLoopDetected OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this server with the error code 'NHRP Loop Detected'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 17 }

nhrpServerStatRxErrProtoAddrUnreachable OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this server with the error code 'Protocol Address
           Unreachable'.

Discontinuities in the value of this counter can occur at re-initialization of the management system, at NHRP Server re-initialization and at
other times as indicated by the value of nhrpServerStatDiscontinuityTime."

       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 18 }

nhrpServerStatRxErrProtoError OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NHRP Error Indication packets received

by this server with the error code 'Protocol Error'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 19 }

nhrpServerStatRxErrSduSizeExceeded OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this server with the error code 'NHRP SDU Size
           Exceeded'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 20 }

nhrpServerStatRxErrInvalidExtension OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NHRP Error Indication packets received

by this server with the error code 'Invalid Extension'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 21 }

nhrpServerStatRxErrInvalidResReplyReceived OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets received
           by this server with the error code 'Invalid Resolution
           Reply Received'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 22 }

nhrpServerStatRxErrAuthenticationFailure OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           received by this server with the error code
           'Authentication Failure'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 23 }

nhrpServerStatRxErrHopCountExceeded OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           received by this server with the error code
           'Hop Count Exceeded'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 24 }

nhrpServerStatTxErrUnrecognizedExtension OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error code
           'Unrecognized Extension'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 25 }

nhrpServerStatTxErrLoopDetected OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error code
           'NHRP Loop Detected'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 26 }

nhrpServerStatTxErrProtoAddrUnreachable OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error code
           'Protocol Address Unreachable'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 27 }

nhrpServerStatTxErrProtoError OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error
           code 'Protocol Error'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 28 }

nhrpServerStatTxErrSduSizeExceeded OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error code
           'NHRP SDU Size Exceeded'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 29 }

nhrpServerStatTxErrInvalidExtension OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error code

'Invalid Extension'.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 30 }

nhrpServerStatTxErrAuthenticationFailure OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error code
           'Authentication Failure'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 31 }

nhrpServerStatTxErrHopCountExceeded OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets
           transmitted by this server with the error
           code 'Hop Count Exceeded'.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       REFERENCE
           "Section 5.2.7 NHRP Error Indication, RFC 2332 [17]."
       ::= { nhrpServerStatEntry 32 }

nhrpServerStatFwResolveReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Resolution Requests
           forwarded by this server acting as a transit NHS.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 33 }

nhrpServerStatFwResolveReply OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current

DESCRIPTION

"The number of NHRP Resolution Replies forwarded
by this server acting as a transit NHS.

           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 34 }

nhrpServerStatFwRegisterReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Registration Requests forwarded
           by this server acting as a transit NHS.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 35 }

nhrpServerStatFwRegisterReply OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Registration Replies forwarded
           by this server acting as a transit NHS.
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 36 }

nhrpServerStatFwPurgeReq OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Requests forwarded
           by this server acting as a transit NHS.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 37 }

nhrpServerStatFwPurgeReply OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Purge Replies forwarded by this
           server acting as a transit NHS.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 38 }

nhrpServerStatFwErrorIndication OBJECT-TYPE

       SYNTAX      Counter32
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The number of NHRP Error Indication packets forwarded
           by this server acting as a transit NHS.
       
           Discontinuities in the value of this counter can occur
           at re-initialization of the management system, at
           NHRP Server re-initialization and at
           other times as indicated by the value of
           nhrpServerStatDiscontinuityTime."
       ::= { nhrpServerStatEntry 39 }

nhrpServerStatDiscontinuityTime OBJECT-TYPE

       SYNTAX      TimeStamp
       MAX-ACCESS  read-only
       STATUS      current
       DESCRIPTION
           "The value of sysUpTime on the most recent occasion at
           which any one or more of this Server's counters
           suffered a discontinuity.  If no such discontinuities
           have occurred since the last re-initialization of the
       
           local management subsystem or the NHRP Server
           re-initialization associated with this entry, then
           this object contains a zero value."
       REFERENCE
           "RFC 2233 [18]."
       ::= { nhrpServerStatEntry 40 }
   
   --****************************************************************
   -- Module Compliance Statement
   --****************************************************************
   
   nhrpConformance OBJECT IDENTIFIER ::= { nhrpMIB 2 }

nhrpCompliances

       OBJECT IDENTIFIER ::= { nhrpConformance 1 }

nhrpGroups

       OBJECT IDENTIFIER ::= { nhrpConformance 2 }

nhrpModuleCompliance MODULE-COMPLIANCE

       STATUS current
       DESCRIPTION
           "The compliance statement for the NHRP MIB."
       MODULE -- this module
           MANDATORY-GROUPS    { nhrpGeneralGroup }

GROUP nhrpClientGroup
DESCRIPTION

"This group must be supported only by stations that are NHRP clients."

           GROUP nhrpServerGroup
           DESCRIPTION
               "This group must be supported only by stations that
               are NHRP servers."
       ::= { nhrpCompliances 1 }

nhrpGeneralGroup OBJECT-GROUP

       OBJECTS {
       
           nhrpNextIndex,
           nhrpCachePrefixLength,
           nhrpCacheNextHopInternetworkAddr,
           nhrpCacheNbmaAddrType,
           nhrpCacheNbmaAddr,
           nhrpCacheNbmaSubaddr,
           nhrpCacheType,
           nhrpCacheState,
       
           nhrpCacheHoldingTimeValid,
           nhrpCacheHoldingTime,
           nhrpCacheNegotiatedMtu,
           nhrpCachePreference,
           nhrpCacheStorageType,
           nhrpCacheRowStatus,
           nhrpPurgeCacheIdentifier,
           nhrpPurgePrefixLength,
           nhrpPurgeRequestID,
           nhrpPurgeReplyExpected,
           nhrpPurgeRowStatus
       }
       STATUS    current
       DESCRIPTION
           "Objects that apply to both NHRP clients and NHRP
           servers."
       ::= { nhrpGroups 1 }

nhrpClientGroup OBJECT-GROUP

OBJECTS {

           nhrpClientInternetworkAddrType,
           nhrpClientInternetworkAddr,
           nhrpClientNbmaAddrType,
           nhrpClientNbmaAddr,
           nhrpClientNbmaSubaddr,
           nhrpClientInitialRequestTimeout,
           nhrpClientRegistrationRequestRetries,
           nhrpClientResolutionRequestRetries,
           nhrpClientPurgeRequestRetries,
           nhrpClientDefaultMtu,
           nhrpClientHoldTime,
           nhrpClientRequestID,
           nhrpClientStorageType,
           nhrpClientRowStatus,
           nhrpClientRegUniqueness,
           nhrpClientRegState,
           nhrpClientRegRowStatus,
           nhrpClientNhsInternetworkAddrType,
           nhrpClientNhsInternetworkAddr,
           nhrpClientNhsNbmaAddrType,
           nhrpClientNhsNbmaAddr,
           nhrpClientNhsNbmaSubaddr,
           
           nhrpClientNhsInUse,
           nhrpClientNhsRowStatus,
           nhrpClientStatTxResolveReq,
           nhrpClientStatRxResolveReplyAck,
           nhrpClientStatRxResolveReplyNakProhibited,
       
           nhrpClientStatRxResolveReplyNakInsufResources,
           nhrpClientStatRxResolveReplyNakNoBinding,
           nhrpClientStatRxResolveReplyNakNotUnique,
           nhrpClientStatTxRegisterReq,
           nhrpClientStatRxRegisterAck,
           nhrpClientStatRxRegisterNakProhibited,
           nhrpClientStatRxRegisterNakInsufResources,
           nhrpClientStatRxRegisterNakAlreadyReg,
           nhrpClientStatRxPurgeReq,
           nhrpClientStatTxPurgeReq,
           nhrpClientStatRxPurgeReply,
           nhrpClientStatTxPurgeReply,
           nhrpClientStatTxErrorIndication,
           nhrpClientStatRxErrUnrecognizedExtension,
           nhrpClientStatRxErrLoopDetected,
           nhrpClientStatRxErrProtoAddrUnreachable,
           nhrpClientStatRxErrProtoError,
           nhrpClientStatRxErrSduSizeExceeded,
           nhrpClientStatRxErrInvalidExtension,
           nhrpClientStatRxErrAuthenticationFailure,
           nhrpClientStatRxErrHopCountExceeded,
           nhrpClientStatDiscontinuityTime
       }
       STATUS    current
       DESCRIPTION
           "Objects that apply only to NHRP clients."
       ::= { nhrpGroups 2 }

nhrpServerGroup OBJECT-GROUP

OBJECTS {

           nhrpServerInternetworkAddrType,
           nhrpServerInternetworkAddr,
           nhrpServerNbmaAddrType,
           nhrpServerNbmaAddr,
           nhrpServerNbmaSubaddr,
           nhrpServerStorageType,
           nhrpServerRowStatus,
           nhrpServerCacheAuthoritative,
           nhrpServerCacheUniqueness,
           nhrpServerNhcPrefixLength,
           nhrpServerNhcInternetworkAddrType,
           nhrpServerNhcInternetworkAddr,
           nhrpServerNhcNbmaAddrType,
           nhrpServerNhcNbmaAddr,
           nhrpServerNhcNbmaSubaddr,
           nhrpServerNhcInUse,
           nhrpServerNhcRowStatus,
           nhrpServerStatRxResolveReq,
           nhrpServerStatTxResolveReplyAck,
           nhrpServerStatTxResolveReplyNakProhibited,
           nhrpServerStatTxResolveReplyNakInsufResources,
           nhrpServerStatTxResolveReplyNakNoBinding,
           nhrpServerStatTxResolveReplyNakNotUnique,
           nhrpServerStatRxRegisterReq,
           nhrpServerStatTxRegisterAck,
           nhrpServerStatTxRegisterNakProhibited,
           nhrpServerStatTxRegisterNakInsufResources,
           nhrpServerStatTxRegisterNakAlreadyReg,
           nhrpServerStatRxPurgeReq,
           nhrpServerStatTxPurgeReq,
           nhrpServerStatRxPurgeReply,
           nhrpServerStatTxPurgeReply,
           nhrpServerStatRxErrUnrecognizedExtension,
           nhrpServerStatRxErrLoopDetected,
           nhrpServerStatRxErrProtoAddrUnreachable,
           nhrpServerStatRxErrProtoError,
           nhrpServerStatRxErrSduSizeExceeded,
           nhrpServerStatRxErrInvalidExtension,
           nhrpServerStatRxErrInvalidResReplyReceived,
           nhrpServerStatRxErrAuthenticationFailure,
           nhrpServerStatRxErrHopCountExceeded,
           nhrpServerStatTxErrUnrecognizedExtension,
           nhrpServerStatTxErrLoopDetected,
           nhrpServerStatTxErrProtoAddrUnreachable,
           nhrpServerStatTxErrProtoError,
           nhrpServerStatTxErrSduSizeExceeded,
           nhrpServerStatTxErrInvalidExtension,
           nhrpServerStatTxErrAuthenticationFailure,
           nhrpServerStatTxErrHopCountExceeded,
           nhrpServerStatFwResolveReq,
           nhrpServerStatFwResolveReply,
           nhrpServerStatFwRegisterReq,
           nhrpServerStatFwRegisterReply,
           nhrpServerStatFwPurgeReq,
           nhrpServerStatFwPurgeReply,
           nhrpServerStatFwErrorIndication,
           nhrpServerStatDiscontinuityTime
       }
       STATUS    current
       DESCRIPTION
           "Objects that apply only to NHRP servers."
       ::= { nhrpGroups 3 }
   
   END

5. IANA Considerations

The Internet Assigned Numbers Authority (IANA) has been and continues to be responsible for maintaining the ADDRESS FAMILY NUMBERS (http://www.isi.edu/in-notes/iana/assignments/address-family-numbers) name space assignments. The IANA has placed this list in a MIB module, such that it may be imported into other MIBs. The motivation for doing this is to allow MIBs to not have to change when a new assignment is made to the ADDRESS FAMILY NUMBERS. This is very similar to the motivation behind the IANAifType-MIB.

Any additions or changes to the list of ADDRESS FAMILY NUMBERS registered via IANA will be done as they have in the past and this document does not propose any changes to the ADDRESS FAMILY NUMBERS other than to place them into a MIB, which can be found via anonymous FTP at: ftp://ftp.isi.edu/mib/ianaaddressfamilynumbers.mib.

6. Security

There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations.

The NHRP Protocol, RFC 2332 [17], Section 5.2.4.4 discusses security. There is an authentication option which should be utilized to authenticate the source and also provide data integrity to the NHRP payload. This MIB does not contain any managed objects which configure or expose security information such as that needed for NHRP authentication or data integrity.

The following items were deemed to jeopardize security and thus, were NOT added to this MIB. Items denoted as (configurable) are those which would need values. Items denoted as (read-only) are those which would provide information. Although the NHRP Protocol [17], requires or has this information, exposing it in a MIB would jeopardize the entire NBMA domain where NHRP was being used. Therefore, these items have been omitted from the MIB.

     1. (configurable) enable/disable security
     2. (configurable) SPI (security parameter index).
        Depending upon the implementation,
        there may be multiple SPIs, and these would
        be configurable also.  For example, if the
        implementation switched to a different SPI
        after a given time.
     3. (configurable) algorithm.
        The HMAC-MD5-128 is the default hash algorithm.
     4. (configurable) lifetime value in seconds.
     5. (read-only) key.
     6. (read-only) list of users who have access
        to the above information.

7. Intellectual Property

The IETF takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Information on the IETF's procedures with respect to rights in standards-track and standards-related documentation can be found in BCP-11. Copies of claims of rights made available for publication and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementors or users of this specification can be obtained from the IETF Secretariat.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights which may cover technology that may be required to practice this standard. Please address the information to the IETF Executive Director.

8. Acknowledgments

This document is a product of the IETF's Internetworking Over NBMA Networks (ion) Working Group.

The authors would like to thank Avri Doria (Bytex) for the first draft of the NHRP MIB and Keith McCloghrie (cisco) and David Horton (CITR) for their feedback and suggestions. Also, we would like to thank Naganand Doraswamy (Bay Networks) for assistance with the "Security Considerations" section.

9. References

    [1] Harrington, D., Presuhn, R. and B. Wijnen, "An Architecture for
        Describing SNMP Management Frameworks", RFC 2571, April 1999.
    
    [2] Rose, M. and K. McCloghrie, "Structure and Identification of
        Management Information for TCP/IP-based Internets", STD 16, RFC
        1155, May 1990.
    
    [3] Rose, M. and K. McCloghrie, "Concise MIB Definitions", STD 16,
        RFC 1212, March 1991.
    
    [4] Rose, M., "A Convention for Defining Traps for use with the
        SNMP", RFC 1215, March 1991.
    
    [5] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
        M.  and S. Waldbusser, "Structure of Management Information
        Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
    
    [6] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
        M.  and S. Waldbusser, "Textual Conventions for SMIv2", STD 58,
        RFC 2579, April 1999.
    
    [7] McCloghrie, K., Perkins, D., Schoenwaelder, J., Case, J., Rose,
        M.  and S. Waldbusser, "Conformance Statements for SMIv2", STD
        58, RFC 2580, April 1999.
    
    [8] Case, J., Fedor, M., Schoffstall, M. and J. Davin, "Simple
        Network Management Protocol", STD 15, RFC 1157, May 1990.
    
    [9] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser,
        "Introduction to Community-based SNMPv2", RFC 1901, January
        1996.
   
   [10] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Transport
        Mappings for Version 2 of the Simple Network Management Protocol
        (SNMPv2)", RFC 1906, January 1996.
   
   [11] Case, J., Harrington D., Presuhn R. and B. Wijnen, "Message
        Processing and Dispatching for the Simple Network Management
        Protocol (SNMP)", RFC 2572, April 1999.
   
   [12] Blumenthal, U. and B. Wijnen, "User-based Security Model (USM)
        for version 3 of the Simple Network Management Protocol
        (SNMPv3)", RFC 2574, April 1999.
   
   [13] Case, J., McCloghrie, K., Rose, M. and S. Waldbusser, "Protocol
        Operations for Version 2 of the Simple Network Management
        Protocol (SNMPv2)", RFC 1905, January 1996.
   
   [14] Levi, D., Meyer, P. and B. Stewart, "SNMPv3 Applications", RFC
        2573, April 1999.
   
   [15] Wijnen, B., Presuhn, R. and K. McCloghrie, "View-based Access
        Control Model (VACM) for the Simple Network Management Protocol
        (SNMP)", RFC 2575, April 1999.
   
   [16] Case, J., Mundy, R., Partain, D. and B. Stewart, "Introduction
        to Version 3 of the Internet-standard Network Management
        Framework", RFC 2570, April 1999.
   
   [17] Luciani, J. V., Katz, D., Piscitello, D. and B. Cole, "NBMA Next
        Hop Resolution Protocol (NHRP)", RFC 2332, December 1997.
   
   [18] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB
        using SMIv2", RFC 2233, November 1997.
   
   [19] Tesink, K., Editor, "Definitions of Managed Objects for ATM
        Management", RFC 2515, February 1999.
   
   [20] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA
        Considerations Section in RFCs", BCP 26, RFC 2434, October 1998.
   
   [21] Bradner, S., "Key words for use in RFCs to Indicate Requirement
        Levels", BCP 14, RFC 2119, March 1997.
   
   [22] Bradner, S., "The Internet Standards Process -- Revision 3", BCP
        9, RFC 2026, October 1996.
   
   [23] Cucchiara, J., editor, "Multiprotocol Over ATM Version 1.0 MIB",
        af-mpoa-0092.000, ATM Forum, July 1998.
   
   [24] Fredette, A., editor,  "Multiprotocol Over ATM Version 1.0",
        af-mpoa-0087.000, ATM Forum, May 1997.
   
   [25] Laubach, M., and J. Halpern, "Classical IP and ARP over ATM",
        RFC 2225, April 1998.
   
   [26] Greene, M., J. Luciani, K. White and T. Kuo, "Definitions of
        Managed Objects for Classical IP and ARP Over ATM Using SMIv2",
        RFC 2320, April 1998.

10. Authors' Addresses

James V. Luciani
Bay Networks
3 Federal Street
Mail Stop: BL3-03
Billerica, MA 01821

   Phone: (978) 288-4734
   EMail: luciani@baynetworks.com

Maria Greene
Contractor
Xedia, Corp.
119 Russell Dr.
Littleton, MA 01460

EMail:

          maria@xedia.com
   
   Joan Cucchiara
   IronBridge Networks
   55 Hayden Ave.
   Lexington, MA  02421
   
   Phone: (781) 372-8236
   EMail: joan@ironbridgenetworks.com

12. Full Copyright Statement

Copyright © The Internet Society (1999). All Rights Reserved.

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English.

The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns.

This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

Acknowledgement

Funding for the RFC Editor function is currently provided by the Internet Society.