faqs.org - Internet FAQ Archives

RFC 2677 - Definitions of Managed Objects for the NBMA Next Hop


Or Display the document by number




Network Working Group                                          M. Greene
Request for Comments: 2677                                    Contractor
Category: Standards Track                                   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 (C) 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 (C) 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.

 

User Contributions:

Comment about this RFC, ask questions, or add new information about this topic:

CAPTCHA