DISMAN Working Group                                       Kenneth White
INTERNET DRAFT: <draft-ietf-disman-remops-mib-00.txt>          IBM Corp.
Expiration Date: October, 1998

April 1998



                    Definitions of Managed Objects for
                      Remote Operations Using SMIv2
                  <draft-ietf-disman-remops-mib-00.txt>




Status of this Memo

This document is an Internet Draft.  Internet Drafts are working
documents of the Internet Engineering Task Force (IETF), its Areas, and
its Working Groups.  Note that other groups may also distribute working
documents as Internet Drafts.

Internet Drafts are draft documents valid for a maximum of six months.
Internet Drafts may be updated, replaced, or obsoleted by other
documents at any time.  It is not appropriate to use Internet Drafts as
reference material or to cite them other than as a "working draft" or
"work in progress."

Please check the I-D abstract listing contained in each Internet Draft
directory to learn the current status of this or any Internet Draft.
Distribution of this document is unlimited.


Copyright Notice

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


Abstract

This memo defines a Management Information Base (MIB) for performing
remote operation requests (ping and traceroute) at a remote host.  When
managing a network it is useful to be able to issue either a ping or
traceroute request at a host different from the one that the issuer is
at and have the results returned.

Currently, there exists several enterprise defined MIBs for performing a
remote ping request.  None are known that enable a remote traceroute
request.  The purpose of this memo is to defined a standards-based
definition for remote ping and to introduce a remote traceroute
capability.


Table of Contents


DISMAN Working Group      Expires October 1998                  [Page 1]


Internet Draft                 REMOPS-MIB                     April 1998

1.0  Introduction  . . . . . . . . . . . . . . . . . . . . . . . . .   2

2.0  The SNMP Network Management Framework   . . . . . . . . . . . .   3

3.0  Structure of the MIB  . . . . . . . . . . . . . . . . . . . . .   4

4.0  Definitions   . . . . . . . . . . . . . . . . . . . . . . . . .   5

5.0  Security Considerations   . . . . . . . . . . . . . . . . . . .  17

6.0  Intellectual Property   . . . . . . . . . . . . . . . . . . . .  17

7.0  Acknowledgments   . . . . . . . . . . . . . . . . . . . . . . .  18

8.0  References  . . . . . . . . . . . . . . . . . . . . . . . . . .  18

9.0  Author's Address  . . . . . . . . . . . . . . . . . . . . . . .  19

10.0  Full Copyright Statement   . . . . . . . . . . . . . . . . . .  19



1.0  Introduction

This document is a product of the Distributed Management (DISMAN)
Working Group. Its purpose is to define a standards-based MIB module for
performing remote operation requests.  The remote operations requests
consist of the ping and traceroute functions.

Ping and traceroute are two very useful functions for managing networks.
Ping is typically used to determine if a path exists between two hosts
while traceroute show an actual path.  Ping is implemented using the
InterNet Control Message Protocol (ICMP) "ECHO" facility. Traceroute is
implemented by transmitting a series of probe packets with increasing
time-to-live values.  A probe packet is a UDP datagram encapsulated into
an IP packet.  Each hop in a path to the target (destination) host
rejects the probe packets until its time-to-live value becomes large
enough for the probe to be forwarded.  Traceroute relies on the probes
being rejected via an ICMP message to discover the hops taken along a
path to the final destination.

Both ping and traceroute yield the round-trip times measured in
milliseconds.  These times can be used as an rough approximation for
network transit time.

Consider the following diagram:









DISMAN Working Group      Expires October 1998                  [Page 2]


Internet Draft                 REMOPS-MIB                     April 1998

+----------------------------------------------------------------------+
|                                                                      |
|                Remote ping or             Actual ping or             |
|         +-----+traceroute request +------+traceroute request +------+|
|         |Local|------------------>|Remote|------------------>|Target||
|         | Host|                   | Host |                   | Host ||
|         +-----+                   +------+                   +------+|
|                                                                      |
|                                                                      |
+----------------------------------------------------------------------+

A local host is the host from which the remote ping or traceroute
request is initiated from using an SNMP request.  The remote host is a
host where the MIB defined by this memo (REMOPS-MIB) is implemented that
receives the remote ping or traceroute request via SNMP and performs the
actual ping or traceroute command to the target (destination) host.

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


2.0  The SNMP Network Management Framework

The SNMP Network Management Framework presently consists of six major
components.  They are:

o   the overall architecture, described in RFC 2271 [7].

o   the SMI, described in RFC 1902 [3], - the mechanisms used for
    describing and naming objects for the purpose of management.

o   the MIB-II, STD 17, RFC 1213 [2], - the core set of managed objects
    for the Internet suite of protocols.

o   the protocol, RFC 1157 [1] and/or RFC 1905 [6] and/or RFC 2272 [8]
    -- the protocol for accessing managed information.

o   the user-based security model defined in RFC 2274 [10].

o   the view-based access control model defined in RFC 2275 [11].

Textual conventions are defined in RFC 1903 [4], and conformance
statements are defined in RFC 1904 [5].  Common applications are defined
in RFC 2273 [9].

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

This memo specifies a MIB module that is compliant to the SNMPv2 SMI.  A
semantically identical MIB conforming to the SNMPv1 SMI can be produced
through the appropriate translation.



DISMAN Working Group      Expires October 1998                  [Page 3]


Internet Draft                 REMOPS-MIB                     April 1998

3.0  Structure of the MIB

The REMOPS-MIB consists of the following tables:

o   remopsPingSetupTable

o   remopsPingTable

o   remopsTraceRouteSetupTable

o   remopsTraceRouteTable

The purpose of the remopsPingSetupTable and the
remopsTraceRouteSetupTable are to specify the parameters for either a
remote ping or traceroute request. An entry in either table defines a
collection of parameters. Its index, remopsPingSetupIndex or
remopsTraceRouteSetupIndex, is used as the index into either the
remopsPingTable or remopsTraceRouteTable for invoking the desired
function.

An instance identifier of the zero-length octet string for either
remopsPingSetupIndex or remopsTraceRouteSetupIndex selects the default
parameters that can be used by either request.

A remote ping request is initiated by performing a SNMP GET request on
remopsPingResponseTime where this object's 1st index,
remopsPingSetupIndex, specifies an remopsPingSetupEntry that provides
the parameters for the request. Its 2nd and 3rd indexes:
remopsPingHostAddressType and remopsPingHostAddress specifiy the target
(destination) address of the request.  A target address can be specified
as either a dnsName(1), ipv4(2), or ipv6(3) address.

A remote traceroute request is initiated by performing a SNMP GET
request on remopsTraceRouteResponse where this object's 1st index,
remopsTraceRouteSetupIndex, specifies an remopsTraceRouteSetupEntry that
provides the parameters for the request. Its 2nd and 3rd indexes:
remopsTraceRouteHostAddressType and remopsTraceRouteHostAddress specifiy
the target (destination) address of the request.  A target address can
be specified as either a dnsName(1), ipv4(2), or ipv6(3) address.

Both remopsPingSetupTable and remopsTraceRouteSetupTable are defined to
allow remote creation of their entries via thier RowStatus objects:

o   remopsPingSetupRowStatus
o   remopsTraceRouteSetupRowStatus

An implementation SHOULD NOT retain SNMP-created entries in either the
remopsPingSetupTable or remopsTraceRouteSetupTable across reIPLs
(Initial Program Loads) of its agent, since management applications need
to see consistent behavior with respect to the persistence of the table
entries that they create.

It is expected that starting with a single entry in each table to define
an default entry provides sufficient functionality and that it is not

DISMAN Working Group      Expires October 1998                  [Page 4]


Internet Draft                 REMOPS-MIB                     April 1998

necessary to enable persistence of table entries by adding StorageType
(refer to RFC 1903 [4]) objects.


4.0  Definitions

  REMOPS-MIB DEFINITIONS ::= BEGIN

  IMPORTS
      MODULE-IDENTITY, OBJECT-TYPE, Integer32,
      experimental, Unsigned32
          FROM SNMPv2-SMI                  -- RFC1902
      TEXTUAL-CONVENTION, RowStatus,
      TestAndIncr, TruthValue
          FROM SNMPv2-TC                   -- RFC1903
      MODULE-COMPLIANCE, OBJECT-GROUP
          FROM SNMPv2-CONF;                -- RFC1904

  remopsMIB MODULE-IDENTITY
      LAST-UPDATED "9804160000Z"
      ORGANIZATION "IETF Distributed Management Working Group"
      CONTACT-INFO
          "Kenneth White

          International Business Machines Corporation
          Network Computing Software Divison
          Research Triangle Park, NC, USA

          E-mail: kennethw@vnet.ibm.com"
      DESCRIPTION
          "The Remote Operations MIB (REMOPS-MIB) enables use
          of the ping and traceroute functions via SNMP requests."
      ::= { experimental 2001 }

  -- Textual Conventions

  RemopsUtf8String ::= TEXTUAL-CONVENTION
           DISPLAY-HINT "255a"
           STATUS  current
           DESCRIPTION
                   "To facilitate internationalization, this TC
                    represents information taken from the ISO/IEC IS
                    10646-1 character set, encoded as an octet string
                    using the UTF-8 character encoding scheme described
                    in RFC 2044 [15].  For strings in 7-bit US-ASCII,
                    there is no impact since the UTF-8 representation
                    is identical to the US-ASCII encoding.

                    This object is similar to the Utf8String
                    textual convention defined in RFC2287 with the
                    difference that its maximum length is limited
                    to 65 OCTETs as oppose to 255 OCTETs."
           SYNTAX  OCTET STRING (SIZE (0..65))


DISMAN Working Group      Expires October 1998                  [Page 5]


Internet Draft                 REMOPS-MIB                     April 1998

  RemopsHostAddressType ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          "The textual convention for defining the type of
          the target host's (destination) address."
      SYNTAX  INTEGER {
             none(0),
             dnsName(1), -- RemopsUtf8string encoded DNS name
             ipv4(2),    -- ipv4 address
             ipv6(3)     -- ipv6 address
            }

  RemopsHostAddress ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          "The textual convention for specifying a host
          target (destination) address by use of the
          RemopsHostAddressType textual convention.
          The length of an object of this
          textual convention in octets by
          RemopsHostAddressType enumeration is:

             RemopsHostAddressType
                  dnsName(1)         1 to 65 OCTETS
                  ipv4(2)            4 OCTETS
                  ipv6(3)            16 OCTETS"
      SYNTAX OCTET STRING (SIZE (0..65))

  RemopsTraceRouteResponseType ::= TEXTUAL-CONVENTION
      STATUS  current
      DESCRIPTION
          "The results of a traceroute request made by a remote
          host encoded as an OCTET STRING:

             -------------------------------------
             |return code| from 0..255 responses |
             -------------------------------------
                   -------------------------------------------
       1 response->Response TimeDNS Name LengthDNS Name
                   -------------------------------------------

                   ------------------------------------
                   RemopsHostAddressTypeLength|Address|
                   ------------------------------------

          where:

          return code (1 OCTET) = unsigned integer:
              0   The traceroute function completed successfully.
                  Examine individual responses in the data
                  returned. Each individual response has a
                  time-to-live values implied by its position
                  in the response starting with 1.
              1   Internal error.

DISMAN Working Group      Expires October 1998                  [Page 6]


Internet Draft                 REMOPS-MIB                     April 1998

              2   Unknown destination address.
              3   No route to host.
              4   Interface inactive to host.
              5   Failed to resolve host name.
              6   Specified source address is invalid.
            The generic noSuchInstance SNMP error is returned if the
            specified instance identifier is incorrect.
          Response Time (4 OCTETs) = The value for this field is
             indicates the result of an individual response:
             0 => For the implied time-to-live value traceroute
                  timed out.
             >0 => The average round trip time for all retries with
                  the same TTL value.  Any request that timeouts is
                  not used in calculating this average.  A value of 0
                  indicates that the request timed out.  The final
                  calculated value should be rounded up to the nearest
                  millisecond.
          DNS Name Length (1 OCTET) = Length of the next field.
          DNS Name (0..65 OCTETS) = If present this is the DNS Name of
             an intermediate hop.
          RemopsHostAddressType (1 OCTET) = Indicates type of address
             being returned. A value of dnsName(1) is not allowed.
          Length (1 OCTET) = The number of OCTETs that comprise
             the address being returned: ipv4(2) => 4 and ipv6(3) => 16.
          Address (4 | 16 OCTETS) = Address."
      SYNTAX OCTET STRING (SIZE (1..22441))

  -- Top-level structure of the MIB

  remopsNotifications  OBJECT IDENTIFIER ::= { remopsMIB 0 }
  remopsObjects        OBJECT IDENTIFIER ::= { remopsMIB 1 }
  remopsConformance    OBJECT IDENTIFIER ::= { remopsMIB 2 }

  -- SpinLock Definition

  remopsSpinLock OBJECT-TYPE
      SYNTAX      TestAndIncr
      MAX-ACCESS  read-write
      STATUS      current
      DESCRIPTION
         "An advisory lock used to allow cooperating
         remops applications to coordinate their
         use of the remopsPingSetupTable.

         When an application seeks to create a new entry or
         alter an existing entry in either the remopsPingSetupTable
         or remopsTraceRouteSetupTable.  A management implementation
         MAY utilize the remopsSpinLock to serialize its changes
         or additions."
      ::= { remopsObjects 1 }

  -- Remote Operations Ping Setup Table

  remopsPingSetupTable OBJECT-TYPE

DISMAN Working Group      Expires October 1998                  [Page 7]


Internet Draft                 REMOPS-MIB                     April 1998

      SYNTAX SEQUENCE OF RemopsPingSetupEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines the parameters to be associated with a remote ping
          operation in the event that the standard defaults are
          not to be taken."
     ::= { remopsObjects 2 }

  remopsPingSetupEntry OBJECT-TYPE
      SYNTAX RemopsPingSetupEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines an entry in the remopsPingSetupTable. This table
          defines the policy that controls the behavior of a remote
          ping request."
      INDEX { remopsPingSetupIndex }
      ::= { remopsPingSetupTable 1 }

  RemopsPingSetupEntry ::=
      SEQUENCE {
          remopsPingSetupIndex         RemopsUtf8String,
          remopsPingSetupPacketSize    Unsigned32,
          remopsPingSetupTimeOut       Unsigned32,
          remopsPingSetupRetryCount    Unsigned32,
          remopsPingSetupRowStatus     RowStatus
      }

  remopsPingSetupIndex  OBJECT-TYPE
      SYNTAX      RemopsUtf8String
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
         "Identifier for an index within this table
         for use by the remopsPingTable. An
         agent implementation SHALL create an
         entry in this table with the defaults
         specified (refer to the DEFVAL clauses).

         The default entry MUST have an instance
         identifier of the zero-length octet
         string for remopsPingSetupIndex.
         This entry MAY NOT be deleted or
         modified."
      ::= { remopsPingSetupEntry 1 }

  remopsPingSetupPacketSize OBJECT-TYPE
      SYNTAX Unsigned32 (0..65507)
      UNITS  "octets"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the size of the data portion to be

DISMAN Working Group      Expires October 1998                  [Page 8]


Internet Draft                 REMOPS-MIB                     April 1998

          transmitted in a ping request in octets. A ping
          request is essentially a ICMP message encoded
          into an IP packet. A IP packet has a maximum size
          of 65535 octets.  So subtracting the size of the ICMP
          header (8 octets) and the size of the IP header
          (20 octets) yields a maximum size of 65507 octets."
      DEFVAL { 0 }
      ::= { remopsPingSetupEntry 2 }

  remopsPingSetupTimeOut OBJECT-TYPE
      SYNTAX Unsigned32 (1..255)
      UNITS  "seconds"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the time-out value, in seconds, for the actual
          PING request made by the remote host. Valid values for
          time out are from 1 to 255 seconds."
      DEFVAL { 3 }
      ::= { remopsPingSetupEntry 3 }

  remopsPingSetupRetryCount OBJECT-TYPE
      SYNTAX Unsigned32 (1..15)
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the number of times to issue a ping
          request at the remote host."
      DEFVAL { 3 }
      ::= { remopsPingSetupEntry 4 }

  remopsPingSetupRowStatus OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
          "This object allows entries to be created and deleted
          in the remopsPingSetupTable."
      REFERENCE
          "RFC 1903, 'Textual Conventions for version 2 of the
          Simple Network Management Protocol (SNMPv2).'"
      ::= { remopsPingSetupEntry 5 }

  -- Remote Operations Ping Table

  remopsPingTable OBJECT-TYPE
      SYNTAX SEQUENCE OF RemopsPingEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines the Remote Operations Ping Table for provide
          via SNMP the capability of invoking ping from a remote
          host."
     ::= { remopsObjects 3 }

DISMAN Working Group      Expires October 1998                  [Page 9]


Internet Draft                 REMOPS-MIB                     April 1998


  remopsPingEntry OBJECT-TYPE
      SYNTAX RemopsPingEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines an entry in the remopsPingTable. This table
          never actually exits.  The function provided by this
          table is enabled though use of an SNMP GET operation."
      INDEX {
               remopsPingSetupIndex,
               remopsPingHostAddressType,
               remopsPingHostAddress
             }
      ::= { remopsPingTable 1 }

  RemopsPingEntry ::=
      SEQUENCE {
          remopsPingHostAddressType RemopsHostAddressType,
          remopsPingHostAddress     RemopsHostAddress,
          remopsPingResponseTime    Integer32
      }

  remopsPingHostAddressType OBJECT-TYPE
      SYNTAX RemopsHostAddressType
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Specifies the address type of the destination."
      ::= { remopsPingEntry 1 }

  remopsPingHostAddress OBJECT-TYPE
      SYNTAX RemopsHostAddress
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Specifies the host address used on by PING request by
          the remote host. The host address specified is
          indicated by remopsPingHostAddressType."
      ::= { remopsPingEntry 2 }

  remopsPingResponseTime OBJECT-TYPE
      SYNTAX Integer32
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The result of the PING request made by the remote host:
              >0   Round-trip response time in milliseconds.
              -1   Internal error.
              -2   ICMP echo request timed out.
              -3   Unknown destination address.
              -4   No route to host.
              -5   Interface inactive to host.
              -6   Failed to resolve host name.

DISMAN Working Group      Expires October 1998                 [Page 10]


Internet Draft                 REMOPS-MIB                     April 1998

           The value of this object when a ping request succeeds
           is calculated as an average.  Essentially, the sum
           of the ping response times is divided by the value
           of remopsPingSetupRetryCount.  Any ping request
           that timeouts is not used in calculating this average.
           At least one of the ping requests must complete
           within the specified timeout in order for a valid
           value (> 0) to be returned by this object.  The final
           calculated should be rounded up to the nearest
           millisecond."
      ::= { remopsPingEntry 3 }

  -- Remote Operations Traceroute Setup Table

  remopsTraceRouteSetupTable OBJECT-TYPE
      SYNTAX SEQUENCE OF RemopsTraceRouteSetupEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines the parameters to be associated with a remote
          traceroute operation in the event that the standard defaults
          are not to be taken."
     ::= { remopsObjects 4 }

  remopsTraceRouteSetupEntry OBJECT-TYPE
      SYNTAX RemopsTraceRouteSetupEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines an entry in the remopsTraceRouteSetupTable. This table
          defines the policy that controls the behavior of a remote
          traceroute request."
      INDEX { remopsTraceRouteSetupIndex }
      ::= { remopsTraceRouteSetupTable 1 }

  RemopsTraceRouteSetupEntry ::=
      SEQUENCE {
          remopsTraceRouteSetupIndex              RemopsUtf8String,
          remopsTraceRouteSetupPacketSize         Unsigned32,
          remopsTraceRouteSetupTimeOut            Unsigned32,
          remopsTraceRouteSetupRetryCount         Unsigned32,
          remopsTraceRouteSetupPort               Unsigned32,
          remopsTraceRouteSetupMaxTtl             Unsigned32,
          remopsTraceRouteSetupTos                Unsigned32,
          remopsTraceRouteSetupSourceAddressType  RemopsHostAddressType,
          remopsTraceRouteSetupSourceAddress      RemopsHostAddress,
          remopsTraceRouteSetupHopAddressCtl      TruthValue,
          remopsTraceRouteSetupBypassRouteTable   TruthValue,
          remopsTraceRouteSetupRowStatus          RowStatus
      }

  remopsTraceRouteSetupIndex  OBJECT-TYPE
      SYNTAX      RemopsUtf8String
      MAX-ACCESS  not-accessible

DISMAN Working Group      Expires October 1998                 [Page 11]


Internet Draft                 REMOPS-MIB                     April 1998

      STATUS      current
      DESCRIPTION
         "Identifier for an index within this table
         for use by the remopsTraceRouteTable. An
         agent implementation SHALL create an
         entry in this table with the defaults
         specified (refer to the DEFVAL clauses).
         This entry MUST have an instance
         identifier of the zero-length octet
         string for remopsTraceRouteSetupIndex.
         This entry MAY NOT be deleted or
         modified."
      ::= { remopsTraceRouteSetupEntry 1 }

  remopsTraceRouteSetupPacketSize OBJECT-TYPE
      SYNTAX Unsigned32 (0..65507)
      UNITS  "octets"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the size of the data portion of a traceroute
          request in octets.  A traceroute request is essentially
          transmitted by encoding a UDP datagram into a
          IP packet. So subtracting the size of a UDP header
          (8 octets) and the size of a IP header (20 octets)
          yields a maximum of 65507 octets."
      DEFVAL { 0 }
      ::= { remopsTraceRouteSetupEntry 2 }

  remopsTraceRouteSetupTimeOut OBJECT-TYPE
      SYNTAX Unsigned32 (1..255)
      UNITS  "seconds"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the time-out value, in seconds, for
          a traceroute request."
      DEFVAL { 3 }
      ::= { remopsTraceRouteSetupEntry 3 }

  remopsTraceRouteSetupRetryCount OBJECT-TYPE
      SYNTAX Unsigned32 (1..20)
      UNITS "count"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the number of times to reissue a traceroute
          request with the same time-to-live (TTL) value."
      DEFVAL { 3 }
      ::= { remopsTraceRouteSetupEntry 4 }

  remopsTraceRouteSetupPort OBJECT-TYPE
      SYNTAX Unsigned32 (1..65535)
      UNITS "UDP Port"

DISMAN Working Group      Expires October 1998                 [Page 12]


Internet Draft                 REMOPS-MIB                     April 1998

      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the UDP port to sent the traceroute
          request to.  Need to specify a port that is not in
          use at the destination host."
      DEFVAL { 4096 }
      ::= { remopsTraceRouteSetupEntry 5 }

  remopsTraceRouteSetupMaxTtl OBJECT-TYPE
      SYNTAX Unsigned32 (1..255)
      UNITS "time-to-live maximum"
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the maximum time-to-live value."
      DEFVAL { 30 }
      ::= { remopsTraceRouteSetupEntry 6 }

  remopsTraceRouteSetupTos OBJECT-TYPE
      SYNTAX Unsigned32 (0..255)
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the value to store in the TOS OCTET in
          the IP probe packet that is transmitted as the
          traceroute request.  The value must be a decimal
          integer in the range 0 to 255.  This option can be
          used to see if different types-of-service result
          in different paths.  Not all values of TOS are
          legal or meaningful.  TOS is often not supported
          by IP implementations.  Useful values are probably
          `16' (low delay) and `8' (high throughput)."
      DEFVAL { 0 }
      ::= { remopsTraceRouteSetupEntry 7 }

  remopsTraceRouteSetupSourceAddressType OBJECT-TYPE
      SYNTAX RemopsHostAddressType
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Specifies the type of address that is stored in the
          corresponding remopsTraceRouteSetupSourceAddress.
          A value of none(0) indicates that the specification
          of a source address is not enabled."
      DEFVAL { none }
      ::= { remopsTraceRouteSetupEntry 8 }

  remopsTraceRouteSetupSourceAddress OBJECT-TYPE
      SYNTAX RemopsHostAddress
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "Use the specified an IP address

DISMAN Working Group      Expires October 1998                 [Page 13]


Internet Draft                 REMOPS-MIB                     April 1998

          (which must be given as an IP number, not a hostname)
          as the source address in outgoing probe packets. On
          hosts with more than one IP address, this option can
          be used to force the source address to be something
          other than the IP address of the interface the probe
          packet is sent on. If the IP address is not one of this
          machine's interface addresses, an error is returned and
          nothing is sent."
      DEFVAL { ''H }
      ::= { remopsTraceRouteSetupEntry 9 }

  remopsTraceRouteSetupBypassRouteTable OBJECT-TYPE
      SYNTAX  TruthValue
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "If true(1) bypass the normal routing tables and send
          directly to a host on an attached network. If the host
          is not on a directly-attached network, an error is returned.
          This option can be used to ping a local host through an
          interface that has no route through it (e.g., after the
          interface was dropped by routed."
      DEFVAL { false }
      ::= { remopsTraceRouteSetupEntry 10 }

  remopsTraceRouteSetupHopAddressCtl OBJECT-TYPE
      SYNTAX  TruthValue
      MAX-ACCESS read-create
      STATUS current
      DESCRIPTION
          "If true(1) return hop addresses numerically rather than
          symbolically.  Returning a hop address saves a
          nameserver address-to-name lookup for each hop found on
          the path.

          This object has a default value of true(1) since it
          is expected that most often the management application
          requesting this function would not want to see the
          hostnames of each hop."
      DEFVAL { true }
      ::= { remopsTraceRouteSetupEntry 11 }

  remopsTraceRouteSetupRowStatus OBJECT-TYPE
      SYNTAX      RowStatus
      MAX-ACCESS  read-create
      STATUS      current
      DESCRIPTION
          "This object allows entries to be created and deleted
          in the remopsPingSetupTable."
      REFERENCE
          "RFC 1903, 'Textual Conventions for version 2 of the
          Simple Network Management Protocol (SNMPv2).'"
      ::= { remopsTraceRouteSetupEntry 12 }


DISMAN Working Group      Expires October 1998                 [Page 14]


Internet Draft                 REMOPS-MIB                     April 1998

  -- Remote Operations Traceroute Table

  remopsTraceRouteTable OBJECT-TYPE
      SYNTAX SEQUENCE OF RemopsTraceRouteEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines the Remote Operations Ping Table for provide
          via SNMP the capability of invoking traceroute
          from a remote host."
     ::= { remopsObjects 5 }

  remopsTraceRouteEntry OBJECT-TYPE
      SYNTAX RemopsTraceRouteEntry
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Defines an entry in the remopsTraceRouteTable. This table
          never actually exits.  The function provided by this
          table is enabled though use of an SNMP GET operation."
      INDEX {
                remopsTraceRouteSetupIndex,
                remopsTraceRouteHostAddressType,
                remopsTraceRouteHostAddress
              }
      ::= { remopsTraceRouteTable 1 }

  RemopsTraceRouteEntry ::=
      SEQUENCE {
          remopsTraceRouteHostAddressType RemopsHostAddressType,
          remopsTraceRouteHostAddress     RemopsHostAddress,
          remopsTraceRouteResponse        RemopsTraceRouteResponseType
      }

  remopsTraceRouteHostAddressType OBJECT-TYPE
      SYNTAX RemopsHostAddressType
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Specifies the address type of the destination."
      ::= { remopsTraceRouteEntry 1 }

  remopsTraceRouteHostAddress OBJECT-TYPE
      SYNTAX RemopsHostAddress
      MAX-ACCESS not-accessible
      STATUS current
      DESCRIPTION
          "Specifies the host address used on the
          traceroute request at the remote host.  The
          host address specified is indicated by
          remopsPingHostAddressType."
      ::= { remopsTraceRouteEntry 2 }

  remopsTraceRouteResponse OBJECT-TYPE

DISMAN Working Group      Expires October 1998                 [Page 15]


Internet Draft                 REMOPS-MIB                     April 1998

      SYNTAX  RemopsTraceRouteResponseType
      MAX-ACCESS read-only
      STATUS current
      DESCRIPTION
          "The response to a remote traceroute
          request.  Refer to the definition of the
          RemopsTraceRouteResponse TEXTUAL-CONVENTION."
      ::= { remopsTraceRouteEntry 3 }

   ---------------------------------------------------------------------
   -- Conformance information
   -- Compliance statements
   ---------------------------------------------------------------------

   remopsCompliances OBJECT IDENTIFIER ::= { remopsConformance 1 }
   remopsGroups      OBJECT IDENTIFIER ::= { remopsConformance 2 }

   ---------------------------------------------------------------------
   -- Compliance statements
   ---------------------------------------------------------------------

   remopsCompliance MODULE-COMPLIANCE
      STATUS  current
      DESCRIPTION
              "The compliance statement for the REMOPS-MIB."
      MODULE  -- this module
          MANDATORY-GROUPS {
                              remopsBaseGroup,
                              remopsPingGroup,
                              remopsTraceRouteGroup
                            }
      ::= { remopsCompliances 1 }

   ---------------------------------------------------------------------
   -- MIB groupings
   ---------------------------------------------------------------------

   remopsBaseGroup OBJECT-GROUP
     OBJECTS {
                  remopsSpinLock
               }
     STATUS  current
     DESCRIPTION ""
     ::= { remopsGroups 1 }

   remopsPingGroup OBJECT-GROUP
     OBJECTS {
               remopsPingSetupPacketSize,
               remopsPingSetupTimeOut,
               remopsPingSetupRetryCount,
               remopsPingSetupRowStatus,
               remopsPingResponseTime
             }
     STATUS  current

DISMAN Working Group      Expires October 1998                 [Page 16]


Internet Draft                 REMOPS-MIB                     April 1998

     DESCRIPTION  " "
      ::= { remopsGroups 2 }

   remopsTraceRouteGroup OBJECT-GROUP
     OBJECTS {
               remopsTraceRouteSetupPacketSize,
               remopsTraceRouteSetupTimeOut,
               remopsTraceRouteSetupRetryCount,
               remopsTraceRouteSetupPort,
               remopsTraceRouteSetupMaxTtl,
               remopsTraceRouteSetupTos,
               remopsTraceRouteSetupSourceAddressType,
               remopsTraceRouteSetupSourceAddress,
               remopsTraceRouteSetupHopAddressCtl,
               remopsTraceRouteSetupBypassRouteTable,
               remopsTraceRouteSetupRowStatus,
               remopsTraceRouteResponse
            }
     STATUS  current
     DESCRIPTION
             " "
      ::= { remopsGroups 3 }

  END


5.0  Security Considerations

Certain management information defined in this MIB may be considered
sensitive in some network environments.  Therefore, authentication of
received SNMP requests and controlled access to management information
SHOULD be employed in such environments.  The method for this
authentication is a function of the SNMP Administrative Framework, and
has not been expanded by this MIB.


6.0  Intellectual Property

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

The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary rights

DISMAN Working Group      Expires October 1998                 [Page 17]


Internet Draft                 REMOPS-MIB                     April 1998

which may cover technology that may be required to practice this
standard.  Please address the information to the IETF Executive
Director.


7.0  Acknowledgments

This document is a product of the DISMAN Working Group.


8.0  References

[1]  Case, J., M. Fedor, M. Schoffstall, J. Davin, "Simple Network
     Management Protocol", RFC 1157, SNMP Research, Performance Systems
     International, MIT Laboratory for Computer Science, May 1990.

[2]  McCloghrie, K., and M. Rose, Editors, "Management Information Base
     for Network Management of TCP/IP-based internets: MIB-II", STD 17,
     RFC 1213, Hughes LAN Systems, Performance Systems International,
     March 1991.

[3]  Case, J., McCloghrie, K., Rose, M., and Waldbusser S., "Structure
     of Management Information for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1902, January 1996.

[4]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Textual
     Conventions for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1903, January 1996.

[5]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S.,
     "Conformance Statements for Version 2 of the Simple Network
     Management Protocol (SNMPv2)", RFC 1904, January 1996.

[6]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Protocol
     Operations for Version 2 of the Simple Network Management Protocol
     (SNMPv2)", RFC 1905, January 1996.

[7]  Harrington D., Presuhn, R., Wijnen, B., "An Architecture for
     Describing SNMP Management Frameworks", RFC 2271, Cabletron
     Systems, BMC Software, Inc., IBM T.J. Watson Research, January
     1998.

[8]  Harrington D., Presuhn, R., Wijnen, B., "Message Processing and
     Dispatching for the Simple Network Management Protocol (SNMP)", RFC
     2272, Cabletron Systems, BMC Software, Inc., IBM T.J. Watson
     Research, January 1998.

[9]  Levi D., Meyer P., Stewart, B., "SNMPv3 Applications", RFC 2273,
     SNMP Research, Inc., Secure Computing Corporation, Cisco Systems,
     January 1998.

[10] Blumenthal, U., Wijnen, B., "User-based Security Model (USM) for
     version 3 of the Simple Network Management Protocol (SNMPv3)", RFC
     2274, IBM T. J. Watson Research, January 1998.

DISMAN Working Group      Expires October 1998                 [Page 18]


Internet Draft                 REMOPS-MIB                     April 1998

[11] Wijnen, B., Presuhn, R., McCloghrie, K., "View-based Access Control
     Model (VACM) for the Simple Network Management Protocol (SNMP)",
     RFC 2275, IBM T.J. Watson Research, BMC Software, Inc., Cisco
     Systems, Inc., January 1998.

[12] Hovey, R., and S. Bradner, "The Organizations Involved in the IETF
     Standards Process", BCP 11, RFC 2028, October 1996.

[13] Bradner, S., "Key words for use in RFCs to Indicate Requirement
     Levels", BCP 14, RFC 2119, March 1997.

[14] Hinden, R., Deering, S., "IP Version 6 Addressing Architecture",
     <draft-ietf-ipngwg-addr-arch-v2-02.txt>, July 16, 1997.


9.0  Author's Address

  Kenneth D. White
  Dept. BRQA/Bldg. 501/G114
  IBM Corporation
  P.O.Box 12195
  3039 Cornwallis
  Research Triangle Park, NC 27709, USA
  E-mail: kennethw@vnet.ibm.com


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



DISMAN Working Group      Expires October 1998                 [Page 19]