-- extracted from rfc2677.txt
-- at Mon Nov 15 17:12:07 1999

   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

-- 
--    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.
-- 

