RFC2238

From RFC-Wiki

Network Working Group B. Clouston, Editor Request for Comments: 2238 Cisco Systems Category: Standards Track B. Moore, Editor

                                                     IBM Corporation
                                                       November 1997
                 Definitions of Managed Objects
                      for HPR using SMIv2

Status of this Memo

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

Copyright Notice

Copyright (C) The Internet Society (1997). All Rights Reserved.

Introduction

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for monitoring and controlling network devices with HPR (High Performance Routing) capabilities. This memo identifies managed objects for the HPR protocol.

The SNMP Network Management Framework

The SNMP Network Management Framework consists of several components. For the purpose of this specification, the applicable components of the Framework are the SMI and related documents [1, 2, 3], which define the mechanisms used for describing and naming objects for the purpose of management.

The Framework permits new objects to be defined for the purpose of experimentation and evaluation.

Overview

This document identifies objects for monitoring the configuration and active characteristics of devices with HPR capabilities. HPR is an enhancement to the Advanced Peer-to-Peer Network (APPN) architecture that provides fast data routing and improved session reliability. APPN is one of the protocols that can use the HPR transport mechanism. See the SNANAU APPN MIB [4] for management of APPN and APPN use of the HPR transport.

The HPR terms and overall architecture [5] are available at http://www.networking.ibm.com/app/aiwdoc/aiwsrc.htm.

Automatic Network Routing (ANR) is a fast low-level routing technique. Each node assigns a unique (within that node) ANR label for each out-bound link as it is activated. The label size is defined by the ANR node, and nodes only need to know how to interpret their own labels. The ANR string is a group of ANR labels encoded in a header in front of the message being sent. At each hop the node strips off its own ANR label and forwards the message onto the link with that label. The last label in the string is the Network Connection Endpoint (NCE), which identifies the component within the destination node that is to receive the message.

Rapid Transport Protocol (RTP) is an end-to-end full duplex transport connection (pipe). It provides for high-speed transport of data using ANR. RTP is connection-oriented, and delivers data in correct order reliably. Error recovery is done efficiently with selective retransmission of data. An RTP path can be switched without disrupting the sessions using it. An RTP path switch may be done automatically if a link in the path fails and another RTP path is available, or on demand to attempt to restore the optimal path.

RTP performs flow/congestion control with the Adaptive Rate-Based (ARB) algorithm, described in [5]. ARB is done only at the endpoints of the RTP pipe, so intermediate hops are not involved.

ARB regulates the flow of data over an RTP connection by adaptively changing the sender's rate based on feedback on the receiver's rate. It is designed to prevent congestion rather than react to it.

In this document, we describe HPR managed objects.

Highlights of the management functions supported by the HPR MIB module include the following:

o Identifying network connection endpoints (NCEs).

o Identifying how incoming packets are routed based on ANR labels.

o Monitoring the RTP connections between nodes.

o Ability to trigger an RTP path switch. The MIB only supports a

    path switch with no specified path.  Some implementations may
    have a product-specific option to specify a new path.  The
    hprOperatorPathSwitchSupport object identifies this support.

o Historical information about RTP path switch attempts.

This MIB module does not support:

o Configuration of HPR nodes.

o Protocol-specific uses of HPR (such as APPN).

o Traps. The APPN MIB contains a trap for Alert conditions that

    may affect HPR resources.  The value for the affectedObject
    object contained in the alertTrap is determined by the
    implementation.  It may contain a VariablePointer from the HPR
    MIB.  The APPN/HPR Alerts are defined in [6].

HPR MIB Structure

Although HPR is an extension to APPN, the HPR MIB relies very little upon the APPN MIB. The appnNodeCounterDisconTime object in the APPN MIB is used to detect discontinuities in HPR MIB counters. The hprNodeCpName object in this MIB has the same value as the appnNodeCpName object in the APPN MIB.

The HPR MIB module contains the following collections of objects:

o hprGlobal - general HPR objects.

o hprAnrRouting - objects related to the ANR routing table.

o hprTransportUser - objects related to users of the HPR

    transport.

o hprRtp - objects related to the HPR Transport Tower.

These are described below in more detail.

hprGlobal group

The hprGlobal group consists of general objects such as the APPN CP (control point) name of the HPR node and the level of support for operator-requested path switches.

hprAnrRouting group

The hprAnrRouting group consists objects to monitor and control the counting of ANR packets received and the following table:

The hprAnrRoutingTable correlates incoming ANR labels to the outbound transmission group (TG) or local NCE to which incoming packet will be forwarded. An entry defines the label type as identifying a local NCE or a TG, identifies the NCE or TG, and counts the number of packets received with the entry's ANR label.

hprTransportUser group

The hprTransportUser group consists of the following table:

The hprNceTable identifies network connection endpoints and their function types. The function type can be any combination of a CP, logical unit (LU), boundary function, and route setup.

hprRtp group

The hprRtp group consists of the following objects and tables:

1) hprRtpGlobe

These objects contain information about the number of RTP connection setups, and control of RTP counters.

2) hprRtpTable

This table contains one entry for each RTP connection. The information includes local and remote NCE IDs and TCIDs (transport connection identifiers), timers, send rates, and statistics. A path switch can be triggered by the hprRptPathSwitchTrigger object if the agent node supports it; however, a new path cannot be specified.

3) hprRtpStatusTable

This table contains statistics and historical information for RTP path switches attempts, including old and new ANR strings and Route Selection Control Vectors (RSCVs), why the path switch was initiated, and the result (successful or reason for failure).

Definitions

HPR-MIB DEFINITIONS ::= BEGIN

 IMPORTS
    DisplayString, DateAndTime, TimeStamp, TEXTUAL-CONVENTION
            FROM SNMPv2-TC
    Counter32, Gauge32, Unsigned32, TimeTicks,
    OBJECT-TYPE, MODULE-IDENTITY
            FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
            FROM SNMPv2-CONF
    snanauMIB
            FROM SNA-NAU-MIB
    SnaControlPointName
            FROM APPN-MIB;

hprMIB MODULE-IDENTITY

    LAST-UPDATED  "970514000000Z"
    ORGANIZATION  "AIW APPN / HPR MIB SIG"
    CONTACT-INFO
            "
                    Bob Clouston
                    Cisco Systems
                    7025 Kit Creek Road
                    P.O. Box 14987
                    Research Triangle Park, NC 27709, USA
                    Tel:    1 919 472 2333
                    E-mail: [email protected]
                    Bob Moore
                    IBM Corporation
                    800 Park Offices Drive
                    RHJA/664
                    P.O. Box 12195
                    Research Triangle Park, NC 27709, USA
                    Tel:    1 919 254 4436
                    E-mail: [email protected]
            "
  DESCRIPTION
            "This is the MIB module for objects used to
             manage network devices with HPR capabilities."
= { snanauMIB 6 }

-- snanauMIB ::= { mib-2 34 }

-- ********************************************************************* -- Textual Conventions -- ********************************************************************* -- SnaControlPointName is imported from the APPN MIB

HprNceTypes ::= TEXTUAL-CONVENTION

  STATUS current
  DESCRIPTION
      "A bit string identifying the set of functions provided by a
      network connection endpoint (NCE).  The following values are
      defined:
            bit 0:  control point
            bit 1:  logical unit
            bit 2:  boundary function
            bit 3:  route setup
      "
  SYNTAX BITS { controlPoint(0),
                logicalUnit(1),
                boundaryFunction(2),
                routeSetup(3) }

HprRtpCounter ::= TEXTUAL-CONVENTION

  STATUS current
  DESCRIPTION
      "An object providing statistics for an RTP connection.  A
      Management Station can detect discontinuities in this counter
      by monitoring the correspondingly indexed
      hprRtpCounterDisconTime object."
  SYNTAX Counter32

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

 hprObjects         OBJECT IDENTIFIER ::= { hprMIB 1 }

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

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

hprGlobal OBJECT IDENTIFIER ::= { hprObjects 1 } -- ********************************************************************* -- The hprGlobal group applies to both intermediate and end nodes. -- *********************************************************************

hprNodeCpName OBJECT-TYPE

  SYNTAX SnaControlPointName
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "Administratively assigned network name for the APPN node
      where this HPR implementation resides.  If this object has
      the same value as the appnNodeCpName object in the APPN MIB,
      then the two objects are referring to the same APPN node."
  ::= { hprGlobal 1 }

hprOperatorPathSwitchSupport OBJECT-TYPE

  SYNTAX INTEGER {
                  notSupported(1),
                  switchTriggerSupported(2),
                  switchToPathSupported(3)
                 }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "This object indicates an implementation's level of support
      for an operator-requested path switch.
        notSupported(1)           - the agent does not support
                                    operator-requested path switches
        switchTriggerSupported(2) - the agent supports a 'switch
                                    path now' command from an
                                    operator, but not a command to
                                    switch to a specified path
        switchToPathSupported(3)  - the agent supports both a
                                    'switch path now' command and a
                                    command to switch to a specified
                                    path.  Note that the latter
                                    command is not available via
                                    this MIB; a system that supports
                                    it must do so via other means,
                                    such as a local operator
                                    interface."
  ::= { hprGlobal 2 }

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

hprAnrRouting OBJECT IDENTIFIER ::= { hprObjects 2 } -- *********************************************************************

hprAnrsAssigned OBJECT-TYPE

  SYNTAX Counter32
  UNITS "ANR labels"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of ANR labels assigned by this node since it was
      last re-initialized.  A Management Station can detect
      discontinuities in this counter by monitoring the
      appnNodeCounterDisconTime object in the APPN MIB."
  ::= { hprAnrRouting 1 }

hprAnrCounterState OBJECT-TYPE

  SYNTAX INTEGER {
                  notActive(1),
                  active(2)
                 }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
      "This object is used for a network management station to turn
      on/off the counting of ANR packets in the hprAnrRoutingTable.
      The initial value of this object is an implementation choice.
             notActive(1) - the counter hprAnrPacketsReceived
                            returns no meaningful value
             active(2)    - the counter hprAnrPacketsReceived is
                            being incremented and is returning
                            meaningful values"
  ::= { hprAnrRouting 2 }

hprAnrCounterStateTime OBJECT-TYPE

  SYNTAX DateAndTime
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The time when the hprAnrCounterState object last changed its
      value.  The initial value returned by this object is the time
      at which the APPN node instrumented with this MIB was last
      brought up."
  ::= { hprAnrRouting 3 }

hprAnrRoutingTable OBJECT-TYPE

  SYNTAX SEQUENCE OF HprAnrRoutingEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The ANR Routing table provides a means of correlating an
      incoming ANR label (i.e., one assigned by this node) with the
      TG over which a packet containing the label will be forwarded.
      When the ANR label identifies a local NCE, the hprAnrOutTgDest
      and hprAnrOutTgNum objects have no meaning.  The table also
      contains an object to count the number of packets received
      with a given ANR label."
  ::= { hprAnrRouting 4 }

hprAnrRoutingEntry OBJECT-TYPE

  SYNTAX HprAnrRoutingEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The ANR label is used to index this table."
  INDEX  { hprAnrLabel }
  ::= { hprAnrRoutingTable 1 }

HprAnrRoutingEntry ::= SEQUENCE {

 hprAnrLabel             OCTET STRING,
 hprAnrType              INTEGER,
 hprAnrOutTgDest         DisplayString,
 hprAnrOutTgNum          INTEGER,
 hprAnrPacketsReceived   Counter32,
 hprAnrCounterDisconTime TimeStamp
 }

hprAnrLabel OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (1..8))
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The first ANR label in an incoming packet."
  ::= { hprAnrRoutingEntry 1 }

hprAnrType OBJECT-TYPE

  SYNTAX INTEGER {
                  nce(1),
                  tg(2)
                 }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "An object indicating whether an ANR label assigned by this
      node identifies a local NCE or a TG on which outgoing packets
      are forwarded.
          nce(1)  - the ANR label identifies a local NCE.  In this
                    case the hprAnrOutTgDest and hprAnrOutTgNum
                    objects have no meaning.
          tg(2)   - the ANR label identifies a TG."
  ::= { hprAnrRoutingEntry 2 }

hprAnrOutTgDest OBJECT-TYPE

  SYNTAX DisplayString (SIZE (0 | 3..17))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "Destination node for the TG over which packets with this ANR
      label are forwarded.  This is the fully qualified name of an
      APPN network node or end node, formatted according to the
      SnaControlPointName textual convention.  If the ANR label
      identifies a local NCE, then this object returns a zero-length
      string.
      This object corresponds to the appnLocalTgDest object in the
      APPN MIB."
  ::= { hprAnrRoutingEntry 3 }

hprAnrOutTgNum OBJECT-TYPE

  SYNTAX INTEGER (0..255)
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "Number of the TG over which packets with this ANR label are
      forwarded.  If the ANR label identifies a local NCE, then this
      object returns the value 0, since 0 is not a valid TG number
      for a TG that supports HPR.
      This object corresponds to the appnLocalTgNum object in the
      APPN MIB."
  ::= { hprAnrRoutingEntry 4 }

hprAnrPacketsReceived OBJECT-TYPE

  SYNTAX Counter32
  UNITS "ANR packets"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of packets received with this ANR label as their
      first label.
      A Management Station can detect discontinuities in this
      counter by monitoring the hprAnrCounterDisconTime object in
      the same row."
  ::= { hprAnrRoutingEntry 5 }

hprAnrCounterDisconTime OBJECT-TYPE

  SYNTAX TimeStamp
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The value of the sysUpTime object when the
      hprAnrPacketsReceived counter for this ANR label last
      experienced a discontinuity.  This will be the more recent of
      two times:  the time at which the ANR label was associated with
      either an outgoing TG or a local NCE, or the time at which the
      ANR counters were last turned on or off."
  ::= { hprAnrRoutingEntry 6 }

-- ********************************************************************* hprTransportUser OBJECT IDENTIFIER ::= { hprObjects 3 } -- ********************************************************************* -- Transport Service User (TU) Table: (RTP Connection Users) -- -- There will be several users of the HPR transport and each HPR node -- shall maintain a table of these users. -- *********************************************************************

hprNceTable OBJECT-TYPE

  SYNTAX SEQUENCE OF HprNceEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The Network Connection Endpoint (NCE) table."
  ::= { hprTransportUser 1 }

hprNceEntry OBJECT-TYPE

  SYNTAX HprNceEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The NCE ID is used to index this table."
  INDEX  { hprNceId }
  ::= { hprNceTable 1 }

HprNceEntry ::= SEQUENCE {

 hprNceId            OCTET STRING,
 hprNceType          HprNceTypes,
 hprNceDefault       HprNceTypes,
 hprNceInstanceId    OCTET STRING
 }

hprNceId OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (1..8))
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The Network Connection Endpoint (NCE) ID.  NCEs identify
      Control Points (Cp), Logical Units (Lu), HPR Boundary
      Functions (Bf) and Route Setup (Rs) Functions.  A value for
      this object can be retrieved from any of the following
      objects in the APPN MIB:
           - appnLsCpCpNceId
           - appnLsRouteNceId
           - appnLsBfNceId
           - appnIsInRtpNceId
           - appnIsRtpNceId
      In each case this value identifies a row in this table
      containing information related to that in the APPN MIB."
  ::= { hprNceEntry 1 }

hprNceType OBJECT-TYPE

  SYNTAX HprNceTypes
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "A bit string identifying the function types provided by this
      Network Connection Endpoint (NCE)."
  ::= { hprNceEntry 2 }

hprNceDefault OBJECT-TYPE

  SYNTAX HprNceTypes
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "A bit string identifying the function types for which this
      Network Connection Endpoint (NCE) is the default NCE.  While
      default NCEs are not explicitly defined in the architecture,
      some implementations provide them; for such implementations,
      it is useful to make this information available to a
      Management Station."
  ::= { hprNceEntry 3 }

hprNceInstanceId OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (4))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The NCE instance identifier (NCEII) identifying the current
      instance of this NCE.  An NCEII is used to denote different
      instances (IPLs) of an NCE component.  Each time an NCE is
      activated (IPL'd), it acquires a different, unique NCEII."
  ::= { hprNceEntry 4 }

-- ********************************************************************* hprRtp OBJECT IDENTIFIER ::= { hprObjects 4 } -- ********************************************************************* -- ********************************************************************* -- -- The RTP group is implemented by all managed nodes supporting the -- HPR Transport Tower. The group contains several scalars (simple -- objects) and a table. -- *********************************************************************

-- ********************************************************************* hprRtpGlobe OBJECT IDENTIFIER ::= { hprRtp 1} -- ********************************************************************* hprRtpGlobeConnSetups OBJECT-TYPE

  SYNTAX Counter32
  UNITS "RTP connection setups"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of RTP connection setups in which this node has
      participated, as either sender or receiver, since it was last
      re-initialized.  Retries of a setup attempt do not cause the
      counter to be incremented.
      A Management Station can detect discontinuities in this
      counter by monitoring the appnNodeCounterDisconTime object
      in the APPN MIB."
  ::= { hprRtpGlobe 1 }

hprRtpGlobeCtrState OBJECT-TYPE

  SYNTAX INTEGER {
                  notActive(1),
                  active(2)
                 }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
      "This object allows a network management station to turn the
      counters in the hprRtpTable on and off.  The initial value of
      this object is an implementation choice.
             notActive(1) - the counters in the hprRtpTable are
                            returning no meaningful values
             active(2)    - the counters in the hprRtpTable are
                            being incremented and are returning
                            meaningful values"
  ::= { hprRtpGlobe 2 }

hprRtpGlobeCtrStateTime OBJECT-TYPE

  SYNTAX DateAndTime
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The time when the value of the hprRtpGlobeCtrState object
      last changed.  The initial value returned by this object is
      the time at which the APPN node instrumented with this MIB
      was last brought up."
  ::= { hprRtpGlobe 3 }

-- ********************************************************************* -- The RTP Connection Table -- There may be many RTP connections on a node supporting the functions -- specified in the RTP option set. Each node implementing this option -- set shall maintain a table of these RTP connections. -- *********************************************************************

hprRtpTable OBJECT-TYPE

  SYNTAX SEQUENCE OF HprRtpEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The RTP Connection table"
  ::= { hprRtp 2 }

hprRtpEntry OBJECT-TYPE

  SYNTAX HprRtpEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The local NCE ID and local TCID are used to index this
      table."
  INDEX
         { hprRtpLocNceId,
           hprRtpLocTcid }
  ::= { hprRtpTable 1 }

HprRtpEntry ::= SEQUENCE {

 hprRtpLocNceId          OCTET STRING,       -- local nce id
 hprRtpLocTcid           OCTET STRING,       -- local tcid
 hprRtpRemCpName         SnaControlPointName,-- remote cp name
 hprRtpRemNceId          OCTET STRING,       -- remote nce id
 hprRtpRemTcid           OCTET STRING,       -- remote tcid
 hprRtpPathSwitchTrigger INTEGER,            -- trigger (read-write)
 hprRtpRscv              OCTET STRING,       -- rscv
 hprRtpTopic             DisplayString,      -- topic (cos)
 hprRtpState             INTEGER,            -- state
 hprRtpUpTime            TimeTicks,          -- up time
 hprRtpLivenessTimer     Unsigned32,         -- liveness timer
 hprRtpShortReqTimer     Unsigned32,         -- short request timer
 hprRtpPathSwTimer       Unsigned32,         -- path switch timer
 hprRtpLivenessTimeouts  HprRtpCounter,      -- liveness timeouts
 hprRtpShortReqTimeouts  HprRtpCounter,      -- short req timeouts
 hprRtpMaxSendRate       Gauge32,            -- maximum send rate
 hprRtpMinSendRate       Gauge32,            -- minimum send rate
 hprRtpCurSendRate       Gauge32,            -- current send rate
 hprRtpSmRdTripDelay     Gauge32,            -- smooth rnd trip
                                                delay
 hprRtpSendPackets       HprRtpCounter,      -- packets sent
 hprRtpRecvPackets       HprRtpCounter,      -- packets received
 hprRtpSendBytes         HprRtpCounter,      -- bytes sent
 hprRtpRecvBytes         HprRtpCounter,      -- bytes received
 hprRtpRetrPackets       HprRtpCounter,      -- pkts re-xmitted
 hprRtpPacketsDiscarded  HprRtpCounter,      -- pkts discarded
 hprRtpDetectGaps        HprRtpCounter,      -- gaps detected
 hprRtpRateReqSends      HprRtpCounter,      -- rate req send
 hprRtpOkErrPathSws      HprRtpCounter,      -- ok  err path sws
 hprRtpBadErrPathSws     HprRtpCounter,      -- bad err path sws
 hprRtpOkOpPathSws       HprRtpCounter,      -- ok  op  path sws
 hprRtpBadOpPathSws      HprRtpCounter,      -- bad op  path sws
 hprRtpCounterDisconTime TimeStamp           -- discontinuity ind
    }

hprRtpLocNceId OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (1..8))
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The local Network Connection Endpoint (NCE) ID of this RTP
      connection.  NCEs identify CPs, LUs, Boundary Functions (BFs),
      and Route Setup (RS) components.  A value for this object can
      be retrieved from any of the following objects in the APPN
      MIB:
           - appnLsCpCpNceId
           - appnLsRouteNceId
           - appnLsBfNceId
           - appnIsInRtpNceId
           - appnIsRtpNceId
      In each case this value identifies a row in this table
      containing information related to that in the APPN MIB."
  ::= { hprRtpEntry 1 }

hprRtpLocTcid OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (8))
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The local TCID of this RTP connection.  A value for this
      object can be retrieved from either the appnIsInRtpTcid object
      or the appnIsRtpTcid object the APPN MIB; in each case this
      value identifies a row in this table containing information
      related to that in the APPN MIB."
  ::= { hprRtpEntry 2 }

hprRtpRemCpName OBJECT-TYPE

  SYNTAX SnaControlPointName
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "Administratively assigned network name for the remote node of
      this RTP connection."
  ::= { hprRtpEntry 3 }

hprRtpRemNceId OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (1..8))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The remote Network Connection Endpoint (NCE) of this RTP
      connection.  NCEs identify CPs, LUs, Boundary Functions (BFs),
      and Route Setup (RS) components."
  ::= { hprRtpEntry 4 }

hprRtpRemTcid OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (8))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The remote TCID of this RTP connection."
  ::= { hprRtpEntry 5 }

hprRtpPathSwitchTrigger OBJECT-TYPE

  SYNTAX INTEGER {
                  ready(1),
                  switchPathNow(2)
                 }
  MAX-ACCESS read-write
  STATUS current
  DESCRIPTION
      "Object by which a Management Station can trigger an operator-
      requested path switch, by setting the value to
      switchPathNow(2).  Setting this object to switchPathNow(2)
      triggers a path switch even if its previous value was already
      switchPathNow(2).
      The value ready(1) is returned on GET operations until a SET
      has been processed; after that the value received on the most
      recent SET is returned.
      This MIB module provides no support for an operator-requested
      switch to a specified path."
  ::= { hprRtpEntry 6 }

hprRtpRscv OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (0..255))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The forward Route Selection Control Vector for this RTP
      connection.  The format of this vector is described in SNA
      Formats.
      The value returned in this object during a path switch is
      implementation-dependent:  it may be the old path, the new
      path, a zero-length string, or some other valid RSCV string."
  ::= { hprRtpEntry 7 }

hprRtpTopic OBJECT-TYPE

  SYNTAX DisplayString (SIZE(8))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The topic for this RTP connection.  This is used to indicate
      the Class of Service."
  ::= { hprRtpEntry 8 }

hprRtpState OBJECT-TYPE

  SYNTAX INTEGER {
                  rtpListening(1),
                  rtpCalling(2),
                  rtpConnected(3),
                  rtpPathSwitching(4),
                  rtpDisconnecting(5),
                  other(99)
                 }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The state of the RTP connection, from the perspective of the
      local RTP protocol machine:
          rtpListening      - connection open; waiting for other end
                              to call in
          rtpCalling        - connection opened, attempting to call
                              out, have not yet received any data
                              from other end
          rtpConnected      - connection is active; responded to a
                              call-in or received other end's TCID
                              from a call-out attempt
          rtpPathSwitching  - the path switch timer is running;
                              attempting to find a new path for this
                              connection.
          rtpDisconnecting  - no sessions are using this connection;
                              in process of bringing it down
          other             - the connection is not in any of the
                              states listed above."
  ::= { hprRtpEntry 9 }

hprRtpUpTime OBJECT-TYPE

  SYNTAX TimeTicks
  UNITS "1/100ths of a second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The length of time the RTP connection has been up, measured
      in 1/100ths of a second."
  ::= { hprRtpEntry 10 }

hprRtpLivenessTimer OBJECT-TYPE

  SYNTAX Unsigned32
  UNITS "1/100ths of a second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The value of the liveness (ALIVE) timer of this RTP
      connection, in units of 1/100th of a second.  When this timer
      expires and no packet has arrived from the partner since it
      was last set, packets with Status Request indicators will be
      sent to see if the RTP connection is still alive."
  ::= { hprRtpEntry 11 }

hprRtpShortReqTimer OBJECT-TYPE

  SYNTAX Unsigned32
  UNITS "1/100ths of a second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The value of the RTP SHORT_REQ timer, in units of 1/100 of a
      second.  This timer represents the maximum time that a sender
      waits for a reply from a receiver."
  ::= { hprRtpEntry 12 }

hprRtpPathSwTimer OBJECT-TYPE

  SYNTAX Unsigned32
  UNITS "1/100ths of a second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The length of time that RTP should attempt a path switch
      for a connection, in units of 1/100th of a second."
  ::= { hprRtpEntry 13 }

hprRtpLivenessTimeouts OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "liveness timeouts"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of liveness timeouts for this RTP connection."
  ::= { hprRtpEntry 14 }

hprRtpShortReqTimeouts OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "short request timeouts"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of short request timeouts for this RTP connection."
  ::= { hprRtpEntry 15 }

hprRtpMaxSendRate OBJECT-TYPE

  SYNTAX Gauge32
  UNITS "bytes per second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The high-water mark for this RTP connection's send rate, in
      units of bytes per second.  This is the high-water mark for
      the entire life of the connection, not just the high-water
      mark for the connection's current path.
      For more details on this and other parameters related to HPR,
      see the High Performance Routing Architecture Reference."
  ::= { hprRtpEntry 16 }

hprRtpMinSendRate OBJECT-TYPE

  SYNTAX Gauge32
  UNITS "bytes per second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The low-water mark for this RTP connection's send rate, in
      units of bytes per second.  This is the low-water mark for the
      entire life of the connection, not just the low-water mark for
      the connection's current path.
      For more details on this and other parameters related to HPR,
      see the High Performance Routing Architecture Reference."
  ::= { hprRtpEntry 17 }

hprRtpCurSendRate OBJECT-TYPE

  SYNTAX Gauge32
  UNITS "bytes per second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The current send rate for this RTP connection, in units of
      bytes per second.
      For more details on this and other parameters related to HPR,
      see the High Performance Routing Architecture Reference."
  ::= { hprRtpEntry 18 }

hprRtpSmRdTripDelay OBJECT-TYPE

  SYNTAX Gauge32
  UNITS "1/1000ths of a second"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The smoothed round trip delay for this RTP connection, in
      units of 1/1000th of a second (ms).
      For more details on this and other parameters related to HPR,
      see the High Performance Routing Architecture Reference."
  ::= { hprRtpEntry 19 }

hprRtpSendPackets OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "RTP packets"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of packets successfully sent on this RTP
      connection."
  ::= { hprRtpEntry 20 }

hprRtpRecvPackets OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "RTP packets"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of packets received on this RTP connection.  The
      counter is incremented only once if duplicate copies of a
      packet are received."
  ::= { hprRtpEntry 21 }

hprRtpSendBytes OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "bytes"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of bytes sent on this RTP connection.  Both RTP
      Transport Header (THDR) bytes and data bytes are included in
      this count."
  ::= { hprRtpEntry 22 }

hprRtpRecvBytes OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "bytes"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of bytes received on this RTP connection.  Both RTP
      Transport Header (THDR) bytes and data bytes are included in
      this count."
  ::= { hprRtpEntry 23 }

hprRtpRetrPackets OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "RTP packets"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of packets retransmitted on this RTP connection."
  ::= { hprRtpEntry 24 }

hprRtpPacketsDiscarded OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "RTP packets"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of packets received on this RTP connection and then
      discarded.  A packet may be discarded because it is determined
      to be a duplicate, or for other reasons."
  ::= { hprRtpEntry 25 }

hprRtpDetectGaps OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "gaps"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of gaps detected on this RTP connection."
  ::= { hprRtpEntry 26 }

hprRtpRateReqSends OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "rate requests"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of Rate Requests sent on this RTP connection."
  ::= { hprRtpEntry 27 }

hprRtpOkErrPathSws OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "path switch attempts"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of successful path switch attempts for this RTP
      connection due to errors."
  ::= { hprRtpEntry 28 }

hprRtpBadErrPathSws OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "path switch attempts"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of unsuccessful path switches for this RTP
      connection due to errors."
  ::= { hprRtpEntry 29 }

hprRtpOkOpPathSws OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "path switches"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of successful path switches for this RTP connection
      due to operator requests."
  ::= { hprRtpEntry 30 }

hprRtpBadOpPathSws OBJECT-TYPE

  SYNTAX HprRtpCounter
  UNITS "path switches"
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The count of unsuccessful path switches for this RTP
      connection due to operator requests.  This counter is not
      incremented by an implementation that does not support
      operator-requested path switches, even if a Management Station
      requests such a path switch by setting the
      hprRtpPathSwitchTrigger object."
  ::= { hprRtpEntry 31 }

hprRtpCounterDisconTime OBJECT-TYPE

  SYNTAX TimeStamp
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The value of the sysUpTime object when the counters for this
      RTP connection last experienced a discontinuity.  This will be
      the more recent of two times:  the time at which the
      connection was established or the time at which the HPR
      counters were last turned on or off."
  ::= { hprRtpEntry 32 }

-- ********************************************************************* -- The RTP Connection Status Table -- This table contains statistics and historical information related to -- both successful and unsuccessful RTP path switches. This -- information can be important for both trend analysis and problem -- determination. -- -- Note the terminology here: when RTP is triggered to find a new path -- for a connection, this initiates a 'path switch,' which will end up -- being either successful or unsuccessful. During this path switch, -- RTP will make one or more 'path switch attempts,' which are attempts -- to find a new path for the connection and switch the connection to -- it. This 'new' path may be the same path that the connection was -- using before the path switch. -- -- It is an implementation option how many entries to keep in this -- table, and how long to retain any individual entry. -- ********************************************************************* hprRtpStatusTable OBJECT-TYPE

  SYNTAX SEQUENCE OF HprRtpStatusEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "RTP Connection Status Table:  This table contains historical
      information on RTP connections.  An entry is created in this
      table when a path switch is completed, either successfully or
      unsuccessfully."
  ::= { hprRtp 3 }

hprRtpStatusEntry OBJECT-TYPE

  SYNTAX HprRtpStatusEntry
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "This table is indexed by local NCE ID, local TCID, and an
      integer hprRtpStatusIndex.  Thus the primary grouping of table
      rows is by RTP connection, with the multiple entries for a
      given RTP connection ordered by time."
  INDEX
         { hprRtpStatusLocNceId,
           hprRtpStatusLocTcid,
           hprRtpStatusIndex }
  ::= { hprRtpStatusTable 1 }
 HprRtpStatusEntry ::= SEQUENCE {
 hprRtpStatusLocNceId          OCTET STRING, -- local nce id
 hprRtpStatusLocTcid           OCTET STRING, -- local tcid
 hprRtpStatusIndex             Unsigned32,   -- index
 hprRtpStatusStartTime         DateAndTime,  -- time stamp
 hprRtpStatusEndTime           DateAndTime,  -- time stamp
 hprRtpStatusRemCpName         SnaControlPointName,-- remote cp name
 hprRtpStatusRemNceId          OCTET STRING, -- remote nce id
 hprRtpStatusRemTcid           OCTET STRING, -- remote tcid
 hprRtpStatusNewRscv           OCTET STRING, -- new rscv
 hprRtpStatusOldRscv           OCTET STRING, -- old rscv
 hprRtpStatusCause             INTEGER,      -- cause
 hprRtpStatusLastAttemptResult INTEGER       -- result of last
                                      }

hprRtpStatusLocNceId OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (1..8))
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The local Network Connection Endpoint (NCE) of this RTP
      connection.  NCEs identify CPs, LUs, Boundary Functions (BFs),
      and Route Setup (RS) components."
  ::= { hprRtpStatusEntry 1 }

hprRtpStatusLocTcid OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (8))
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "The local TCID of this RTP connection."
  ::= { hprRtpStatusEntry 2 }

hprRtpStatusIndex OBJECT-TYPE

  SYNTAX Unsigned32 (1..4294967295)
  MAX-ACCESS not-accessible
  STATUS current
  DESCRIPTION
      "Table index.  This value begins at one and is incremented
      when a new entry is added to the table.  It is an
      implementation choice whether to run a single counter for
      all entries in the table, or to run a separate counter for
      the entries for each RTP connection.  In the unlikely event
      of a wrap, it is assumed that Management Stations will have
      the ability to order table entries correctly."
  ::= { hprRtpStatusEntry 3 }

hprRtpStatusStartTime OBJECT-TYPE

  SYNTAX DateAndTime
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The time when the path switch began."
  ::= { hprRtpStatusEntry 4 }

hprRtpStatusEndTime OBJECT-TYPE

  SYNTAX DateAndTime
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The time when the path switch was ended, either successfully
      or unsuccessfully."
  ::= { hprRtpStatusEntry 5 }

hprRtpStatusRemCpName OBJECT-TYPE

  SYNTAX SnaControlPointName
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "Administratively assigned network name for the remote node of
      this RTP connection."
  ::= { hprRtpStatusEntry 6 }

hprRtpStatusRemNceId OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (1..8))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The remote Network Connection Endpoint (NCE) of this RTP
      connection.  NCEs identify CPs, LUs, Boundary Functions (BFs),
      and Route Setup (RS) components."
  ::= { hprRtpStatusEntry 7 }

hprRtpStatusRemTcid OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (8))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The remote TCID of this RTP connection."
  ::= { hprRtpStatusEntry 8 }

hprRtpStatusNewRscv OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (0..255))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The new Route Selection Control Vector for this RTP
      connection.  A zero-length string indicates that no value is
      available, perhaps because the implementation does not save
      RSCVs."
  ::= { hprRtpStatusEntry 9 }

hprRtpStatusOldRscv OBJECT-TYPE

  SYNTAX OCTET STRING (SIZE (0..255))
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The old Route Selection Control Vector for this RTP
      connection.  A zero-length string indicates that no value is
      available, perhaps because the implementation does not save
      RSCVs."
  ::= { hprRtpStatusEntry 10 }

hprRtpStatusCause OBJECT-TYPE

  SYNTAX INTEGER {
                  other(1),
                  rtpConnFail(2),
                  locLinkFail(3),
                  remLinkFail(4),
                  operRequest(5)
                 }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The reason for the path switch:
           other(1)       - Reason other than those listed below,
           rtpConnFail(2) - RTP connection failure detected,
           locLinkFail(3) - Local link failure,
           remLinkFail(4) - Remote link failure (learned from TDUs),
           operRequest(5) - Operator requested path switch. "
  ::= { hprRtpStatusEntry 11 }

hprRtpStatusLastAttemptResult OBJECT-TYPE

  SYNTAX INTEGER { successful(1),
                   initiatorMoving(2),
                   directorySearchFailed(3),
                   rscvCalculationFailed(4),
                   negativeRouteSetupReply(5),
                   backoutRouteSetupReply(6),
                   timeoutDuringFirstAttempt(7),
                   otherUnsuccessful(8)
                 }
  MAX-ACCESS read-only
  STATUS current
  DESCRIPTION
      "The result of the last completed path switch attempt.  If the
      path switch is aborted in the middle of a path switch attempt
      because the path switch timer expires, the result of the
      previous path switch attempt is reported.
      The values are defined as follows:
         successful(1)                - The final path switch
                                        attempt was successful.
         initiatorMoving(2)           - The final path switch
                                        attempt failed because the
                                        initiator is mobile, and
                                        there was no active link
                                        out of this node.
         directorySearchFailed(3)     - The final path switch
                                        attempt failed because a
                                        directory search for the
                                        destination node's CP name
                                        failed.
         rscvCalculationFailed(4)     - The final path switch
                                        attempt failed because an
                                        RSCV to the node containing
                                        the remote RTP endpoint
                                        could not be calculated.
         negativeRouteSetupReply(5)   - The final path switch
                                        attempt failed because route
                                        setup failed for the new
                                        path.
         backoutRouteSetupReply(6)    - The final path switch
                                        attempt failed because the
                                        remote RTP endpoint refused
                                        to continue the RTP
                                        connection.
         timeoutDuringFirstAttempt(7) - The path switch timer
                                        expired during the first
                                        path switch attempt.
         otherUnsuccessful(8)         - The final path switch
                                        attempt failed for a reason
                                        other than those listed
                                        above."
  ::= { hprRtpStatusEntry 12 }

-- *************************************************************** -- Conformance information -- ***************************************************************

hprConformance OBJECT IDENTIFIER ::= { hprMIB 2 }

hprCompliances OBJECT IDENTIFIER ::= { hprConformance 1 } hprGroups OBJECT IDENTIFIER ::= { hprConformance 2 }

-- Compliance statements

hprCompliance MODULE-COMPLIANCE

  STATUS  current
  DESCRIPTION
      "The compliance statement for the SNMPv2 entities that
      implement the HPR MIB."
  MODULE  -- this module

-- Unconditionally mandatory groups

      MANDATORY-GROUPS  {
                         hprGlobalConfGroup,
                         hprAnrRoutingConfGroup,
                         hprTransportUserConfGroup
                        }

-- Conditionally mandatory groups

      GROUP   hprRtpConfGroup
      DESCRIPTION
          "The hprRtpConfGroup is mandatory for HPR implementations
          supporting the HPR transport tower."
  ::= { hprCompliances 1 }

-- Units of conformance hprGlobalConfGroup OBJECT-GROUP

    OBJECTS {
             hprNodeCpName,
             hprOperatorPathSwitchSupport
            }
  STATUS  current
  DESCRIPTION
      "A collection of objects providing the instrumentation of HPR
      general information and capabilities."
  ::= { hprGroups 1 }

hprAnrRoutingConfGroup OBJECT-GROUP

    OBJECTS {
             hprAnrsAssigned,
             hprAnrCounterState,
             hprAnrCounterStateTime,
             hprAnrType,
             hprAnrOutTgDest,
             hprAnrOutTgNum,
             hprAnrPacketsReceived,
             hprAnrCounterDisconTime
            }
  STATUS  current
  DESCRIPTION
      "A collection of objects providing instrumentation for the
      node's ANR routing."
  ::= { hprGroups 2 }

hprTransportUserConfGroup OBJECT-GROUP

    OBJECTS {
             hprNceType,
             hprNceDefault,
             hprNceInstanceId
            }
  STATUS  current
  DESCRIPTION
      "A collection of objects providing information on the users of
      the HPR transport known to the node."
  ::= { hprGroups 3 }

hprRtpConfGroup OBJECT-GROUP

    OBJECTS {
             hprRtpGlobeConnSetups,
             hprRtpGlobeCtrState,
             hprRtpGlobeCtrStateTime,
             hprRtpRemCpName,
             hprRtpRemNceId,
             hprRtpRemTcid,
             hprRtpPathSwitchTrigger,
             hprRtpRscv,
             hprRtpTopic,
             hprRtpState,
             hprRtpUpTime,
             hprRtpLivenessTimer,
             hprRtpShortReqTimer,
             hprRtpPathSwTimer,
             hprRtpLivenessTimeouts,
             hprRtpShortReqTimeouts,
             hprRtpMaxSendRate,
             hprRtpMinSendRate,
             hprRtpCurSendRate,
             hprRtpSmRdTripDelay,
             hprRtpSendPackets,
             hprRtpRecvPackets,
             hprRtpSendBytes,
             hprRtpRecvBytes,
             hprRtpRetrPackets,
             hprRtpPacketsDiscarded,
             hprRtpDetectGaps,
             hprRtpRateReqSends,
             hprRtpOkErrPathSws,
             hprRtpBadErrPathSws,
             hprRtpOkOpPathSws,
             hprRtpBadOpPathSws,
             hprRtpCounterDisconTime,
             hprRtpStatusStartTime,
             hprRtpStatusEndTime,
             hprRtpStatusRemNceId,
             hprRtpStatusRemTcid,
             hprRtpStatusRemCpName,
             hprRtpStatusNewRscv,
             hprRtpStatusOldRscv,
             hprRtpStatusCause,
             hprRtpStatusLastAttemptResult
            }
  STATUS  current
  DESCRIPTION
      "A collection of objects providing the instrumentation for RTP
      connection end points."
  ::= { hprGroups 4 }

-- end of conformance statement

END

Acknowledgments

This MIB module is the product of the IETF SNA NAU MIB WG and the AIW APPN/HPR MIBs SIG. Thanks to Ray Bird, IBM Corporation; Jim Cobban, Nortel; and Laura Petrie, IBM Corporation, for their contributions and review.

References

[1] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,

    "Structure of Management Information for version 2 of
    the Simple Network Management Protocol (SNMPv2)", RFC 1902,
    January 1996.

[2] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,

    "Textual Conventions for Version 2 of the Simple
    Network Management Protocol (SNMPv2)", RFC 1903, January 1996.

[3] Case, J., McCloghrie, K., Rose, M., and S. Waldbusser,

    "Conformance Statements for Version 2 of the Simple
    Network Management Protocol (SNMPv2)", RFC 1904, January 1996.

[4] Clouston, B., and B. Moore, "Definition of Managed Objects for

    APPN", RFC 2115, June 1997.

[5] IBM, APPN High Performance Routing Architecture Reference, SV40-

    1018-00.

[6] IBM, SNA/MS Formats, GC31-8302-00

Security Considerations

In most cases, MIBs are not themselves security risks; if SNMP security is operating as intended, the use of a MIB to view information about a system, or to change some parameter at the system, is a tool, not a threat.

None of the read-only objects in the HPR MIB reports a password, user data, or anything else that is particularly sensitive. Some enterprises view their network configuration itself, as well as information about network usage and performance, as corporate assets; such enterprises may wish to restrict SNMP access to most of the objects in the MIB.

One read-write object in the MIB can affect network operations:

o hprRtpPathSwitchTrigger: Setting this object to 'switchPathNow'

    triggers an immediate path switch attempt.  An HPR path switch
    does not itself disrupt the SNA sessions using the RTP
    connection undergoing the path switch.  However, frequent path
    switches for many RTP connections can have an adverse impact on
    overall network performance.
    It is recommended that SNMP access to this object be restricted.
    Other read-write objects control the gathering of network
    management data; controlling access to these objects is less
    critical.

Authors' Addresses

Bob Clouston Cisco Systems 7025 Kit Creek Road P.O. Box 14987 Research Triangle Park, NC 27709, USA

Phone: +1 919 472 2333 EMail: [email protected]

Bob Moore IBM Corporation 800 Park Offices Drive CNMA/664 P.O. Box 12195 Research Triangle Park, NC 27709, USA

Phone: +1 919 254 4436 EMail: [email protected]

10. Full Copyright Statement

Copyright (C) The Internet Society (1997). 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.