draft-ietf-rmonmib-rmonmib-v2-00.txt  -->   draft-ietf-rmonmib-rmonmib-v2-01.txt

view Side-By-Side changes

                  Remote Network Monitoring
                 Management Information Base
                       <draft-ietf-rmonmib-rmonmib-01.txt>

                                   June 1, 1995
                          version 2
             <draft-ietf-rmonmib-rmonmib-v2-01.txt>

                            May 17


                           Editor:

                      Steven Waldbusser

                      waldbusser@ins.com






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

To learn the current status of any Internet-Draft, please
check the 1id-abstracts.txt listing contained in the
          Internet-Drafts Internet-
Drafts Shadow Directories on ds.internic.net, nic.nordu.net,
venera.isi.edu, or munnari.oz.au.


2.  Abstract

This memo defines an experimental portion of the Management
Information Base (MIB) for use with network management
protocols in TCP/IP-based internets.  In particular, it











Internet Draft   Remote Network Monitoring MIB    May 17, 1996


defines objects for managing remote network monitoring
devices.











          Internet Draft  Remote Network Monitoring MIB     June 1, 1995

This memo does not specify a standard for the Internet
community.













































Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996          [Page 2]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


3.  The Network Management Framework

The Internet-standard Network Management Framework consists of
three components.  They are:

RFC 1155[1] 1902[1] which defines the SMI, the mechanisms used for
describing and naming objects for the purpose of management.

RFC 1212[2] defines a more concise description mechanism,
          which is wholly consistent with the SMI.

          RFC 1213[3] which defines MIB-II, the core set of managed
objects for the Internet suite of protocols.

RFC 1157[4] 1905[4] which defines the SNMP, the protocol used for
network access to managed objects.

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

Managed objects are accessed via a virtual information store,
termed the Management Information Base or MIB.  Within a given
MIB module, objects are defined using RFC 1212's the SMI's OBJECT-TYPE
macro.  At a minimum, each object has a name, a syntax, an
access-level, and an implementation-status.

The name is an object identifier, an administratively assigned
name, which specifies an object type.  The object type
together with an object instance serves to uniquely identify a
specific instantiation of the object.  For human convenience,
we often use a textual string, termed the object descriptor,
to also refer to the object type.

The syntax of an object type defines the abstract data
structure corresponding to that object type.  The ASN.1[5] ASN.1[6]
language is used for this purpose.  However, RFC 1155 1902
purposely restricts the ASN.1 constructs which may be used.
These restrictions are explicitly made for simplicity.

The access-level of an object type defines whether it makes
"protocol sense" to read and/or write the value of an instance
of the object type.  (This access-level is independent of any
administrative authorization policy.)

The implementation-status of an object type indicates whether
the object is mandatory, optional, obsolete, or deprecated.







Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996          [Page 3]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


4.  Overview

This document continues the architecture created in the RMON
MIB [RFC 1757] by providing a major feature upgrade, primarily
by providing RMON analysis up to the application layer.

Remote network monitoring devices, often called monitors or
probes, are instruments that exist for the purpose of managing
a network.  Often these remote probes are stand-alone devices
and devote significant internal resources for the sole purpose
of managing a network.  An organization may employ many of
these devices, one per network segment, to manage its
internet.  In addition, these devices may be used for a
network management service provider to access a client
network, often geographically remote.

The objects defined in this document are intended as an
interface between an RMON agent and an RMON management
application and are not intended for direct manipulation by
humans.  While some users may tolerate the direct display of
some of these objects, few will tolerate the complexity of
manually manipulating objects to accomplish row creation.
These functions should be handled by the management
application.


4.1.  Remote Network Management Goals

    o Offline Operation
        There are sometimes conditions when a management
        station will not be in constant contact with its
        remote monitoring devices.  This is sometimes by
        design in an attempt to lower communications costs
        (especially when communicating over a WAN or
        dialup link), or by accident as network failures
        affect the communications between the management
        station and the probe.

        For this reason, this MIB allows a probe to be
        configured to perform diagnostics and to collect
        statistics continuously, even when communication with
        the management station may not be possible or
        efficient.  The probe may then attempt to notify
        the management station when an exceptional condition
        occurs.  Thus, even in circumstances where





Steven Waldbusser  Expires November 17, 1996          [Page 4]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        communication between management station and probe is
        not continuous, fault, performance, and configuration
        information may be continuously accumulated and
        communicated to the management station conveniently





          Steven Waldbusser    Expires Nov 22, 1995             [Page 4]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995
        and efficiently.

    o Proactive Monitoring
        Given the resources available on the monitor, it
        is potentially helpful for it continuously to run
        diagnostics and to log network performance.  The
        monitor is always available at the onset of any
        failure.  It can notify the management station of the
        failure and can store historical statistical
        information about the failure.  This historical
        information can be played back by the management
        station in an attempt to perform further diagnosis
        into the cause of the problem.

    o Problem Detection and Reporting
        The monitor can be configured to recognize
        conditions, most notably error conditions, and
        continuously to check for them.  When one of these
        conditions occurs, the event may be logged, and
        management stations may be notified in a number of
        ways.

    o Value Added Data
        Because a remote monitoring device represents a
        network resource dedicated exclusively to network
        management functions, and because it is located
        directly on the monitored portion of the network, the
        remote network monitoring device has the opportunity
        to add significant value to the data it collects.
        For instance, by highlighting those hosts on the
        network that generate the most traffic or errors, the
        probe can give the management station precisely the
        information it needs to solve a class of problems.

    o Multiple Managers
        An organization may have multiple management stations
        for different units of the organization, for different
        functions (e.g. engineering and operations), and in an
        attempt to provide disaster recovery.  Because
        environments with multiple management stations are
        common, the remote network monitoring device has to





Steven Waldbusser  Expires November 17, 1996          [Page 5]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        deal with more than own management station,
        potentially using its resources concurrently.







          Steven Waldbusser    Expires Nov 22, 1995             [Page 5]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


4.2.  Structure of MIB

The objects are arranged into the following groups:

        - protocol directory

        - protocol distribution

        - address mapping

        - network layer host

        - network layer matrix

        - application layer host

        - application layer matrix

        - user history

        - probe configuration

These groups are the basic unit units of conformance.  If a remote
monitoring device implements a group, then it must implement
all objects in that group.  For example, a managed agent that
implements the network layer matrix group must implement the
nlMatrixSDTable and the nlMatrixDSTable.

Implementations of this MIB must also implement the system and
interfaces group of MIB-II [6]. [3].  MIB-II may also mandate the
implementation of additional groups.

These groups are defined to provide a means of assigning
object identifiers, and to provide a method for managed agents
to know which objects they must implement.

This document also contains enhancements to tables defined in
the RMON MIB [RFC 1757].  These enhancements include:

    1) Adding the DroppedFrames and LastCreateTime
       conventions to each table defined in the RMON MIB.





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996          [Page 6]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          5.  Control of Remote Network Monitoring Devices

          Due to    May 17, 1996


    2) Augmenting the complex nature of RMON filter table with a mechanism
       that allows filtering based on an offset from the available functions in these
          devices,
       beginning of a particular protocol, even if the functions often need user configuration.  In many
          cases,
       protocol headers are variable length.

    3) Augmenting the function requires parameters to be set up RMON filter and capture status bits
       with additional bits for a
          data collection operation.  The operation can proceed only
          after these parameters WAN media and generic media.
       These bits are fully set up.

          Many functional groups in defined here as:

        Bit     Definition
        6       For WAN media, this MIB have one or more tables in
          which to bit is set up control parameters, and one for packets
                coming from one direction and cleared for
                packets coming from the other direction.
                It is an implementation specific matter
                as to which bit is assigned to which
                direction, but it must be consistent for
                all packets received by the agent, and if
                the agent knows which end of the link is
                "local" and which end is "network", the bit
                should be set for packets from the "local"
                side and should be cleared for packets from
                the "network" side.

        7       For any media, this bit is set for any packet
                with a physical layer error. This bit may be
                set in addition to other media-specific bits
                that denote the same condition.

        8       For any media, this bit is set for any packet
                that is too short for the media. This bit may
                be set in addition to other media-specific
                bits that denote the same condition.
        9       For any media, this bit is set for any packet
                that is too long for the media. This bit may
                be set in addition to other media-specific bits
                that denote the same condition.

These enhancements are implemented by RMON-2 probes that also
implement RMON and do not add any requirements to probes that
are compliant to just RMON.










Steven Waldbusser  Expires November 17, 1996          [Page 7]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


5.  Control of Remote Network Monitoring Devices

Due to the complex nature of the available functions in these
devices, the functions often need user configuration.  In many
cases, the function requires parameters to be set up for a
data collection operation.  The operation can proceed only
after these parameters are fully set up.

Many functional groups in this MIB have one or more tables in
which to set up control parameters, and one or more data
tables in which to place the results of the operation.  The
control tables are typically read-write read/write in nature, while the
data tables are typically read-only. read/only.  Because the parameters
in the control table often describe resulting data in the data
table, many of the parameters can be modified only when the
control entry is invalid. not active.  Thus, the method for modifying
these parameters is to invalidate de-activate the control entry, causing
          its deletion and perform the deletion of any associated data entries, SNMP
Set operations to modify the entry, and then create a new control entry with re-activate the proper
          parameters.
entry.  Deleting the control entry causes the deletion of any
associated data entries, which also gives a convenient method
for reclaiming the resources used by the associated data.

Some objects in this MIB provide a mechanism to execute an
action on the remote monitoring device.  These objects may
execute an action as a result of a change in the state of the
object.  For those objects in this MIB, a request to set an
object to the same value as it currently holds would thus
cause no action to occur.

To facilitate control by multiple managers, resources have to
be shared among the managers.  These resources are typically
the memory and computation resources that a function requires.


5.1.  Resource Sharing Among Multiple Management Stations

When multiple management stations wish to use functions that
compete for a finite amount of resources on a device, a method
to facilitate this sharing of resources is required.
Potential conflicts include:

    o Two management stations wish to simultaneously use
      resources that together would exceed the capability of
      the device.
    o A management station uses a significant amount of





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996          [Page 7] 8]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              o A management station uses a significant amount of    May 17, 1996


      resources for a long period of time.
    o A management station uses resources and then crashes,
      forgetting to free the resources so others may
      use them.

          A

The OwnerString mechanism is provided for each management
station initiated function in this MIB to avoid these
conflicts and to help resolve them when they occur.  Each
function has a label identifying the initiator (owner) of the
function.  This label is set by the initiator to provide for
the following possibilities:

    o A management station may recognize resources it owns
      and no longer needs.
    o A network operator can find the management station that
      owns the resource and negotiate for it to be freed.
    o A network operator may decide to unilaterally free
      resources another network operator has reserved.
    o Upon initialization, a management station may recognize
      resources it had reserved in the past.  With this
      information it may free the resources if it no longer
      needs them.

Management stations and probes should support any format of
the owner string dictated by the local policy of the
organization.  It is suggested that this name contain one or
more of the following: IP address, management station name,
network manager's name, location, or phone number.  This
information will help users to share the resources more
effectively.

There is often default functionality that the device or the
administrator of the probe (often the network administrator)
wishes to set up.  The resources associated with this
functionality are then owned by the device itself or by the
network administrator, and are intended to be long-lived.  In
this case, the device or the administrator will set the
relevant owner object to a string starting with 'monitor'.
Indiscriminate modification of the monitor-owned configuration
by network management stations is discouraged.  In fact, a
network management station should only modify these objects
under the direction of the administrator of the probe.

Resources on a probe are scarce and are typically allocated





          Steven Waldbusser    Expires Nov 22, 1995             [Page 8]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995
when control rows are created by an application.  Since many





Steven Waldbusser  Expires November 17, 1996          [Page 9]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


applications may be using a probe simultaneously,
indiscriminate allocation of resources to particular
applications is very likely to cause resource shortages in the
probe.

When a network management station wishes to utilize a function
in a monitor, it is encouraged to first scan the control table
of that function to find an instance with similar parameters
to share.  This is especially true for those instances owned
by the monitor, which can be assumed to change infrequently.
If a management station decides to share an instance owned by
another management station, it should understand that the
management station that owns the instance may indiscriminately
modify or delete it.

It should be noted that a management application should have
the most trust in a monitor-owned row because it should be
changed very infrequently.  A row owned by the management
application is less long-lived because a network administrator
is more likely to re-assign resources from a row that is in
use by one user than from a monitor-owned row that is
potentially in use by many users.  A row owned by another
application would be even less long-lived because the other
application may delete or modify that row completely at its
discretion.


5.2.  Row Addition Among Multiple Management Stations

The addition of new rows is achieved using the RowStatus
method described in RFC 1212 [9]. 1903 [2].  In this MIB, rows are often
added to a table in order to configure a function.  This
configuration usually involves parameters that control the
operation of the function.  The agent must check these
parameters to make sure they are appropriate given
restrictions defined in this MIB as well as any implementation
specific restrictions such as lack of resources.  The agent
implementor may be confused as to when to check these
parameters and when to signal to the management station that
the parameters are invalid.  There are two opportunities:

    o When the management station sets each parameter object.

    o When the management station sets the entry row status object
      to active.





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 9] 10]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                to valid.    May 17, 1996


If the latter is chosen, it would be unclear to the management
station which of the several parameters was invalid and caused
the badValue error to be emitted.  Thus, wherever possible,
the implementor should choose the former as it will provide
more information to the management station.

A problem can arise when multiple management stations attempt
to set configuration information simultaneously using SNMP.
When this involves the addition of a new conceptual row in the
same control table, the managers may collide, attempting to
create the same entry.  To guard against these collisions,
each such control entry contains a status object with special
semantics that help to arbitrate among the managers.  If an
attempt is made with the row addition mechanism to create such
a status object and that object already exists, an error is
returned.  When more than one manager simultaneously attempts
to create the same conceptual row, only the first will
succeed.  The others will receive an error.

In the RMON MIB [RFC 1757], the EntryStatus textual convention
was introduced to provide this mutual exclusion function.
Since then, this function was added to the SNMP framework as
the RowStatus textual convention.  The RowStatus textual
convention is used for the definition of all new tables.

When a manager wishes to create a new control entry, it needs
to choose an index for that row.  It may choose this index in
a variety of ways, hopefully minimizing the chances that the
index is in use by another manager.  If the index is in use,
the mechanism mentioned previously will guard against
collisions.  Examples of schemes to choose index values
include random selection or scanning the control table looking
for the first unused index.  Because index values may be any
valid value in the range and they are chosen by the manager,
the agent must allow a row to be created with any unused index
value if it has the resources to create a new row.

Some tables in this MIB reference other tables within this
MIB.  When creating or deleting entries in these tables, it is
generally allowable for dangling references to exist.  There
is no defined order for creating or deleting entries in these
tables.

          Define/describe the "limited extensibility" mechanism of the
          protocolDirectory.








Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 10] 11]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


6.  Conventions

The following conventions are used throughout the RMON MIB and
its companion documents.

Good Packets

Good packets are error-free packets that have a valid frame
length.  For example, on Ethernet, good packets are error-free
packets that are between 64 octets long and 1518 octets long.
They follow the form defined in IEEE 802.3 section 3.2.all.

Bad Packets

Bad packets are packets that have proper framing and are
therefore recognized as packets, but contain errors within the
packet or have an invalid length.  For example, on Ethernet,
bad packets have a valid preamble and SFD, but have a bad CRC,
or are either shorter than 64 octets or longer than 1518
octets.






























Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 11] 12]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


7.  Definitions

          RMON2-MIB DEFINITIONS ::= BEGIN

          IMPORTS
              MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32,
                  Gauge32, IpAddress, TimeTicks,
                  NOTIFICATION-TYPE, OBJECT-IDENTITY        FROM SNMPv2-SMI
              TEXTUAL-CONVENTION, RowStatus, DisplayString,
                  MacAddress                                FROM SNMPv2-TC
              MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
              mib-2                           FROM RFC1213-MIB
              rmon, OwnerString               FROM RFC1757-MIB;

          --  Remote Network Monitoring MIB

          rmon MODULE-IDENTITY
              LAST-UPDATED "9506020000Z"
              ORGANIZATION "IETF  RMON MIB Working Group"
              CONTACT-INFO
                  "Andy Bierman   (WG Chair)
                   Postal: Cisco Systems, Inc.
                   170 West Tasman Drive
                   San Jose, CA 95134-1706
                   USA
                   Phone:  +1 408 526 8951
                   Email:  abierman@cisco.com

                   Steve Waldbusser   (WG Editor)
                   Postal: International Network Services
                   650 Castro Street, Suite 260
                   Mountain View, CA 94041

                   Phone:  +1 415 254 4251
                   Email:  waldbusser@ins.com"
              DESCRIPTION
                  "The MIB module for managing remote monitoring
                   device implementations. This MIB module
                   augments 2 Conventions

The following practices and conventions are introduced in the original
RMON MIB as specified 2 MIB.


7.1.  Usage of the term Application Level

There are many cases in
                   RFC 1757."
              ::= { mib-2 16 }

              protocolDir    OBJECT IDENTIFIER ::= { rmon 11 }
              protocolDist   OBJECT IDENTIFIER ::= { rmon 12 }
              addressMap     OBJECT IDENTIFIER ::= { rmon 13 }





          Steven Waldbusser    Expires Nov 22, 1995            [Page 12]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


              nlHost         OBJECT IDENTIFIER ::= { rmon 14 }
              nlMatrix       OBJECT IDENTIFIER ::= { rmon 15 }
              alHost         OBJECT IDENTIFIER ::= { rmon 16 }
              alMatrix       OBJECT IDENTIFIER ::= { rmon 17 }
              usrHistory     OBJECT IDENTIFIER ::= { rmon 18 }
              probeConfig    OBJECT IDENTIFIER ::= { rmon 19 }












































          Steven Waldbusser    Expires Nov 22, 1995            [Page 13]





          Internet Draft  Remote Network Monitoring this MIB     June 1, 1995


          -- Textual Conventions
          TimeFilter ::= TEXTUAL-CONVENTION
              STATUS        current
              DESCRIPTION
                  "To be used for where the index term Application
Level is used to describe a table.  Allows an application
                  to download only those rows changed since class of protocols or a particular time.

                  When sysUpTime
capability.  This does not typically mean a protocol that is equal
an OSI Layer 7 protocol.  Rather, it is used to zero, this table shall be empty.

                  One entry exists for each past value identify a
class of sysUpTime, except protocols that
                  the whole table is purged should sysUpTime wrap.

                  As this basic row is updated new concptual rows are created
                  (which still share not limited to MAC-layer and
network-layer protocols, but can also include transport,
session, presentation, and application-layer protocols.


7.2.  Protocol Directory and Limited Extensibility

Every RMON 2 implementation will have the now updated object values with all
                  other instances). capability to parse
certain types of packets and identify their protocol type at
multiple levels, The number protocol directory presents an inventory
of instances which are created
                  is determined by those protocol types the value probe is capable of sysUpTime at which monitoring,
and allows the basic row
                  was last updated. addition, deletion, and configuration of
protocol types in this list.

One instance will exist for each value concept deserves special attention: the "limited
extensibility" of
                  sysUpTime and the last update time for protocol directory table.  The RMON 2
model is that protocols are detected by static software that
has been written at implementation time.  Therefore, as a
matter of configuration, an implementation does not have the row.  A
ability to suddenly learn how to parse new timeMark
                  instance packet types.
However, an implementation may be written such that the
software knows where the demultiplexing field is created for each new sysUpTime value.  Each new
                  conceptual row will a
particular protocol, and can be associated with the timeMark instance
                  which was created at written in such a way that the value
decoding of sysUpTime with which the
                  conceptual row next layer up is table-driven.  This works
when the code has been written to be associated.

                  By definition all conceptual rows were updated at or after
                  time zero accomodate it and so at least one conceptual row (associatd with
                  timeMark.0) must exist for each underlying (basic) row.

                  Consider the following fooTable:

                  fooTable ...
                  INDEX { timeMark, fooIndex }

                  FooEntry {
                     fooTimeMark  timeFilter
                     fooIndex     INTEGER,
                     fooCounts    Counter
                  }

                  Should there can be two basic rows in
extended no more than one level higher.  This extensibility is
called "limited extensibility" to highlight these limitations.
However, this table (fooIndex == 1,
                  fooIndex == 2) and row 1 was updated most recently at time 6,
                  while row 2 was updated most recently at time 8, and both rows
                  had been updated can be a very useful tool.

For example, suppose that an implementation has C code that
understands how to decode IP packets on any of several earlier occaision such that the
                  current values were 5
ethernet encapsulations, and 9 respectively then also knows how to interpret the following
                  fooCounts instances would exist.






          Steven Waldbusser    Expires Nov 22, 1995            [Page 14]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


                  fooCounts.0.1  5
                  fooCounts.0.2  9
                  fooCounts.1.1  5
                  fooCounts.1.2  9
                  fooCounts.2.1  5
                  fooCounts.2.2  9
                  fooCounts.3.1  5
                  fooCounts.3.2  9
                  fooCounts.4.1  5
                  fooCounts.4.2  9
                  fooCounts.5.1  5
                  fooCounts.5.2  9
                  fooCounts.6.1  5
                  fooCounts.6.2  9
                  fooCounts.7.2  9
                  fooCounts.8.2  9"
              SYNTAX    TimeTicks
IP protocol field to recognize UDP packets and how to decode





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 15] 13]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          protocolDirTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF ProtocolDirEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "This table lists    May 17, 1996


the protocols UDP port number fields.  That implementation may be table-
driven so that this agent has among the
                  capability many different UDP port numbers
possible, it is configured to decode recognize 161 as SNMP, port 53
as DNS, and count.  There is one port 69 as TFTP.  The limited extensibility of the
protocol directory table would allow an SNMP operation to
create an entry in this that would create an additional table mapping
for each such protocol.  These protocols represent
                  different network layer, transport layer, and higher-layer
                  protocols.  The agent should boot up with this table
                  preconfigured with those protocols UDP that it knows about would recognize UDP port 123 as NTP and
                  wishes begin
counting such packets.

This limited extensibility is an option that an implementation
can choose to monitor."
              ::= { protocolDir 1 }

          protocolDirEntry OBJECT-TYPE
              SYNTAX      ProtocolDirEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "This table lists the protocols allow or disallow for any protocol that this agent has
child protocols.


7.3.  Errors in packets

Packets with link-level errors are not counted anywhere in
this MIB because most variables in this MIB requires the
                  capability to decode and count.  There
decoding of the contents of the packet, which is one entry meaningless
if there is a link-level error.

Packets in this
                  table which protocol errors are detected are counted for each such protocol.  These
all protocols represent
                  different network layer, transport layer, and higher-layer
                  protocols. below the layer in which the error was
encountered.  The agent should boot up with implication of this table
                  preconfigured with those protocols is that it knows about and
                  wishes to monitor."
              INDEX       { protocolDirID, protocolDirParameters }
              ::= { protocolDirTable  1 }

          ProtocolDirEntry packets in which
errors are detected at the network-layer are not counted
anywhere in this MIB, while packets with errors detected at
the transport layer may have network-layer statistics counted.


8.  Definitions

RMON2-MIB DEFINITIONS ::= SEQUENCE {
              protocolDirID                   OBJECT IDENTIFIER,
              protocolDirParameters           OCTET STRING,
              protocolDirIndex BEGIN
IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32,
              protocolDirDescr
        Gauge32, IpAddress, TimeTicks            FROM SNMPv2-SMI
    TEXTUAL-CONVENTION, RowStatus, DisplayString,
              protocolDirType                 BITS,
              protocolDirAddressMapConfig     INTEGER,
              protocolDirNlHostConfig         INTEGER,
              protocolDirNlMatrixConfig       INTEGER,
              protocolDirAlHostConfig         INTEGER,
              protocolDirAlMatrixConfig       INTEGER,
              protocolDirAddressCapable       INTEGER,
              protocolDirOwner TimeStamp
                                                 FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP FROM SNMPv2-CONF
    mib-2, ifIndex                  FROM RFC1213-MIB
    OwnerString,
              protocolDirStatus               RowStatus
          } statistics, history, hosts,
    matrix, filter, etherStatsEntry, historyControlEntry,
    hostControlEntry, matrixControlEntry, filterEntry,
    channelEntry                    FROM RMON-MIB
    tokenRing, tokenRingMLStatsEntry, tokenRingPStatsEntry,
    ringStationControlEntry, sourceRoutingStatsEntry





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 16] 14]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          protocolDirID OBJECT-TYPE
              SYNTAX      OBJECT IDENTIFIER
              MAX-ACCESS  not-accessible
              STATUS      current    May 17, 1996


                                    FROM TOKEN-RING-RMON-MIB;
--  Remote Network Monitoring MIB

rmon MODULE-IDENTITY
    LAST-UPDATED "9605170000Z"
    ORGANIZATION "IETF RMON MIB Working Group"
    CONTACT-INFO
        "Steve Waldbusser   (WG Editor)
         Postal: International Network Services
         650 Castro Street, Suite 260
         Mountain View, CA 94041
         Phone:  +1 415 254 4251
         Email:  waldbusser@ins.com


         Andy Bierman   (WG Chair)
         Phone:  +1 805 648 2028
         Email:  abierman@west.net"
    DESCRIPTION
                  "A unique identifier
        "The MIB module for a particular protocol.  Standard
                  object identifiers will be managing remote monitoring
         device implementations. This MIB module
         augments the original RMON MIB as specified in
         RFC 1757."
    ::= { mib-2 16 }

-- { rmon 1 } through { rmon 10 } are defined in a manner such that they
                  can often be used as specifications for new protocols - i.e.
                  a tree-structured assignment mechanism that matches the
                  protocol encapsulation `tree' RMON and which has algorithmic
                  assignment mechanisms for certain subtrees. For example:

                  protocolDir.assignments.ethernet
-- children of ethernet will have values representing the Token Ring RMON MIB [RFC 1513]

    protocolDir     OBJECT IDENTIFIER ::= { rmon 11 }
    protocolDist    OBJECT IDENTIFIER ::= { rmon 12 }
    addressMap      OBJECT IDENTIFIER ::= { rmon 13 }
    nlHost          OBJECT IDENTIFIER ::= { rmon 14 }
    nlMatrix        OBJECT IDENTIFIER ::= { rmon 15 }
    alHost          OBJECT IDENTIFIER ::= { rmon 16 }
    alMatrix        OBJECT IDENTIFIER ::= { rmon 17 }
    usrHistory      OBJECT IDENTIFIER ::= { rmon 18 }
    probeConfig     OBJECT IDENTIFIER ::= { rmon 19 }
    rmonConformance OBJECT IDENTIFIER ::= { rmon 20 }












Steven Waldbusser  Expires November 17, 1996         [Page 15]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


-- two byte ethertype value of Textual Conventions

ZeroBasedCounter32 ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This TC describes an ethernet protocol.  Some
                      -- well-known ones are defined below.

                  protocolDir.assignments.ethernet.ip
                      -- children object which counts events with the
        following semantics: objects of ip this type will have values representing be set to
        zero(0) on creation and will thereafter count appropriate
        events, wrapping back to zero(0) when the
                      -- one byte value of 2^32 is
        reached.

        Provided that an ip protocol.  Some
                      -- well-known ones are defined below.

                  ...

                  protocolDir.assignments.ethernet.ip.udp.dns

                  Despite application discovers the algorithmic mechanism, new object within
        the probe will only place
                  entries in here for those protocols it chooses minimum time to collect.  In
                  other words, wrap it need not populate this table with all of can use the
                  possible ethernet protocol types, nor need initial value as a
        delta since it create them on last polled the fly when it sees them.  Whether or not it does these
                  things table of which this object is
        part.  It is important for a matter management station to be aware of product definition (cost/benefit,
                  usability),
        this minimum time and is up to the designer of actual time between polls, and to
        discard data if the product.

                  If an entry actual time is written to too long or there is no
        defined minimum time.

        Typically this table with a protocolID that TC is used in tables where the agent doesn't understand, either directly or
                  algorithmicly, INDEX space is
        constantly changing and/or the SET request will TimeFilter mechanism is in use."
    SYNTAX Integer32

LastCreateTime ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This TC describes an object that stores the last time its
        entry was created.

        This can be rejected with used for polling applications to determine that an
                  inconsistentName or badValue (for SNMPv1) error."
              ::= { protocolDirEntry 1 }

          protocolDirParameters OBJECT-TYPE
        entry has been deleted and re-created between polls, causing
        an otherwise undetectable discontinuity in the data."
    SYNTAX      OCTET STRING
              MAX-ACCESS  not-accessible TimeStamp

TimeFilter ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
        "To be used for the index to a table.  Allows an application
        to download only those rows changed since a particular time.
        A row is considered changed if the value of any object in the
        row changes or if the row is created or deleted.

        When sysUpTime is equal to zero, this table shall be empty.

        One entry exists for each past value of sysUpTime, except that





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 17] 16]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  "A set    May 17, 1996


        the whole table is purged should sysUpTime wrap.

        As this basic row is updated new conceptual rows are created
        (which still share the now updated object values with all
        other instances).  The number of options for instances which are created
        is determined by the associated protocolDirID.  There value of sysUpTime at which the basic row
        was last updated.  One instance will be one octet in this string exist for each sub-identifier in value of
        sysUpTime at the protocolDirID, and last update time for the options row.  A new
        timeMark instance is created for each new sysUpTime value.
        Each new conceptual row will appear here in the
                  same order as the be associated protocolDirOptions.

                  Every node in with the protocolDirID tree has a different, optional
                  set of parameters defined (that is, timeMark
        instance which was created at the definition value of
                  parameters for a node sysUpTime with
        which the conceptual row is optional).  The proper parameter
                  value to be associated.

        By definition all conceptual rows were updated at or after
        time zero and so at least one conceptual row (associated with
        timeMark.0) must exist for each node is included in this string.  Note that underlying (basic) row.

        See the
                  inclusion appendix for further discussion of a parameter value in this string for each node is
                  not optional - what is optional is that a node may have no
                  parameters defined, in which variable.

        Consider the parameter field for that node
                  will be zero."
              ::= following fooTable:

        fooTable ...
        INDEX { protocolDirEntry 2 fooTimeMark, fooIndex }

          protocolDirIndex OBJECT-TYPE
              SYNTAX    Integer32 (1..2147483647)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The locally arbitrary, but unique identifier associated
                  with

        FooEntry {
           fooTimeMark  TimeFilter
           fooIndex     INTEGER,
           fooCounts    Counter
        }

        Should there be two basic rows in this protocolDir entry.

                  The value for each supported protocol must remain constant table (fooIndex == 1,
        fooIndex == 2) and row 1 was updated most recently at
                  least from one re-initialization of time 6,
        while row 2 was updated most recently at time 8, and both rows
        had been updated on several earlier occasions such that the entity's network
                  management system to
        current values were 5 and 9 respectively then the next re-initialization.

                  The specific value is meaningful only within a given SNMP
                  entity. A protocolDirIndex may not be re-used until the
                  next agent-restart, in the event the protocol directory entry
                  is deleted."
              ::= { protocolDirEntry 3 }

          protocolDirDescr OBJECT-TYPE following
        fooCounts instances would exist.

        fooCounts.0.1  5
        fooCounts.0.2  9
        fooCounts.1.1  5
        fooCounts.1.2  9
        fooCounts.2.1  5
        fooCounts.2.2  9
        fooCounts.3.1  5
        fooCounts.3.2  9





Steven Waldbusser  Expires November 17, 1996         [Page 17]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        fooCounts.4.1  5
        fooCounts.4.2  9
        fooCounts.5.1  5
        fooCounts.5.2  9
        fooCounts.6.1  5
        fooCounts.6.2  9
        fooCounts.7.2  9    -- note that row 1 doesn't exist for
        fooCounts.8.2  9    -- times 7 and 8"
    SYNTAX    DisplayString (SIZE (1..64))
              MAX-ACCESS  read-create    TimeTicks

DataSource ::= TEXTUAL-CONVENTION
    STATUS        current
    DESCRIPTION
                  "A textual description
        "Identifies the source of the protocol encapsulation.
                  A probe may choose data that the associated
        function is configured to describe only analyze. This source can be any
        interface on this device.

        In order to identify a subset particular interface, this
        object shall identify the instance of the
                  entire encapsulation (e.g. only ifIndex
        object, defined in [3,5], for the highest layer).

                  This object may not be modified desired interface.

        For example, if the associated
                  protocolDirStatus an entry were to receive data from
        interface #1, this object is equal would be set to active(1)."
              ::= { protocolDirEntry 4 } ifIndex.1."
    SYNTAX      OBJECT IDENTIFIER


























Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 18]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          protocolDirType    May 17, 1996


--
-- Protocol Directory Group
--
-- Lists the inventory of protocols the probe has the capability of
-- monitoring and allows the addition, deletion, and configuration of
-- entries in this list.

protocolDirLastChange OBJECT-TYPE
    SYNTAX      BITS {
                              extensible(0),
                              addressRecognitionCapable(1)
                          }      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
                  "This object describes 2 attributes
        "The value of this sysUpTime at the time the protocol directory entry.

                   This object describes whether
        was last modified, either through insertions or not this protocol directory
                   entry can be extended by the user by creating protocol
                   directory entries which are children of this protocol.  Some
                   entries that a probe creates will be extensible, and no
                   entries that a user creates will be extensible.

                   An example of an entry that will often allow extensibility is
                   `ip.udp'.  The probe may automatically populate some children deletions,
        or through modifications of this node such as `ip.udp.snmp' and `ip.udp.dns'.
                   A probe administrator either the
        protocolDirAddressMapConfig, protocolDirHostConfig, or user may also populate additional
                   children via remote SNMP requests
        protocolDirMatrixConfig."
    ::= { protocolDir 1 }

protocolDirTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF ProtocolDirEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This table lists the protocols that create entries in this
                   table.  When a child node added, extending a parent node,
                   that child node is not extendible.  This agent has the
        capability to decode and count.  There is termed `limited
                   extensibility'.

                   This object also describes whether or not one entry in this agent can
                   recognize addresses
        table for this protocol, should it be a network
                   level each such protocol.  That is, while a probe may be able to
                   recognize packets of a particular  These protocols represent
        different network layer protocol layer, transport layer, and
                   count them, higher-layer
        protocols.  The agent should boot up with this table
        preconfigured with those protocols that it takes additional logic knows about and
        wishes to be able monitor.  Implementations are strongly encouraged to recognize
        support protocols higher than the addresses in this protocol and to populate network layer
                   or (at least for
        the protocol distribution group), even for implementations
        that don't support the application layer tables with the addresses in this
                   protocol." groups."
    ::= { protocolDirEntry 5 protocolDir 2 }

          protocolDirAddressMapConfig

protocolDirEntry OBJECT-TYPE
    SYNTAX      INTEGER {
                              notSupported(1),
                              supportedOff(2),
                              supportedOn(3)
                          }      ProtocolDirEntry
    MAX-ACCESS  read-create  not-accessible
    STATUS      current
    DESCRIPTION





          Steven Waldbusser    Expires Nov 22, 1995            [Page
        "A conceptual row in the protocolDirTable.

         An example of the indexing of this entry is
         protocolDirLocalIndex.8.0.0.0.1.0.0.8.0.2.0.0, which is the





Steven Waldbusser  Expires November 17, 1996         [Page 19]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  "This object describes    May 17, 1996


         encoding of a length of 8, followed by 8 subids encoding the
         protocolDirID of 1.2048, followed by a length of 2 and configures the probe's support for
                  address mapping
         2 subids encoding zero-valued parameters."
    INDEX { protocolDirID, protocolDirParameters }
    ::= { protocolDirTable  1 }

ProtocolDirEntry ::= SEQUENCE {
    protocolDirID                   OCTET STRING,
    protocolDirParameters           OCTET STRING,
    protocolDirLocalIndex           Integer32,
    protocolDirDescr                DisplayString,
    protocolDirType                 BITS,
    protocolDirAddressMapConfig     INTEGER,
    protocolDirHostConfig           INTEGER,
    protocolDirMatrixConfig         INTEGER,
    protocolDirOwner                OwnerString,
    protocolDirStatus               RowStatus
}

protocolDirID OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique identifier for this a particular protocol.  When  Standard
        identifiers will be defined in a manner such that they
        can often be used as specifications for new protocols - i.e.
        a tree-structured assignment mechanism that matches the
        protocol encapsulation `tree' and which has algorithmic
        assignment mechanisms for certain subtrees. See RFC XXX for
        more details.

        Despite the algorithmic mechanism, the probe creates will only place
        entries in this table here for all those protocols that it understands,
                  it will set the entry chooses to notSupported(1) if collect.  In
        other words, it doesn't have the
                  capability to perform address mapping for need not populate this table with all of the
        possible ethernet protocol types, nor need it create them on
        the fly when it sees them.  Whether or if
                  this protocol is not it does these
        things is a network-layer protocol.  When matter of product definition (cost/benefit,
        usability), and is up to the designer of the product.

        If an entry is created in written to this table by with a management operation, protocolDirID that
        the probe agent doesn't understand, either directly or
        algorithmically, the SET request will set this value to notSupported(1), as the
                  limited extensibility of the protocolDirectory table does not
                  extend to interpreting addresses be rejected with an
        inconsistentName or badValue (for SNMPv1) error."
    ::= { protocolDirEntry 1 }





Steven Waldbusser  Expires November 17, 1996         [Page 20]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


protocolDirParameters OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A set of parameters for the extended protocols.

                  If associated protocolDirID.
        See the value associated RMON2 Protocol Identifiers document
        for a description of this object is notSupported(1), the probe possible parameters. There
        will not perform address mapping for be one octet in this protocol string for each sub-identifier in
        the protocolDirID, and
                  shall not allow this object to be changed to any other value.
                  If the value parameters will appear here in the
        same order as the associated sub-identifiers appear in the
        protocolDirID.

        Every node in the protocolDirID tree has a different, optional
        set of this object is supportedOn(3), parameters defined (that is, the probe
                  supports address mapping definition of
        parameters for this protocol and a node is configured
                  to perform address mapping optional).  The proper parameter
        value for each node is included in this protocol for all
                  addressMappingControlEntry's and all interfaces or ports.
                  If string.  Note that the value
        inclusion of a parameter value in this object is supportedOff(3), the probe
                  supports address mapping string for this protocol but each node is configured
                  to
        not perform address mapping for this protocol optional - what is optional is that a node may have no
        parameters defined, in which case the parameter field for any
                  addressMappingControlEntry's and all interfaces or ports." that
        node will be zero."
    ::= { protocolDirEntry 6 2 }

          protocolDirNlHostConfig

protocolDirLocalIndex OBJECT-TYPE
    SYNTAX      INTEGER {
                              notSupported(1),
                              supportedOff(2),
                              supportedOn(3)
                          }      Integer32 (1..2147483647)
    MAX-ACCESS  read-create  read-only
    STATUS      current
    DESCRIPTION
                  "This object describes and configures the probe's support for
                  the network layer host table for this protocol.  When the
                  probe creates entries in
        "The locally arbitrary, but unique identifier associated
        with this table protocolDir entry.

        The value for all protocols that it
                  understands, it will set the entry to notSupported(1) if it
                  doesn't have each supported protocol must remain constant at
        least from one re-initialization of the capability entity's network
        management system to track the nlHost table for the
                  protocol or next re-initialization, except that
        if this a protocol is not deleted and re-created, it must be re-created
        with a network-layer protocol.
                  If new value that has not been used since the associated protocolDirAddressCapable object is equal to
                  addressCapable, then this last
        re-initialization.

        The specific value is meaningful only within a network layer protocol which given SNMP
        entity. A protocolDirLocalIndex must not be re-used until the probe recognized addresses for, and thus
        next agent-restart in the probe will
                  populate event the alHostTable with addresses it discovers for this
                  protocol. protocol directory entry
        is deleted."
    ::= { protocolDirEntry 3 }

protocolDirDescr OBJECT-TYPE





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 20] 21]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  When an entry is created in this table by a management
                  operation, the probe will set this value to notSupported(1),
                  as the limited extensibility    May 17, 1996


    SYNTAX      DisplayString (SIZE (1..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "A textual description of the protocolDirectory table
                  does not extend protocol encapsulation.
        A probe may choose to interpreting network level addresses describe only a subset of the
                  extended protocols.

                  If
        entire encapsulation (e.g. only the value of this highest layer).

        This object is notSupported(1), the probe
                  will not track the nlHost table intended for this protocol and
                  shall not allow this human consumption only.

        This object to may not be changed to any other value.
                  If modified if the value of this object is supportedOn(3), the probe
                  supports tracking of the nlHost table for this protocol and is
                  configured to track the nlHost table for this protocol for all
                  nlHostControlEntry's and all interfaces or ports.
                  If the value of this associated
        protocolDirStatus object is supportedOff(3), the probe
                  supports tracking of the nlHost table for this protocol
                  but is configured equal to not track the nlHost for this
                  protocol for any nlHostControlEntry's and all interfaces or
                  ports." active(1)."
    ::= { protocolDirEntry 7 4 }

          protocolDirNlMatrixConfig

protocolDirType OBJECT-TYPE
    SYNTAX      INTEGER      BITS {
                              notSupported(1),
                              supportedOff(2),
                              supportedOn(3)
                    extensible(0),
                    addressRecognitionCapable(1)
                }
    MAX-ACCESS  read-create  read-only
    STATUS      current
    DESCRIPTION
        "This object describes and configures the probe's support for
                  the network layer matrix table for 2 attributes of this protocol.  When protocol
         directory entry.

         The presence or absence of the
                  probe creates entries in `extensible' bit describes
         whether or not this table for all protocols that it
                  understands, it will set the protocol directory entry to notSupported(1) if it
                  doesn't have the capability to track the nlMatrix table for can be extended
         by the user by creating protocol or if directory entries which are
         children of this protocol is not a network-layer protocol.
                  If the associated protocolDirAddressCapable object is equal to
                  addressCapable, then this

         An example of an entry that will often allow extensibility is a network layer protocol which
                  the
         `ip.udp'.  The probe recognized addresses for, may automatically populate some children
         of this node such as `ip.udp.snmp' and thus the `ip.udp.dns'.
         A probe will administrator or user may also populate the alHostTable with addresses it discovers for additional
         children via remote SNMP requests that create entries in this
                  protocol.
         table.  When an entry a child node is created added for a protocol for which the
         probe has no built in this table by support, extending a management
                  operation, parent node (for
         which the probe will set this value to notSupported(1),
                  as the limited extensibility of the protocolDirectory table does have built in support),
         that child node is not extend to interpreting network level addresses extendible.  This is termed `limited
         extensibility'.

         When a child node is added through this extensibility
         mechanism, the values of protocolDirLocalIndex and
         protocolDirType shall be assigned by the agent.






Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 21] 22]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  extended protocols.

                  If    May 17, 1996


         The other objects in the value of this object entry will be assigned by the
         manager who is notSupported(1), creating the probe
                  will new entry.

         This object also describes whether or not track the nlMatrix table this agent can
         recognize addresses for this protocol, should it be a network
         level protocol.  That is, while a probe may be able to
         recognize packets of a particular network layer protocol and
                  shall not allow this object
         count them, it takes additional logic to be changed able to any other value.
                  If the value of this object is supportedOn(3), the probe
                  supports tracking of recognize
         the nlMatrix table for addresses in this protocol and is
                  configured to track populate network layer
         or application layer tables with the nlMatrix table for addresses in this protocol for all
                  nlMatrixControlEntry's and all interfaces or ports.
         protocol.  If the value of this object bit is supportedOff(3), the probe
                  supports tracking of set, the nlMatrix table agent will recognize
         network layer addresses for this protocol
                  but protoocl and populate the
         network and application layer host and matrix tables with
         these protocols.

         Note that when an entry is configured to not track created, the nlMatrix agent will supply
         values for the bits that match the capabilities of the agent
         with respect to this
                  protocol for any nlMatrixControlEntry's and all interfaces or
                  ports." protocol.  Note that since row creations
         usually exercise the limited extensibility feature, these
         bits will usually be set to zero."
    ::= { protocolDirEntry 8 5 }

          protocolDirAlHostConfig

protocolDirAddressMapConfig OBJECT-TYPE
    SYNTAX      INTEGER {
                    notSupported(1),
                    supportedOff(2),
                    supportedOn(3)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes and configures the probe's support for
                  the application layer host table
        address mapping for this protocol.  When the probe creates
        entries in this table for all protocols that it understands,
        it will set the entry to notSupported(1) if it doesn't have
        the capability to track the nlHost table perform address mapping for the
                  protocol.  If the associated protocolDirAddressCapable object
                  is equal to addressCapable, then protocol or
        if this protocol is not a network layer
                  protocol which the probe recognized addresses for, and thus
                  the probe will populate the alHostTable with addresses it
                  discovers for this network-layer protocol.  When
        an entry is created in this table by a management
                  operation, operation as
        part of the limited extensibility feature, the probe will must set
        this value to notSupported(1),
                  as the because limited extensibility
        of the protocolDirectory table protocolDirTable does not extend to interpreting network level
        addresses of the extended protocols.

        If the value of this object is notSupported(1), the probe
        will not track the nlHost table perform address mapping for this protocol and





Steven Waldbusser  Expires November 17, 1996         [Page 23]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        shall not allow this object to be changed to any other value.





          Steven Waldbusser    Expires Nov 22, 1995            [Page 22]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995
        If the value of this object is supportedOn(3), the probe
        supports tracking of the nlHost table address mapping for this protocol and is configured
        to track the nlHost table perform address mapping for this protocol for all
                  nlHostControlEntry's
        addressMappingControlEntries and all interfaces or ports. interfaces.
        If the value of this object is supportedOff(3), supportedOff(2), the probe
        supports tracking of the nlHost table address mapping for this protocol but is configured
        to not track the nlHost perform address mapping for this protocol for any nlHostControlEntry's
        addressMappingControlEntries and all interfaces or
                  ports." interfaces.
        Whenever this value changes from supportedOn(3) to
        supportedOff(2), the probe shall delete all related entries in
        the addressMappingTable."
    ::= { protocolDirEntry 9 6 }

          protocolDirAlMatrixConfig

protocolDirHostConfig OBJECT-TYPE
    SYNTAX      INTEGER {
                    notSupported(1),
                    supportedOff(2),
                    supportedOn(3)
                }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "This object describes and configures the probe's support for
        the network layer matrix table and application layer host tables for this
        protocol.  When the probe creates entries in this table for
        all protocols that it understands, it will set the entry to
        notSupported(1) if it doesn't have the capability to track the nlMatrix table
        nlHostTable for the this protocol or if the alHostTable is
        implemented but doesn't have the capability to track this protocol
        protocol.  Note that if the alHostTable is not implemented, the
        probe may only support a network-layer protocol. protocol if it is supported in both
        the nlHostTable and the alHostTable.

        If the associated protocolDirAddressCapable protocolDirType object is equal to
                  addressCapable, has the
        addressRecognitionCapable bit set, then this is a network
        layer protocol for which the probe recognized addresses for, recognizes addresses, and
        thus the probe will populate the nlHostTable and alHostTable
        with addresses it discovers for this protocol.

                  When an entry is created in this table by a management
                  operation, the probe will set this value to notSupported(1),
                  as the limited extensibility of the protocolDirectory table
                  does not extend to interpreting network level addresses of the
                  extended protocols.

        If the value of this object is notSupported(1), the probe
        will not track the nlMatrix table nlHostTable or alHostTable for this
        protocol and shall not allow this object to be changed to any
        other value. If the value of this object is supportedOn(3),
        the probe supports tracking of the nlMatrix table for this protocol nlHostTable and alHostTable





Steven Waldbusser  Expires November 17, 1996         [Page 24]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        for this protocol and is configured to track the nlMatrix table both tables
        for this protocol for all
                  nlMatrixControlEntry's control entries and all interfaces or ports.





          Steven Waldbusser    Expires Nov 22, 1995            [Page 23]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995 interfaces.
        If the value of this object is supportedOff(3), supportedOff(2), the probe
        supports tracking of the nlMatrix table nlHostTable and alHostTable for this
        protocol but is configured to not track the nlMatrix these tables
        for any control entries or interfaces.
        Whenever this value changes from supportedOn(3) to
        supportedOff(2), the probe shall delete all related entries in
        the nlHostTable and alHostTable.

        Note that since each alHostEntry references 2 protocol
        directory entries, one for any nlMatrixControlEntry's the network address and all interfaces or
                  ports." one for the
        type of the highest protocol recognized, that an entry will
        only be created in that table if this value is supportedOn(3)
        for both protocols."
    ::= { protocolDirEntry 10 7 }

          protocolDirAddressCapable

protocolDirMatrixConfig OBJECT-TYPE
    SYNTAX      INTEGER {
                              addressCapable(1),
                              notAddressCapable(2)
                          }
              MAX-ACCESS  read-create
              STATUS      current
              DESCRIPTION
                  ""
              ::= { protocolDirEntry 11
                    notSupported(1),
                    supportedOff(2),
                    supportedOn(3)
                }

          protocolDirOwner OBJECT-TYPE
              SYNTAX      OwnerString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
                  "The owner of
        "This object describes and configures the probe's support for
        the network layer and application layer matrix tables for this protocol directory entry."
              ::= { protocolDirEntry 12 }

          protocolDirStatus OBJECT-TYPE
              SYNTAX      RowStatus
              MAX-ACCESS  read-create
              STATUS      current
              DESCRIPTION
                  "The status of
        protocol.  When the probe creates entries in this protocol directory entry.

                   A protocol is not qualified table for activation until instances of
        all columns of its protocolDirEntry row have an
                   appropriate value. In particular, one or more management protocols that it understands, it will set
                   operations are required the entry to configure
        notSupported(1) if it doesn't have the protocol entry:
                   a value must be written capability to track the protocolDirDescr
                   object.

                   Until instances of all corresponding columns are
                   appropriately configured,
        nlMatrixTables for this protocol or if the value of alMatrixTables are
        implemented but don't have the corresponding
                   instance of capability to track this
        protocol.  Note that if the protocolDirStatus column alMatrix tables are implemented,
        the probe may only support a protocol if it is `notReady'.

                   For those columnar objects supported in
        the the both of the nlMatrixTables and both of the
        alMatrixTables.

        If the associated protocolDirType object has the
        addressRecognitionCapable bit set, then this is a network
        layer protocol for which permit write-access (after the probe recognizes addresses, and
        thus the probe will populate both of the nlMatrixTables and
        both of the alMatrixTables with addresses it discovers for
        this protocol.






Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 24] 25]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                   their initial creation), their    May 17, 1996


        If the value in an existing conceptual
                   row can of this object is notSupported(1), the probe
        will not track either of the nlMatrixTables or the
        alMatrixTables for this protocol and shall not allow this
        object to be changed irrespective of to any other value. If the value of
                   protocolDirStatus for that row."
              ::= { protocolDirEntry 13 }

          protocolAssignments OBJECT IDENTIFIER ::= { protocolDir 2 }


          --
          -- Protocol Distribution Group  (protocolDist)
          --
          -- Controls basic segment-level data collection.
          --    protocolDistControlTable,
          --    protocolDistStatsTable

          protocolDistControlTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF ProtocolDistControlEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "Controls this
        object is supportedOn(3), the setup probe supports tracking of protocol type distribution statistics
                  tables.

                  Rationale:
                  This table controls collection both
        of very basic statistics
                  for any or all the nlMatrixTables and (if implemented) both of the protocols detected on a given interface.
                  An NMS can use
        alMatrixTables for this table to quickly determine bandwidth
                  allocation utilized by different protocols.

                  A media-specific statistics collection could also
                  be protocol and is configured (e.g. etherStats, trPStats) to easily obtain
                  total frame, octet, and droppedEvents track
        these tables for this protocol for all control entries and all
        interfaces. If the same
                  interface."
              ::= { protocolDist 1 }

          protocolDistControlEntry OBJECT-TYPE
              SYNTAX      ProtocolDistControlEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "Controls the setup value of protocol type distribution statistics
                  tables."
              INDEX       { protocolDistControlIndex }
              ::= { protocolDistControlTable 1 }






          Steven Waldbusser    Expires Nov 22, 1995            [Page 25]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


          ProtocolDistControlEntry ::= SEQUENCE {
              protocolDistControlIndex         Integer32 (1..65535),
              protocolDistControlDataSource    OBJECT IDENTIFIER,
              protocolDistControlDroppedFrames Counter32,
              protocolDistControlOwner         OwnerString,
              protocolDistControlStatus        RowStatus
          }

          protocolDistControlIndex OBJECT-TYPE
              SYNTAX      Integer32
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A unique index for this protocolDistControlEntry."
              ::= { protocolDistControlEntry 1 }

          protocolDistControlDataSource OBJECT-TYPE
              SYNTAX      OBJECT IDENTIFIER
              MAX-ACCESS  read-create
              STATUS      current
              DESCRIPTION
                  "This object identifies is supportedOff(2),
        the source probe supports tracking of both of the data that nlMatrixTables and
        (if implemented) both of the alMatrixTables for this protocolDistControlEntry entry protocol
        but is configured to analyze.
                  This source can be any interface on not track these tables for this device.

                  The statistics in
        protocol for any control entries or interfaces.
        Whenever this group reflect value changes from supportedOn(3) to
        supportedOff(2), the probe shall delete all packets
                  on related entries in
        the nlMatrixTables and the alMatrixTables.

        Note that since each alMatrixEntry references 2 protocol
        directory entries, one for the local network segment attached to address and one for the
                  identified interface.

                  This object may not
        type of the highest protocol recognized, that an entry will
        only be modified created in that table if the associated
                  protocolDistControlStatus object this value is equal to active(1)." supportedOn(3)
        for both protocols."
    ::= { protocolDistControlEntry 2 protocolDirEntry 8 }

          protocolDistControlDroppedFrames

protocolDirOwner OBJECT-TYPE
    SYNTAX     Counter32      OwnerString
    MAX-ACCESS     read-only  read-create
    STATUS      current
    DESCRIPTION
        "The total number of frames which were received by the probe entity that configured this entry and is
        therefore not accounted for in the *StatsDropEvents, but
                  for which using the probe chose not resources assigned to count for it."
    ::= { protocolDirEntry 9 }

protocolDirStatus OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this protocol directory entry.

        An entry for
                  whatever reason.  Most often, this event occurs when may not exist in the probe active state unless all
        objects in the entry have an appropriate value.

        If this object is out of some resources and decides not equal to shed load from this
                  collection. active(1), all associated
        entries in the nlHostTable, nlMatrixSDTable, nlMatrixDSTable,





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 26]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  Note that this number is the exact number of
                  frames dropped; it must    May 17, 1996


        alHostTable, alMatrixSDTable, and alMatrixDSTable shall be set as accurately as possible
                  by the probe."
        deleted."
    ::= { protocolDistControlEntry 3 protocolDirEntry 10 }

          protocolDistControlOwner

--
-- Protocol Distribution Group  (protocolDist)
--
-- Collects the relative amounts of octets and packets for the
-- different protocols detected on a network segment.
--    protocolDistControlTable,
--    protocolDistStatsTable

protocolDistControlTable OBJECT-TYPE
    SYNTAX      OwnerString      SEQUENCE OF ProtocolDistControlEntry
    MAX-ACCESS  read-create  not-accessible
    STATUS      current
    DESCRIPTION
                  "The owner
        "Controls the setup of protocol type distribution statistics
        tables.

        Implementations are encouraged to add an entry per monitored
        interface upon initialization so that a default collection
        of protocol statistics is available.

        Rationale:
        This table controls collection of very basic statistics
        for any or all of the protocols detected on a given interface.
        An NMS can use this entry." table to quickly determine bandwidth
        allocation utilized by different protocols.

        A media-specific statistics collection could also
        be configured (e.g. etherStats, trPStats) to easily obtain
        total frame, octet, and droppedEvents for the same
        interface."
    ::= { protocolDistControlEntry 4 protocolDist 1 }

          protocolDistControlStatus

protocolDistControlEntry OBJECT-TYPE
    SYNTAX      RowStatus      ProtocolDistControlEntry
    MAX-ACCESS  read-create  not-accessible
    STATUS      current
    DESCRIPTION
                  "The status of this row.

                  An entry is not qualified for activation until instances of
                  all columns of its protocolDistControlEntry
        "A conceptual row have an
                  appropriate value. In particular, one or more management set
                  operations are required to configure the entry:
                  a value must be written to in the protocolDistControlDataSource
                  object.

                  Until instances protocolDistControlTable.

         An example of all corresponding columns are
                  appropriately configured, the value indexing of the corresponding
                  instance of the protocolDistControlStatus column is `notReady'.

                  For those columnar objects which permit write-access (after
                  their initial creation), their value in an existing conceptual
                  row can be changed irrespective of the value of
                   protocolDistControlStatus for that row."
              ::= { protocolDistControlEntry 5 }

          -- per interface protocol distribution statistics table
          protocolDistStatsTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF ProtocolDistStatsEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "An entry is made in this table for every entry in the
                  protocolDirTable for which the values of these counters would is
         protocolDistControlDroppedFrames.7"





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 27]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  be non-zero.  Counters are updated in this table
                  for every protocol type that is encountered when parsing a
                  packet."    May 17, 1996


    INDEX { protocolDistControlIndex }
    ::= { protocolDist 2 protocolDistControlTable 1 }

          protocolDistStatsEntry

ProtocolDistControlEntry ::= SEQUENCE {
    protocolDistControlIndex                Integer32,
    protocolDistControlDataSource           DataSource,
    protocolDistControlDroppedFrames        Counter32,
    protocolDistControlCreateTime           LastCreateTime,
    protocolDistControlOwner                OwnerString,
    protocolDistControlStatus               RowStatus
}

protocolDistControlIndex OBJECT-TYPE
    SYNTAX      ProtocolDistStatsEntry      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
                  "Every entry in the protocolDirTable potentially has a
                  corresponding entry in this table.  However, this table will
                  only contain those entries that have a non-zero value of
                  protocolDistStatsPkts.  Counters are updated in this table
                  for every protocol type that is encountered when parsing a
                  packet.

                  The
        "A unique index is composed of the protocolDistControlIndex of the
                  associated protocolDistControlEntry and the
                  protocolDirIndex of the associated protocol that for this entry
                  represents."
              INDEX       { protocolDistControlIndex,
                            protocolDistStatsProtocolDirIndex } protocolDistControlEntry."
    ::= { protocolDistStatsTable protocolDistControlEntry 1 }

          ProtocolDistStatsEntry ::= SEQUENCE {
              protocolDistStatsProtocolDirIndex   Integer32,
              protocolDistStatsPkts               Counter32,
              protocolDistStatsOctets             Counter32
          }

          protocolDistStatsProtocolDirIndex

protocolDistControlDataSource OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)      DataSource
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The protocolDirIndex source of data for the this protocol distribution.

        The statistics in this entry represents." group reflect all packets
        on the local network segment attached to the
        identified interface.

        This object may not be modified if the associated
        protocolDistControlStatus object is equal to active(1)."
    ::= { protocolDistStatsEntry 1 protocolDistControlEntry 2 }

          protocolDistStatsPkts

protocolDistControlDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of packets frames which were received for this protocol.  Note that by the probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the probe
        is out of some resources and decides to shed load from this





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 28]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that, unlike the dropEvents counter, this number is the
        exact number of link-layer packets, so if a single
                  application layer frame is fragmented into several link-layer
                  packets, frames dropped."
    ::= { protocolDistControlEntry 3 }

protocolDistControlCreateTime OBJECT-TYPE
    SYNTAX     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of sysUpTime when this counter control entry was last
        activated. This can be used by the management station to
        ensure that the table has not been deleted and recreated
        between polls."
    ::= { protocolDistControlEntry 4 }

protocolDistControlOwner OBJECT-TYPE
    SYNTAX      OwnerString
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The entity that configured this entry and is incremented several times."
        therefore using the resources assigned to it."
    ::= { protocolDistStatsEntry 2 protocolDistControlEntry 5 }

          protocolDistStatsOctets

protocolDistControlStatus OBJECT-TYPE
    SYNTAX      Counter32      RowStatus
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The number status of octets received for this protocol." row.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value.

        If this object is not equal to active(1), all associated
        entries in the protocolDistStatsTable shall be deleted."
    ::= { protocolDistStatsEntry 3 protocolDistControlEntry 6 }

-- per interface protocol distribution statistics table
protocolDistStatsTable OBJECT-TYPE





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 29]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          --
          -- Address Map Group   (addressMap)
          --
          -- network layer address map table
          --    addressMapControlTable
          --    addressMapTable
          --
          addressMapControlTable OBJECT-TYPE    May 17, 1996


    SYNTAX      SEQUENCE OF AddressMapControlEntry ProtocolDistStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
                  "A
        "An entry is made in this table to control the collection of network layer address to
                  physical address to interface mappings.

                  This is not like the typical RMON controlTable/dataTable for every protocol in the
        protocolDirTable which each entry creates its own data table.  Each entry has been seen in at least one packet.
        Counters are updated in this table enables the discovery of addresses on for every protocol type
        that is encountered when parsing a new
                  interface and the placement of address mappings into the
                  central addressMapTable." packet, but no counters are
        updated for packets with MAC-layer errors.

        Note that if a protocolDirEntry is deleted, all associated
        entries in this table are removed."
    ::= { addressMap 1 protocolDist 2 }

          addressMapControlEntry

protocolDistStatsEntry OBJECT-TYPE
    SYNTAX      AddressMapControlEntry      ProtocolDistStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
                  ""
        "A conceptual row in the protocolDistStatsTable.

        The index is composed of the protocolDistControlIndex of the
        associated protocolDistControlEntry followed by the
        protocolDirLocalIndex of the associated protocol that this
        entry represents.  In other words, the index identifies the
        protocol distribution an entry is a part of as well as the
        particular protocol that it represents.

        An example of the indexing of this entry is
        protocolDistStatsPkts.1.18"
    INDEX { addressMapControlIndex protocolDistControlIndex, protocolDirLocalIndex }
    ::= { addressMapControlTable protocolDistStatsTable 1 }

          AddressMapControlEntry

ProtocolDistStatsEntry ::= SEQUENCE {
              addressMapControlIndex              Integer32 (1..65535),
              addressMapControlDataSource         Integer32,
              addressMapControlDroppedFrames      Counter32,
              addressMapControlActivateTimeStamp  TimeTicks,
              addressMapControlInserts            Counter32,
              addressMapControlDeletes            Counter32,
              addressMapControlOwner              OwnerString,
              addressMapControlStatus             RowStatus
    protocolDistStatsPkts                    ZeroBasedCounter32,
    protocolDistStatsOctets                  ZeroBasedCounter32
}

          addressMapControlIndex

protocolDistStatsPkts OBJECT-TYPE
    SYNTAX      Integer32      ZeroBasedCounter32
    MAX-ACCESS  not-accessible  read-only
    STATUS      current
    DESCRIPTION
        "The number of packets without errors received of this
        protocol type.  Note that this is the number of link-layer





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 30]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              STATUS      current
              DESCRIPTION
                  "A unique index for    May 17, 1996


        packets, so if a single network-layer packet is fragmented
        into several link-layer frames, this entry in the addressMapControlTable." counter is incremented
        several times."
    ::= { addressMapControlEntry protocolDistStatsEntry 1 }

          addressMapControlDataSource

protocolDistStatsOctets OBJECT-TYPE
    SYNTAX      Integer32      ZeroBasedCounter32
    MAX-ACCESS  read-create  read-only
    STATUS      current
    DESCRIPTION
                  "This object identifies the source
        "The number of octets in packets received of the data that this addressMapControlEntry entry is configured to analyze.
                  This source can be any interface on this device.

                  In order protocol
        type since it was added to identify a particular interface, this
                  object shall identify the instance of the ifIndex
                  object, defined in [4,6], protocolDistStatsTable
        (excluding framing bits but including FCS octets), except for the desired interface.
                  For example, if an entry were to receive data from
                  interface #1, this object would be set to ifIndex.1.

                  In order to identify a particular repeater port, this
                  object shall identify the instance of the rptrGroupPortIndex XXX
                  object, defined
        those octets in [XXX], for the desired interface.
                  For example, if an entry were to receive data from
                  group #1, port #1, packets that contained errors.

        Note this object would be set to
                  rptrGroupPortIndex.1.1."
              ::= { addressMapControlEntry 2 }

          addressMapControlDroppedFrames OBJECT-TYPE
              SYNTAX     Counter32
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                 "The total number of frames which were received by the probe
                  and therefore not accounted for doesn't count just those octets in the *StatsDropEvents, particular
        protocol frames, but
                  for which the probe chose not to count for this entry for
                  whatever reason.  Most often, this event occurs when includes the probe
                  is out of some resources and decides to shed load from this
                  collection.

                  Note entire packet that this number is the exact number of
                  frames dropped; it must be set as accurately as possible
                  by contained
        the probe." protocol."
    ::= { addressMapControlEntry 3 protocolDistStatsEntry 2 }































Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 31]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          addressMapControlActivateTimeStamp    May 17, 1996


--
-- Address Map Group   (addressMap)
--
-- Lists MAC address to network address bindings discovered by the
-- probe and what interface they were last seen on.
--    addressMapControlTable
--    addressMapTable

addressMapInserts OBJECT-TYPE
    SYNTAX     TimeTicks     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of sysUpTime when this control entry was activated.
                  This can be used by the management station to ensure that the
                  table has not been deleted and recreated between polls."
              ::= { addressMapControlEntry 4 }

          addressMapControlInserts OBJECT-TYPE
              SYNTAX     Counter32
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                  "The number number of times an address mapping entry has been
                  deleted from this table.
        inserted into the addressMapTable.  If an entry is deleted, then inserted, and
        then deleted, and then inserted, this counter will be
        incremented by 2.

        Note that the table size can be determined by subtracting
                  addressMapControlDeletes
        addressMapDeletes from addressMapControlInserts." addressMapInserts."
    ::= { addressMapControlEntry 5 addressMap 1 }

          addressMapControlDeletes

addressMapDeletes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times an address mapping entry has been
                  inserted into this table.
        deleted from the addressMapTable (for any reason).  If
        an entry is inserted, then deleted, and then inserted, and then deleted, this
        counter will be incremented by 2.

        Note that the table size can be determined by subtracting
                  addressMapControlDeletes
        addressMapDeletes from addressMapControlInserts." addressMapInserts."
    ::= { addressMapControlEntry 6 addressMap 2 }

          addressMapControlOwner

addressMapMaxDesiredEntries OBJECT-TYPE
    SYNTAX      OwnerString      Integer32 (-1..2147483647)
    MAX-ACCESS  read-create  read-write
    STATUS      current
    DESCRIPTION
        "The owner maximum number of entries that are desired in the
        addressMapTable. The probe will not create more than
        this number of entries in the table, but may choose to create
        fewer entries in this addressMap control entry."
              ::= { addressMapControlEntry 7 } table for any reason including the lack





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 32]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          addressMapControlStatus OBJECT-TYPE
              SYNTAX      RowStatus
              MAX-ACCESS  read-create
              STATUS      current
              DESCRIPTION
                  "The status    May 17, 1996


        of resources.

        If this addressMap control entry.

                  An entry object is not qualified for activation until instances of
                  all columns of its addressMapControlEntry row have an
                  appropriate value.
                  In particular, one or more management set operations are
                  required to configure the entry: a value must be written to less than the addressMapControlDataSource
                  object.

                  Until instances current number
        of all corresponding columns entries, enough entries are
                  appropriately configured, chosen in an
        implementation-dependent manner and deleted so that the value number
        of entries in the corresponding
                  instance of table equals the addressMapControlStatus column is `notReady'.

                  For those columnar objects which permit write-access (after
                  their initial creation), their value in an existing conceptual
                  row can be changed irrespective of the this object.

        If this value is set to -1, the probe may create any number
        of
                   addressMapControlStatus entries in this table.

        This object may be used to control how resources are allocated
        on the probe for that row."
              ::= { addressMapControlEntry 8 the various RMON functions."
    ::= { addressMap 3 }


          addressMapTable

addressMapControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AddressMapEntry AddressMapControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table to control the collection of network layer address to
        physical address to interface mappings." mappings.

        Note that this is not like the typical RMON
        controlTable and dataTable in which each entry creates
        its own data table.  Each entry in this table enables the
        discovery of addresses on a new interface and the placement
        of address mappings into the central addressMapTable.

        Implementations are encouraged to add an entry per monitored
        interface upon initialization so that a default collection
        of address mappings is available."
    ::= { addressMap 2 4 }

          addressMapEntry

addressMapControlEntry OBJECT-TYPE
    SYNTAX      AddressMapEntry      AddressMapControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table of network layer address to physical address to
                  interface mappings.

                  The probe will populate this table for all protocols conceptual row in the
                  protocol directory table who's value addressMapControlTable.

        An example of the indexing of this entry is
        addressMapControlDroppedFrames.1"
    INDEX { addressMapControlIndex }
    ::= { addressMapControlTable 1 }






Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 33]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  protocolDirAddressMapConfig is equal to supportedOn(3)."
              INDEX       { addressMapTimeMark, addressMapProtocolDirIndex,
                            addressMapNetworkAddress, addressMapSource }
              ::= { addressMapTable 1 }

          AddressMapEntry    May 17, 1996


AddressMapControlEntry ::= SEQUENCE {
              addressMapTimeMark            TimeFilter,
              addressMapProtocolDirIndex
    addressMapControlIndex              Integer32,
              addressMapNetworkAddress      OCTET STRING,
              addressMapPhysicalAddress     OCTET STRING,
              addressMapSource              OBJECT IDENTIFIER,
              addressMapLastChange          TimeTicks
    addressMapControlDataSource         DataSource,
    addressMapControlDroppedFrames      Counter32,
    addressMapControlOwner              OwnerString,
    addressMapControlStatus             RowStatus
}

          addressMapTimeMark

addressMapControlIndex OBJECT-TYPE
    SYNTAX      TimeFilter      Integer32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A TimeFilter unique index for this entry.  See entry in the TimeFilter textual
                  convention to see how this works." addressMapControlTable."
    ::= { addressMapEntry addressMapControlEntry 1 }

          addressMapProtocolDirIndex

addressMapControlDataSource OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)      DataSource
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The protocolDirIndex of the network layer protocol source of data for this entry's network address." addressMapControlEntry."
    ::= { addressMapEntry addressMapControlEntry 2 }

          addressMapNetworkAddress

addressMapControlDroppedFrames OBJECT-TYPE
    SYNTAX      OCTET STRING     Counter32
    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
       "The network address for this relation.

                  This is represented as an octet string with
                  specific semantics and length as identified total number of frames which were received by the addressMapProtocolDirIndex component.

                  For example, if probe
        and therefore not accounted for in the protocolDirIndex indicates an encapsulation
                  of ip, *StatsDropEvents, but
        for which the probe chose not to count for this object is encoded as entry for
        whatever reason.  Most often, this event occurs when the 4 octets probe
        is out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that, unlike the ip address, dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { addressMapControlEntry 3 }

addressMapControlOwner OBJECT-TYPE
    SYNTAX      OwnerString





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 34]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  in network byte order. "
              ::= { addressMapEntry 3 }

          addressMapPhysicalAddress OBJECT-TYPE
              SYNTAX      OCTET STRING    May 17, 1996


    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The last physical address on which entity that configured this entry and is
        therefore using the associated network address
                  was seen." resources assigned to it."
    ::= { addressMapEntry addressMapControlEntry 4 }

          addressMapSource

addressMapControlStatus OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER      RowStatus
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The last interface or port on which the associated network
                   address was seen.

                  If this address mapping was discovered on an interface, this
                  object shall identify the instance status of this addressMap control entry.

        An entry may not exist in the ifIndex
                  object, defined active state unless all
        objects in [4,6], for the desired interface.
                  For example, if an entry were to receive data from
                  interface #1, this object would be set to ifIndex.1. have an appropriate value.

        If this address mapping was discovered on a port, this object shall identify the instance of the rptrGroupPortIndex XXX
                  object, defined is not equal to active(1), all associated
        entries in [XXX], for the desired port.
                  For example, if an entry were to receive data from
                  group #1, port #1, this object would addressMapTable shall be set to
                  rptrGroupPortIndex.1.1." deleted."
    ::= { addressMapEntry addressMapControlEntry 5 }

          addressMapLastChange

addressMapTable OBJECT-TYPE
    SYNTAX      TimeTicks      SEQUENCE OF AddressMapEntry
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "The value
        "A table of sysUpTime at network layer address to physical address to
        interface mappings.

        The probe will add entries to this table based on the time source
        MAC and network addresses seen in packets without MAC-level
        errors. The probe will populate this entry was created or table for all protocols
        in the values protocol directory table whose value of the physical address
        protocolDirAddressMapConfig is equal to supportedOn(3), and
        will delete any entries whose protocolDirEntry is deleted or ifIndex changed."
        has a protocolDirAddressMapConfig value of supportedOff(2)."
    ::= { addressMapEntry 6 addressMap 5 }


          hlHostControlTable

addressMapEntry OBJECT-TYPE
    SYNTAX      AddressMapEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the addressMapTable.






Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 35]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              SYNTAX      SEQUENCE OF HlHostControlEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A list of higher layer (i.e. non-MAC) host table control entries.

                  These entries will enable    May 17, 1996


        The protocolDirLocalIndex in the collection of index identifies the host and
                  application level tables indexed by network addresses.

                  Entries in the hlHostTable will be created on behalf
        layer protocol of each
                  entry in this table. Additionally, if this probe implements the alHostTable, entries in addressMapNetworkAddress.

        An example of the alHostTable will be created on
                  behalf indexing of each entry in this table." entry is
        addressMapSource.783495.18.4.128.2.6.6.11.1.3.6.1.2.1.2.2.1.1.1"
    INDEX { addressMapTimeMark, protocolDirLocalIndex,
            addressMapNetworkAddress, addressMapSource }
    ::= { nlHost addressMapTable 1 }

          hlHostControlEntry

AddressMapEntry ::= SEQUENCE {
    addressMapTimeMark                 TimeFilter,
    addressMapNetworkAddress           OCTET STRING,
    addressMapSource                   OBJECT IDENTIFIER,
    addressMapPhysicalAddress          OCTET STRING,
    addressMapLastChange               TimeStamp
}

addressMapTimeMark OBJECT-TYPE
    SYNTAX      HlHostControlEntry      TimeFilter
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of parameters that set up the discovery of
                  hosts on a particular interface and the collection
                  of statistics about these hosts in TimeFilter for this entry.  See the hlHostTable and
                  alHostTable."
              INDEX { hlHostControlIndex } TimeFilter textual
        convention to see how this works."
    ::= { hlHostControlTable addressMapEntry 1 }

          HlHostControlEntry ::= SEQUENCE {
              hlHostControlIndex               Integer32 (1..65535),
              hlHostControlDataSource          OBJECT IDENTIFIER,
              hlHostControlActivateTimeStamp   TimeTicks,
              hlHostControlNlDroppedFrames     Counter32,
              hlHostControlNlInserts           Counter32,
              hlHostControlNlDeletes           Counter32,
              hlHostControlNlMaxDesiredEntries Integer32,
              hlHostControlAlDroppedFrames     Counter32,
              hlHostControlAlInserts           Counter32,
              hlHostControlAlDeletes           Counter32,
              hlHostControlAlMaxDesiredEntries Integer32,
              hlHostControlOwner               OwnerString,
              hlHostControlStatus              RowStatus
          }

          hlHostControlIndex

addressMapNetworkAddress OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)





          Steven Waldbusser    Expires Nov 22, 1995            [Page 36]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995      OCTET STRING
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "An index that uniquely identifies
        "The network address for this relation.

        This is represented as an entry in the
                  hlHostControl table.  Each such entry defines
                  a function that discovers hosts on a particular
                  interface octet string with
        specific semantics and places statistics about them in length as identified
        by the
                  nlHostTable, and optionally in protocolDirLocalIndex component of the alHostTable, on
                  behalf
        index.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of ip, this hlHostControlEntry." object is encoded as a length
        octet of 4, followed by the 4 octets of the ip address,
        in network byte order."
    ::= { hlHostControlEntry 1 addressMapEntry 2 }

          hlHostControlDataSource

addressMapSource OBJECT-TYPE





Steven Waldbusser  Expires November 17, 1996         [Page 36]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    SYNTAX      OBJECT IDENTIFIER
    MAX-ACCESS  read-create  not-accessible
    STATUS      current
    DESCRIPTION
                  "This object identifies the source of the data for
                  this instance of the host function.  This source
                  can be any
        "The interface or port on which the associated network
         address was most recently seen.

        If this device.  In order
                  to identify a particular address mapping was discovered on an interface, this
        object shall identify the instance of the ifIndex
        object, defined in [4,6], [3,5], for the desired interface.
        For example, if an entry were to receive data from
        interface #1, this object would be set to ifIndex.1.

                  The statistics in

        If this group reflect all packets address mapping was discovered on a port, this
        object shall identify the local network segment attached to instance of the
                  identified interface.

                  This rptrGroupPortIndex
        object, defined in [RFC1516], for the desired port.
        For example, if an entry were to receive data from
        group #1, port #1, this object may not would be modified if set to
        rptrGroupPortIndex.1.1.

        Note that while the dataSource associated
                  hlHostControlStatus object is equal with this entry
        may only point to valid(1)."
              ::= { hlHostControlEntry 2 index objects, this object may at times
        point to repeater port objects. This situation occurs when
        the dataSource points to an interface which is a locally
        attached repeater and the agent has additional information
        about the source port of traffic seen on that repeater."
    ::= { addressMapEntry 3 }

          hlHostControlActivateTimeStamp

addressMapPhysicalAddress OBJECT-TYPE
    SYNTAX     TimeTicks      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value last source physical address on which the associated
        network address was seen.  If the protocol of sysUpTime when this control entry the associated
        network address was activated.
                  This can encapsulated inside of a network-level or
        higher protocol, this will be used by the management station to ensure that address of the
                  table has not been deleted next-lower
        protocol with the addressRecognitionCapable bit enabled and recreated between polls."
        will be formatted as specified for that protocol."
    ::= { hlHostControlEntry 3 addressMapEntry 4 }

          hlHostControlNlDroppedFrames

addressMapLastChange OBJECT-TYPE
    SYNTAX     Counter32      TimeStamp
    MAX-ACCESS  read-only
    STATUS      current





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 37]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              MAX-ACCESS read-only
              STATUS     current    May 17, 1996


    DESCRIPTION
        "The total number value of frames which were received by sysUpTime at the probe
                  and therefore not accounted for in time this entry was last
        created or the *StatsDropEvents, but
                  for which values of the probe chose not physical address changed.

        This can be used to count for this entry for
                  whatever reason.  Most often, help detect duplicate address problems, in
        which case this event occurs when object will be updated frequently."
    ::= { addressMapEntry 5 }











































Steven Waldbusser  Expires November 17, 1996         [Page 38]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


--
-- Network Layer Host Group
--
-- Counts the probe
                  is out amount of some resources traffic sent from and decides to shed load from this
                  collection. each network address
-- discovered by the probe.
-- Note that this number is while the exact number hlHostControlTable also has objects that
-- control an optional alHostTable, implementation of
                  frames dropped; it must be set as accurately as possible
                  by the probe."
              ::= { hlHostControlEntry 4 }

          hlHostControlNlInserts alHostTable is
-- not required to fully implement this group.

hlHostControlTable OBJECT-TYPE
    SYNTAX     Counter32      SEQUENCE OF HlHostControlEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "The number
        "A list of times an nlHost entry has been
                  deleted from higher layer (i.e. non-MAC) host table control entries.

        These entries will enable the nlHost table.  If an entry is deleted, then
                  inserted, collection of the network and then deleted,
        application level host tables indexed by network addresses.
        Both the network and application level host tables are
        controlled by this counter table is so that they will both be incremented
                  by 2.

                  Note that created
        and deleted at the table size same time, further increasing the ease with
        which they can be determined by subtracting
                  hlHostControlNlDeletes implemented as a single datastore (note that
        if an implementation stores application layer host records in
        memory, it can derive network layer host records from hlHostControlNlInserts." them).

        Entries in the nlHostTable will be created on behalf of each
        entry in this table. Additionally, if this probe implements
        the alHostTable, entries in the alHostTable will be created on
        behalf of each entry in this table.

        Implementations are encouraged to add an entry per monitored
        interface upon initialization so that a default collection
        of host statistics is available."
    ::= { hlHostControlEntry 5 nlHost 1 }

          hlHostControlNlDeletes

hlHostControlEntry OBJECT-TYPE
    SYNTAX     Counter32      HlHostControlEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "The number
        "A conceptual row in the hlHostControlTable.

        An example of times an nlHost entry has been
                  inserted into the nlHost table.  If an indexing of this entry is inserted, then
                  deleted, and then inserted, this counter will be incremented
                  by 2.

                  Note that the table size can be determined by subtracting
                  hlHostControlDeletes from hlHostControlInserts."
              ::=
        hlHostControlNlDroppedFrames.1"
    INDEX { hlHostControlEntry 6 hlHostControlIndex }

          hlHostControlNlMaxDesiredEntries OBJECT-TYPE
              SYNTAX      Integer32





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 38] 39]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


    ::= { hlHostControlTable 1 }

HlHostControlEntry ::= SEQUENCE {
    hlHostControlIndex               Integer32,
    hlHostControlDataSource          DataSource,
    hlHostControlNlDroppedFrames     Counter32,
    hlHostControlNlInserts           Counter32,
    hlHostControlNlDeletes           Counter32,
    hlHostControlNlMaxDesiredEntries Integer32,
    hlHostControlAlDroppedFrames     Counter32,
    hlHostControlAlInserts           Counter32,
    hlHostControlAlDeletes           Counter32,
    hlHostControlAlMaxDesiredEntries Integer32,
    hlHostControlOwner               OwnerString,
    hlHostControlStatus              RowStatus
}

hlHostControlIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  read-create  not-accessible
    STATUS      current
    DESCRIPTION
                  "The maximum number of entries
        "An index that are desired uniquely identifies an entry in the
                  associated nlHostTable. The probe will not create more than
                  this number of entries
        hlHostControlTable.  Each such entry defines
        a function that discovers hosts on a particular
        interface and places statistics about them in the table, but may choose to create
                  fewer entries
        nlHostTable, and optionally in this table for any reason including the lack alHostTable, on
        behalf of resources.

                  If this value is set to zero, the probe may create any number hlHostControlEntry."
    ::= { hlHostControlEntry 1 }

hlHostControlDataSource OBJECT-TYPE
    SYNTAX      DataSource
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The source of entries data for the associated host tables.

        The statistics in this table. group reflect all packets
        on the local network segment attached to the
        identified interface.

        This object may not be used to control how resources are allocated
                  on the probe for modified if the various RMON functions." associated
        hlHostControlStatus object is equal to active(1)."
    ::= { hlHostControlEntry 7 2 }

          hlHostControlAlDroppedFrames






Steven Waldbusser  Expires November 17, 1996         [Page 40]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


hlHostControlNlDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of frames which were received by the probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not to count for this entry the associated
        nlHost entries for whatever reason.  Most often, this event
        occurs when the probe is out of some resources and decides to
        shed load from this collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that if the nlHostTable is inactive because no protocols
        are enabled in the protocol directory, this value should be 0.

        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped; it must be set as accurately as possible
                  by the probe." dropped."
    ::= { hlHostControlEntry 8 3 }

          hlHostControlAlInserts

hlHostControlNlInserts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times an alHost nlHost entry has been
                  deleted from
        inserted into the alHost nlHost table.  If an entry is deleted, then inserted, and then
        deleted, and then inserted, this counter will be incremented
        by 2.

        To allow for efficient implementation strategies, agents may
        delay updating this object for short periods of time.  For
        example, an implementation strategy may allow internal
        data structures to differ from those visible via SNMP for
        short periods of time.  This counter may reflect the internal
        data structures for those short periods of time.

        Note that the table size can be determined by subtracting
                  hlHostControlAlDeletes
        hlHostControlNlDeletes from hlHostControlAlInserts." hlHostControlNlInserts."
    ::= { hlHostControlEntry 4 }

hlHostControlNlDeletes OBJECT-TYPE
    SYNTAX     Counter32





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 39] 41]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              ::= { hlHostControlEntry 9 }

          hlHostControlAlDeletes OBJECT-TYPE
              SYNTAX     Counter32    May 17, 1996


    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times an alHost nlHost entry has been
                  inserted into
        deleted from the alHost table. nlHost table (for any reason).  If an entry
        is inserted, then deleted, and then inserted, and then deleted, this counter will
        be incremented by 2.

        To allow for efficient implementation strategies, agents may
        delay updating this object for short periods of time.  For
        example, an implementation strategy may allow internal
        data structures to differ from those visible via SNMP for
        short periods of time.  This counter may reflect the internal
        data structures for those short periods of time.

        Note that the table size can be determined by subtracting
                  hlHostControlAlDeletes
        hlHostControlNlDeletes from hlHostControlAlInserts." hlHostControlNlInserts."
    ::= { hlHostControlEntry 10 5 }

          hlHostControlAlMaxDesiredEntries

hlHostControlNlMaxDesiredEntries OBJECT-TYPE
    SYNTAX      Integer32 (-1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum number of entries that are desired in the alHost
                  table.
        nlHostTable on behalf of this control entry. The probe will
        not create more than this number of associated entries in the
        table, but may choose to create fewer entries in this table
        for any reason including the lack of resources.

        If this object is set to a value less than the current number
        of entries, enough entries are chosen in an
        implementation-dependent manner and deleted so that the number
        of entries in the table equals the value of this object.

        If this value is set to zero, -1, the probe may create any number
        of entries in this table.  If the associated
        hlHostControlStatus object is equal to `active', this
        object may not be modified.

        This object may be used to control how resources are allocated
        on the probe for the various RMON functions."
    ::= { hlHostControlEntry 11 }

          hlHostControlOwner OBJECT-TYPE
              SYNTAX      OwnerString
              MAX-ACCESS  read-create
              STATUS      current
              DESCRIPTION
                  "The entity that configured this entry and is
                  therefore using the resources assigned to it."
              ::= { hlHostControlEntry 12 6 }

          hlHostControlStatus

hlHostControlAlDroppedFrames OBJECT-TYPE
              SYNTAX      RowStatus
              MAX-ACCESS  read-create





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 40] 42]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The status total number of this hlHostControl entry.

                  If this object is frames which were received by the probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not equal to valid(1), all count for the associated
        alHost entries in for whatever reason.  Most often, this event
        occurs when the nlHostTable probe is out of some resources and decides to
        shed load from this collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that if the alHostTable
                  shall is not implemented or is inactive
        because no protocols are enabled in the protocol directory,
        this value should be deleted by 0.

        Note that, unlike the agent." dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { hlHostControlEntry 13 7 }

          nlHostTable

hlHostControlAlInserts OBJECT-TYPE
    SYNTAX      SEQUENCE OF NlHostEntry     Counter32
    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "A list
        "The number of nlHost entries.  Each such times an alHost entry defines statistics
                  for packets from has been
        inserted into the alHost table.  If an entry is inserted, then
        deleted, and then inserted, this counter will be incremented
        by 2.

        To allow for efficient implementation strategies, agents may
        delay updating this object for short periods of time.  For
        example, an implementation strategy may allow internal
        data structures to a particular network address." differ from those visible via SNMP for
        short periods of time.  This counter may reflect the internal
        data structures for those short periods of time.

        Note that the table size can be determined by subtracting
        hlHostControlAlDeletes from hlHostControlAlInserts."
    ::= { nlHost 2 hlHostControlEntry 8 }

          nlHostEntry

hlHostControlAlDeletes OBJECT-TYPE
    SYNTAX      NlHostEntry     Counter32





Steven Waldbusser  Expires November 17, 1996         [Page 43]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "A collection
        "The number of statistics for a particular host
                  that times an alHost entry has been discovered on an interface of this
                  device.

                  The probe will populate this
        deleted from the alHost table for all network layer
                  protocols in the protocol directory table who's value of
                  protocolDirNlHostConfig (for any reason).  If an entry
        is equal to supportedOn(3).

                  The probe deleted, then inserted, and then deleted, this counter will add to
        be incremented by 2.

        To allow for efficient implementation strategies, agents may
        delay updating this table all hosts who's address it
                  sees as object for short periods of time.  For
        example, an implementation strategy may allow internal
        data structures to differ from those visible via SNMP for
        short periods of time.  This counter may reflect the source or destination address in all good MAC
                  packets."
              INDEX { hlHostControlIndex, nlHostTimeMark,
                      nlHostProtocolDirIndex, nlHostAddress }
              ::= { nlHostTable 1 }

          NlHostEntry ::= SEQUENCE {
              nlHostTimeMark              TimeFilter,
              nlHostProtocolDirIndex      Integer32,
              nlHostAddress               OCTET STRING,
              nlHostInPkts                Counter32,
              nlHostOutPkts               Counter32,
              nlHostInOctets              Counter32,





          Steven Waldbusser    Expires Nov 22, 1995            [Page 41]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


              nlHostOutOctets             Counter32,
              nlHostOutMacNonUnicastPkts  Counter32
          }

          nlHostTimeMark OBJECT-TYPE
              SYNTAX      TimeFilter
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A TimeFilter internal
        data structures for this entry.  See those short periods of time.

        Note that the TimeFilter textual
                  convention to see how this works." table size can be determined by subtracting
        hlHostControlAlDeletes from hlHostControlAlInserts."
    ::= { nlHostEntry 1 hlHostControlEntry 9 }

          nlHostProtocolDirIndex

hlHostControlAlMaxDesiredEntries OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647) (-1..2147483647)
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The protocolDirIndex maximum number of entries that are desired in the network layer protocol alHost
        table on behalf of this entry's network address."
              ::= { nlHostEntry 2 }

          nlHostAddress OBJECT-TYPE
              SYNTAX      OCTET STRING
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "The network address for control entry. The probe will not
        create more than this nlHostEntry.

                  This is represented as an octet string with
                  specific semantics and length as identified
                  by the protocolDirIndex component."
              ::= { nlHostEntry 3 }

          nlHostInPkts OBJECT-TYPE
              SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The number of packets without errors transmitted to
                  this address since it was added associated entries in the
        table, but may choose to create fewer entries in this table
        for any reason including the nlHostTable." lack of resources.

        If this object is set to a value less than the current number
        of entries, enough entries are chosen in an
        implementation-dependent manner and deleted so that the number
        of entries in the table equals the value of this object.

        If this value is set to -1, the probe may create any number
        of entries in this table.  If the associated
        hlHostControlStatus object is equal to `active', this
        object may not be modified.

        This object may be used to control how resources are allocated
        on the probe for the various RMON functions."
    ::= { nlHostEntry 4 hlHostControlEntry 10 }

          nlHostOutPkts

hlHostControlOwner OBJECT-TYPE
              SYNTAX      Counter32





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 42] 44]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


    SYNTAX      OwnerString
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The number of packets including errors transmitted
                  by entity that configured this address since it was added to entry and is
        therefore using the nlHostTable." resources assigned to it."
    ::= { nlHostEntry 5 hlHostControlEntry 11 }

          nlHostInOctets

hlHostControlStatus OBJECT-TYPE
    SYNTAX      Counter32      RowStatus
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The number status of octets transmitted to this address
                  since it was added hlHostControlEntry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value.

        If this object is not equal to active(1), all associated
        entries in the nlHostTable (excluding
                  framing bits but including FCS octets), except for
                  those octets in packets that contained errors." and alHostTable shall be deleted."
    ::= { nlHostEntry 6 hlHostControlEntry 12 }

          nlHostOutOctets

nlHostTable OBJECT-TYPE
    SYNTAX      Counter32      SEQUENCE OF NlHostEntry
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "The number
        "A collection of octets transmitted by this statistics for a particular network layer
        address
                  since it was added to the nlHostTable (excluding
                  framing bits but including FCS octets), including
                  those octets in packets that contained errors."
              ::= { nlHostEntry 7 }

          nlHostOutMacNonUnicastPkts OBJECT-TYPE
              SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The number has been discovered on an interface of good packets transmitted by this
                  address that were directed to
        device.

        The probe will populate this table for all network layer
        protocols in the broadcast address protocol directory table whose value of
        protocolDirHostConfig is equal to supportedOn(3), and
        will delete any entries whose protocolDirEntry is deleted or
        has a protocolDirHostConfig value of supportedOff(2).

        The probe will add to this table all addresses seen
        as the multicast source or destination address since this host was added
                  to in all packets with no
        MAC errors, and will increment octet and packet counts in the nlHostTable."
        table for all packets with no MAC errors."
::= { nlHostEntry 8 nlHost 2 }

          hlMatrixControlTable

nlHostEntry OBJECT-TYPE
    SYNTAX      SEQUENCE OF HlMatrixControlEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION      NlHostEntry





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 43] 45]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of higher layer (i.e. non-MAC) matrix table control
                  entries.

                  These entries will enable the collection of conceptual row in the host and
                  application level matrix tables indexed by pairs of network
                  addresses.

                  Entries nlHostTable.

        The hlHostControlIndex value in the hlMatrixTable will be created index identifies the
        hlHostControlEntry on whose behalf of each this entry was created.
        The protocolDirLocalIndex value in this table.  Additionally, if this probe implements the alMatrix tables, entries in index identifies the alMatrix tables will be
                  created on behalf
        network layer protocol of the nlHostAddress.

        An example of the indexing of each entry in this table." entry is
        nlHostOutPkts.1.783495.18.4.128.2.6.6."
    INDEX { hlHostControlIndex, nlHostTimeMark,
            protocolDirLocalIndex, nlHostAddress }
    ::= { nlMatrix nlHostTable 1 }

          hlMatrixControlEntry OBJECT-TYPE
              SYNTAX      HlMatrixControlEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A list of parameters that set up the discovery of
                  conversations on a particular interface and the collection
                  of statistics about these conversations in the hlMatrixTable and
                  alMatrixTable."
              INDEX { hlMatrixControlIndex }

NlHostEntry ::= SEQUENCE { hlMatrixControlTable 1
    nlHostTimeMark              TimeFilter,
    nlHostAddress               OCTET STRING,
    nlHostInPkts                ZeroBasedCounter32,
    nlHostOutPkts               ZeroBasedCounter32,
    nlHostInOctets              ZeroBasedCounter32,
    nlHostOutOctets             ZeroBasedCounter32,
    nlHostOutMacNonUnicastPkts  ZeroBasedCounter32,
    nlHostCreateTime            LastCreateTime
}

          HlMatrixControlEntry

nlHostTimeMark OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A TimeFilter for this entry.  See the TimeFilter textual
        convention to see how this works."
    ::= SEQUENCE {
              hlMatrixControlIndex                  Integer32 (1..65535),
              hlMatrixControlDataSource             OBJECT IDENTIFIER,
              hlMatrixControlActivateTimeStamp      TimeTicks,
              hlMatrixControlNlDroppedFrames        Counter32,
              hlMatrixControlNlInserts              Counter32,
              hlMatrixControlNlDeletes              Counter32,
              hlMatrixControlNlMaxDesiredEntries    Integer32,
              hlMatrixControlAlDroppedFrames        Counter32,
              hlMatrixControlAlInserts              Counter32,
              hlMatrixControlAlDeletes              Counter32,
              hlMatrixControlAlMaxDesiredEntries    Integer32,
              hlMatrixControlOwner                  OwnerString,
              hlMatrixControlStatus                 RowStatus nlHostEntry 1 }

          hlMatrixControlIndex

nlHostAddress OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)      OCTET STRING
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
        "The network address for this nlHostEntry.

        This is represented as an octet string with
        specific semantics and length as identified





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 44] 46]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              DESCRIPTION
                  "An index that uniquely identifies an entry in the
                  hlMatrixControl table.  Each such entry defines
                  a function that discovers conversations on a particular
                  interface and places statistics about them in    May 17, 1996


        by the
                  hlMatrixSDTable and protocolDirLocalIndex component of the hlMatrixDSTable, and optionally index.

        For example, if the
                  alMatrixSDTable and alMatrixDSTable, on behalf protocolDirLocalIndex indicates an
        encapsulation of ip, this
                  hlMatrixControlEntry." object is encoded as a length
        octet of 4, followed by the 4 octets of the ip address,
        in network byte order."
    ::= { hlMatrixControlEntry 1 nlHostEntry 2 }

          hlMatrixControlDataSource

nlHostInPkts OBJECT-TYPE
    SYNTAX      OBJECT IDENTIFIER      ZeroBasedCounter32
    MAX-ACCESS  read-create  read-only
    STATUS      current
    DESCRIPTION
                  "This object identifies the source
        "The number of
                  the data from which this entry creates a traffic matrix.
                  This source can be any interface on packets without errors transmitted to
        this device.  In
                  order address since it was added to identify a particular interface, the nlHostTable.  Note that
        this object
                  shall identify is the instance number of the ifIndex object,
                  defined in [4,6], for the desired interface.  For
                  example, link-layer packets, so if an entry were to receive data from
                  interface #1, this object would be set to ifIndex.1.

                  The statistics in a single
        network-layer packet is fragmented into several link-layer
        frames, this group reflect all packets
                  on the local network segment attached to the
                  identified interface.

                  This object may not be modified if the associated
                  hlMatrixControlStatus object counter is equal to valid(1)." incremented several times."
    ::= { hlMatrixControlEntry 2 nlHostEntry 3 }

          hlMatrixControlActivateTimeStamp

nlHostOutPkts OBJECT-TYPE
    SYNTAX     TimeTicks      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value number of sysUpTime when packets without errors transmitted by
        this control entry address since it was activated.
                  This can be used by the management station added to ensure the nlHostTable.  Note that
        this is the
                  table has not been deleted and recreated between polls." number of link-layer packets, so if a single
        network-layer packet is fragmented into several link-layer
        frames, this counter is incremented several times."
    ::= { hlMatrixControlEntry 3 nlHostEntry 4 }

          hlMatrixControlNlDroppedFrames

nlHostInOctets OBJECT-TYPE
    SYNTAX     Counter32      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of octets transmitted to this address
        since it was added to the nlHostTable (excluding
        framing bits but including FCS octets), excluding
        those octets in packets that contained errors.

        Note this doesn't count just those octets in the particular
        protocol frames, but includes the entire packet that contained
        the protocol."





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 45] 47]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


    ::= { nlHostEntry 5 }

nlHostOutOctets OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The total number of frames which were received octets transmitted by this address
        since it was added to the probe
                  and therefore not accounted for nlHostTable (excluding
        framing bits but including FCS octets), excluding
        those octets in packets that contained errors.

        Note this doesn't count just those octets in the *StatsDropEvents, particular
        protocol frames, but
                  for which includes the probe chose not to count for this entry for
                  whatever reason.  Most often, this event occurs when the probe
                  is out of some resources and decides to shed load from this
                  collection.

                  Note entire packet that this number is the exact number of
                  frames dropped; it must be set as accurately as possible
                  by contained
        the probe." protocol."
    ::= { hlMatrixControlEntry 4 nlHostEntry 6 }

          hlMatrixControlNlInserts

nlHostOutMacNonUnicastPkts OBJECT-TYPE
    SYNTAX     Counter32      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of times an nlMatrix entry has been
                  inserted packets without errors transmitted by this
        address that were directed to the nlMatrix tables.  If an entry is deleted, then
                  inserted, and then deleted, any MAC broadcast addresses
        or to any MAC multicast addresses since this counter will be incremented
                  by 2.  The addition of a conversation into both the
                  nlMatrixSDTable and nlMatrixDSTable shall be counted as two
                  insertions (even though every addition into one table must be
                  accompanied by an insertion into host was
        added to the other). nlHostTable. Note that this is the table size can be determined by subtracting
                  hlMatrixControlNlDeletes from hlMatrixControlNlInserts." number of
        link-layer packets, so if a single network-layer packet is
        fragmented into several link-layer frames, this counter is
        incremented several times."
    ::= { hlMatrixControlEntry 5 nlHostEntry 7 }

          hlMatrixControlNlDeletes

nlHostCreateTime OBJECT-TYPE
    SYNTAX     Counter32     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number value of times an nlMatrix entry has been
                  deleted from the nlMatrix tables.  If an entry is inserted, then
                  deleted, and then inserted, sysUpTime when this counter will entry was last activated.
        This can be incremented used by 2.  The deletion of a conversation from both the
                  nlMatrixSDTable and nlMatrixDSTable shall be counted as two
                  deletions (even though every deletion from one table must be
                  accompanied by a deletion from management station to ensure that the other).

                  Note that the table size can be determined by subtracting
        entry has not been deleted and recreated between polls."
    ::= { nlHostEntry 8 }










Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 46] 48]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  hlMatrixMatrixNlDeletes from hlMatrixControlNlInserts."
              ::= { hlMatrixControlEntry 6 }

          hlMatrixControlNlMaxDesiredEntries    May 17, 1996


--
-- Network Layer Matrix Group
--
-- Counts the amount of traffic sent between each pair of network
-- addresses discovered by the probe.
-- Note that while the hlMatrixControlTable also has objects that
-- control optional alMatrixTables, implementation of the
-- alMatrixTables is not required to fully implement this group.

hlMatrixControlTable OBJECT-TYPE
    SYNTAX      Integer32      SEQUENCE OF HlMatrixControlEntry
    MAX-ACCESS  read-create  not-accessible
    STATUS      current
    DESCRIPTION
                  "The maximum number
        "A list of higher layer (i.e. non-MAC) matrix control entries.

        These entries that will enable the collection of the network and
        application level matrix tables containing conversation
        statistics indexed by pairs of network addresses.
        Both the network and application level matrix tables are desired
        controlled by this table is so that they will both be created
        and deleted at the same time, further increasing the ease with
        which they can be implemented as a single datastore (note that
        if an implementation stores application layer matrix records
        in memory, it can derive network layer matrix records from
        them).

        Entries in the
                  nlMatrix tables. The probe nlMatrixSDTable and nlMatrixDSTable will not create more than this
                  number be
        created on behalf of entries each entry in this table.  Additionally,
        if this probe implements the table, but may choose to create fewer alMatrix tables, entries in the
        alMatrix tables will be created on behalf of each entry in
        this table for any reason including table."
    ::= { nlMatrix 1 }

hlMatrixControlEntry OBJECT-TYPE
    SYNTAX      HlMatrixControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the lack hlMatrixControlTable.

        An example of indexing of
                  resources.

                  If this value entry is set to zero,
        hlMatrixControlNlDroppedFrames.1"
    INDEX { hlMatrixControlIndex }
    ::= { hlMatrixControlTable 1 }





Steven Waldbusser  Expires November 17, 1996         [Page 49]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


HlMatrixControlEntry ::= SEQUENCE {
    hlMatrixControlIndex                  Integer32,
    hlMatrixControlDataSource             DataSource,
    hlMatrixControlNlDroppedFrames        Counter32,
    hlMatrixControlNlInserts              Counter32,
    hlMatrixControlNlDeletes              Counter32,
    hlMatrixControlNlMaxDesiredEntries    Integer32,
    hlMatrixControlAlDroppedFrames        Counter32,
    hlMatrixControlAlInserts              Counter32,
    hlMatrixControlAlDeletes              Counter32,
    hlMatrixControlAlMaxDesiredEntries    Integer32,
    hlMatrixControlOwner                  OwnerString,
    hlMatrixControlStatus                 RowStatus
}

hlMatrixControlIndex OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "An index that uniquely identifies an entry in the probe may create any number
        hlMatrixControlTable.  Each such entry defines
        a function that discovers conversations on a particular
        interface and places statistics about them in the
        nlMatrixSDTable and the nlMatrixDSTable, and optionally the
        alMatrixSDTable and alMatrixDSTable, on behalf of entries this
        hlMatrixControlEntry."
    ::= { hlMatrixControlEntry 1 }

hlMatrixControlDataSource OBJECT-TYPE
    SYNTAX      DataSource
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The source of the data for the associated matrix tables.

        The statistics in this table. group reflect all packets
        on the local network segment attached to the
        identified interface.

        This object may not be used to control how resources are allocated
                  on the probe for modified if the various RMON functions." associated
        hlMatrixControlStatus object is equal to active(1)."
    ::= { hlMatrixControlEntry 7 2 }

          hlMatrixControlAlDroppedFrames

hlMatrixControlNlDroppedFrames OBJECT-TYPE





Steven Waldbusser  Expires November 17, 1996         [Page 50]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of frames which were received by the probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the probe
        is out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that if the nlMatrixTables are inactive because no
        protocols are enabled in the protocol directory, this value
        should be 0.

        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped; it must be set as accurately as possible
                  by the probe." dropped."
    ::= { hlMatrixControlEntry 8 3 }

          hlMatrixControlAlInserts

hlMatrixControlNlInserts OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times an alMatrix nlMatrix entry has been
        inserted to into the alMatrix nlMatrix tables.  If an entry is deleted, then





          Steven Waldbusser    Expires Nov 22, 1995            [Page 47]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995 inserted, and
        then deleted, this counter and then inserted, this counter will be
        incremented by 2.  The addition of a conversation into both
        the
                  alMatrixSDTable nlMatrixSDTable and alMatrixDSTable nlMatrixDSTable shall be counted as
        two insertions (even though every addition into one table must
        be accompanied by an insertion into the other).

        To allow for efficient implementation strategies, agents may
        delay updating this object for short periods of time.  For
        example, an implementation strategy may allow internal
        data structures to differ from those visible via SNMP for
        short periods of time.  This counter may reflect the internal
        data structures for those short periods of time.

        Note that the table size sum of then nlMatrixSDTable and nlMatrixDSTable
        sizes can be determined by subtracting
                  hlMatrixControlAlDeletes
        hlMatrixControlNlDeletes from hlMatrixControlAlInserts." hlMatrixControlNlInserts."





Steven Waldbusser  Expires November 17, 1996         [Page 51]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    ::= { hlMatrixControlEntry 9 4 }

          hlMatrixControlAlDeletes

hlMatrixControlNlDeletes OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of times an alMatrix nlMatrix entry has been
        deleted from the alMatrix tables. nlMatrix tables (for any reason).  If an
        entry is inserted, then deleted, and then inserted, and then deleted, this
        counter will be incremented by 2.  The deletion of a
        conversation from both the
                  alMatrixSDTable nlMatrixSDTable and alMatrixDSTable nlMatrixDSTable
        shall be counted as two deletions (even though every deletion
        from one table must be accompanied by a deletion from the
        other).

        To allow for efficient implementation strategies, agents may
        delay updating this object for short periods of time.  For
        example, an implementation strategy may allow internal
        data structures to differ from those visible via SNMP for
        short periods of time.  This counter may reflect the internal
        data structures for those short periods of time.

        Note that the table size can be determined by subtracting
                  hlMatrixMatrixAlDeletes
        hlMatrixControlNlDeletes from hlMatrixControlAlInserts." hlMatrixControlNlInserts."
    ::= { hlMatrixControlEntry 10 5 }

          hlMatrixControlAlMaxDesiredEntries

hlMatrixControlNlMaxDesiredEntries OBJECT-TYPE
    SYNTAX      Integer32 (-1..2147483647)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The maximum number of entries that are desired in the
                  alMatrix tables.
        nlMatrix tables on behalf of this control entry. The probe
        will not create more than this number of associated entries in
        the table, but may choose to create fewer entries in this
        table for any reason including the lack of resources.

        If this object is set to a value less than the current number
        of entries, enough entries are chosen in an
        implementation-dependent manner and deleted so that the number
        of entries in the table equals the value of this object.

        If this value is set to zero, -1, the probe may create any number
        of entries in this table.  If the associated





Steven Waldbusser  Expires November 17, 1996         [Page 52]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        hlMatrixControlStatus object is equal to `active', this
        object may not be modified.

        This object may be used to control how resources are allocated
        on the probe for the various RMON functions."
    ::= { hlMatrixControlEntry 11 6 }






          Steven Waldbusser    Expires Nov 22, 1995            [Page 48]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


          hlMatrixControlOwner

hlMatrixControlAlDroppedFrames OBJECT-TYPE
    SYNTAX      OwnerString     Counter32
    MAX-ACCESS  read-create read-only
    STATUS     current
    DESCRIPTION
       "The entity that configured this entry total number of frames which were received by the probe
        and is therefore using not accounted for in the resources assigned *StatsDropEvents, but
        for which the probe chose not to it."
              ::= { hlMatrixControlEntry 12 }

          hlMatrixControlStatus OBJECT-TYPE
              SYNTAX      RowStatus
              MAX-ACCESS  read-create
              STATUS      current
              DESCRIPTION
                  "The status of count for this hlMatrixControl entry.

                  If entry for
        whatever reason.  Most often, this object event occurs when the probe
        is not equal out of some resources and decides to valid(1), all
                  associated entries in shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that if the hlMatrixSDTable and alMatrixTables are not implemented or are
        inactive because no protocols are enabled in the
                  hlMatrixDSTable shall protocol
        directory, this value should be deleted by 0.

        Note that, unlike the agent." dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { hlMatrixControlEntry 13 7 }

          nlMatrixSDTable

hlMatrixControlAlInserts OBJECT-TYPE
    SYNTAX      SEQUENCE OF NlMatrixSDEntry     Counter32
    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "A list
        "The number of traffic matrix entries indexed by
                  source times an alMatrix entry has been
        inserted into the alMatrix tables.  If an entry is inserted,
        then deleted, and destination network-level address."
              ::= { nlMatrix 2 }

          nlMatrixSDEntry OBJECT-TYPE
              SYNTAX      NlMatrixSDEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A collection then inserted, this counter will be
        incremented by 2.  The addition of statistics for communications between
                  two addresses on a particular interface.

                  The probe will populate this table for all network layer
                  protocols in conversation into both
        the protocol directory alMatrixSDTable and alMatrixDSTable shall be counted as
        two insertions (even though every addition into one table who's value must
        be accompanied by an insertion into the other).

        To allow for efficient implementation strategies, agents may
        delay updating this object for short periods of
                  protocolDirNlMatrixConfig is equal to supportedOn(3)."
              INDEX { hlMatrixControlIndex, nlMatrixSDTimeMark,
                      nlMatrixSDProtocolDirIndex,
                      nlMatrixSDSourceAddress, nlMatrixSDDestAddress }
              ::= { nlMatrixSDTable 1 } time.  For





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 49] 53]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          NlMatrixSDEntry ::= SEQUENCE {
              nlMatrixSDIndex               Integer32 (1..65535),
              nlMatrixSDTimeMark            TimeFilter,
              nlMatrixSDProtocolDirIndex    Integer32,
              nlMatrixSDSourceAddress       OCTET STRING,
              nlMatrixSDDestAddress         OCTET STRING,
              nlMatrixSDPkts                Counter32,
              nlMatrixSDOctets              Counter32    May 17, 1996


        example, an implementation strategy may allow internal
        data structures to differ from those visible via SNMP for
        short periods of time.  This counter may reflect the internal
        data structures for those short periods of time.

        Note that the table size can be determined by subtracting
        hlMatrixControlAlDeletes from hlMatrixControlAlInserts."
    ::= { hlMatrixControlEntry 8 }

          nlMatrixSDIndex

hlMatrixControlAlDeletes OBJECT-TYPE
    SYNTAX      Integer32 (1..65535)     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The set of collected matrix statistics number of which
                  this times an alMatrix entry has been
        deleted from the alMatrix tables.  If an entry is a part. deleted,
        then inserted, and then deleted, this counter will be
        incremented by 2.  The set deletion of matrix statistics
                  identified by a particular value of this index
                  is associated with conversation from both
        the same nlMatrixControlEntry alMatrixSDTable and alMatrixDSTable shall be counted as identified
        two deletions (even though every deletion from one table must
        be accompanied by a deletion from the same value of hlMatrixControlIndex."
              ::= { nlMatrixSDEntry 1 }

          nlMatrixSDTimeMark OBJECT-TYPE
              SYNTAX      TimeFilter
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A TimeFilter other).

        To allow for efficient implementation strategies, agents may
        delay updating this entry.  See the TimeFilter textual
                  convention object for short periods of time.  For
        example, an implementation strategy may allow internal
        data structures to see how this works." differ from those visible via SNMP for
        short periods of time.  This counter may reflect the internal
        data structures for those short periods of time.

        Note that the table size can be determined by subtracting
        hlMatrixControlAlDeletes from hlMatrixControlAlInserts."
    ::= { nlMatrixSDEntry 2 hlMatrixControlEntry 9 }

          nlMatrixSDProtocolDirIndex

hlMatrixControlAlMaxDesiredEntries OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647) (-1..2147483647)
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The protocolDirIndex maximum number of entries that are desired in the network layer protocol
        alMatrix tables on behalf of this entry's network address."
              ::= { nlMatrixSDEntry 3 }

          nlMatrixSDSourceAddress OBJECT-TYPE
              SYNTAX      OCTET STRING
              MAX-ACCESS  read-only
              STATUS control entry. The probe
        will not create more than this number of associated entries in
        the table, but may choose to create fewer entries in this
        table for any reason including the lack of resources.

        If this object is set to a value less than the current
              DESCRIPTION number





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 50] 54]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  "The type    May 17, 1996


        of entries, enough entries are chosen in an
        implementation-dependent manner and deleted so that the number
        of entries in the table equals the value of network source address for this nlMatrixSDEntry.

                   This object object.

        If this value is formatted as appropriate set to -1, the probe may create any number
        of entries in this table.  If the
                   protocolDirIndex associated with
        hlMatrixControlStatus object is equal to `active', this instance."
        object may not be modified.

        This object may be used to control how resources are allocated
        on the probe for the various RMON functions."
    ::= { nlMatrixSDEntry 4 hlMatrixControlEntry 10 }

          nlMatrixSDDestAddress

hlMatrixControlOwner OBJECT-TYPE
    SYNTAX      OCTET STRING      OwnerString
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The type of network destination address for entity that configured this nlMatrixSDEntry.

                   This object entry and is formatted as appropriate to
        therefore using the
                   protocolDirIndex associated with this instance." resources assigned to it."
    ::= { nlMatrixSDEntry 5 hlMatrixControlEntry 11 }

          nlMatrixSDPkts

hlMatrixControlStatus OBJECT-TYPE
    SYNTAX      Counter32      RowStatus
    MAX-ACCESS  read-only  read-create
    STATUS      current
    DESCRIPTION
        "The number status of packets transmitted from this hlMatrixControlEntry.

        An entry may not exist in the source
                  address active state unless all
        objects in the entry have an appropriate value.

        If this object is not equal to active(1), all
        associated entries in the destination address (this number
                  includes error packets)." nlMatrixSDTable,
        nlMatrixDSTable, alMatrixSDTable, and the alMatrixDSTable
        shall be deleted by the agent."
    ::= { nlMatrixSDEntry 6 hlMatrixControlEntry 12 }

          nlMatrixSDOctets

nlMatrixSDTable OBJECT-TYPE
    SYNTAX      Counter32      SEQUENCE OF NlMatrixSDEntry
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "The number
        "A list of octets (excluding framing bits but
                  including FCS octets) contained in all packets
                  transmitted from the source address to the
                  destination address."
              ::= { nlMatrixSDEntry 7 }

          -- Traffic traffic matrix tables from destination to source

          nlMatrixDSTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF NlMatrixDSEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION entries which collect statistics for
        conversations between two network-level addresses.  This table





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 51] 55]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  "A list of traffic matrix entries    May 17, 1996


        is indexed first by
                  destination and the source network-level address."
              ::= { nlMatrix 3 }

          nlMatrixDSEntry OBJECT-TYPE
              SYNTAX      NlMatrixDSEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A collection of statistics for communications between
                  two address on and then by the
        destination address to make it convenient to collect all
        conversations from a particular interface. address.

        The probe will populate this table for all network layer
        protocols in the protocol directory table who's whose value of
                  protocolDirNlMatrixConfig
        protocolDirMatrixConfig is set equal to supportedOn(3)."
              INDEX { hlMatrixControlIndex, nlMatrixDSTimeMark,
                      nlMatrixDSProtocolDirIndex,
                      nlMatrixDSDestAddress, nlMatrixDSSourceAddress }
              ::= { nlMatrixDSTable 1 }

          NlMatrixDSEntry ::= SEQUENCE {
              nlMatrixDSIndex               Integer32 (1..65535),
              nlMatrixDSTimeMark            TimeFilter,
              nlMatrixDSProtocolDirIndex    Integer32,
              nlMatrixDSSourceAddress       OCTET STRING,
              nlMatrixDSDestAddress         OCTET STRING,
              nlMatrixDSPkts                Counter32,
              nlMatrixDSOctets              Counter32
          }

          nlMatrixDSIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..65535)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The set of collected matrix statistics of which
                  this entry supportedOn(3), and
        will delete any entries whose protocolDirEntry is deleted or
        has a part.  The set of matrix statistics
                  identified by a particular protocolDirMatrixConfig value of supportedOff(2).

        The probe will add to this index
                  is associated table all pairs of addresses
        seen in all packets with no MAC errors, and will increment
        octet and packet counts in the table for all packets with no
        MAC errors.

        Further, this table will only contain entries that have a
        corresponding entry in the same nlMatrixControlEntry
                  as identified by nlMatrixDSTable with the same value of hlMatrixControlIndex."
        source address and destination address."
    ::= { nlMatrixDSEntry 1 nlMatrix 2 }

          nlMatrixDSTimeMark

nlMatrixSDEntry OBJECT-TYPE
    SYNTAX      TimeFilter      NlMatrixSDEntry
    MAX-ACCESS  not-accessible





          Steven Waldbusser    Expires Nov 22, 1995            [Page 52]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995
    STATUS      current
    DESCRIPTION
        "A TimeFilter for this entry.  See conceptual row in the TimeFilter textual
                  convention to see how nlMatrixSDTable.

        The hlMatrixControlIndex value in the index identifies the
        hlMatrixControlEntry on whose behalf this works." entry was created.
        The protocolDirLocalIndex value in the index identifies the
        network layer protocol of the nlMatrixSDSourceAddress and
        nlMatrixSDDestAddress.

        An example of the indexing of this table is
        nlMatrixSDPkts.1.783495.18.4.128.2.6.6.4.128.2.6.7"
    INDEX { hlMatrixControlIndex, nlMatrixSDTimeMark,
            protocolDirLocalIndex,
            nlMatrixSDSourceAddress, nlMatrixSDDestAddress }
    ::= { nlMatrixDSEntry 2 nlMatrixSDTable 1 }

NlMatrixSDEntry ::= SEQUENCE {
    nlMatrixSDTimeMark              TimeFilter,
    nlMatrixSDSourceAddress         OCTET STRING,
    nlMatrixSDDestAddress           OCTET STRING,
    nlMatrixSDPkts                  ZeroBasedCounter32,





Steven Waldbusser  Expires November 17, 1996         [Page 56]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    nlMatrixSDOctets                ZeroBasedCounter32,
    nlMatrixSDCreateTime            LastCreateTime
}

          nlMatrixDSProtocolDirIndex

nlMatrixSDTimeMark OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)      TimeFilter
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "The protocolDirIndex of
        "A TimeFilter for this entry.  See the network layer protocol of TimeFilter textual
        convention to see how this entry's network address." works."
    ::= { nlMatrixDSEntry 3 nlMatrixSDEntry 1 }

          nlMatrixDSSourceAddress

nlMatrixSDSourceAddress OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of network source address for this nlMatrixDSEntry. nlMatrixSDEntry.

        This object is formatted represented as appropriate to the
                   protocolDirIndex associated an octet string with
        specific semantics and length as identified
        by the protocolDirLocalIndex component of the index.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of ip, this instance." object is encoded as a length
        octet of 4, followed by the 4 octets of the ip address,
        in network byte order."
    ::= { nlMatrixDSEntry 4 nlMatrixSDEntry 2 }

          nlMatrixDSDestAddress

nlMatrixSDDestAddress OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only  not-accessible
    STATUS      current
    DESCRIPTION
        "The type of network destination address for this nlMatrixDSEntry.
        nlMatrixSDEntry.

        This object is formatted represented as appropriate to the
                   protocolDirIndex associated an octet string with
        specific semantics and length as identified
        by the protocolDirLocalIndex component of the index.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of ip, this instance."
              ::= { nlMatrixDSEntry 5 }

          nlMatrixDSPkts OBJECT-TYPE
              SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The number object is encoded as a length
        octet of packets transmitted from 4, followed by the source
                  address to 4 octets of the destination address (this number
                  includes error packets)." ip address,





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 53] 57]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


        in network byte order."
    ::= { nlMatrixDSEntry 6 nlMatrixSDEntry 3 }

          nlMatrixDSOctets

nlMatrixSDPkts OBJECT-TYPE
    SYNTAX      Counter32      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of octets (excluding framing bits
                  but including FCS octets) contained in all packets without errors transmitted from the
        source address to the destination address." address since this entry was
        added to the nlMatrixSDTable.  Note that this is the number of
        link-layer packets, so if a single network-layer packet is
        fragmented into several link-layer frames, this counter is
        incremented several times."
    ::= { nlMatrixDSEntry 7 nlMatrixSDEntry 4 }

          nlMatrixTopNControlTable

nlMatrixSDOctets OBJECT-TYPE
    SYNTAX      SEQUENCE OF NlMatrixTopNControlEntry      ZeroBasedCounter32
    MAX-ACCESS  not-accessible  read-only
    STATUS      current
    DESCRIPTION
                  "A list
        "The number of nlMatrix top N control entries." octets transmitted from the source address to
        the destination address since this entry was added to the
        nlMatrixSDTable (excluding framing bits but
        including FCS octets), excluding those octets in packets that
        contained errors.

        Note this doesn't count just those octets in the particular
        protocol frames, but includes the entire packet that contained
        the protocol."
    ::= { nlMatrix 4 nlMatrixSDEntry 5 }

          nlMatrixTopNControlEntry

nlMatrixSDCreateTime OBJECT-TYPE
    SYNTAX      NlMatrixTopNControlEntry     LastCreateTime
    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "A set of parameters that control the creation of a
                  report
        "The value of sysUpTime when this entry was last activated.
        This can be used by the top N matrix entries according management station to several
                  metrics.  For example, an instance of ensure that the
                  nlMatrixTopNDuration object might be named
                  nlMatrixTopNDuration.3"
              INDEX       { nlMatrixTopNControlIndex }
        entry has not been deleted and recreated between polls."
    ::= { nlMatrixTopNControlTable 1 nlMatrixSDEntry 6 }

          NlMatrixTopNControlEntry ::= SEQUENCE {
            nlMatrixTopNControlIndex    Integer32 (1..65535),
            nlMatrixTopNMatrixIndex     Integer32 (1..65535),
            nlMatrixTopNRateBase        INTEGER,
            nlMatrixTopNTimeRemaining   Integer32,
            nlMatrixTopNDuration        Integer32,
            nlMatrixTopNRequestedSize   Integer32,
            nlMatrixTopNGrantedSize     Integer32,
            nlMatrixTopNStartTime       TimeTicks,
            nlMatrixTopNOwner           OwnerString,
            nlMatrixTopNStatus          RowStatus


-- Traffic matrix tables from destination to source






Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 54] 58]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          }

          nlMatrixTopNControlIndex    May 17, 1996


nlMatrixDSTable OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)      SEQUENCE OF NlMatrixDSEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                "An index that uniquely identifies an entry
                in the nlMatrixTopNControl table.  Each such
                entry defines one top N report prepared for
                one interface."
            ::= { nlMatrixTopNControlEntry 1 }

          nlMatrixTopNMatrixIndex OBJECT-TYPE
            SYNTAX     Integer32 (1..65535)
            MAX-ACCESS read-create
            STATUS     current
            DESCRIPTION
                "The nlMatrix table for which a top N report will be
                prepared on behalf
        "A list of this entry.  The nlMatrix traffic matrix entries which collect statistics for
        conversations between two network-level addresses.  This table
                identified
        is indexed first by the destination address and then by the
        source address to make it convenient to collect all
        conversations to a particular value of address.

        The probe will populate this index is
                associated with the same nlMatrix table as identified by for all network layer
        protocols in the same protocol directory table whose value of nlMatrixIndex.

                This object may not be modified if the associated
                nlMatrixTopNStatus object
        protocolDirMatrixConfig is equal to valid(1)."
            ::= { nlMatrixTopNControlEntry 2 }

          nlMatrixTopNRateBase OBJECT-TYPE
            SYNTAX      INTEGER {
                              nlMatrixTopNSourceToDestPkts(1),
                              nlMatrixTopNDestToSourcePkts(2),
                              nlMatrixTopNSourceToDestOctets(3),
                              nlMatrixTopNDestToSourceOctets(4)
            }
            MAX-ACCESS read-create
            STATUS     current
            DESCRIPTION
                "The variable for each nlMatrix entry that the nlMatrixTopNRate
                variable supportedOn(3), and
        will delete any entries whose protocolDirEntry is based upon, as well as the selector deleted or
        has a protocolDirMatrixConfig value of supportedOff(2).

        The probe will add to this table all pairs of addresses
        seen in all packets with no MAC errors, and will increment
        octet and packet counts in the matrix table that for all packets with no
        MAC errors.

        Further, this table will be used.

                This object may not be modified if only contain entries that have a
        corresponding entry in the associated
                nlMatrixTopNStatus object is equal to valid(1)." nlMatrixSDTable with the same
        source address and destination address."
    ::= { nlMatrixTopNControlEntry nlMatrix 3 }





          Steven Waldbusser    Expires Nov 22, 1995            [Page 55]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


          nlMatrixTopNTimeRemaining

nlMatrixDSEntry OBJECT-TYPE
    SYNTAX     Integer32      NlMatrixDSEntry
    MAX-ACCESS read-create  not-accessible
    STATUS      current
    DESCRIPTION
                "The number of seconds left
        "A conceptual row in the report currently
                being collected.  When this object is modified by
                the management station, a new collection is started,
                possibly aborting a currently running report. nlMatrixDSTable.

        The
                new value is used as the requested duration of this
                report, and is loaded into the associated
                nlMatrixTopNDuration object when the report is finished.
                When the report finishes, the probe will automatically
                start another collection with the same initial hlMatrixControlIndex value
                of nlMatrixTopNTimeRemaining.

                While in the value of this object is non-zero, it decrements
                by one per second until it reaches zero.  At index identifies the time
                that
        hlMatrixControlEntry on whose behalf this object decrements to zero, the report is made
                accessible entry was created.
        The protocolDirLocalIndex value in the nlMatrixTopNTable, overwriting any report
                that may be there.

                (Note that this is a different algorithm than in index identifies the hostTopNTable)."
            DEFVAL { 0 }
            ::= { nlMatrixTopNControlEntry 4 }

          nlMatrixTopNDuration OBJECT-TYPE
            SYNTAX     Integer32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "The number
        network layer protocol of seconds that this report has collected
                during the last sampling interval.

                When the associated nlMatrixTopNTimeRemaining object is
                set, this object shall be set by the probe to the
                same value nlMatrixDSSourceAddress and shall not be modified until the next
                time
        nlMatrixDSDestAddress.

        An example of the nlMatrixTopNTimeRemaining is set.

                This value shall be zero if no reports have been
                requested for indexing of this nlMatrixTopNControlEntry."
            DEFVAL { 0 }
            ::= table is
        nlMatrixDSPkts.1.783495.18.4.128.2.6.7.4.128.2.6.6"
    INDEX { nlMatrixTopNControlEntry 5 hlMatrixControlIndex, nlMatrixDSTimeMark,
            protocolDirLocalIndex,
            nlMatrixDSDestAddress, nlMatrixDSSourceAddress }





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 56] 59]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          nlMatrixTopNRequestedSize    May 17, 1996


    ::= { nlMatrixDSTable 1 }

NlMatrixDSEntry ::= SEQUENCE {
    nlMatrixDSTimeMark                 TimeFilter,
    nlMatrixDSSourceAddress            OCTET STRING,
    nlMatrixDSDestAddress              OCTET STRING,
    nlMatrixDSPkts                     ZeroBasedCounter32,
    nlMatrixDSOctets                   ZeroBasedCounter32,
    nlMatrixDSCreateTime               LastCreateTime
}

nlMatrixDSTimeMark OBJECT-TYPE
    SYNTAX     Integer32      TimeFilter
    MAX-ACCESS read-create  not-accessible
    STATUS      current
    DESCRIPTION
                "The maximum number of matrix entries requested
        "A TimeFilter for the top N
                table.

                When this object is created or modified, entry.  See the probe
                should set nlMatrixTopNGrantedSize as closely TimeFilter textual
        convention to see how this
                object as is possible for the particular probe
                implementation and available resources."
            DEFVAL { 10 } works."
    ::= { nlMatrixTopNControlEntry 6 nlMatrixDSEntry 1 }

          nlMatrixTopNGrantedSize

nlMatrixDSSourceAddress OBJECT-TYPE
    SYNTAX     Integer32      OCTET STRING
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
        "The maximum number of matrix entries in network source address for this nlMatrixDSEntry.

        This is represented as an octet string with
        specific semantics and length as identified
        by the top N table.

                When protocolDirLocalIndex component of the associated nlMatrixTopNRequestedSize object is
                created or modified, index.

        For example, if the probe should set protocolDirLocalIndex indicates an
        encapsulation of ip, this object as closely to the requested value as is
                possible for the particular implementation and
                available resources. The probe must not lower this
                value except encoded as a result length
        octet of a set to the associated
                nlMatrixTopNRequestedSize object.
                When the next topN report is generated, matrix entries
                with 4, followed by the highest value 4 octets of nlMatrixTopNRate shall
                be placed in this table the ip address,
        in decreasing order of this rate
                until there is no more room or until there are no more
                matrix entries." network byte order."
    ::= { nlMatrixTopNControlEntry 7 nlMatrixDSEntry 2 }

          nlMatrixTopNStartTime

nlMatrixDSDestAddress OBJECT-TYPE
    SYNTAX     TimeTicks      OCTET STRING
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
        "The value of sysUpTime when this top N report was
                last started.  In other words, network destination address for this is the time that
                the associated nlMatrixTopNTimeRemaining object was
                modified to start the requested report or the time
        nlMatrixDSEntry.






Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 57] 60]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                the report was last automatically (re)started."
            ::= { nlMatrixTopNControlEntry 8 }

          nlMatrixTopNOwner OBJECT-TYPE
            SYNTAX     OwnerString
            MAX-ACCESS read-create
            STATUS     current
            DESCRIPTION
                "The entity that configured this entry and    May 17, 1996


        This is
                therefore using the resources assigned to it."
            ::= represented as an octet string with
        specific semantics and length as identified
        by the protocolDirLocalIndex component of the index.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of ip, this object is encoded as a length
        octet of 4, followed by the 4 octets of the ip address,
        in network byte order."
    ::= { nlMatrixTopNControlEntry 9 nlMatrixDSEntry 3 }

          nlMatrixTopNStatus

nlMatrixDSPkts OBJECT-TYPE
    SYNTAX     RowStatus      ZeroBasedCounter32
    MAX-ACCESS read-create  read-only
    STATUS      current
    DESCRIPTION
        "The status number of packets without errors transmitted from the
        source address to the destination address since this nlMatrixTopNControl entry.

                If entry was
        added to the nlMatrixDSTable.  Note that this object is not equal to valid(1), all
                associated nlMatrixTopNEntries shall be deleted by the
                agent." number of
        link-layer packets, so if a single network-layer packet is
        fragmented into several link-layer frames, this counter is
        incremented several times."
    ::= { nlMatrixTopNControlEntry 10 nlMatrixDSEntry 4 }

          nlMatrixTopNTable

nlMatrixDSOctets OBJECT-TYPE
    SYNTAX     SEQUENCE OF NlMatrixTopNEntry      ZeroBasedCounter32
    MAX-ACCESS not-accessible  read-only
    STATUS      current
    DESCRIPTION
                "A list
        "The number of top N nlMatrix entries." octets transmitted from the source address
        to the destination address since this entry was added to the
        nlMatrixDSTable (excluding framing bits but
        including FCS octets), excluding those octets in packets that
        contained errors.

        Note this doesn't count just those octets in the particular
        protocol frames, but includes the entire packet that contained
        the protocol."
    ::= { nlMatrix nlMatrixDSEntry 5 }

          nlMatrixTopNEntry

nlMatrixDSCreateTime OBJECT-TYPE
    SYNTAX     NlMatrixTopNEntry     LastCreateTime
    MAX-ACCESS not-accessible read-only
    STATUS     current
    DESCRIPTION
                "A set of statistics for a matrix entry that is part of a
                top N report.  For example, an instance of the
                nlMatrixTopNRate object might be named
                nlMatrixTopNRate.3.10

                The
        "The value of nlMatrixTopNControlIndex in the index is
                that of the associated nlMatrix on who's behalf sysUpTime when this study entry was prepared." last activated.





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 58] 61]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


            INDEX { nlMatrixTopNControlIndex, nlMatrixTopNIndex }
            ::= { nlMatrixTopNTable 1 }

          NlMatrixTopNEntry ::= SEQUENCE {
            nlMatrixTopNIndex                 Integer32 (1..65535),
            nlMatrixTopNProtocolDirIndex      OBJECT IDENTIFIER,
            nlMatrixTopNSourceAddress         OCTET STRING,
            nlMatrixTopNDestinationAddress    OCTET STRING,
            nlMatrixTopNRate                  Integer32
          }

          nlMatrixTopNIndex OBJECT-TYPE
            SYNTAX     Integer32 (1..65535)
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "An index that uniquely identifies an entry in
                the nlMatrixTopN table among those in the same report.    May 17, 1996


        This index is between 1 and N, where N is the
                number of entries in this table.  Increasing values
                of nlMatrixTopNIndex shall can be assigned to entries with
                decreasing values of nlMatrixTopNRate until index N
                is assigned used by the management station to ensure that the
        entry with the lowest value of
                nlMatrixTopNRate or there are no more nlMatrixTopNEntries." has not been deleted and recreated between polls."
    ::= { nlMatrixTopNEntry 1 nlMatrixDSEntry 6 }

          nlMatrixTopNProtocolDirIndex

nlMatrixTopNControlTable OBJECT-TYPE
    SYNTAX     OBJECT IDENTIFIER      SEQUENCE OF NlMatrixTopNControlEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                "The network layer type
        "A set of this parameters that control the creation of a
        report of the top N matrix entry." entries according to
        a selected metric."
    ::= { nlMatrixTopNEntry 2 nlMatrix 4 }

          nlMatrixTopNSourceAddress

nlMatrixTopNControlEntry OBJECT-TYPE
    SYNTAX     OCTET STRING      NlMatrixTopNControlEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                "The network layer source address
        "A conceptual row in the nlMatrixTopNControlTable.

        An example of the indexing of this matrix entry." table is
        nlMatrixTopNControlDuration.3"
    INDEX { nlMatrixTopNControlIndex }
    ::= { nlMatrixTopNEntry 3 nlMatrixTopNControlTable 1 }

NlMatrixTopNControlEntry ::= SEQUENCE {
    nlMatrixTopNControlIndex            Integer32,
    nlMatrixTopNControlMatrixIndex      Integer32,
    nlMatrixTopNControlRateBase         INTEGER,
    nlMatrixTopNControlTimeRemaining    Integer32,
    nlMatrixTopNControlGeneratedReports Counter32,
    nlMatrixTopNControlDuration         Integer32,
    nlMatrixTopNControlRequestedSize    Integer32,
    nlMatrixTopNControlGrantedSize      Integer32,
    nlMatrixTopNControlStartTime        TimeStamp,
    nlMatrixTopNControlOwner            OwnerString,
    nlMatrixTopNControlStatus           RowStatus
}

          nlMatrixTopNDestinationAddress

nlMatrixTopNControlIndex OBJECT-TYPE
    SYNTAX     OCTET STRING     Integer32 (1..65535)
    MAX-ACCESS read-only not-accessible
    STATUS     current
    DESCRIPTION





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 59] 62]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


            STATUS     current
            DESCRIPTION
                "The network layer destination address of this matrix entry."    May 17, 1996


        "An index that uniquely identifies an entry
        in the nlMatrixTopNControlTable.  Each such
        entry defines one top N report prepared for
        one interface."
    ::= { nlMatrixTopNEntry 4 nlMatrixTopNControlEntry 1 }

          nlMatrixTopNRate

nlMatrixTopNControlMatrixIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS read-only read-create
    STATUS     current
    DESCRIPTION
        "The amount nlMatrix[SD/DS] table for which a top N report will be
        prepared on behalf of change in the selected variable
                during this sampling interval. entry.  The selected
                variable nlMatrix[SD/DS] table
        is this nlMatrix entry's instance identified by the value of the hlMatrixControlIndex
        for that table - that value is used here to identify the
        particular table.

        This object
                selected by nlMatrixTopNRateBase." may not be modified if the associated
        nlMatrixTopNControlStatus object is equal to active(1)."
    ::= { nlMatrixTopNEntry 5 nlMatrixTopNControlEntry 2 }



































          Steven Waldbusser    Expires Nov 22, 1995            [Page 60]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


          -- The application analysis group
          --
          alHostTable

nlMatrixTopNControlRateBase OBJECT-TYPE
    SYNTAX      SEQUENCE OF AlHostEntry      INTEGER {
                    nlMatrixTopNPkts(1),
                    nlMatrixTopNOctets(2)
                }
    MAX-ACCESS  not-accessible read-create
    STATUS     current
    DESCRIPTION
                  "A list of alHost entries.  Each such entry defines statistics
        "The variable for packets from and each nlMatrix[SD/DS] entry that the
        nlMatrixTopNEntries are sorted by.

        This object may not be modified if the associated
        nlMatrixTopNControlStatus object is equal to a particular network address." active(1)."
    ::= { alHost 1 nlMatrixTopNControlEntry 3 }

          alHostEntry

nlMatrixTopNControlTimeRemaining OBJECT-TYPE
    SYNTAX      AlHostEntry     Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible read-create
    STATUS     current
    DESCRIPTION
                  "A collection of statistics for a particular host
                  that has been discovered on an interface
        "The number of this
                  device.

                  The probe will populate this table for all network layer
                  protocols seconds left in the protocol directory table who's value of
                  protocolDirAlHostConfig is equal to supportedOn(3).

                  The probe will add to report currently
        being collected.  When this table all hosts who's address it
                  sees as object is modified by
        the source or destination address in all good MAC
                  packets."
              INDEX { hlHostControlIndex, alHostTimeMark,
                      alHostProtocolDirIndex, nlHostAddress,
                      alHostAppProtocolDirIndex }
              ::= { alHostTable 1 }

          AlHostEntry ::= SEQUENCE {
              alHostTimeMark              TimeFilter,
              alHostProtocolDirIndex      Integer32,
              alHostAppProtocolDirIndex   Integer32,
              alHostInPkts                Counter32,
              alHostOutPkts               Counter32,
              alHostInOctets              Counter32,
              alHostOutOctets             Counter32
          }

          alHostTimeMark OBJECT-TYPE
              SYNTAX      TimeFilter
              MAX-ACCESS  not-accessible management station, a new collection is started,
        possibly aborting a currently running report.  The





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 61] 63]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              STATUS      current
              DESCRIPTION
                  "A TimeFilter for this entry.  See the TimeFilter textual
                  convention to see how this works."
              ::= { alHostEntry 1 }

          alHostProtocolDirIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..2147483647)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The protocolDirIndex of    May 17, 1996


        new value is used as the network layer protocol of
                  this entry's network address."
              ::= { alHostEntry 2 }

          alHostAppProtocolDirIndex OBJECT-TYPE
              SYNTAX      Integer32 (1..2147483647)
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The protocolDirIndex requested duration of the protocol this entry
        report, and is counting."
              ::= { alHostEntry 3 }

          alHostInPkts OBJECT-TYPE
              SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The number immediately loaded into the associated
        nlMatrixTopNControlDuration object.
        When the report finishes, the probe will automatically
        start another collection with the same initial value
        of packets without errors transmitted nlMatrixTopNControlTimeRemaining.  Thus the management
        station may simply read the resulting reports repeatedly,
        checking the startTime and duration each time to
                  this address ensure that a
        report was not missed or that the report parameters were not
        changed.

        While the value of this application type since object is non-zero, it was added decrements
        by one per second until it reaches zero.  At the time
        that this object decrements to zero, the report is made
        accessible in the nlMatrixTopNTable, overwriting any report
        that may be there.

        When this object is modified by the management station, any
        associated entries in the nlMatrixTopNTable shall be deleted.

        (Note that this is a different algorithm than the one used in
        the alHostTable." hostTopNTable)."
    DEFVAL { 1800 }
    ::= { alHostEntry nlMatrixTopNControlEntry 4 }

          alHostOutPkts

nlMatrixTopNControlGeneratedReports OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of packets including errors transmitted reports that have been generated by this address of this application type since it was added
                  to the alHostTable." entry."
    ::= { alHostEntry nlMatrixTopNControlEntry 5 }

          alHostInOctets

nlMatrixTopNControlDuration OBJECT-TYPE
    SYNTAX      Counter32





          Steven Waldbusser    Expires Nov 22, 1995            [Page 62]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets transmitted to this address
                  of seconds that this application type since it was added report has collected
        during the last sampling interval.

        When the associated nlMatrixTopNControlTimeRemaining object is
        set, this object shall be set by the probe to the
                  alHostTable (excluding framing bits but including
                  FCS octets), except
        same value and shall not be modified until the next
        time the nlMatrixTopNControlTimeRemaining is set.





Steven Waldbusser  Expires November 17, 1996         [Page 64]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        This value shall be zero if no reports have been
        requested for those octets in packets that
                  contained errors." this nlMatrixTopNControlEntry."
    ::= { alHostEntry nlMatrixTopNControlEntry 6 }

          alHostOutOctets

nlMatrixTopNControlRequestedSize OBJECT-TYPE
    SYNTAX      Counter32     Integer32 (0..2147483647)
    MAX-ACCESS  read-only read-create
    STATUS     current
    DESCRIPTION
        "The maximum number of octets transmitted by matrix entries requested for this address
                  of report.

        When this application type since it was added object is created or modified, the probe
        should set nlMatrixTopNControlGrantedSize as closely to this
        object as is possible for the
                  alHostTable (excluding framing bits but including
                  FCS octets), including those octets in packets that
                  contained errors." particular probe
        implementation and available resources."
    DEFVAL { 150 }
    ::= { alHostEntry nlMatrixTopNControlEntry 7 }

          -- The applications level matrix group

          alMatrixSDTable

nlMatrixTopNControlGrantedSize OBJECT-TYPE
    SYNTAX      SEQUENCE OF AlMatrixSDEntry     Integer32 (0..2147483647)
    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "A list
        "The maximum number of traffic matrix entries indexed by
                  source and destination network-level address and an
                  application protocol spoken between those addresses."
              ::= { alMatrix 1 }

          alMatrixSDEntry OBJECT-TYPE
              SYNTAX      AlMatrixSDEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A collection of statistics in this report.

        When the associated nlMatrixTopNControlRequestedSize object is
        created or modified, the probe should set this
        object as closely to the requested value as is
        possible for communications between
                  two addresses on a the particular interface. implementation and
        available resources. The probe will populate must not lower this table for all network layer
                  protocols in the protocol directory table who's
        value except as a result of
                  protocolDirAlMatrixConfig is a set to the associated
        nlMatrixTopNControlRequestedSize object.

        If the value of nlMatrixTopNControlRateBase is equal to
        nlMatrixTopNPkts, when the next topN report is generated,
        matrix entries with the highest value of nlMatrixTopNPktRate
        shall be placed in this table in decreasing order of this rate
        until there is no more room or until there are no more
        matrix entries.

        If the value of nlMatrixTopNControlRateBase is equal to supportedOn(3)."
        nlMatrixTopNOctets, when the next topN report is generated,
        matrix entries with the highest value of nlMatrixTopNOctetRate
        shall be placed in this table in decreasing order of this rate
        until there is no more room or until there are no more





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 63] 65]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              INDEX { hlMatrixControlIndex, alMatrixSDTimeMark,
                      alMatrixSDProtocolDirIndex,
                      nlMatrixSDSourceAddress, nlMatrixSDDestAddress,
                      alMatrixSDAppProtocolDirIndex }
              ::= { alMatrixSDTable 1 }

          AlMatrixSDEntry    May 17, 1996


        matrix entries.

        It is an implementation-specific matter how entries with the
        same value of nlMatrixTopNPktRate or nlMatrixTopNOctetRate are
        sorted.  It is also an implementation-specific matter as to
        whether or not zero-valued entries are available."
    ::= SEQUENCE {
              alMatrixSDTimeMark            TimeFilter,
              alMatrixSDProtocolDirIndex    Integer32,
              alMatrixSDAppProtocolDirIndex Integer32,
              alMatrixSDPkts                Counter32,
              alMatrixSDOctets              Counter32 nlMatrixTopNControlEntry 8 }

          alMatrixSDTimeMark

nlMatrixTopNControlStartTime OBJECT-TYPE
    SYNTAX      TimeFilter     TimeStamp
    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "A TimeFilter for
        "The value of sysUpTime when this entry.  See top N report was
        last started.  In other words, this is the TimeFilter textual
                  convention time that
        the associated nlMatrixTopNControlTimeRemaining object was
        modified to see how this works." start the requested report or the time
        the report was last automatically (re)started.

        This object may be used by the management station to
        determine if a report was missed or not."
    ::= { alMatrixSDEntry 1 nlMatrixTopNControlEntry 9 }

          alMatrixSDProtocolDirIndex

nlMatrixTopNControlOwner OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)     OwnerString
    MAX-ACCESS  read-only read-create
    STATUS     current
    DESCRIPTION
        "The protocolDirIndex of the network layer protocol of entity that configured this entry's network address." entry and is
        therefore using the resources assigned to it."
    ::= { alMatrixSDEntry 2 nlMatrixTopNControlEntry 10 }

          alMatrixSDAppProtocolDirIndex

nlMatrixTopNControlStatus OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)     RowStatus
    MAX-ACCESS  read-only read-create
    STATUS     current
    DESCRIPTION
        "The protocolDirIndex status of the protocol this nlMatrixTopNControlEntry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value.

        If this object is counting."
              ::= { alMatrixSDEntry 3 }

          alMatrixSDPkts OBJECT-TYPE
              SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION not equal to active(1), all
        associated entries in the nlMatrixTopNTable shall be deleted
        by the agent."





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 64] 66]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  "The number of packets transmitted from the source
                  address to the destination address (this number
                  includes error packets)."
              ::= { alMatrixSDEntry 4 }

          alMatrixSDOctets OBJECT-TYPE
              SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The number of octets (excluding framing bits but
                  including FCS octets) contained in all packets
                  transmitted from the source address to the
                  destination address."    May 17, 1996


    ::= { alMatrixSDEntry 5 nlMatrixTopNControlEntry 11 }

          -- Traffic matrix tables from destination to source

          alMatrixDSTable

nlMatrixTopNTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF AlMatrixDSEntry NlMatrixTopNEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list set of traffic statistics for those network layer matrix entries indexed by
                  destination and source network-level address."
        that have counted the highest number of octets or packets."
    ::= { alMatrix 2 nlMatrix 5 }

          alMatrixDSEntry

nlMatrixTopNEntry OBJECT-TYPE
    SYNTAX      AlMatrixDSEntry     NlMatrixTopNEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A collection of statistics for communications between
                  two address on a particular interface.

                  The probe will populate this table for all network layer
                  protocols conceptual row in the protocol directory table who's nlMatrixTopNTable.

        The nlMatrixTopNControlIndex value in the index identifies the
        nlMatrixTopNControlEntry on whose behalf this entry was
        created.

        An example of
                  protocolDirAlMatrixConfig the indexing of this table is set to supportedOn(3)."
        nlMatrixTopNPktRate.3.10"
    INDEX { nlMatrixDSIndex, alMatrixDSTimeMark, protocolDirIndex,
                      nlMatrixDSDestAddress, nlMatrixDSSourceAddress nlMatrixTopNControlIndex, nlMatrixTopNIndex }
    ::= { alMatrixDSTable nlMatrixTopNTable 1 }

          AlMatrixDSEntry

NlMatrixTopNEntry ::= SEQUENCE {
              alMatrixDSTimeMark            TimeFilter,
              alMatrixDSProtocolDirIndex
    nlMatrixTopNIndex                 Integer32,





          Steven Waldbusser    Expires Nov 22, 1995            [Page 65]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


              alMatrixDSAppProtocolDirIndex
    nlMatrixTopNProtocolDirLocalIndex Integer32,
              alMatrixDSPkts                Counter32,
              alMatrixDSOctets              Counter32
    nlMatrixTopNSourceAddress         OCTET STRING,
    nlMatrixTopNDestAddress           OCTET STRING,
    nlMatrixTopNPktRate               Integer32,
    nlMatrixTopNReversePktRate        Integer32,
    nlMatrixTopNOctetRate             Integer32,
    nlMatrixTopNReverseOctetRate      Integer32
}

          alMatrixDSTimeMark

nlMatrixTopNIndex OBJECT-TYPE
    SYNTAX      TimeFilter     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
                  "A TimeFilter for this entry.  See
        "An index that uniquely identifies an entry in
        the TimeFilter textual
                  convention to see how nlMatrixTopNTable among those in the same report.





Steven Waldbusser  Expires November 17, 1996         [Page 67]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        This index is between 1 and N, where N is the
        number of entries in this works." report.

        If the value of nlMatrixTopNControlRateBase is equal to
        nlMatrixTopNPkts, increasing values of nlMatrixTopNIndex shall
        be assigned to entries with decreasing values of
        nlMatrixTopNPktRate until index N is assigned or there are no
        more nlMatrixTopNEntries.

        If the value of nlMatrixTopNControlRateBase is equal to
        nlMatrixTopNOctets, increasing values of nlMatrixTopNIndex
        shall be assigned to entries with decreasing values of
        nlMatrixTopNOctetRate until index N is assigned or there are
        no more nlMatrixTopNEntries."
    ::= { alMatrixDSEntry nlMatrixTopNEntry 1 }

          alMatrixDSProtocolDirIndex

nlMatrixTopNProtocolDirLocalIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The protocolDirIndex protocolDirLocalIndex of the network layer protocol of
        this entry's network address."
    ::= { alMatrixDSEntry nlMatrixTopNEntry 2 }

          alMatrixDSAppProtocolDirIndex

nlMatrixTopNSourceAddress OBJECT-TYPE
    SYNTAX      Integer32 (1..2147483647)     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The protocolDirIndex network layer address of the protocol source host in this entry
        conversation.

        This is counting."
              ::= { alMatrixDSEntry 3 }

          alMatrixDSPkts OBJECT-TYPE
              SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current
              DESCRIPTION
                  "The number represented as an octet string with
        specific semantics and length as identified
        by the associated nlMatrixTopNProtocolDirLocalIndex.

        For example, if the protocolDirLocalIndex indicates an
        encapsulation of packets transmitted from ip, this object is encoded as a length
        octet of 4, followed by the source
                  address to 4 octets of the destination address (this number
                  includes error packets)." ip address,
        in network byte order."
    ::= { alMatrixDSEntry 4 nlMatrixTopNEntry 3 }

          alMatrixDSOctets

nlMatrixTopNDestAddress OBJECT-TYPE
    SYNTAX      Counter32
              MAX-ACCESS  read-only
              STATUS      current     OCTET STRING





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 66] 68]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets (excluding framing bits
                  but including FCS octets) contained in all packets
                  transmitted from the source network layer address to of the destination address."
              ::= { alMatrixDSEntry 5 }

          alMatrixTopNControlTable OBJECT-TYPE
              SYNTAX      SEQUENCE OF AlMatrixTopNControlEntry
              MAX-ACCESS  not-accessible
              STATUS      current
              DESCRIPTION
                  "A list host in this
        conversation.

        This is represented as an octet string with
        specific semantics and length as identified
        by the associated nlMatrixTopNProtocolDirLocalIndex.

        For example, if the nlMatrixTopNProtocolDirLocalIndex
        indicates an encapsulation of alMatrix top N control entries." ip, this object is encoded as a
        length octet of 4, followed by the 4 octets of the ip address,
        in network byte order."
    ::= { alMatrix nlMatrixTopNEntry 4 }

          alMatrixTopNControlEntry

nlMatrixTopNPktRate OBJECT-TYPE
    SYNTAX      AlMatrixTopNControlEntry     Integer32
    MAX-ACCESS  not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "A set of parameters that control the creation of a
                  report
        "The number of packets seen from the top N matrix entries according source host
        to several
                  metrics.  For example, an instance of the
                  alMatrixTopNDuration object might destination host during this sampling interval, counted
        using the rules for counting the nlMatrixSDPkts object.
        If the value of nlMatrixTopNControlRateBase is
        nlMatrixTopNPkts, this variable will be named
                  alMatrixTopNDuration.3"
              INDEX       { alMatrixTopNControlIndex }
              ::= { alMatrixTopNControlTable 1 }

          AlMatrixTopNControlEntry used to sort this
        report."
    ::= SEQUENCE {
            alMatrixTopNControlIndex    Integer32 (1..65535),
            alMatrixTopNMatrixIndex     Integer32 (1..65535),
            alMatrixTopNRateBase        INTEGER,
            alMatrixTopNTimeRemaining   Integer32,
            alMatrixTopNDuration        Integer32,
            alMatrixTopNRequestedSize   Integer32,
            alMatrixTopNGrantedSize     Integer32,
            alMatrixTopNStartTime       TimeTicks,
            alMatrixTopNOwner           OwnerString,
            alMatrixTopNStatus          RowStatus nlMatrixTopNEntry 5 }

          alMatrixTopNControlIndex

nlMatrixTopNReversePktRate OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of packets seen from the destination host to the
        source host during this sampling interval, counted
        using the rules for counting the nlMatrixSDPkts object (note
        that the corresponding nlMatrixSDPkts object selected is the
        one whose source address is equal to nlMatrixTopNDestAddress
        and whose destination address is equal to
        nlMatrixTopNSourceAddress.)

        Note that if the value of nlMatrixTopNControlRateBase is equal
        to nlMatrixTopNPkts, the sort of topN entries is based
        entirely on nlMatrixTopNPktRate, and not on the value of this





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 67] 69]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


            DESCRIPTION
                "An index that uniquely identifies an entry
                in the alMatrixTopNControl table.  Each such
                entry defines one top N report prepared for
                one interface."    May 17, 1996


        object."
    ::= { alMatrixTopNControlEntry 1 nlMatrixTopNEntry 6 }

          alMatrixTopNMatrixIndex

nlMatrixTopNOctetRate OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS read-create read-only
    STATUS     current
    DESCRIPTION
        "The alMatrix table for which a top N report will be
                prepared on behalf of this entry.  The alMatrix table
                identified by a particular value number of octets seen from the source host
        to the destination host during this index is
                associated with sampling interval, counted
        using the same alMatrix table as identified by rules for counting the nlMatrixSDOctets object.  If
        the same value of alMatrixIndex.

                This object may not be modified if the associated
                alMatrixTopNStatus object nlMatrixTopNControlRateBase is equal
        nlMatrixTopNOctets, this variable will be used to valid(1)." sort this
        report."
    ::= { alMatrixTopNControlEntry 2 nlMatrixTopNEntry 7 }

          alMatrixTopNRateBase

nlMatrixTopNReverseOctetRate OBJECT-TYPE
    SYNTAX     INTEGER {
                          alMatrixTopNSourceToDestPkts(1),
                          alMatrixTopNDestToSourcePkts(2),
                          alMatrixTopNSourceToDestOctets(3),
                          alMatrixTopNDestToSourceOctets(4)
            }     Integer32
    MAX-ACCESS read-create read-only
    STATUS     current
    DESCRIPTION
        "The variable number of octets seen from the destination host to the
        source host during this sampling interval, counted
        using the rules for each alMatrix entry counting the nlMatrixDSOctets object (note
        that the alMatrixTopNRate
                variable corresponding nlMatrixSDOctets object selected is based upon, as well as the selector of the matrix
                table
        one whose source address is equal to nlMatrixTopNDestAddress
        and whose destination address is equal to
        nlMatrixTopNSourceAddress.)

        Note that will be used.

                This object may not be modified if the associated
                alMatrixTopNStatus object value of nlMatrixTopNControlRateBase is equal
        to valid(1)." nlMatrixTopNOctets, the sort of topN entries is based
        entirely on nlMatrixTopNOctetRate, and not on the value of
        this object."
    ::= { alMatrixTopNControlEntry 3 nlMatrixTopNEntry 8 }

          alMatrixTopNTimeRemaining OBJECT-TYPE
            SYNTAX     Integer32
            MAX-ACCESS read-create
            STATUS     current
            DESCRIPTION
















Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 68] 70]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                "The number of seconds left in the report currently
                being collected.  When this object is modified by
                the management station, a new collection is started,
                possibly aborting a currently running report.    May 17, 1996


-- Application Layer Functions
--
-- The
                new value is used as the requested duration of this
                report, application layer host, matrix, and is loaded into the associated
                alMatrixTopNDuration object when the report is finished.
                When the matrixTopN functions report finishes,
-- on protocol usage at the probe will automatically
                start another collection with network layer or higher.  Note that the same initial value
-- use of alMatrixTopNTimeRemaining.

                While the value of this object is non-zero, it decrements
                by one per second until term application layer does not imply that only
-- application-layer protocols are counted, rather it reaches zero.  At the time means that this object decrements
-- protocols up to zero, and including the report is made
                accessible in application layer are supported.

--
-- Application Layer Host Group
--
-- Counts the alMatrixTopNTable, overwriting any report
                that may be there.

                (Note that amount of traffic, by protocol, sent from and to each
-- network address discovered by the probe.
-- Implementation of this is a different algorithm than in group requires implementation of the hostTopNTable)."
            DEFVAL { 0 }
            ::= { alMatrixTopNControlEntry 4 }

          alMatrixTopNDuration Network
-- Layer Host Group.

alHostTable OBJECT-TYPE
    SYNTAX     Integer32      SEQUENCE OF AlHostEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                "The number
        "A collection of seconds statistics for a particular protocol from a
        particular network address that this report has collected
                during the last sampling interval.

                When the associated alMatrixTopNTimeRemaining object is
                set, been discovered on an
        interface of this object shall be set by the device.

        The probe to will populate this table for all protocols in the
                same
        protocol directory table whose value of
        protocolDirHostConfig is equal to supportedOn(3), and shall not be modified until the next
                time the alMatrixTopNTimeRemaining
        will delete any entries whose protocolDirEntry is set.

                This deleted or
        has a protocolDirHostConfig value shall be zero if of supportedOff(2).

        The probe will add to this table all addresses
        seen as the source or destination address in all packets with
        no reports have been
                requested MAC errors, and will increment octet and packet counts in
        the table for all packets with no MAC errors.  Further,
        entries will only be added to this alMatrixTopNControlEntry."
            DEFVAL { 0 }
            ::= { alMatrixTopNControlEntry 5 table if their address
        exists in the nlHostTable and will be deleted from this table
        if their address is deleted from the nlHostTable."
    ::= { alHost 1 }

          alMatrixTopNRequestedSize

alHostEntry OBJECT-TYPE
    SYNTAX     Integer32      AlHostEntry
    MAX-ACCESS read-create  not-accessible
    STATUS      current
    DESCRIPTION





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 69] 71]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                "The maximum number    May 17, 1996


        "A conceptual row in the alHostTable.

        The hlHostControlIndex value in the index identifies the
        hlHostControlEntry on whose behalf this entry was created.
        The first protocolDirLocalIndex value in the index identifies
        the network layer protocol of matrix entries requested for the top N
                table.

                When address.
        The nlHostAddress value in the index identifies the network
        layer address of this object entry.
        The second protocolDirLocalIndex value in the index identifies
        the protocol that is created or modified, counted by this entry.

        An example of the probe
                should set alMatrixTopNGrantedSize as closely to indexing in this
                object as entry is possible for the particular probe
                implementation and available resources."
            DEFVAL
        alHostOutPkts.1.783495.18.4.128.2.6.6.34"
    INDEX { 10 hlHostControlIndex, alHostTimeMark,
            protocolDirLocalIndex, nlHostAddress,
            protocolDirLocalIndex }
    ::= { alMatrixTopNControlEntry 6 alHostTable 1 }

AlHostEntry ::= SEQUENCE {
    alHostTimeMark                 TimeFilter,
    alHostInPkts                   ZeroBasedCounter32,
    alHostOutPkts                  ZeroBasedCounter32,
    alHostInOctets                 ZeroBasedCounter32,
    alHostOutOctets                ZeroBasedCounter32,
    alHostCreateTime               LastCreateTime
}

          alMatrixTopNGrantedSize

alHostTimeMark OBJECT-TYPE
    SYNTAX     Integer32      TimeFilter
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A TimeFilter for this entry.  See the TimeFilter textual
        convention to see how this works."
    ::= { alHostEntry 1 }

alHostInPkts OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The maximum number of matrix entries in the top N table.

                When the associated alMatrixTopNRequestedSize object is
                created or modified, the probe should set packets of this
                object as closely protocol type without errors
        transmitted to this address since it was added to the requested value as
        alHostTable.  Note that this is
                possible for the particular implementation and
                available resources. The probe must not lower this
                value except as a result number of link-layer
        packets, so if a set to the associated
                alMatrixTopNRequestedSize object.
                When the next topN report single network-layer packet is generated, matrix entries
                with the highest value of alMatrixTopNRate shall
                be placed in this table in decreasing order of fragmented





Steven Waldbusser  Expires November 17, 1996         [Page 72]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        into several link-layer frames, this rate
                until there counter is no more room or until there are no more
                matrix entries." incremented
        several times."
    ::= { alMatrixTopNControlEntry 7 alHostEntry 2 }

          alMatrixTopNStartTime

alHostOutPkts OBJECT-TYPE
    SYNTAX     TimeTicks      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The value number of packets of sysUpTime when this top N report was
                last started.  In other words, protocol type without errors
        transmitted by this is the time that
                the associated alMatrixTopNTimeRemaining object address since it was
                modified added to start the requested report or the time
                the report was last automatically (re)started."
            ::= { alMatrixTopNControlEntry 8 }

          alMatrixTopNOwner OBJECT-TYPE
            SYNTAX     OwnerString





          Steven Waldbusser    Expires Nov 22, 1995            [Page 70]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


            MAX-ACCESS read-create
            STATUS     current
            DESCRIPTION
                "The entity
        alHostTable.  Note that configured this entry and is
                therefore using the resources assigned to it." number of link-layer
        packets, so if a single network-layer packet is fragmented
        into several link-layer frames, this counter is incremented
        several times."
     ::= { alMatrixTopNControlEntry 9 alHostEntry 3 }

          alMatrixTopNStatus

alHostInOctets OBJECT-TYPE
    SYNTAX     RowStatus      ZeroBasedCounter32
    MAX-ACCESS read-create  read-only
    STATUS      current
    DESCRIPTION
        "The status number of octets transmitted to this alMatrixTopNControl entry.

                If address
        of this object is not equal protocol type since it was added to valid(1), all
                associated alMatrixTopNEntries shall be deleted by the
                agent."
        alHostTable (excluding framing bits but including
        FCS octets), excluding those octets in packets that
        contained errors.

        Note this doesn't count just those octets in the particular
        protocol frames, but includes the entire packet that contained
        the protocol."
    ::= { alMatrixTopNControlEntry 10 alHostEntry 4 }

          alMatrixTopNTable

alHostOutOctets OBJECT-TYPE
    SYNTAX     SEQUENCE OF AlMatrixTopNEntry      ZeroBasedCounter32
    MAX-ACCESS not-accessible  read-only
    STATUS      current
    DESCRIPTION
                "A list
        "The number of top N alMatrix entries."
            ::= octets transmitted by this address
        of this protocol type since it was added to the
        alHostTable (excluding framing bits but including
        FCS octets), excluding those octets in packets that
        contained errors.

        Note this doesn't count just those octets in the particular





Steven Waldbusser  Expires November 17, 1996         [Page 73]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        protocol frames, but includes the entire packet that contained
        the protocol."
    ::= { alMatrix alHostEntry 5 }

          alMatrixTopNEntry

alHostCreateTime OBJECT-TYPE
    SYNTAX     AlMatrixTopNEntry     LastCreateTime
    MAX-ACCESS not-accessible read-only
    STATUS     current
    DESCRIPTION
                "A set
        "The value of statistics for a matrix sysUpTime when this entry that is part of a
                top N report.  For example, an instance of the
                alMatrixTopNRate object might was last activated.
        This can be named
                alMatrixTopNRate.3.10

                The value of alMatrixTopNControlIndex in used by the index is management station to ensure that of the associated alMatrix on who's behalf this study
                was prepared."
            INDEX { alMatrixTopNControlIndex, alMatrixTopNIndex }
        entry has not been deleted and recreated between polls."
    ::= { alMatrixTopNTable 1 alHostEntry 6 }

          AlMatrixTopNEntry ::= SEQUENCE {
            alMatrixTopNIndex                 Integer32 (1..65535),





































Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 71] 74]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


            alMatrixTopNProtocolDirIndex      OBJECT IDENTIFIER,
            alMatrixTopNSourceAddress         OCTET STRING,
            alMatrixTopNDestinationAddress    OCTET STRING,
            alMatrixTopNAppProtocolDirIndex   OBJECT IDENTIFIER,
            alMatrixTopNRate                  Integer32
          }

          alMatrixTopNIndex    May 17, 1996


--
-- Application Layer Matrix Group
--
-- Counts the amount of traffic, by protocol, sent between each pair
-- of network addresses discovered by the probe.
-- Implementation of this group requires implementation of the Network
-- Layer Matrix Group.

alMatrixSDTable OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)      SEQUENCE OF AlMatrixSDEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                "An index that uniquely identifies an entry in
                the alMatrixTopN table among those in the same report.
        "A list of application traffic matrix entries which collect
        statistics for conversations of a particular protocol between
        two network-level addresses.  This index table is between 1 indexed first by
        the source address and N, where N is then by the
                number of entries in destination address to make
        it convenient to collect all statistics from a particular
        address.

        The probe will populate this table.  Increasing values table for all protocols in the
        protocol directory table whose value of alMatrixTopNIndex shall be assigned
        protocolDirMatrixConfig is equal to supportedOn(3), and
        will delete any entries with
                decreasing values of alMatrixTopNRate until index N whose protocolDirEntry is assigned deleted or
        has a protocolDirMatrixConfig value of supportedOff(2).

        The probe will add to the entry this table all pairs of addresses for
        all protocols seen in all packets with no MAC errors, and will
        increment octet and packet counts in the lowest value of
                alMatrixTopNRate or there are table for all packets
        with no more alMatrixTopNEntries."
            ::= { alMatrixTopNEntry 1 }

          alMatrixTopNProtocolDirIndex OBJECT-TYPE
            SYNTAX     OBJECT IDENTIFIER
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "The network layer type of MAC errors.  Further, entries will only be added to
        this matrix entry."
            ::= { alMatrixTopNEntry 2 }

          alMatrixTopNSourceAddress OBJECT-TYPE
            SYNTAX     OCTET STRING
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "The network layer source table if their address of pair exists in the nlMatrixSDTable
        and will be deleted from this matrix entry." table if the address pair is
        deleted from the nlMatrixSDTable."
    ::= { alMatrixTopNEntry 3 alMatrix 1 }

          alMatrixTopNDestinationAddress

alMatrixSDEntry OBJECT-TYPE
    SYNTAX     OCTET STRING      AlMatrixSDEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                "The network layer destination address of
        "A conceptual row in the alMatrixSDTable.

        The hlMatrixControlIndex value in the index identifies the
        hlMatrixControlEntry on whose behalf this matrix entry."
            ::= { alMatrixTopNEntry 4 } entry was created.
        The first protocolDirLocalIndex value in the index identifies





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 72] 75]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          alMatrixTopNAppProtocolDirIndex OBJECT-TYPE
            SYNTAX     OBJECT IDENTIFIER
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "The type of    May 17, 1996


        the network layer protocol counted by this matrix entry."
            ::= { alMatrixTopNEntry 5 }

          alMatrixTopNRate OBJECT-TYPE
            SYNTAX     Integer32
            MAX-ACCESS read-only
            STATUS     current
            DESCRIPTION
                "The amount of change in the selected variable
                during this sampling interval.  The selected
                variable is this alMatrix entry's instance of the object
                selected by alMatrixTopNRateBase."
            ::= { alMatrixTopNEntry 6 }

          --
          -- User History Collection Group (usrHistory)
          --
          -- The usrHistory group combines mechanisms seen in the alarm and
          -- history groups to provide user-specified history collection,
          -- utilizing two additional control tables nlMatrixSDSourceAddress and one additional data
          -- table. This function has traditionally been done by NMS
          -- applications, via periodic polling.
        nlMatrixSDDestAddress.
        The usrHistory group allows
          -- this task to be offloaded to an RMON probe.
          --
          -- Data (an ASN.1 INTEGER based object) is collected nlMatrixSDSourceAddress value in the same manner
          -- as any history data table (e.g. etherHistoryTable) except that
          -- index identifies the user specifies
        network layer address of the MIB instances to be collected. Objects are
          -- collected source host in bucket-groups, with the intent that all MIB instances this conversation.
        The nlMatrixSDDestAddress value in
          -- the same bucket-group are collected as atomically as possible by index identifies the
          -- RMON probe.
          --
          -- The usrHistoryControlTable is a one-dimensional read-create table.
          -- Each row configures a collection
        network layer address of user history buckets, much
          -- the same as a historyControlEntry, except that the creation of a
          -- row destination host in this table will cause one or more associated instances
        conversation.
        The second protocolDirLocalIndex value in the
          -- usrHistoryObjectTable to be created. The user specifies index identifies
        the
          -- number protocol that is counted by this entry.

        An example of bucket elements (rows in the usrHistoryObjectTable)
          -- requested, as well as the number indexing of buckets requested.
          --
          -- The usrHistoryObjectTable this entry is a 2-d read-write table.





          Steven
        alMatrixSDPkts.1.783495.18.4.128.2.6.6.4.128.2.6.7.34"
    INDEX { hlMatrixControlIndex, alMatrixSDTimeMark,
            protocolDirLocalIndex,
            nlMatrixSDSourceAddress, nlMatrixSDDestAddress,
            protocolDirLocalIndex }
    ::= { alMatrixSDTable 1 }

AlMatrixSDEntry ::= SEQUENCE {
    alMatrixSDTimeMark                 TimeFilter,
    alMatrixSDPkts                     ZeroBasedCounter32,
    alMatrixSDOctets                   ZeroBasedCounter32,
    alMatrixSDCreateTime               LastCreateTime
}

alMatrixSDTimeMark OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A TimeFilter for this entry.  See the TimeFilter textual
        convention to see how this works."
    ::= { alMatrixSDEntry 1 }

alMatrixSDPkts OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of packets of this protocol type without errors
        transmitted from the source address to the destination address
        since this entry was added to the alMatrixSDTable.  Note that
        this is the number of link-layer packets, so if a single
        network-layer packet is fragmented into several link-layer
        frames, this counter is incremented several times."





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 73] 76]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          -- Each row configures a single MIB instance to be collected.
          -- All rows with the same major index constitute a bucket-group.
          --
          -- The usrHistoryTable is a 3-d    May 17, 1996


    ::= { alMatrixSDEntry 2 }

alMatrixSDOctets OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only table containing
          -- the data
    STATUS      current
    DESCRIPTION
        "The number of associated usrHistoryControlEntries. Each
          -- octets in packets of this protocol type
        transmitted from the source address to the destination address
        since this entry represents was added to the value of a single MIB instance
          -- during a specific sampling interval (or alMatrixSDTable (excluding
        framing bits but including FCS octets), excluding those octets
        in packets that contained errors.

        Note this doesn't count just those octets in the rate of
          -- change during particular
        protocol frames, but includes the interval).
          --
          -- A sample entire packet that contained
        the protocol."
    ::= { alMatrixSDEntry 3 }

alMatrixSDCreateTime OBJECT-TYPE
    SYNTAX     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value is stored in two objects--an absolute value and
          -- a status object. This allows numbers from -(2G-1) to +4G to be stored.
          -- The status object also indicates whether a sample is valid. This allows
          -- data collection to continue if periodic retrieval of a particular
          -- instance fails for any reason.
          --
          -- Row Creation Order Relationships
          --
          -- The static nature of the usrHistoryObjectTable creates
          -- some row creation/modification issues. The rows in sysUpTime when this
          -- table need to be set before the associated
          -- usrHistoryControlEntry entry was last activated.
        This can be activated.
          --
          -- Note that used by the usrHistoryObject entries associated with a
          -- particular usrHistoryControl entry are not required management station to
          -- be valid before the control entry is activated. However,
          -- ensure that the usrHistory data entries associated with an invalid
          -- usrHistoryObject
        entry will be invalid (i.e.
          -- usrHistoryValStatus == valueNotAvailable). has not been deleted and recreated between polls."
    ::= { alMatrixSDEntry 4 }

--

          usrHistoryControlTable Traffic matrix tables from destination to source

alMatrixDSTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF UsrHistoryControlEntry AlMatrixDSEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A list of data-collection configuration entries."
              ::= { usrHistory 1 }

          usrHistoryControlEntry OBJECT-TYPE
              SYNTAX UsrHistoryControlEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "A list application traffic matrix entries which collect
        statistics for conversations of parameters that set up a group of user-defined
                  MIB objects particular protocol between
        two network-level addresses.  This table is indexed first by
        the destination address and then by the source address to make
        it convenient to collect all statistics to be sampled periodically (called a





          Steven Waldbusser    Expires Nov 22, 1995            [Page 74]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


                  bucket-group).

                  For example, an instance of usrHistoryControlInterval
                  might be named usrHistoryControlInterval.1"
              INDEX { usrHistoryControlIndex }
              ::= { usrHistoryControlTable 1 }


          UsrHistoryControlEntry ::= SEQUENCE {
              usrHistoryControlIndex             Integer32,
              usrHistoryControlObjects           Integer32,
              usrHistoryControlBucketsRequested  Integer32,
              usrHistoryControlBucketsGranted    Integer32,
              usrHistoryControlInterval          Integer32,
              usrHistoryControlOwner             OwnerString,
              usrHistoryControlStatus            RowStatus
              }

          usrHistoryControlIndex OBJECT-TYPE
              SYNTAX Integer32 (1..65535)
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "An index that uniquely identifies an entry in the
                   usrHistoryControl table.  Each such entry defines a
                   set of samples at a particular interval
        address.

        The probe will populate this table for a specified
                   set of MIB instances available from the managed system."
              ::= { usrHistoryControlEntry 1 }

          usrHistoryControlObjects OBJECT-TYPE
              SYNTAX Integer32 (1..65535)
              MAX-ACCESS read-create
              STATUS current
              DESCRIPTION
                  "The number of MIB objects to be collected all protocols in the portion of usrHistoryTable associated with this
                   usrHistoryControlEntry.

                   This object may not be modified if the associated instance
        protocol directory table whose value of usrHistoryControlStatus
        protocolDirMatrixConfig is equal to active(1)."
              ::= { usrHistoryControlEntry 2 }

          usrHistoryControlBucketsRequested OBJECT-TYPE
              SYNTAX Integer32 (1..65535)
              MAX-ACCESS read-create supportedOn(3), and





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 75] 77]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              STATUS current
              DESCRIPTION
                  "The requested number of discrete time intervals
                  over which data    May 17, 1996


        will delete any entries whose protocolDirEntry is deleted or
        has a protocolDirMatrixConfig value of supportedOff(2).

        The probe will add to be saved in the part this table all pairs of addresses for
        all protocols seen in all packets with no MAC errors, and will
        increment octet and packet counts in the
                  usrHistoryTable associated table for all packets
        with no MAC errors.  Further, entries will only be added to
        this usrHistoryControlEntry.

                  When this object is created or modified, table if their address pair exists in the probe
                  should set usrHistoryControlBucketsGranted as closely to nlMatrixDSTable
        and will be deleted from this object as table if the address pair is possible for
        deleted from the particular probe
                  implementation and available resources."
              DEFVAL { 50 } nlMatrixDSTable."
    ::= { usrHistoryControlEntry 3 alMatrix 2 }

          usrHistoryControlBucketsGranted

alMatrixDSEntry OBJECT-TYPE
    SYNTAX Integer32 (1..65535)      AlMatrixDSEntry
    MAX-ACCESS read-only  not-accessible
    STATUS      current
    DESCRIPTION
                  "The number of discrete sampling intervals
                   over which data shall be saved
        "A conceptual row in the part of
                   the usrHistoryTable associated with this
                   usrHistoryControlEntry.

                   When alMatrixDSTable.

        The hlMatrixControlIndex value in the associated usrHistoryControlBucketsRequested
                   object is created or modified, index identifies the probe should set
        hlMatrixControlEntry on whose behalf this object as closely to the requested entry was created.
        The first protocolDirLocalIndex value as is
                   possible for in the particular  probe implementation index identifies
        the network layer protocol of the alMatrixDSSourceAddress and
                   available resources.
        alMatrixDSDestAddress.
        The probe must not lower this nlMatrixDSDestAddress value except as a result in the index identifies the
        network layer address of a modification to the associated
                   usrHistoryControlBucketsRequested object. destination host in this
        conversation.
        The associated usrHistoryControlObjectsRequested object
                   should be set before or at nlMatrixDSSourceAddress value in the same time as index identifies the
        network layer address of the source host in this object
                   to allow conversation.
        The second protocolDirLocalIndex value in the probe to accurately estimate index identifies
        the resources
                   required for protocol that is counted by this usrHistoryControlEntry.

                   There will be times when entry.

        An example of the actual number indexing of buckets
                   associated with this entry is less than the value of
                   this object.  In
        alMatrixDSPkts.1.783495.18.4.128.2.6.7.4.128.2.6.6.34"
    INDEX { hlMatrixControlIndex, alMatrixDSTimeMark,
            protocolDirLocalIndex,
            nlMatrixDSDestAddress, nlMatrixDSSourceAddress,
            protocolDirLocalIndex }
    ::= { alMatrixDSTable 1 }

AlMatrixDSEntry ::= SEQUENCE {
    alMatrixDSTimeMark                 TimeFilter,
    alMatrixDSPkts                     ZeroBasedCounter32,
    alMatrixDSOctets                   ZeroBasedCounter32,
    alMatrixDSCreateTime               LastCreateTime





Steven Waldbusser  Expires November 17, 1996         [Page 78]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


}

alMatrixDSTimeMark OBJECT-TYPE
    SYNTAX      TimeFilter
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A TimeFilter for this case, at entry.  See the end of each sampling
                   interval, a new bucket will be added TimeFilter textual
        convention to the usrHistoryTable.

                   When the number of buckets reaches the value see how this works."
    ::= { alMatrixDSEntry 1 }

alMatrixDSPkts OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of packets of this object
                   and protocol type without errors
        transmitted from the source address to the destination address
        since this entry was added to the alMatrixDSTable.  Note that
        this is the number of link-layer packets, so if a new bucket single
        network-layer packet is fragmented into several link-layer
        frames, this counter is incremented several times."
    ::= { alMatrixDSEntry 2 }

alMatrixDSOctets OBJECT-TYPE
    SYNTAX      ZeroBasedCounter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of octets in packets of this protocol type
        transmitted from the source address to be the destination address
        since this entry was added to the usrHistoryTable,
                   the oldest bucket associated with alMatrixDSTable (excluding
        framing bits but including FCS octets), excluding those octets
        in packets that contained errors.

        Note this usrHistoryControlEntry
                   shall be deleted by doesn't count just those octets in the agent so particular
        protocol frames, but includes the entire packet that contained
        the new bucket can be added. protocol."
    ::= { alMatrixDSEntry 3 }

alMatrixDSCreateTime OBJECT-TYPE
    SYNTAX     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 76] 79]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995



                   When the    May 17, 1996


        "The value of sysUpTime when this object changes entry was last activated.
        This can be used by the management station to a value less than ensure that the current value, entries are
        entry has not been deleted from the usrHistoryTable
                   associated with this usrHistoryControlEntry.  Enough and recreated between polls."
    ::= { alMatrixDSEntry 4 }

alMatrixTopNControlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF AlMatrixTopNControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A set of parameters that control the oldest creation of a
        report of these entries shall be deleted by the agent so
                   that their number remains less than or equal top N matrix entries according to
        a selected metric."
    ::= { alMatrix 4 }

alMatrixTopNControlEntry OBJECT-TYPE
    SYNTAX      AlMatrixTopNControlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row in the new value alMatrixTopNControlTable.

        An example of
                   this object.

                   When the value indexing of this object changes to a value greater
                   than the table is
        alMatrixTopNControlDuration.3"
    INDEX { alMatrixTopNControlIndex }
    ::= { alMatrixTopNControlTable 1 }

AlMatrixTopNControlEntry ::= SEQUENCE {
    alMatrixTopNControlIndex            Integer32,
    alMatrixTopNControlMatrixIndex      Integer32,
    alMatrixTopNControlRateBase         INTEGER,
    alMatrixTopNControlTimeRemaining    Integer32,
    alMatrixTopNControlGeneratedReports Counter32,
    alMatrixTopNControlDuration         Integer32,
    alMatrixTopNControlRequestedSize    Integer32,
    alMatrixTopNControlGrantedSize      Integer32,
    alMatrixTopNControlStartTime        TimeStamp,
    alMatrixTopNControlOwner            OwnerString,
    alMatrixTopNControlStatus           RowStatus
}

alMatrixTopNControlIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current value,





Steven Waldbusser  Expires November 17, 1996         [Page 80]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    DESCRIPTION
        "An index that uniquely identifies an entry
        in the number of associated usrHistory
                   entries may be allowed to grow." alMatrixTopNControlTable.  Each such
        entry defines one top N report prepared for
        one interface."
    ::= { usrHistoryControlEntry 4 alMatrixTopNControlEntry 1 }


          usrHistoryControlInterval

alMatrixTopNControlMatrixIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647) (1..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The interval in seconds over which the data is
                   sampled alMatrix[SD/DS] table for each bucket in the part which a top N report will be
        prepared on behalf of the usrHistory
                   table associated with this usrHistoryControlEntry.

                   Because entry.  The alMatrix[SD/DS] table
        is identified by the counters in a bucket may overflow at their
                   maximum value with no indication, a prudent manager will
                   take into account the possibility of overflow in any of the associated counters. It hlMatrixControlIndex
        for that table - that value is important used here to consider identify the
                   minimum time in which any counter could overflow on a
        particular media type and set the usrHistoryControlInterval
                   object to a value less than this interval. table.

        This object may not be modified if the associated
                   usrHistoryControlStatus
        alMatrixTopNControlStatus object is equal to active(1)."
              DEFVAL { 1800 }
    ::= { usrHistoryControlEntry 5 alMatrixTopNControlEntry 2 }

          usrHistoryControlOwner

alMatrixTopNControlRateBase OBJECT-TYPE
    SYNTAX OwnerString     INTEGER {
                  alMatrixTopNTerminalsPkts(1),
                  alMatrixTopNTerminalsOctets(2),
                  alMatrixTopNAllPkts(3),
                  alMatrixTopNAllOctets(4)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The entity that configured this variable for each alMatrix[SD/DS] entry and is therefore using that the
                  resources assigned to it."
              ::= { usrHistoryControlEntry 6 }






          Steven Waldbusser    Expires Nov 22, 1995            [Page 77]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


          usrHistoryControlStatus OBJECT-TYPE
              SYNTAX RowStatus
              MAX-ACCESS read-create
              STATUS current
              DESCRIPTION
                  "The status of this variable history control entry."
              ::= { usrHistoryControlEntry 7 }
          -- Object table

          usrHistoryObjectTable OBJECT-TYPE
              SYNTAX SEQUENCE OF UsrHistoryObjectEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "A list
        alMatrixTopNEntries are sorted by, as well as the
        selector of data-collection configuration entries."
              ::= { usrHistory 2 }

          usrHistoryObjectEntry OBJECT-TYPE
              SYNTAX UsrHistoryObjectEntry
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "A list the view of MIB instances to be sampled periodically.

                  Entries in this the matrix table that will be
        used.

        The values alMatrixTopNTerminalsPkts and
        alMatrixTopNTerminalsOctets cause collection only from
        protocols that have no child protocols that are created when an counted.  The
        values alMatrixTopNAllPkts and alMatrixTopNAllOctets cause
        collection from all alMatrix entries.

        This object may not be modified if the associated
                  usrHistoryControlObjects
        alMatrixTopNControlStatus object is created.

                  For example, an instance of usrHistoryObjectVariable might be
                  usrHistoryObjectVariable.1.3"
              INDEX { usrHistoryControlIndex, usrHistoryObjectIndex }
              ::= { usrHistoryObjectTable 1 }

          UsrHistoryObjectEntry ::= SEQUENCE {
              usrHistoryObjectIndex             Integer32,
              usrHistoryObjectVariable          OBJECT IDENTIFIER,
              usrHistoryObjectSampleType        INTEGER
          }

          usrHistoryObjectIndex OBJECT-TYPE
              SYNTAX Integer32 (1..65535)
              MAX-ACCESS not-accessible
              STATUS current
              DESCRIPTION
                  "An index used equal to uniquely identify an entry in the
                   usrHistoryObject table.  Each such entry defines a active(1)."





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 78] 81]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                   MIB instance to be collected periodically."    May 17, 1996


    ::= { usrHistoryObjectEntry 1 alMatrixTopNControlEntry 3 }


          usrHistoryObjectVariable

alMatrixTopNControlTimeRemaining OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER     Integer32 (0..2147483647)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The object identifier of the particular variable to be sampled.

                  Only variables that resolve to an ASN.1 primitive type number of Integer32
                  (Integer32, Counter, Gauge, or TimeTicks) may be sampled.

                  Because SNMP access control is articulated entirely seconds left in terms of the contents of MIB views, no access control mechanism exists
                  that can restrict report currently
        being collected.  When this object is modified by
        the management station, a new collection is started,
        possibly aborting a currently running report.  The
        new value is used as the requested duration of this object to identify only
                  those objects that exist in a particular MIB view.  Because there
        report, and is thus no acceptable means immediately loaded into the associated
        alMatrixTopNControlDuration object.
        When the report finishes, the probe will automatically
        start another collection with the same initial value
        of restricting alMatrixTopNControlTimeRemaining.  Thus the management
        station may simply read access that
                  could be obtained through the user history mechanism, resulting reports repeatedly,
        checking the probe
                  must only grant write access startTime and duration each time to ensure that a
        report was not missed or that the report parameters were not
        changed.

        While the value of this object in those views is non-zero, it decrements
        by one per second until it reaches zero.  At the time
        that
                  have read access this object decrements to all objects on the probe.

                  During a set operation, if zero, the supplied variable name report is not
                  available made
        accessible in the selected MIB view, a badValue error must be returned.

                  This object alMatrixTopNTable, overwriting any report
        that may not be there.

        When this object is modified if by the management station, any
        associated
                  usrHistoryControlStatus object entries in the alMatrixTopNTable shall be deleted.

        (Note that this is equal to active(1)." a different algorithm than the one used in
        the hostTopNTable)."
    DEFVAL { 1800 }
    ::= { usrHistoryObjectEntry 2 alMatrixTopNControlEntry 4 }

          usrHistoryObjectSampleType

alMatrixTopNControlGeneratedReports OBJECT-TYPE
    SYNTAX INTEGER {
                      absoluteValue(1),
                      deltaValue(2)
              }     Counter32
    MAX-ACCESS read-create read-only
    STATUS     current
    DESCRIPTION
        "The method of sampling the selected variable for storage in the
                  usrHistoryTable.

                  If the value number of this object is absoluteValue(1), the value of
                  the selected variable will be copied directly into the history
                  bucket. reports that have been generated by this entry."
    ::= { alMatrixTopNControlEntry 5 }

alMatrixTopNControlDuration OBJECT-TYPE





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 79] 82]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                  If the value    May 17, 1996


    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of seconds that this object is deltaValue(2), the value of the
                  selected variable at report has collected
        during the last sample will be subtracted from
                  the current value, and the difference will be stored in the
                  history bucket. If sampling interval.

        When the associated usrHistoryObjectVariable
                  instance could not alMatrixTopNControlTimeRemaining object
        is set, this object shall be obtained at set by the previous sample interval,
                  then a delta sample is not possible, and probe to the
        same value of the
                  associated usrHistoryValStatus object for this interval will
                  be valueNotAvailable(1).

                  This object may and shall not be modified if until the associated
                  usrHistoryControlStatus object next
        time the alMatrixTopNControlTimeRemaining is equal to active(1)." set.

        This value shall be zero if no reports have been
        requested for this alMatrixTopNControlEntry."
    ::= { usrHistoryObjectEntry 3 alMatrixTopNControlEntry 6 }

          -- data table

          usrHistoryTable

alMatrixTopNControlRequestedSize OBJECT-TYPE
    SYNTAX SEQUENCE OF UsrHistoryEntry     Integer32 (0..2147483647)
    MAX-ACCESS not-accessible read-create
    STATUS     current
    DESCRIPTION
                  "A list
        "The maximum number of user defined history entries." matrix entries requested for this report.

        When this object is created or modified, the probe
        should set alMatrixTopNControlGrantedSize as closely to this
        object as is possible for the particular probe
        implementation and available resources."
    DEFVAL { 150 }
    ::= { usrHistory 3 alMatrixTopNControlEntry 7 }

          usrHistoryEntry

alMatrixTopNControlGrantedSize OBJECT-TYPE
    SYNTAX UsrHistoryEntry     Integer32 (0..2147483647)
    MAX-ACCESS not-accessible read-only
    STATUS     current
    DESCRIPTION
                  "An historical sample
        "The maximum number of user-defined variables.  This sample is matrix entries in this report.

        When the associated with alMatrixTopNControlRequestedSize object
        is created or modified, the usrHistoryControlEntry which probe should set up this
        object as closely to the
                  parameters for a regular collection of these samples.
                  For example, an instance of usrHistoryValue, which represents requested value as is
        possible for the 14th sample particular implementation and
        available resources. The probe must not lower this
        value except as a result of a variable collected as specified by
                  usrHistoryControlEntry.1 and usrHistoryObjectEntry.1.5,
                  would be named usrHistoryValue.1.14.5"
              INDEX { usrHistoryControlIndex, usrHistorySampleIndex,
                      usrHistoryObjectIndex }
              ::= { usrHistoryTable 1 }

          UsrHistoryEntry ::= SEQUENCE {
              usrHistorySampleIndex   Integer32,
              usrHistoryIntervalStart TimeTicks,
              usrHistoryIntervalEnd   TimeTicks,
              usrHistoryAbsValue      Gauge32,
              usrHistoryValStatus     INTEGER set to the associated
        alMatrixTopNControlRequestedSize object.






Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 80] 83]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              }

          usrHistorySampleIndex OBJECT-TYPE
              SYNTAX Integer32 (1..2147483647)
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION
                  "An index that uniquely identifies    May 17, 1996


        If the particular sample value of alMatrixTopNControlRateBase is equal to
        alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, when the
        next topN report is generated, matrix entries with the highest
        value of alMatrixTopNPktRate shall be placed in this entry
                  represents among all samples associated table in
        decreasing order of this rate until there is no more room or
        until there are no more matrix entries.

        If the value of alMatrixTopNControlRateBase is equal to
        alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, when the
        next topN report is generated, matrix entries with the highest
        value of alMatrixTopNOctetRate shall be placed in this table
        in decreasing order of this rate until there is no more room
        or until there are no more matrix entries.

        It is an implementation-specific matter how entries with the
        same
                  usrHistoryControlEntry. This index starts at 1 and increases by
                  one as each new sample value of alMatrixTopNPktRate or alMatrixTopNOctetRate are
        sorted.  It is taken." also an implementation-specific matter as to
        whether or not zero-valued entries are available."
    ::= { usrHistoryEntry 1 alMatrixTopNControlEntry 8 }

          usrHistoryIntervalStart

alMatrixTopNControlStartTime OBJECT-TYPE
    SYNTAX TimeTicks     TimeStamp
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of sysUpTime at the start of the interval over which when this
                  sample top N report was measured.  If the probe keeps track of
        last started.  In other words, this is the time of day,
                  it should that
        the associated alMatrixTopNControlTimeRemaining object
        was modified to start the first sample of requested report or the history at a time such that
                  when the next hour of
        the day begins, a sample is started at
                  that instant.

                  Note that following this rule report was last automatically (re)started.

        This object may require the probe to delay
                  collecting the first sample of the history, as each sample must be
                  of the same interval. Also note that the sample which is
                  currently being collected is not accessible in this table until used by the end of its interval." management station to
        determine if a report was missed or not."
    ::= { usrHistoryEntry 2 alMatrixTopNControlEntry 9 }

          usrHistoryIntervalEnd

alMatrixTopNControlOwner OBJECT-TYPE
    SYNTAX TimeTicks     OwnerString
    MAX-ACCESS read-only read-create
    STATUS     current
    DESCRIPTION
        "The value of sysUpTime at the end of the interval over which entity that configured this
                  sample was measured." entry and is
        therefore using the resources assigned to it."
    ::= { usrHistoryEntry 3 alMatrixTopNControlEntry 10 }

          usrHistoryAbsValue

alMatrixTopNControlStatus OBJECT-TYPE
              SYNTAX Gauge32
              MAX-ACCESS read-only
              STATUS current
              DESCRIPTION





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 81] 84]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The absolute value status of the user-specified statistic during the
                  last sampling period. The value during the current sampling
                  period is this alMatrixTopNControlEntry.

        An entry may not made available until exist in the period is completed.

                  To obtain active state unless all
        objects in the true value for entry have an appropriate value.

        If this sampling interval, the object is not equal to active(1), all
        associated instance of usrHistoryValStatus must be checked,
                  and usrHistoryAbsValue adjusted as necessary.

                  If entries in the MIB instance could not alMatrixTopNTable shall be accessed during
        deleted by the sampling
                  interval, then this object will have a value agent."
    ::= { alMatrixTopNControlEntry 11 }

alMatrixTopNTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF AlMatrixTopNEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A set of zero and statistics for those application layer matrix
        entries that have counted the
                  associated instance highest number of usrHistoryValStatus will be set to
                  'valueNotAvailable(1)'." octets or
        packets."
    ::= { usrHistoryEntry 4 alMatrix 5 }


          usrHistoryValStatus

alMatrixTopNEntry OBJECT-TYPE
    SYNTAX INTEGER {
                  valueNotAvailable(1),
                  valuePositive(2),
                  valueNegative(3)
              }     AlMatrixTopNEntry
    MAX-ACCESS read-only not-accessible
    STATUS     current
    DESCRIPTION
                  "This object indicates the validity and sign of
        "A conceptual row in the data alMatrixTopNTable.

        The alMatrixTopNControlIndex value in the associated instance index identifies
        the alMatrixTopNControlEntry on whose behalf this entry was
        created.

        An example of usrHistoryAbsValue.

                  If the indexing of this table is
        alMatrixTopNPktRate.3.10"
    INDEX { alMatrixTopNControlIndex, alMatrixTopNIndex }
    ::= { alMatrixTopNTable 1 }

AlMatrixTopNEntry ::= SEQUENCE {
    alMatrixTopNIndex                      Integer32,
    alMatrixTopNProtocolDirLocalIndex      Integer32,
    alMatrixTopNSourceAddress              OCTET STRING,
    alMatrixTopNDestAddress                OCTET STRING,





Steven Waldbusser  Expires November 17, 1996         [Page 85]





Internet Draft   Remote Network Monitoring MIB instance could not be accessed during    May 17, 1996


    alMatrixTopNAppProtocolDirLocalIndex   Integer32,
    alMatrixTopNPktRate                    Integer32,
    alMatrixTopNReversePktRate             Integer32,
    alMatrixTopNOctetRate                  Integer32,
    alMatrixTopNReverseOctetRate           Integer32
  }

alMatrixTopNIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index that uniquely identifies an entry in
        the sampling
                  interval, then 'valueNotAvailable(1)' will be returned.

                  If alMatrixTopNTable among those in the sample same report.
        This index is valid between 1 and actual value N, where N is the
        number of entries in this report.

        If the sample value of alMatrixTopNControlRateBase is greater
                  than or equal to zero then 'valuePositive(2)'
        alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, increasing
        values of alMatrixTopNIndex shall be assigned to entries with
        decreasing values of alMatrixTopNPktRate until index N is returned.
        assigned or there are no more alMatrixTopNEntries.

        If the sample is valid and the actual value of the sample alMatrixTopNControlRateBase is less
                  than zero, 'valueNegative(3)' will be returned. The associated
                  instance equal to
        alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets,
        increasing values of usrHistoryAbsValue should alMatrixTopNIndex shall be multiplied by -1 assigned to
                  obtain the true sample value."
        entries with decreasing values of alMatrixTopNOctetRate until
        index N is assigned or there are no more alMatrixTopNEntries."
    ::= { usrHistoryEntry 5 alMatrixTopNEntry 1 }

          -- The probe config group

          ControlString ::= DisplayString
          -- This data type is used to communicate with a modem or a serial
          -- data switch.  A ControlString contains embeded commands to
          -- control how

alMatrixTopNProtocolDirLocalIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The protocolDirLocalIndex of the device will interact with network layer protocol of
        this entry's network address."
    ::= { alMatrixTopNEntry 2 }

alMatrixTopNSourceAddress OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The network layer address of the remote device source host in this





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996         [Page 82] 86]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          -- through the serial interface.  Commands are    May 17, 1996


        conversation.

        This is represented as
          -- two character sequences beginning an octet string with the "^" character.
          -- The following commands are recognized
        specific semantics and length as identified
        by the device (note
          -- that command characters are case sensitive):
          --
          --    ^s  Send string that follows which associated alMatrixTopNProtocolDirLocalIndex.

        For example, if the alMatrixTopNProtocolDirLocalIndex
        indicates an encapsulation of ip, this object is terminated encoded as a
        length octet of 4, followed by the next
          --        command or the end 4 octets of string.
          --    ^c  Delay for the number of seconds that follows.  Toss out
          --        any data received rather than storing it ip address,
        in a buffer for
          --        parsing.
          --    ^t  Set timeout to network byte order."
    ::= { alMatrixTopNEntry 3 }

alMatrixTopNDestAddress OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The network layer address of the value destination host in this
        conversation.

        This is represented as an octet string with
        specific semantics and length as identified
        by the decimal
          --        digits that follow.  The default timeout is 20 seconds.
          --        Note that this timeout may be override by a smaller
          --        serialTimeout configured for the associated serial
          --        interface (see serialConfigTable).
          --    ^w  Wait for alMatrixTopNProtocolDirLocalIndex.

        For example, if the reply string that follows which alMatrixTopNProtocolDirLocalIndex
        indicates an encapsulation of ip, this object is terminated
          -- encoded as a
        length octet of 4, followed by the next command or the end 4 octets of string.  Partial and
          --        case insensitive matching is applied, ie. if the reply
          --        string (any case combination) is found anywhere ip address,
        in the
          --        received string, then the a match is found.  If the
          -- network byte order."
    ::= { alMatrixTopNEntry 4 }

alMatrixTopNAppProtocolDirLocalIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS read-only
    STATUS     current timeout elapses without a match, then the
          --        remaining control string is ignored.
          --    ^!  The ^ character.
          --    ^d  Delay
    DESCRIPTION
        "The type of the protocol counted by this matrix entry."
    ::= { alMatrixTopNEntry 5 }

alMatrixTopNPktRate OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of seconds specified by packets seen of this protocol from the decimal
          --        digits that follow.
          --    ^b  Send break for source
        host to the number of milliseconds specified by
          -- destination host during this sampling interval,





Steven Waldbusser  Expires November 17, 1996         [Page 87]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        counted using the decimal digits that follow.  If no digits follow,
          --        break will be enforced rules for 250 milliseconds by default.
          --
          -- The following ASCII control characters may be inserted into
          -- counting the "^s" send string or alMatrixSDPkts
        object.

        If the "^w" reply string:
          --
          --    ^@    0x00
          --    ^A    0x01
          --     ..
          --    ^M value of alMatrixTopNControlRateBase is
        alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, this
        variable will be used to sort this report."
    ::= { alMatrixTopNEntry 6 }

alMatrixTopNReversePktRate OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of packets seen of this protocol from the
        destination host to the source host during this sampling
        interval, counted using the rules for counting the
        alMatrixDSPkts object  (note that the corresponding
        alMatrixSDPkts object selected is the one whose source address
        is equal to alMatrixTopNDestAddress and whose destination
        address is equal to alMatrixTopNSourceAddress.)

        Note that if the value of alMatrixTopNControlRateBase is equal
        to alMatrixTopNTerminalsPkts or alMatrixTopNAllPkts, the sort
        of topN entries is based entirely on alMatrixTopNPktRate, and
        not on the value of this object."
    ::= { alMatrixTopNEntry 7 }

alMatrixTopNOctetRate OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The number of octets seen of this protocol from the source
        host to the destination host during this sampling interval,
        counted using the rules for counting the alMatrixSDOctets
        object.

        If the value of alMatrixTopNControlRateBase is
        alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, this
        variable will be used to sort this report."
    ::= { alMatrixTopNEntry 8 }

alMatrixTopNReverseOctetRate OBJECT-TYPE
    SYNTAX     Integer32
    MAX-ACCESS read-only





Steven Waldbusser  Expires November 17, 1996         [Page 88]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    STATUS     current
    DESCRIPTION
        "The number of octets seen of this protocol from the
        destination host to the source host during this sampling
        interval, counted using the rules for counting the
        alMatrixDSOctets object  (note that the corresponding
        alMatrixSDOctets object selected is the one whose source
        address is equal to alMatrixTopNDestAddress and whose
        destination address is equal to alMatrixTopNSourceAddress.)

        Note that if the value of alMatrixTopNControlRateBase is equal
        to alMatrixTopNTerminalsOctets or alMatrixTopNAllOctets, the
        sort of topN entries is based entirely on
        alMatrixTopNOctetRate, and not on the value of this object."
    ::= { alMatrixTopNEntry 9 }

--
-- User History Collection Group (usrHistory)
--
-- The usrHistory group combines mechanisms seen in the alarm and
-- history groups to provide user-specified history collection,
-- utilizing two additional control tables and one additional data
-- table. This function has traditionally been done by NMS
-- applications, via periodic polling.  The usrHistory group allows
-- this task to be offloaded to an RMON probe.
--
-- Data (an ASN.1 INTEGER based object) is collected in the same
-- manner as any history data table (e.g. etherHistoryTable) except
-- that the user specifies the MIB instances to be collected. Objects
-- are collected in bucket-groups, with the intent that all MIB
-- instances in the same bucket-group are collected as atomically as
-- possible by the RMON probe.
--
-- The usrHistoryControlTable is a one-dimensional read-create table.
-- Each row configures a collection of user history buckets, much
-- the same as a historyControlEntry, except that the creation of a
-- row in this table will cause one or more associated instances in
-- the usrHistoryObjectTable to be created. The user specifies the
-- number of bucket elements (rows in the usrHistoryObjectTable)
-- requested, as well as the number of buckets requested.
--
-- The usrHistoryObjectTable is a 2-d read-write table.
-- Each row configures a single MIB instance to be collected.
-- All rows with the same major index constitute a bucket-group.
--





Steven Waldbusser  Expires November 17, 1996         [Page 89]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


-- The usrHistoryTable is a 3-d read-only table containing
-- the data of associated usrHistoryControlEntries. Each
-- entry represents the value of a single MIB instance
-- during a specific sampling interval (or the rate of
-- change during the interval).
--
-- A sample value is stored in two objects - an absolute value and
-- a status object. This allows numbers from -(2G-1) to +4G to be
-- stored.  The status object also indicates whether a sample is
-- valid. This allows data collection to continue if periodic
-- retrieval of a particular instance fails for any reason.
--
-- Row Creation Order Relationships
--
-- The static nature of the usrHistoryObjectTable creates
-- some row creation/modification issues. The rows in this
-- table need to be set before the associated
-- usrHistoryControlEntry can be activated.
--
-- Note that the usrHistoryObject entries associated with a
-- particular usrHistoryControlEntry are not required to
-- be active before the control entry is activated. However,
-- the usrHistory data entries associated with an inactive
-- usrHistoryObject entry will be inactive (i.e.
-- usrHistoryValStatus == valueNotAvailable).
--

usrHistoryControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF UsrHistoryControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of data-collection configuration entries."
    ::= { usrHistory 1 }

usrHistoryControlEntry OBJECT-TYPE
    SYNTAX UsrHistoryControlEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of parameters that set up a group of user-defined
        MIB objects to be sampled periodically (called a
        bucket-group).

        For example, an instance of usrHistoryControlInterval





Steven Waldbusser  Expires November 17, 1996         [Page 90]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        might be named usrHistoryControlInterval.1"
    INDEX { usrHistoryControlIndex }
    ::= { usrHistoryControlTable 1 }

UsrHistoryControlEntry ::= SEQUENCE {
    usrHistoryControlIndex             Integer32,
    usrHistoryControlObjects           Integer32,
    usrHistoryControlBucketsRequested  Integer32,
    usrHistoryControlBucketsGranted    Integer32,
    usrHistoryControlInterval          Integer32,
    usrHistoryControlOwner             OwnerString,
    usrHistoryControlStatus            RowStatus
}

usrHistoryControlIndex OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An index that uniquely identifies an entry in the
        usrHistoryControlTable.  Each such entry defines a
        set of samples at a particular interval for a specified
        set of MIB instances available from the managed system."
    ::= { usrHistoryControlEntry 1 }

usrHistoryControlObjects OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The number of MIB objects to be collected
        in the portion of usrHistoryTable associated with this
        usrHistoryControlEntry.

        This object may not be modified if the associated instance
        of usrHistoryControlStatus is equal to active(1)."
    ::= { usrHistoryControlEntry 2 }

usrHistoryControlBucketsRequested OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The requested number of discrete time intervals
        over which data is to be saved in the part of the





Steven Waldbusser  Expires November 17, 1996         [Page 91]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        usrHistoryTable associated with this usrHistoryControlEntry.

        When this object is created or modified, the probe
        should set usrHistoryControlBucketsGranted as closely to
        this object as is possible for the particular probe
        implementation and available resources."
    DEFVAL { 50 }
    ::= { usrHistoryControlEntry 3 }

usrHistoryControlBucketsGranted OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The number of discrete sampling intervals
        over which data shall be saved in the part of
        the usrHistoryTable associated with this
        usrHistoryControlEntry.

        When the associated usrHistoryControlBucketsRequested
        object is created or modified, the probe should set
        this object as closely to the requested value as is
        possible for the particular  probe implementation and
        available resources.  The probe must not lower this
        value except as a result of a modification to the associated
        usrHistoryControlBucketsRequested object.

        The associated usrHistoryControlBucketsRequested object
        should be set before or at the same time as this object
        to allow the probe to accurately estimate the resources
        required for this usrHistoryControlEntry.

        There will be times when the actual number of buckets
        associated with this entry is less than the value of
        this object.  In this case, at the end of each sampling
        interval, a new bucket will be added to the usrHistoryTable.

        When the number of buckets reaches the value of this object
        and a new bucket is to be added to the usrHistoryTable,
        the oldest bucket associated with this usrHistoryControlEntry
        shall be deleted by the agent so that the new bucket can be
        added.

        When the value of this object changes to a value less than
        the current value, entries are deleted from the





Steven Waldbusser  Expires November 17, 1996         [Page 92]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        usrHistoryTable associated with this usrHistoryControlEntry.
        Enough of the oldest of these entries shall be deleted by the
        agent so that their number remains less than or equal to the
        new value of this object.

        When the value of this object changes to a value greater
        than the current value, the number of associated usrHistory
        entries may be allowed to grow."
    ::= { usrHistoryControlEntry 4 }


usrHistoryControlInterval OBJECT-TYPE
    SYNTAX Integer32 (1..2147483647)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The interval in seconds over which the data is
        sampled for each bucket in the part of the usrHistory
        table associated with this usrHistoryControlEntry.

        Because the counters in a bucket may overflow at their
        maximum value with no indication, a prudent manager will
        take into account the possibility of overflow in any of
        the associated counters. It is important to consider the
        minimum time in which any counter could overflow on a
        particular media type and set the usrHistoryControlInterval
        object to a value less than this interval.

        This object may not be modified if the associated
        usrHistoryControlStatus object is equal to active(1)."
    DEFVAL { 1800 }
    ::= { usrHistoryControlEntry 5 }

usrHistoryControlOwner OBJECT-TYPE
    SYNTAX OwnerString
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The entity that configured this entry and is
        therefore using the resources assigned to it."
    ::= { usrHistoryControlEntry 6 }

usrHistoryControlStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create





Steven Waldbusser  Expires November 17, 1996         [Page 93]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    STATUS current
    DESCRIPTION
        "The status of this variable history control entry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value.

        If this object is not equal to active(1), all associated
        entries in the usrHistoryObjectTable and the usrHistoryTable
        shall be deleted."
    ::= { usrHistoryControlEntry 7 }

-- Object table

usrHistoryObjectTable OBJECT-TYPE
    SYNTAX SEQUENCE OF UsrHistoryObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of data-collection configuration entries."
    ::= { usrHistory 2 }

usrHistoryObjectEntry OBJECT-TYPE
    SYNTAX UsrHistoryObjectEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of MIB instances to be sampled periodically.

        Entries in this table are created when an associated
        usrHistoryControlObjects object is created.

        The usrHistoryControlIndex value in the index is
        that of the associated usrHistoryControlEntry.

        For example, an instance of usrHistoryObjectVariable might be
        usrHistoryObjectVariable.1.3"
    INDEX { usrHistoryControlIndex, usrHistoryObjectIndex }
    ::= { usrHistoryObjectTable 1 }

UsrHistoryObjectEntry ::= SEQUENCE {
    usrHistoryObjectIndex             Integer32,
    usrHistoryObjectVariable          OBJECT IDENTIFIER,
    usrHistoryObjectSampleType        INTEGER
}





Steven Waldbusser  Expires November 17, 1996         [Page 94]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


usrHistoryObjectIndex OBJECT-TYPE
    SYNTAX Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "An index used to uniquely identify an entry in the
        usrHistoryObject table.  Each such entry defines a
        MIB instance to be collected periodically."
    ::= { usrHistoryObjectEntry 1 }


usrHistoryObjectVariable OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The object identifier of the particular variable to be
        sampled.

        Only variables that resolve to an ASN.1 primitive type of
        Integer32 (Integer32, Counter, Gauge, or TimeTicks) may be
        sampled.

        Because SNMP access control is articulated entirely in terms
        of the contents of MIB views, no access control mechanism
        exists that can restrict the value of this object to identify
        only those objects that exist in a particular MIB view.
        Because there is thus no acceptable means of restricting the
        read access that could be obtained through the user history
        mechanism, the probe must only grant write access to this
        object in those views that have read access to all objects on
        the probe.

        During a set operation, if the supplied variable name is not
        available in the selected MIB view, a badValue error must be
        returned.

        This object may not be modified if the associated
        usrHistoryControlStatus object is equal to active(1)."
    ::= { usrHistoryObjectEntry 2 }

usrHistoryObjectSampleType OBJECT-TYPE
    SYNTAX INTEGER {
               absoluteValue(1),
               deltaValue(2)





Steven Waldbusser  Expires November 17, 1996         [Page 95]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


           }
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
        "The method of sampling the selected variable for storage in
        the usrHistoryTable.

        If the value of this object is absoluteValue(1), the value of
        the selected variable will be copied directly into the history
        bucket.

        If the value of this object is deltaValue(2), the value of the
        selected variable at the last sample will be subtracted from
        the current value, and the difference will be stored in the
        history bucket. If the associated usrHistoryObjectVariable
        instance could not be obtained at the previous sample
        interval, then a delta sample is not possible, and the value
        of the associated usrHistoryValStatus object for this interval
        will be valueNotAvailable(1).

        This object may not be modified if the associated
        usrHistoryControlStatus object is equal to active(1)."
    ::= { usrHistoryObjectEntry 3 }

-- data table

usrHistoryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF UsrHistoryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of user defined history entries."
    ::= { usrHistory 3 }

usrHistoryEntry OBJECT-TYPE
    SYNTAX UsrHistoryEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A historical sample of user-defined variables.  This sample
        is associated with the usrHistoryControlEntry which set up the
        parameters for a regular collection of these samples.

        The usrHistoryControlIndex value in the index identifies the
        usrHistoryControlEntry on whose behalf this entry was created.





Steven Waldbusser  Expires November 17, 1996         [Page 96]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        The usrHistoryObjectIndex value in the index identifies the
        usrHistoryObjectEntry on whose behalf this entry was created.

        For example, an instance of usrHistoryAbsValue, which represents
        the 14th sample of a variable collected as specified by
        usrHistoryControlEntry.1 and usrHistoryObjectEntry.1.5,
        would be named usrHistoryAbsValue.1.14.5"
    INDEX { usrHistoryControlIndex, usrHistorySampleIndex,
            usrHistoryObjectIndex }
    ::= { usrHistoryTable 1 }

UsrHistoryEntry ::= SEQUENCE {
    usrHistorySampleIndex   Integer32,
    usrHistoryIntervalStart TimeStamp,
    usrHistoryIntervalEnd   TimeStamp,
    usrHistoryAbsValue      Gauge32,
    usrHistoryValStatus     INTEGER
}

usrHistorySampleIndex OBJECT-TYPE
    SYNTAX     Integer32 (1..2147483647)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index that uniquely identifies the particular sample this
        entry represents among all samples associated with the same
        usrHistoryControlEntry. This index starts at 1 and increases
        by one as each new sample is taken."
    ::= { usrHistoryEntry 1 }

usrHistoryIntervalStart OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of sysUpTime at the start of the interval over
        which this sample was measured.  If the probe keeps track of
        the time of day, it should start the first sample of the
        history at a time such that when the next hour of the day
        begins, a sample is started at that instant.

        Note that following this rule may require the probe to delay
        collecting the first sample of the history, as each sample
        must be of the same interval. Also note that the sample which
        is currently being collected is not accessible in this table





Steven Waldbusser  Expires November 17, 1996         [Page 97]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        until the end of its interval."
    ::= { usrHistoryEntry 2 }

usrHistoryIntervalEnd OBJECT-TYPE
    SYNTAX TimeStamp
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The value of sysUpTime at the end of the interval over which
        this sample was measured."
    ::= { usrHistoryEntry 3 }

usrHistoryAbsValue OBJECT-TYPE
    SYNTAX Gauge32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The absolute value (i.e. unsigned value) of the
        user-specified statistic during the last sampling period. The
        value during the current sampling period is not made available
        until the period is completed.

        To obtain the true value for this sampling interval, the
        associated instance of usrHistoryValStatus must be checked,
        and usrHistoryAbsValue adjusted as necessary.

        If the MIB instance could not be accessed during the sampling
        interval, then this object will have a value of zero and the
        associated instance of usrHistoryValStatus will be set to
        'valueNotAvailable(1)'."
    ::= { usrHistoryEntry 4 }


usrHistoryValStatus OBJECT-TYPE
    SYNTAX INTEGER {
        valueNotAvailable(1),
        valuePositive(2),
        valueNegative(3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This object indicates the validity and sign of the data in
        the associated instance of usrHistoryAbsValue.






Steven Waldbusser  Expires November 17, 1996         [Page 98]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        If the MIB instance could not be accessed during the sampling
        interval, then 'valueNotAvailable(1)' will be returned.

        If the sample is valid and actual value of the sample is
        greater than or equal to zero then 'valuePositive(2)' is
        returned.

        If the sample is valid and the actual value of the sample is
        less than zero, 'valueNegative(3)' will be returned. The
        associated instance of usrHistoryAbsValue should be multiplied
        by -1 to obtain the true sample value."
    ::= { usrHistoryEntry 5 }

-- The Probe Configuration Group
--
-- This group controls the configuration of various operating
-- parameters of the probe.

ControlString ::= TEXTUAL-CONVENTION
    STATUS current
    DESCRIPTION
        "This data type is used to communicate with a modem or a
        serial data switch.  A ControlString contains embedded
        commands to control how the device will interact with the
        remote device through the serial interface.  Commands are
        represented as two character sequences beginning with
        the `^' character.

        The following commands are recognized by the device (note
        that command characters are case sensitive):

           ^s  Send string that follows which is terminated by the
               next command or the end of string.
           ^c  Delay for the number of seconds that follows.  Toss
               out any data received rather than storing it in a
               buffer for parsing.
           ^t  Set timeout to the value represented by the decimal
               digits that follow.  The default timeout is 20
               seconds. Note that this timeout may be overridden
               by a smaller serialTimeout configured for the
               associated serial interface (see serialConfigTable).
           ^w  Wait for the reply string that follows which is
               terminated by the next command or the end of string.
               Partial and case insensitive matching is applied, ie.
               if the reply string (any case combination) is found





Steven Waldbusser  Expires November 17, 1996         [Page 99]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


               anywhere in the received string, then the a match is
               found.  If the current timeout elapses without a match,
               then the remaining control string is ignored.
           ^!  The ^ character.
           ^d  Delay the number of seconds specified by the decimal
               digits that follow.
           ^b  Send break for the number of milliseconds specified by
               the decimal digits that follow.  If no digits follow,
               break will be enforced for 250 milliseconds by default.

        The following ASCII control characters may be inserted into
        the `^s' send string or the `^w' reply string:

           ^@    0x00
           ^A    0x01
            ..
           ^M    0x0D
            ..
           ^Z    0x1A
           ^[    0x1B
           ^    0x1C
           ^]    0x1D
           ^^    0x1E
           ^_    0x1F

        Binary data may also be inserted into the data stream.  The
        control sequence for each byte of binary data is ^0x##, where
        ## is the hexadecimal representation of the data byte.  Two
        ASCII characters (0-9, a-f, A-F) must follow the `^0x'
        control prefix.  For example, `^0x0D^0x0A' is interpreted as a
        carriage return followed by a line feed."
    SYNTAX DisplayString

probeCapabilities OBJECT-TYPE
    SYNTAX BITS {
        etherStats(0),
        historyControl(1),
        etherHistory(2),
        alarm(3),
        hosts(4),
        hostTopN(5),
        matrix(6),
        filter(7),
        capture(8),
        event(9),





Steven Waldbusser  Expires November 17, 1996        [Page 100]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        tokenRingMLStats(10),
        tokenRingPStats(11),
        tokenRingMLHistory(12),
        tokenRingPHistory(13),
        ringStation(14),
        ringStationOrder(15),
        ringStationConfig(16),
        sourceRouting(17),
        protocolDirectory(18),
        protocolDistribution(19),
        addressMapping(20),
        nlHost(21),
        nlMatrix(22),
        alHost(23),
        alMatrix(24),
        usrHistory(25),
        probeConfig(26)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "An indication of the RMON MIB groups supported
        on at least one interface by this probe."
    ::= { probeConfig 1 }

probeSoftwareRev  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..15))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The software revision of this device.  This string will have
        a zero length if the revision is unknown."
    ::= { probeConfig 2 }

probeHardwareRev  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..31))
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The hardware revision of this device.  This string will have
        a zero length if the revision is unknown."
    ::= { probeConfig 3 }

probeDateTime  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0 | 8 | 11))





Steven Waldbusser  Expires November 17, 1996        [Page 101]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Probe's current date and time.

         field  octets  contents                  range
         -----  ------  --------                  -----
           1      1-2   year                      0..65536
           2       3    month                     1..12
           3       4    day                       1..31
           4       5    hour                      0..23
           5       6    minutes                   0..59
           6       7    seconds                   0..60
                         (use 60 for leap-second)
           7       8    deci-seconds              0..9
           8       9    direction from UTC        '+' / '-'
           9      10    hours from UTC            0..11
          10      11    minutes from UTC          0..59

         For example, Tuesday May 26, 1992 at 1:30:15 PM
         EDT would be displayed as:

                     1992-5-26,13:30:15.0,-4:0

         Note that if only local time is known, then
         timezone information (fields 8-10) is not
         present, and if no time information is known, the null
         string is returned."
    ::= { probeConfig 4 }

probeResetControl  OBJECT-TYPE
    SYNTAX     INTEGER {
                    running(1),
                    warmBoot(2),
                    coldBoot(3)
              }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "Setting this object to warmBoot(2) causes the device to
        restart the application software with current configuration
        parameters saved in non-volatile memory.  Setting this
        object to coldBoot(3) causes the device to reinitialize
        configuration parameters in non-volatile memory to default
        values and restart the application software.  When the device





Steven Waldbusser  Expires November 17, 1996        [Page 102]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        is running normally, this variable has a value of
        running(1)."
    ::= { probeConfig 5 }

-- The following download objects do not restrict an implementation
-- from implementing additional download mechanisms (controlled in an
-- implementation-specific manner).  Further, in the case where the RMON
-- agent shares a processor with other types of systems, the
-- implementation is not required to download those non-RMON functions
-- with this mechanism.

probeDownloadFile  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..127))
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The file name to be downloaded from the TFTP server when a
        download is next requested via this MIB.  This value is set to
        the zero length string when no file name has been specified."
    ::= { probeConfig 6 }

probeDownloadTFTPServer  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "The IP address of the TFTP server that contains the boot
        image to load when a download is next requested via this MIB.
        This value is set to `0.0.0.0' when no IP address has been
        specified."
    ::= { probeConfig 7 }

probeDownloadAction  OBJECT-TYPE
    SYNTAX     INTEGER {
                  notDownloading(1),
                  downloadToPROM(2),
                  downloadToRAM(3)
               }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "When this object is set to downloadToRAM(2) or
        downloadToPROM(3), the device will discontinue its
        normal operation and begin download of the image specified
        by probeDownloadFile from the server specified by





Steven Waldbusser  Expires November 17, 1996        [Page 103]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        probeDownloadTFTPServer using the TFTP protocol.  If
        downloadToRAM(2) is specified, the new image is copied
        to RAM only (the old image remains unaltered in the flash
        EPROM).  If downloadToPROM(3) is specified
        the new image is written to the flash EPROM
        memory after its checksum has been verified to be correct.
        When the download process is completed, the device will
        warm boot to restart the newly loaded application.
        When the device is not downloading, this object will have
        a value of notDownloading(1)."
    ::= { probeConfig 8 }

probeDownloadStatus  OBJECT-TYPE
    SYNTAX     INTEGER {
                    downloadSuccess(1),
                    downloadStatusUnknown(2),
                    downloadGeneralError(3),
                    downloadNoResponseFromServer(4),
                    downloadChecksumError(5),
                    downloadIncompatibleImage(6),
                    downloadTftpFileNotFound(7),
                    downloadTftpAccessViolation(8)
               }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The status of the last download procedure, if any.  This
        object will have a value of downloadStatusUnknown(2) if no
        download process has been performed."
    ::= { probeConfig 9 }

serialConfigTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF SerialConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A table of serial interface configuration entries.  This data
        will be stored in non-volatile memory and preserved across
        probe resets or power loss."
    ::= { probeConfig 10 }

serialConfigEntry  OBJECT-TYPE
    SYNTAX     SerialConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current





Steven Waldbusser  Expires November 17, 1996        [Page 104]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    DESCRIPTION
        "A set of configuration parameters for a particular
        serial interface on this device. If the device has no serial
        interfaces, this table is empty.

        The index is composed of the ifIndex assigned to this serial
        line interface."
    INDEX  { ifIndex }
    ::= { serialConfigTable 1 }

SerialConfigEntry ::= SEQUENCE {
    serialMode                   INTEGER,
    serialProtocol               INTEGER,
    serialTimeout                Integer32 (1..65535),
    serialModemInitString        ControlString (SIZE (0..255)),
    serialModemHangUpString      ControlString (SIZE (0..255)),
    serialModemConnectResp       DisplayString (SIZE (0..255)),
    serialModemNoConnectResp     DisplayString (SIZE (0..255)),
    serialDialoutTimeout         Integer32 (1..65535),
    serialStatus                 RowStatus
}

serialMode  OBJECT-TYPE
    SYNTAX     INTEGER {
                   direct(1),
                   modem(2)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The type of incoming connection to expect on this serial
        interface."
    DEFVAL { direct }
    ::= { serialConfigEntry 1 }

serialProtocol  OBJECT-TYPE
    SYNTAX     INTEGER {
                   other(1),
                   slip(2),
                   ppp(3)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The type of data link encapsulation to be used on this





Steven Waldbusser  Expires November 17, 1996        [Page 105]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        serial interface."
    DEFVAL { slip }
    ::= { serialConfigEntry 2 }

serialTimeout  OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "This timeout value is used when the Management Station has
        initiated the conversation over the serial link. This variable
        represents the number of seconds of inactivity allowed before
        terminating the connection on this serial interface. Use the
        serialDialoutTimeout in the case where the probe has initiated
        the connection for the purpose of sending a trap."
    DEFVAL { 300 }
    ::= { serialConfigEntry 3 }

serialModemInitString  OBJECT-TYPE
    SYNTAX     ControlString (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "A control string which controls how a modem attached to this
        serial interface should be initialized.  The initialization
        is performed once during startup and again after each
        connection is terminated if the associated serialMode has the
        value of modem(2).

        A control string that is appropriate for a wide variety of
        modems is: '^s^MATE0Q0V1X4 S0=1 S2=43^M'."
    ::= { serialConfigEntry 4 }

serialModemHangUpString  OBJECT-TYPE
    SYNTAX     ControlString (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "A control string which specifies how to disconnect a modem
         connection on this serial interface.  This object is only
         meaningful if the associated serialMode has the value
         of modem(2).
         A control string that is appropriate for a wide variety of
         modems is: '^d2^s+++^d2^sATH0^M^d2'."
    ::= { serialConfigEntry 5 }





Steven Waldbusser  Expires November 17, 1996        [Page 106]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


serialModemConnectResp  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "An ASCII string containing substrings that describe the
        expected modem connection response code and associated bps
        rate.  The substrings are delimited by the first character
        in the string, for example:
           /CONNECT/300/CONNECT 1200/1200/CONNECT 2400/2400/
           CONNECT 4800/4800/CONNECT 9600/9600
        will be interpreted as:
            response code    bps rate
            CONNECT            300
            CONNECT 1200      1200
            CONNECT 2400      2400
            CONNECT 4800      4800
            CONNECT 9600      9600
        The agent will use the information in this string to adjust
        the bps rate of this serial interface once a modem connection
        is established.

        A value that is appropriate for a wide variety of modems is:
        '/CONNECT/300/CONNECT 1200/1200/CONNECT 2400/2400/
         CONNECT 4800/4800/CONNECT 9600/9600/CONNECT 14400/14400/
        CONNECT 19200/19200/CONNECT 38400/38400/'."
    ::= { serialConfigEntry 6 }

serialModemNoConnectResp  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE (0..255))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "An ASCII string containing response codes that may be
        generated by a modem to report the reason why a connection
        attempt has failed.  The response codes are delimited by
        the first character in the string, for example:
           /NO CARRIER/BUSY/NO DIALTONE/NO ANSWER/ERROR/
        If one of these response codes is received via this serial
        interface while attempting to make a modem connection,
        the agent will issue the hang up command as specified by
        serialModemHangUpString.

        A value that is appropriate for a wide variety of modems is:
        '/NO CARRIER/BUSY/NO DIALTONE/NO ANSWER/ERROR/'."





Steven Waldbusser  Expires November 17, 1996        [Page 107]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    ::= { serialConfigEntry 7 }

serialDialoutTimeout  OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "This timeout value is used when the probe initiates the
        serial connection with the intention of contacting a
        management station. This variable represents the number
        of seconds of inactivity allowed before terminating the
        connection on this serial interface."
    DEFVAL { 20 }
    ::= { serialConfigEntry 8 }

serialStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this serialConfigEntry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value."
    ::= { serialConfigEntry 9 }

netConfigTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF NetConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A table of netConfigEntries."
    ::= { probeConfig 11 }

netConfigEntry  OBJECT-TYPE
    SYNTAX     NetConfigEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A set of configuration parameters for a particular
        network interface on this device. If the device has no network
        interface, this table is empty.

        The index is composed of the ifIndex assigned to the
        corresponding interface."





Steven Waldbusser  Expires November 17, 1996        [Page 108]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    INDEX  { ifIndex }
    ::= { netConfigTable 1 }

NetConfigEntry ::= SEQUENCE {
    netConfigIPAddress         IpAddress,
    netConfigSubnetMask        IpAddress,
    netConfigStatus            RowStatus
}

netConfigIPAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The IP address of this Net interface.  The default value
        for this object is 0.0.0.0.  If either the netConfigIPAddress
        or netConfigSubnetMask are 0.0.0.0, then when the device
        boots, it may use BOOTP to try to figure out what these
        values should be. If BOOTP fails, before the device
        can talk on the network, this value must be configured
        (e.g., through a terminal attached to the device). If BOOTP is
        used, care should be taken to not send BOOTP broadcasts too
        frequently and to eventually send very infrequently if no
        replies are received."
    ::= { netConfigEntry 1 }

netConfigSubnetMask  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The subnet mask of this Net interface.  The default value
        for this object is 0.0.0.0.  If either the netConfigIPAddress
        or netConfigSubnetMask are 0.0.0.0, then when the device
        boots, it may use BOOTP to try to figure out what these
        values should be. If BOOTP fails, before the device
        can talk on the network, this value must be configured
        (e.g., through a terminal attached to the device). If BOOTP is
        used, care should be taken to not send BOOTP broadcasts too
        frequently and to eventually send very infrequently if no
        replies are received."
    ::= { netConfigEntry 2 }

netConfigStatus  OBJECT-TYPE
    SYNTAX     RowStatus





Steven Waldbusser  Expires November 17, 1996        [Page 109]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this netConfigEntry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value."
    ::= { netConfigEntry 3 }

netDefaultGateway  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The IP Address of the default gateway.  If this value is
        undefined or unknown, it shall have the value 0.0.0.0."
    ::= { probeConfig 12 }

-- Trap Destination Table
--
-- This table defines the destination addresses for traps generated
-- from the device.  This table maps a community to one or more trap
-- destination entries.
--
-- The same trap will be sent to all destinations specified in the
-- entries that have the same trapDestCommunity as the eventCommunity
-- (as defined by RMON MIB).  Information in this table will be stored
-- in non-volatile memory.  If the device has gone through a hard
-- restart, this information will be reset to its default state.

trapDestTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF TrapDestEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of trap destination entries."
    ::= { probeConfig 13 }

trapDestEntry  OBJECT-TYPE
    SYNTAX     TrapDestEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This entry includes a destination IP address to which to send
        traps for this community."





Steven Waldbusser  Expires November 17, 1996        [Page 110]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    INDEX { trapDestIndex }
    ::= { trapDestTable 1 }

TrapDestEntry ::= SEQUENCE {
    trapDestIndex               Integer32,
    trapDestCommunity           OCTET STRING,
    trapDestProtocol            INTEGER,
    trapDestAddress             OCTET STRING,
    trapDestOwner               OwnerString,
    trapDestStatus              RowStatus
}

trapDestIndex  OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A value that uniquely identifies this trapDestEntry."
    ::= { trapDestEntry 1 }

trapDestCommunity  OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE(0..127))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "A community to which this destination address belongs.
        This entry is associated with any eventEntries in the RMON
        MIB whose value of eventCommunity is equal to the value of
        this object.  Every time an associated event entry sends a
        trap due to an event, that trap will be sent to each
        address in the trapDestTable with a trapDestCommunity equal to
        eventCommunity.

        This object may not be modified if the associated
        trapDestStatus object is equal to active(1)."
    ::= { trapDestEntry 2 }

trapDestProtocol OBJECT-TYPE
    SYNTAX     INTEGER {
                    ip(1),
                    ipx(2)
                }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION





Steven Waldbusser  Expires November 17, 1996        [Page 111]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        "The protocol with which to send this trap."
    ::= { trapDestEntry 3 }

trapDestAddress  OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The address to send traps on behalf of this entry.

        If the associated trapDestProtocol object is equal to ip(1),
        the encoding of this object is the same as the snmpUDPAddress
        textual convention in [RFC1906]:
          -- for a SnmpUDPAddress of length 6:
          --
          -- octets   contents        encoding
          --  1-4     IP-address      network-byte order
          --  5-6     UDP-port        network-byte order

        If the associated trapDestProtocol object is equal to ipx(2),
        the encoding of this object is the same as the snmpIPXAddress
        textual convention in [RFC1906]:
          -- for a SnmpIPXAddress of length 12:
          --
          -- octets   contents            encoding
          --  1-4     network-number      network-byte order
          --  5-10    physical-address    network-byte order
          -- 11-12    socket-number       network-byte order

        This object may not be modified if the associated
        trapDestStatus object is equal to active(1)."
    ::= { trapDestEntry 4 }

trapDestOwner  OBJECT-TYPE
    SYNTAX     OwnerString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The entity that configured this entry and is
        therefore using the resources assigned to it."
    ::= { trapDestEntry 5 }

trapDestStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create





Steven Waldbusser  Expires November 17, 1996        [Page 112]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    STATUS     current
    DESCRIPTION
        "The status of this trap destination entry.

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value."
    ::= { trapDestEntry 6 }

-- Serial Connection Table
--
-- The device may communicate with a management station using
-- SLIP.  In order for the device to send traps via SLIP, it must
-- be able to initiate a connection over the serial interface.  The
-- serialConnectionTable stores the parameters for such connection
-- initiation.

serialConnectionTable  OBJECT-TYPE
    SYNTAX     SEQUENCE OF SerialConnectionEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A list of serialConnectionEntries."
    ::= { probeConfig 14 }

serialConnectionEntry  OBJECT-TYPE
    SYNTAX     SerialConnectionEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Configuration for a SLIP link over a serial line."
    INDEX { serialConnectIndex }
    ::= { serialConnectionTable 1 }

SerialConnectionEntry ::= SEQUENCE {
    serialConnectIndex                   Integer32,
    serialConnectDestIpAddress           IpAddress,
    serialConnectType                    INTEGER,
    serialConnectDialString              ControlString,
    serialConnectSwitchConnectSeq        ControlString,
    serialConnectSwitchDisconnectSeq     ControlString,
    serialConnectSwitchResetSeq          ControlString,
    serialConnectOwner                   OwnerString,
    serialConnectStatus                  RowStatus
}






Steven Waldbusser  Expires November 17, 1996        [Page 113]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


serialConnectIndex  OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "A value that uniquely identifies this serialConnection
        entry."
    ::= { serialConnectionEntry 1 }

serialConnectDestIpAddress  OBJECT-TYPE
    SYNTAX     IpAddress
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The IP Address that can be reached at the other end of this
        serial connection.
        This object may not be modified if the associated
        serialConnectStatus object is equal to active(1)."
    ::= { serialConnectionEntry 2 }


serialConnectType  OBJECT-TYPE
    SYNTAX     INTEGER {
                    direct(1),
                    modem(2),
                    switch(3),
                    modemSwitch(4)
               }
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The type of outgoing connection to make.  If this object
        has the value direct(1), then a direct serial connection
        is assumed.  If this object has the value modem(2),
        then serialConnectDialString will be used to make a modem
        connection.  If this object has the value switch(3),
        then serialConnectSwitchConnectSeq will be used to establish
        the connection over a serial data switch, and
        serialConnectSwitchDisconnectSeq will be used to terminate
        the connection.  If this object has the value
        modem-switch(4), then a modem connection will be made first
        followed by the switch connection.

        This object may not be modified if the associated
        serialConnectStatus object is equal to active(1)."





Steven Waldbusser  Expires November 17, 1996        [Page 114]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    DEFVAL { direct }
    ::= { serialConnectionEntry 3 }

serialConnectDialString  OBJECT-TYPE
    SYNTAX     ControlString (SIZE(0..255))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "A control string which specifies how to dial the phone
        number in order to establish a modem connection.  The
        string should include dialing prefix and suffix.  For
        example: ``^s^MATD9,888-1234^M'' will instruct the Probe
        to send a carriage return followed by the dialing prefix
        ``ATD'', the phone number ``9,888-1234'', and a carriage
        return as the dialing suffix.
        This object may not be modified if the associated
        serialConnectStatus object is equal to active(1)."
    ::= { serialConnectionEntry 4 }

serialConnectSwitchConnectSeq  OBJECT-TYPE
    SYNTAX     ControlString (SIZE(0..255))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "A control string which specifies how to establish a
        data switch connection.
        This object may not be modified if the associated
        serialConnectStatus object is equal to active(1)."
     ::= { serialConnectionEntry 5 }

serialConnectSwitchDisconnectSeq  OBJECT-TYPE
    SYNTAX     ControlString (SIZE(0..255))
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "A control string which specifies how to terminate a
        data switch connection.
        This object may not be modified if the associated
        serialConnectStatus object is equal to active(1)."
    ::= { serialConnectionEntry 6 }

serialConnectSwitchResetSeq  OBJECT-TYPE
    SYNTAX     ControlString (SIZE(0..255))
    MAX-ACCESS read-create
    STATUS     current





Steven Waldbusser  Expires November 17, 1996        [Page 115]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    DESCRIPTION
        "A control string which specifies how to reset a data
        switch in the event of a timeout.
        This object may not be modified if the associated
        serialConnectStatus object is equal to active(1)."
    ::= { serialConnectionEntry 7 }

serialConnectOwner  OBJECT-TYPE
    SYNTAX     OwnerString
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The entity that configured this entry and is
        therefore using the resources assigned to it."
    ::= { serialConnectionEntry 8 }

serialConnectStatus  OBJECT-TYPE
    SYNTAX     RowStatus
    MAX-ACCESS read-create
    STATUS     current
    DESCRIPTION
        "The status of this serialConnectionEntry.

        If the manager attempts to set this object to active(1) when
        the serialConnectType is set to modem(2) or modem-switch(4)
        and the serialConnectDialString is a zero-length string or
        cannot be correctly parsed as a ConnectString, the set
        request will be rejected with badValue(3).

        If the manager attempts to set this object to active(1) when
        the serialConnectType is set to switch(3) or modem-switch(4)
        and the serialConnectSwitchConnectSeq,
        the serialConnectSwitchDisconnectSeq, or
        the serialConnectSwitchResetSeq are zero-length strings
        or cannot be correctly parsed as ConnectStrings, the set
        request will be rejected with badValue(3).

        An entry may not exist in the active state unless all
        objects in the entry have an appropriate value."
    ::= { serialConnectionEntry 9 }

--     ..
--    ^Z    0x1A Extensions to the RMON 1 MIB for RMON 2 devices
--    ^[    0x1B
--    ^    0x1C These extensions include the standard LastCreateTime Textual





Steven Waldbusser  Expires November 17, 1996        [Page 116]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


--    ^]    0x1D Convention for all control tables, as well as an augmentation of
--    ^^    0x1E the filter entry that provides variable-length offsets into
--    ^_    0x1F packets.


-- Each of the following, except for filterDroppedFrames, is a
-- read-only object which, if implemented, automatically appears when
-- Binary data may also the RMON1 row it is associated with is created.

etherStats2Table  OBJECT-TYPE
    SYNTAX     SEQUENCE OF EtherStats2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    ::= { statistics 4 }

etherStats2Entry  OBJECT-TYPE
    SYNTAX     EtherStats2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    AUGMENTS { etherStatsEntry }
    ::= { etherStats2Table 1 }

EtherStats2Entry ::= SEQUENCE {
    etherStatsDroppedFrames     Counter32,
    etherStatsCreateTime        LastCreateTime
}

etherStatsDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of frames which were received by the probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the probe
        is out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.





Steven Waldbusser  Expires November 17, 1996        [Page 117]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { etherStats2Entry 1 }

etherStatsCreateTime OBJECT-TYPE
    SYNTAX     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of sysUpTime when this control entry was last
        activated. This can be used by the management station to
        ensure that the table has not been deleted and recreated
        between polls."
    ::= { etherStats2Entry 2 }

historyControl2Table  OBJECT-TYPE
    SYNTAX     SEQUENCE OF HistoryControl2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    ::= { history 5 }

historyControl2Entry  OBJECT-TYPE
    SYNTAX     HistoryControl2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    AUGMENTS { historyControlEntry }
    ::= { historyControl2Table 1 }

HistoryControl2Entry ::= SEQUENCE {
    historyControlDroppedFrames Counter32
}

historyControlDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of frames which were received by the probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the probe





Steven Waldbusser  Expires November 17, 1996        [Page 118]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        is out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { historyControl2Entry 1 }

hostControl2Table  OBJECT-TYPE
    SYNTAX     SEQUENCE OF HostControl2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    ::= { hosts 4 }

hostControl2Entry  OBJECT-TYPE
    SYNTAX     HostControl2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    AUGMENTS { hostControlEntry }
    ::= { hostControl2Table 1 }

HostControl2Entry ::= SEQUENCE {
    hostControlDroppedFrames    Counter32,
    hostControlCreateTime       LastCreateTime
}

hostControlDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of frames which were received by the probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the probe
        is out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted





Steven Waldbusser  Expires November 17, 1996        [Page 119]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


        because they had MAC-layer errors.

        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { hostControl2Entry 1 }

hostControlCreateTime OBJECT-TYPE
    SYNTAX     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of sysUpTime when this control entry was last
        activated. This can be inserted into used by the management station to
        ensure that the table has not been deleted and recreated
        between polls."
    ::= { hostControl2Entry 2 }

matrixControl2Table  OBJECT-TYPE
    SYNTAX     SEQUENCE OF MatrixControl2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    ::= { matrix 4 }

matrixControl2Entry  OBJECT-TYPE
    SYNTAX     MatrixControl2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to RMON-1."
    AUGMENTS { matrixControlEntry }
    ::= { matrixControl2Table 1 }

MatrixControl2Entry ::= SEQUENCE {
    matrixControlDroppedFrames  Counter32,
    matrixControlCreateTime     LastCreateTime
}

matrixControlDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of frames which were received by the data stream.  The probe





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996        [Page 83] 120]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


          -- control sequence    May 17, 1996


        and therefore not accounted for each byte of binary data is ^0x##, where
          -- ## is in the hexadecimal representation of *StatsDropEvents, but
        for which the data byte.  Two
          -- ASCII characters (0-9, a-f, A-F) must follow probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the "^0x" control
          -- prefix.  For example, "^0x0D^0x0A" probe
        is interpreted as a carriage
          -- return followed by a line feed.

          probeCapabilities out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { matrixControl2Entry 1 }

matrixControlCreateTime OBJECT-TYPE
    SYNTAX Integer32     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
                  "An indication of the RMON MIB groups supported
                   on at least one interface by this probe.
                   The
        "The value of sysUpTime when this mask is a sum. control entry was last
        activated. This sum
                   initially takes the value zero.  Then, for each
                   MIB group G, that is supported can be used by this probe,
                   2 raised to a value representing G is added to the
                   sum.

                   Over time, addition MIB groups may be defined. A
                   probe must set all unused bits management station to zero, and an NMS
                   must ignore unknown bits.

                   The RMON groups are defined as follows:

                    G (bit#)      Group name
                    --------------------------------------
                    From RFC 1757:
                    0             etherStats
                    1             historyControl
                    2             etherHistory
                    3             alarm
                    4             hosts
                    5             hostTopN
                    6             matrix
                    7             filter
                    8             capture
                    9             event

                    From RFC 1513:
                    10            tokenRingMLStats
                    11            tokenRingPStats
                    12            tokenRingMLHistory
                    13            tokenRingPHistory
                    14            ringStation





          Steven Waldbusser    Expires Nov 22, 1995            [Page 84]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


                    15            ringStationOrder
                    16            ringStationConfig
                    17            sourceRouting

                    From [??? RMON-2 groups here ???]:
                    18            protocolDir
                    19            protocolDist
                    20            addressMapping
                    21            slHost
                    22            slMatrix
                    23            slHistory
                    24            slFilter
                    25            usrHistory
                    26            probeConfig

                    For example, an RMON probe supporting
        ensure that the etherStats,
                    historyControl, table has not been deleted and etherHistory groups would have
                    a value of 7 (2^0 + 2^1 + 2^2)." recreated
        between polls."
    ::= { probeConfig 1 matrixControl2Entry 2 }

          probeIdentification

channel2Table  OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..127))     SEQUENCE OF Channel2Entry
    MAX-ACCESS read-write not-accessible
    STATUS     current
    DESCRIPTION
                  "A string uniquely identifying this device."
        "Contains the RMON-2 augmentations to RMON-1."
    ::= { probeConfig 2 filter 4 }

          probeFirmwareRev

channel2Entry  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..15))     Channel2Entry
    MAX-ACCESS read-only not-accessible
    STATUS     current
    DESCRIPTION
                  "The firmware revision of this device."
        "Contains the RMON-2 augmentations to RMON-1."
    AUGMENTS { channelEntry }
    ::= { probeConfig 3 channel2Table 1 }

          probeHardwareRev  OBJECT-TYPE
              SYNTAX     DisplayString (SIZE(0..31))
              MAX-ACCESS read-only
              STATUS     current
              DESCRIPTION
                  "The hardware revision of this device."

Channel2Entry ::= SEQUENCE { probeConfig 4
    channelDroppedFrames    Counter32,
    channelCreateTime       LastCreateTime
}

          probeDateTime  OBJECT-TYPE





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996        [Page 85] 121]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995    May 17, 1996


channelDroppedFrames OBJECT-TYPE
    SYNTAX     OCTET STRING (SIZE (0 | 8 | 11))     Counter32
    MAX-ACCESS read-write read-only
    STATUS     current
    DESCRIPTION
                  "Probe's current date
       "The total number of frames which were received by the probe
        and time.

                    field  octets  contents                  range
                    -----  ------  --------                  -----
                      1      1-2   year                      0..65536
                      2       3    month                     1..12
                      3       4    day                       1..31
                      4       5    hour                      0..23
                      5       6    minutes                   0..59
                      6       7    seconds                   0..60
                                   (use 60 therefore not accounted for leap-second)
                      7       8    deci-seconds              0..9
                      8       9    direction from UTC        '+' / '-'
                      9      10    hours from UTC            0..11
                     10      11    minutes in the *StatsDropEvents, but
        for which the probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the probe
        is out of some resources and decides to shed load from UTC          0..59

                    For example, Tuesday May 26, 1992 at 1:30:15 PM
                    EDT would be displayed as:

                                1992-5-26,13:30:15.0,-4:0

                    Note this
        collection.

        This count does not include packets that if only local time is known, then
                    timezone information (fields 8-10) is were not
                    present, and if no time information is known, counted
        because they had MAC-layer errors.

        Note that, unlike the null
                    string dropEvents counter, this number is returned." the
        exact number of frames dropped."
    ::= { probeConfig 5 channel2Entry 1 }

          probeResetControl

channelCreateTime OBJECT-TYPE
    SYNTAX     INTEGER {
                              running(1),
                              warmBoot(2),
                              coldBoot(3)
                        }     LastCreateTime
    MAX-ACCESS read-write read-only
    STATUS     current
    DESCRIPTION
                  "Setting
        "The value of sysUpTime when this object to warmBoot(2) causes control entry was last
        activated. This can be used by the device management station to
                   restart
        ensure that the application software with table has not been deleted and recreated
        between polls."
    ::= { channel2Entry 2 }

tokenRingMLStats2Table  OBJECT-TYPE
    SYNTAX     SEQUENCE OF TokenRingMLStats2Entry
    MAX-ACCESS not-accessible
    STATUS     current configuration
                   parameters saved in non-volatile memory.  Setting this
                   object to coldBoot(3) causes
    DESCRIPTION
        "Contains the device RMON-2 augmentations to reinitialize
                   configuration parameters in non-volatile memory RMON-1."
    ::= { statistics 5 }

tokenRingMLStats2Entry  OBJECT-TYPE
    SYNTAX     TokenRingMLStats2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Contains the RMON-2 augmentations to default RMON-1."
    AUGMENTS { tokenRingMLStatsEntry }





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996        [Page 86] 122]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


                   values    May 17, 1996


    ::= { tokenRingMLStats2Table 1 }

TokenRingMLStats2Entry ::= SEQUENCE {
    tokenRingMLStatsDroppedFrames       Counter32,
    tokenRingMLStatsCreateTime          LastCreateTime
}

tokenRingMLStatsDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The total number of frames which were received by the probe
        and restart therefore not accounted for in the application software.  When *StatsDropEvents, but
        for which the device probe chose not to count for this entry for
        whatever reason.  Most often, this event occurs when the probe
        is running normally, out of some resources and decides to shed load from this variable has a
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that, unlike the dropEvents counter, this number is the
        exact number of frames dropped."
    ::= { tokenRingMLStats2Entry 1 }

tokenRingMLStatsCreateTime OBJECT-TYPE
    SYNTAX     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The value of running(1)." sysUpTime when this control entry was last activated.
        This can be used by the management station to ensure that the
        table has not been deleted and recreated between polls."
    ::= { probeConfig 6 tokenRingMLStats2Entry 2 }

          probeDownloadFile

tokenRingPStats2Table  OBJECT-TYPE
    SYNTAX     DisplayString (SIZE(0..127))     SEQUENCE OF TokenRingPStats2Entry
    MAX-ACCESS read-write not-accessible
    STATUS     current
    DESCRIPTION
                  "The file name to be downloaded from
        "Contains the TFTP server." RMON-2 augmentations to RMON-1."
    ::= { probeConfig 7 statistics 6 }

          probeDownloadTFTPServer

tokenRingPStats2Entry  OBJECT-TYPE





Steven Waldbusser  Expires November 17, 1996        [Page 123]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    SYNTAX     IpAddress     TokenRingPStats2Entry
    MAX-ACCESS read-write not-accessible
    STATUS     current
    DESCRIPTION
                  "The IP address of the TFTP server that contains
        "Contains the boot
                   image RMON-2 augmentations to load." RMON-1."
    AUGMENTS {  tokenRingPStatsEntry }
    ::= { probeConfig 8 tokenRingPStats2Table 1 }

          probeDownloadAction  OBJECT-TYPE
              SYNTAX     INTEGER

TokenRingPStats2Entry ::= SEQUENCE {
                            imageValid(1),
                            downloadToPROM(2),
                            downloadToRAM(3)
    tokenRingPStatsDroppedFrames    Counter32,
    tokenRingPStatsCreateTime       LastCreateTime
}

tokenRingPStatsDroppedFrames OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-write read-only
    STATUS     current
    DESCRIPTION
                  "When this object is set to downloadToRAM(2) or
                   downloadToPROM(3), the device will discontinue its
                   normal operation and begin download
       "The total number of the image specified
                   by probeDownLoadFile from the server specifed frames which were received by
                   probeDownLoadTFTPServer using the TFTP protocol.  If
                   downloadToRAM(2) is specified, the new image is copied
                   to RAM only (the old image remains unaltered probe
        and therefore not accounted for in the flash
                   EPROM).  If downloadToPROM(3) is specified
                   the new image is written to *StatsDropEvents, but
        for which the flash EPROM
                   memory after its checksum has been verified probe chose not to be correct.
                   When count for this entry for
        whatever reason.  Most often, this event occurs when the download process probe
        is completed, the device will
                   warm boot out of some resources and decides to restart the newly loaded application.
                   When the device is shed load from this
        collection.

        This count does not downloading, include packets that were not counted
        because they had MAC-layer errors.

        Note that, unlike the dropEvents counter, this object will have
                   a value number is the
        exact number of imageValid(1)." frames dropped."
    ::= { probeConfig 9 tokenRingPStats2Entry 1 }





          Steven Waldbusser    Expires Nov 22, 1995            [Page 87]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995



          probeDownloadStatus

tokenRingPStatsCreateTime OBJECT-TYPE
    SYNTAX     INTEGER {
                              downloadSuccess(1),
                              downloadFailed(2),
                              downloadStatusUnknown(3)
                         }     LastCreateTime
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
                  "The status of the last download procedure, if any.  This object
                   will have a
        "The value of downloadStatusUnknown(3) if no download
                   process sysUpTime when this control entry was last activated.
        This can be used by the management station to ensure that the
        table has not been performed." deleted and recreated between polls."
    ::= { probeConfig 10 tokenRingPStats2Entry 2 }

          serialConfigTable

ringStationControl2Table  OBJECT-TYPE
    SYNTAX     SEQUENCE OF SerialConfigEntry RingStationControl2Entry
    MAX-ACCESS not-accessible





Steven Waldbusser  Expires November 17, 1996        [Page 124]





Internet Draft   Remote Network Monitoring MIB    May 17, 1996


    STATUS     current
    DESCRIPTION
                  "A table of serial interface configuration entries.  This data
                  will be stored in non-volatile memory and preserved across
                  probe resets or power loss."
        "Contains the RMON-2 augmentations to RMON-1."
    ::= { probeConfig 11 tokenRing 7 }

          serialConfigEntry

ringStationControl2Entry  OBJECT-TYPE
    SYNTAX     SerialConfigEntry     RingStationControl2Entry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
                  "A set of configuration parameters for a particular
                   serial interface on this device."
              INDEX
        "Contains the RMON-2 augmentations to RMON-1."
    AUGMENTS { serialIfIndex ringStationControlEntry }
    ::= { serialConfigTable ringStationControl2Table 1 }

          SerialConfigEntry

RingStationControl2Entry ::= SEQUENCE {
              serialIfIndex                Integer32 (1..65535),
              serialIpAddress              IpAddress,
              serialSubnetMask             IpAddress,
              serialMode                   INTEGER,
              serialProtocol               INTEGER,
              serialSpeed                  INTEGER,
              serialTimeout                Integer32 (1..65535),
              serialModemInitString        ControlString (SIZE (0..255)),
              serialModemHangUpString      ControlString (SIZE (0..255)),





          Steven Waldbusser    Expires Nov 22, 1995            [Page 88]





          Internet Draft  Remote Network Monitoring MIB     June 1, 1995


              serialModemConnectResp       DisplayString (SIZE (0..255)),
              serialModemNoConnectResp     DisplayString (SIZE (0..255)),
              serialFlowControl            INTEGER,
              serialDialoutTimeout         Integer32 (1..65535)
    ringStationControlDroppedFrames Counter32,
    ringStationControlCreateTime    LastCreateTime
}

          serialIfIndex

ringStationControlDroppedFrames OBJECT-TYPE
    SYNTAX     Integer32 (1..65535)     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
       "The value total number of this object uniquely identifies frames which were received by the serial
                   interface on this device probe
        and therefore not accounted for in the *StatsDropEvents, but
        for which the probe chose not to count for this entry contains
                   configuration parameters.  The interface identified by a
                   particular value of for
        whatever reason.  Most often, this object is the same interface as
                   identified by the same value of event occurs when the ifIndex object, defined
                   in RFC 1213."
              ::= { serialConfigEntry 1 }

          serialIpAddress  OBJECT-TYPE
              SYNTAX     IpAddress
              MAX-ACCESS read-create
              STATUS     current
              DESCRIPTION
                  "The IP address probe
        is out of some resources and decides to shed load from this
        collection.

        This count does not include packets that were not counted
        because they had MAC-layer errors.

        Note that, unlike the dropEvents counter, this serial interface."
              ::= { serialConfigEntry 2 }

          serialSubnetMask  OBJECT-TYPE
              SYNTAX     IpAddress
              MAX-ACCESS read-create
              STATUS     current
              DESCRIPTION
                  "The IP subnet mask number is the
        exact number of this serial interface." frames dropped."
    ::= { serialConfigEntry 3 ringStationControl2Entry 1 }

          serialMode

ringStationControlCreateTime OBJECT-TYPE
    SYNTAX     INTEGER {
                             direct(1),
                             modem(2)
                         }     LastCreateTime
    MAX-ACCESS read-create read-only
    STATUS     current
    DESCRIPTION
        "The type value of incoming connection to expect on sysUpTime when this serial
                   interface." control entry was last activated.
        This can be used by the management station to ensure that the





Steven Waldbusser  Expires Nov 22, 1995 November 17, 1996        [Page 89] 125]





Internet Draft   Remote Network Monitoring MIB     June 1, 1995


              DEFVAL { direct }    May 17, 1996


        table has not been deleted and recreated between polls."
    ::= { serialConfigEntry 4 ringStationControl2Entry 2 }

          serialProtocol

sourceRoutingStats2Table  OBJECT-TYPE
    SYNTAX     INTEGER {