RFC2108

From RFC-Wiki

Network Working Group K. de Graaf Request for Comments: 2108 3Com Corporation Obsoletes: 1516 D. Romascanu Category: Standards Track Madge Networks (Israel) Ltd.

                                                         D. McMaster
                                               Coloma Communications
                                                       K. McCloghrie
                                                  Cisco Systems Inc.
                                                       February 1997
                 Definitions of Managed Objects
                for IEEE 802.3 Repeater Devices
                          using SMIv2

Status of this Memo

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

Abstract

This memo defines a portion of the Management Information Base (MIB) for use with network management protocols in the Internet community. In particular, it defines objects for managing IEEE 802.3 10 and 100 Mb/second baseband repeaters based on IEEE Std 802.3 Section 30, "10 & 100 Mb/s Management," October 26, 1995.

The SNMP Network Management Framework

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

o the SMI, described in RFC 1902 [6] - the mechanisms used

    for describing and naming objects for the purpose of
    management.

o the MIB-II, STD 17, RFC 1213 [5] - the core set of

    managed objects for the Internet suite of protocols.

o the protocol, STD 15, RFC 1157 [10] and/or RFC 1905

    [9] - the protocol used for accessing managed information.

Textual conventions are defined in RFC 1903 [7], and conformance statements are defined in RFC 1904 [8].

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

Object Definitions

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the subset of Abstract Syntax Notation one (ASN.1) defined in the SMI. In particular, each object type is named by an OBJECT IDENTIFIER, an administratively assigned name. 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 descriptor, to refer to the object type.

Overview

Relationship to RFC 1516

This MIB is intended as a superset of that defined by RFC 1516 [11], which will go to historic status. This MIB includes all of the objects contained in that MIB, plus several new ones which provide

for significant additional capabilities. Implementors are encouraged to support all applicable conformance groups in order to make the best use of the new functionality provided by this MIB. The new objects provide support for:

o multiple repeaters

o 100BASE-T management

o port TopN capability

o address search and topology mapping

Certain objects have been deprecated; in particular, those scalar objects used for managing a single repeater are now of minimal use since they are duplicated in the new multiple- repeater definitions. Additional objects have been deprecated based on implementation experience with RFC 1516.

Repeater Management

Instances of the object types defined in this memo represent attributes of an IEEE 802.3 (Ethernet-like) repeater, as defined by Section 9, "Repeater Unit for 10 Mb/s Baseband Networks" in the IEEE 802.3/ISO 8802-3 CSMA/CD standard [1], and Section 27, "Repeater for 100 Mb/s Baseband Networks" in the IEEE Standard 802.3u-1995 [2].

These Repeater MIB objects may be used to manage non-standard repeater-like devices, but defining objects to describe implementation-specific properties of non-standard repeater- like devices is outside the scope of this memo.

The definitions presented here are based on Section 30.4, "Layer Management for 10 and 100 Mb/s Baseband Repeaters" and Annex 30A, "GDMO Specificataions for 802.3 managed objects" of [3].

Implementors of these MIB objects should note that [3] explicitly describes when, where, and how various repeater attributes are measured. The IEEE document also describes the effects of repeater actions that may be invoked by manipulating instances of the MIB objects defined here.

The counters in this document are defined to be the same as those counters in [3], with the intention that the same instrumentation can be used to implement both the IEEE and IETF management standards.

Structure of the MIB

Objects in this MIB are arranged into packages, each of which contains a set of related objects within a broad functional category. Objects within a package are generally defined under the same OID subtree. These packages are intended for organizational convenience ONLY, and have no relation to the conformance groups defined later in the document.

Basic Definitions

The basic definitions include objects which are applicable to all repeaters: status, parameter and control objects for each repeater within the managed system, for the port groups within the system, and for the individual ports themselves.

Monitor Definitions

The monitor definitions include monitoring statistics for each repeater within the system and for individual ports.

Address Tracking Definitions

This collection includes objects for tracking the MAC addresses of the DTEs attached to the ports within the system and for mapping the topology of a network.

Note: These definitions are based on a technology which has been patented by Hewlett-Packard Company. HP has granted rights to this technology to implementors of this MIB. See [12] and [13] for details.

Top N Definitions

These objects may be used for tracking the ports with the most activity within the system or within particular repeaters.

Relationship to Other MIBs

Relationship to MIB-II

It is assumed that a repeater implementing this MIB will also implement (at least) the 'system' group defined in MIB-II [5].

Relationship to the 'system' group

In MIB-II, the 'system' group is defined as being mandatory for all systems such that each managed entity contains one instance of each object in the 'system' group. Thus, those objects apply to the entity even if the entity's sole functionality is management of repeaters.

Relationship to the 'interfaces' group

In MIB-II, the 'interfaces' group is defined as being mandatory for all systems and contains information on an entity's interfaces, where each interface is thought of as being attached to a 'subnetwork'. (Note that this term is not to be confused with 'subnet' which refers to an addressing partitioning scheme used in the Internet suite of protocols.)

This Repeater MIB uses the notion of ports on a repeater. The concept of a MIB-II interface has NO specific relationship to a repeater's port. Therefore, the 'interfaces' group applies only to the one (or more) network interfaces on which the entity managing the repeater sends and receives management protocol operations, and does not apply to the repeater's ports.

This is consistent with the physical-layer nature of a repeater. A repeater is a bitwise store-and-forward device. It recognizes activity and bits, but does not process incoming data based on any packet-related information (such as checksum or addresses). A repeater has no MAC address, no MAC implementation, and does not pass packets up to higher-level protocol entities for processing.

(When a network management entity is observing a repeater, it may appear as though the repeater is passing packets to a higher-level protocol entity. However, this is only a means of implementing management, and this passing of management information is not part of the repeater functionality.)

Definitions

SNMP-REPEATER-MIB DEFINITIONS ::= BEGIN

IMPORTS

   Counter32, Counter64, Integer32, Gauge32, TimeTicks,
   OBJECT-TYPE, MODULE-IDENTITY, NOTIFICATION-TYPE, mib-2
       FROM SNMPv2-SMI
   TimeStamp, DisplayString, MacAddress, TEXTUAL-CONVENTION,
   RowStatus, TestAndIncr
       FROM SNMPv2-TC
   OBJECT-GROUP, MODULE-COMPLIANCE
       FROM SNMPv2-CONF
   OwnerString
       FROM IF-MIB;

snmpRptrMod MODULE-IDENTITY

   LAST-UPDATED    "9609140000Z"
   ORGANIZATION    "IETF HUB MIB Working Group"
   CONTACT-INFO
       "WG E-mail: [email protected]
            Chair: Dan Romascanu
           Postal: Madge Networks (Israel) Ltd.
                   Atidim Technology Park, Bldg. 3
                   Tel Aviv 61131, Israel
              Tel: 972-3-6458414, 6458458
              Fax: 972-3-6487146
           E-mail: [email protected]
           Editor: Kathryn de Graaf
           Postal: 3Com Corporation
                   118 Turnpike Rd.
                   Southborough, MA 01772 USA
              Tel: (508)229-1627
              Fax: (508)490-5882
           E-mail: [email protected]"
   DESCRIPTION
       "Management information for 802.3 repeaters.
       The following references are used throughout
       this MIB module:
       [IEEE 802.3 Std]
           refers to IEEE 802.3/ISO 8802-3 Information
           processing systems - Local area networks -
           Part 3: Carrier sense multiple access with
           collision detection (CSMA/CD) access method
           and physical layer specifications (1993).
       [IEEE 802.3 Mgt]
           refers to IEEE 802.3u-1995, '10 Mb/s &
           100 Mb/s Management, Section 30,'
           Supplement to ANSI/IEEE 802.3.
       The following terms are used throughout this
       MIB module.  For complete formal definitions,
       the IEEE 802.3 standards should be consulted
       wherever possible:
       System - A managed entity compliant with this
       MIB, and incorporating at least one managed
       802.3 repeater.
       Chassis - An enclosure for one managed repeater,
       part of a managed repeater, or several managed
       repeaters.  It typically contains an integral
       power supply and a variable number of available
       module slots.
       Repeater-unit - The portion of the repeater set
       that is inboard of the physical media interfaces.
       The physical media interfaces (MAUs, AUIs) may be
       physically separated from the repeater-unit, or
       they may be integrated into the same physical
       package.
       Trivial repeater-unit - An isolated port that can
       gather statistics.
       Group - A recommended, but optional, entity
       defined by the IEEE 802.3 management standard,
       in order to support a modular numbering scheme.
       The classical example allows an implementor to
       represent field-replaceable units as groups of
       ports, with the port numbering matching the
       modular hardware implementation.
       System interconnect segment - An internal
       segment allowing interconnection of ports
       belonging to different physical entities
       into the same logical manageable repeater.
       Examples of implementation might be
       backplane busses in modular hubs, or
       chaining cables in stacks of hubs.
       Stack - A scalable system that may include
       managed repeaters, in which modularity is
       achieved by interconnecting a number of
       different chassis.
       Module - A building block in a modular
       chassis.  It typically maps into one 'slot';
       however, the range of configurations may be
       very large, with several modules entering
       one slot, or one module covering several
       slots.
       "
   REVISION "9309010000Z"
   DESCRIPTION
       "Published as RFC 1516"
   REVISION "9210010000Z"
   DESCRIPTION
       "Published as RFC 1368"
   ::= { snmpDot3RptrMgt 5 }

snmpDot3RptrMgt OBJECT IDENTIFIER ::= { mib-2 22 }

OptMacAddr ::= TEXTUAL-CONVENTION

   DISPLAY-HINT    "1x:"
   STATUS          current
   DESCRIPTION
       "Either a 6 octet address in the `canonical'
       order defined by IEEE 802.1a, i.e., as if it
       were transmitted least significant bit first
       if a value is available or a zero length string."
   REFERENCE
       "See MacAddress in SNMPv2-TC. The only difference
       is that a zero length string is allowed as a value
       for OptMacAddr and not for MacAddress."
   SYNTAX OCTET STRING (SIZE (0 | 6))

-- Basic information at the repeater, group, and port level.

rptrBasicPackage

   OBJECT IDENTIFIER ::= { snmpDot3RptrMgt 1 }
 rptrRptrInfo
       OBJECT IDENTIFIER ::= { rptrBasicPackage 1 }
 rptrGroupInfo
       OBJECT IDENTIFIER ::= { rptrBasicPackage 2 }
 rptrPortInfo
       OBJECT IDENTIFIER ::= { rptrBasicPackage 3 }
 rptrAllRptrInfo
       OBJECT IDENTIFIER ::= { rptrBasicPackage 4 }

-- Monitoring information at the repeater, group, and port level. rptrMonitorPackage

   OBJECT IDENTIFIER ::= { snmpDot3RptrMgt 2 }
 rptrMonitorRptrInfo
       OBJECT IDENTIFIER ::= { rptrMonitorPackage 1 }
 rptrMonitorGroupInfo
       OBJECT IDENTIFIER ::= { rptrMonitorPackage 2 }
 rptrMonitorPortInfo
       OBJECT IDENTIFIER ::= { rptrMonitorPackage 3 }
 rptrMonitorAllRptrInfo
       OBJECT IDENTIFIER ::= { rptrMonitorPackage 4 }

-- Address tracking information at the repeater, group, -- and port level. rptrAddrTrackPackage

   OBJECT IDENTIFIER ::= { snmpDot3RptrMgt 3 }
 rptrAddrTrackRptrInfo
       OBJECT IDENTIFIER ::= { rptrAddrTrackPackage 1 }
 rptrAddrTrackGroupInfo
       -- this subtree is currently unused
       OBJECT IDENTIFIER ::= { rptrAddrTrackPackage 2 }
 rptrAddrTrackPortInfo
       OBJECT IDENTIFIER ::= { rptrAddrTrackPackage 3 }

-- TopN information. rptrTopNPackage

       OBJECT IDENTIFIER ::= { snmpDot3RptrMgt 4 }
 rptrTopNRptrInfo
       -- this subtree is currently unused
       OBJECT IDENTIFIER ::= { rptrTopNPackage 1 }
 rptrTopNGroupInfo
       -- this subtree is currently unused
       OBJECT IDENTIFIER ::= { rptrTopNPackage 2 }
 rptrTopNPortInfo
       OBJECT IDENTIFIER ::= { rptrTopNPackage 3 }

-- Old version of basic information at the repeater level. -- -- In a system containing a single managed repeater, -- configuration, status, and control objects for the overall -- repeater.

-- -- The objects contained under the rptrRptrInfo subtree are -- intended for backwards compatibility with implementations of -- RFC 1516 [11]. In newer implementations (both single- and -- multiple-repeater implementations) the rptrInfoTable should -- be implemented. It is the preferred source of this information, -- as it contains the values for all repeaters managed by the -- agent. In all cases, the objects in the rptrRptrInfo subtree -- are duplicates of the corresponding objects in the first entry -- of the rptrInfoTable.

rptrGroupCapacity OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           The rptrGroupCapacity is the number of groups
           that can be contained within the repeater.  Within
           each managed repeater, the groups are uniquely
           numbered in the range from 1 to rptrGroupCapacity.
           Some groups may not be present in the repeater, in
           which case the actual number of groups present
           will be less than rptrGroupCapacity.  The number
           of groups present will never be greater than
           rptrGroupCapacity.
           Note:  In practice, this will generally be the
           number of field-replaceable units (i.e., modules,
           cards, or boards) that can fit in the physical
           repeater enclosure, and the group numbers will
           correspond to numbers marked on the physical
           enclosure."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.1.3,
           aRepeaterGroupCapacity."
   ::= { rptrRptrInfo 1 }

rptrOperStatus OBJECT-TYPE

   SYNTAX      INTEGER {
                 other(1),            -- undefined or unknown
                 ok(2),               -- no known failures
                 rptrFailure(3),      -- repeater-related failure
                 groupFailure(4),     -- group-related failure
                 portFailure(5),      -- port-related failure
                 generalFailure(6)    -- failure, unspecified type
               }
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           The rptrOperStatus object indicates the
           operational state of the repeater.  The
           rptrHealthText object may be consulted for more
           specific information about the state of the
           repeater's health.
           In the case of multiple kinds of failures (e.g.,
           repeater failure and port failure), the value of
           this attribute shall reflect the highest priority
           failure in the following order, listed highest
           priority first:
               rptrFailure(3)
               groupFailure(4)
               portFailure(5)
               generalFailure(6)."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.1.5, aRepeaterHealthState."
   ::= { rptrRptrInfo 2 }

rptrHealthText OBJECT-TYPE

   SYNTAX      DisplayString (SIZE (0..255))
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           The health text object is a text string that
           provides information relevant to the operational
           state of the repeater.  Agents may use this string
           to provide detailed information on current
           failures, including how they were detected, and/or
           instructions for problem resolution.  The contents
           are agent-specific."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.1.6, aRepeaterHealthText."
   ::= { rptrRptrInfo 3 }

rptrReset OBJECT-TYPE

   SYNTAX      INTEGER {
                 noReset(1),
                 reset(2)
               }
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           Setting this object to reset(2) causes a
           transition to the START state of Fig 9-2 in
           section 9 [IEEE 802.3 Std] for a 10Mb/s repeater,
           and the START state of Fig 27-2 in section 27
           of that standard for a 100Mb/s repeater.
           Setting this object to noReset(1) has no effect.
           The agent will always return the value noReset(1)
           when this object is read.
           After receiving a request to set this variable to
           reset(2), the agent is allowed to delay the reset
           for a short period.  For example, the implementor
           may choose to delay the reset long enough to allow
           the SNMP response to be transmitted.  In any
           event, the SNMP response must be transmitted.
           This action does not reset the management counters
           defined in this document nor does it affect the
           portAdminStatus parameters.  Included in this
           action is the execution of a disruptive Self-Test
           with the following characteristics:  a) The nature
           of the tests is not specified.  b) The test resets
           the repeater but without affecting management
           information about the repeater.  c) The test does
           not inject packets onto any segment.  d) Packets
           received during the test may or may not be
           transferred.  e) The test does not interfere with
           management functions.
           After performing this self-test, the agent will
           update the repeater health information (including
           rptrOperStatus and rptrHealthText), and send a
           rptrHealth trap."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.2.1, acResetRepeater."
   ::= { rptrRptrInfo 4 }

rptrNonDisruptTest OBJECT-TYPE

   SYNTAX      INTEGER {
                 noSelfTest(1),
                 selfTest(2)
               }
   MAX-ACCESS  read-write
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           Setting this object to selfTest(2) causes the
           repeater to perform a agent-specific, non-
           disruptive self-test that has the following
           characteristics:  a) The nature of the tests is
           not specified.  b) The test does not change the
           state of the repeater or management information
           about the repeater.  c) The test does not inject
           packets onto any segment.  d) The test does not
           prevent the relay of any packets.  e) The test
           does not interfere with management functions.
           After performing this test, the agent will update
           the repeater health information (including
           rptrOperStatus and rptrHealthText) and send a
           rptrHealth trap.
           Note that this definition allows returning an
           'okay' result after doing a trivial test.
           Setting this object to noSelfTest(1) has no
           effect.  The agent will always return the value
           noSelfTest(1) when this object is read."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.2.2,
           acExecuteNonDisruptiveSelfTest."
   ::= { rptrRptrInfo 5 }

rptrTotalPartitionedPorts OBJECT-TYPE

   SYNTAX      Gauge32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           This object returns the total number of ports in
           the repeater whose current state meets all three
           of the following criteria:  rptrPortOperStatus
           does not have the value notPresent(3),
           rptrPortAdminStatus is enabled(1), and
           rptrPortAutoPartitionState is autoPartitioned(2)."
   ::= { rptrRptrInfo 6 }

-- Basic information at the group level. -- -- Configuration and status objects for each -- managed group in the system, independent -- of whether there is one or more managed -- repeater-units in the system.

rptrGroupTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrGroupEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "Table of descriptive and status information about
           the groups of ports."
   ::= { rptrGroupInfo 1 }

rptrGroupEntry OBJECT-TYPE

   SYNTAX      RptrGroupEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing information
           about a single group of ports."
   INDEX    { rptrGroupIndex }
   ::= { rptrGroupTable 1 }

RptrGroupEntry ::=

   SEQUENCE {
       rptrGroupIndex
           Integer32,
       rptrGroupDescr
           DisplayString,
       rptrGroupObjectID
           OBJECT IDENTIFIER,
       rptrGroupOperStatus
           INTEGER,
       rptrGroupLastOperStatusChange
           TimeTicks,
       rptrGroupPortCapacity
           Integer32
   }

rptrGroupIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the group within the
           system for which this entry contains
           information."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.2.1.1, aGroupID."
   ::= { rptrGroupEntry 1 }

rptrGroupDescr OBJECT-TYPE

   SYNTAX      DisplayString (SIZE (0..255))
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           A textual description of the group.  This value
           should include the full name and version
           identification of the group's hardware type and
           indicate how the group is differentiated from
           other types of groups in the repeater.  Plug-in
           Module, Rev A' or 'Barney Rubble 10BASE-T 4-port
           SIMM socket Version 2.1' are examples of valid
           group descriptions.
           It is mandatory that this only contain printable
           ASCII characters."
   ::= { rptrGroupEntry 2 }

rptrGroupObjectID OBJECT-TYPE

   SYNTAX      OBJECT IDENTIFIER
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The vendor's authoritative identification of the
           group.  This value may be allocated within the SMI
           enterprises subtree (1.3.6.1.4.1) and provides a
           straight-forward and unambiguous means for
           determining what kind of group is being managed.
           For example, this object could take the value
           1.3.6.1.4.1.4242.1.2.14 if vendor 'Flintstones,
           Inc.' was assigned the subtree 1.3.6.1.4.1.4242,
           and had assigned the identifier
           1.3.6.1.4.1.4242.1.2.14 to its 'Wilma Flintstone
           6-Port FOIRL Plug-in Module.'"
   ::= { rptrGroupEntry 3 }

rptrGroupOperStatus OBJECT-TYPE

   SYNTAX      INTEGER {
                 other(1),
                 operational(2),
                 malfunctioning(3),
                 notPresent(4),
                 underTest(5),
                 resetInProgress(6)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "An object that indicates the operational status
           of the group.
           A status of notPresent(4) indicates that the group
           is temporarily or permanently physically and/or
           logically not a part of the repeater.  It is an
           implementation-specific matter as to whether the
           agent effectively removes notPresent entries from
           the table.
           A status of operational(2) indicates that the
           group is functioning, and a status of
           malfunctioning(3) indicates that the group is
           malfunctioning in some way."
   ::= { rptrGroupEntry 4 }

rptrGroupLastOperStatusChange OBJECT-TYPE

   SYNTAX      TimeTicks
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           An object that contains the value of sysUpTime at
           the time when the last of the following occurred:
             1) the agent cold- or warm-started;
             2) the row for the group was created (such
                as when the group was added to the system); or
             3) the value of rptrGroupOperStatus for the
                group changed.
           A value of zero indicates that the group's
           operational status has not changed since the agent
           last restarted."
   ::= { rptrGroupEntry 5 }

rptrGroupPortCapacity OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The rptrGroupPortCapacity is the number of ports
           that can be contained within the group.  Valid
           range is 1-2147483647.  Within each group, the
           ports are uniquely numbered in the range from 1 to
           rptrGroupPortCapacity.
           Some ports may not be present in the system, in
           which case the actual number of ports present
           will be less than the value of rptrGroupPortCapacity.
           The number of ports present in the group will never
           be greater than the value of rptrGroupPortCapacity.
           Note:  In practice, this will generally be the
           number of ports on a module, card, or board, and
           the port numbers will correspond to numbers marked
           on the physical embodiment."
   REFERENCE
           "IEEE 802.3 Mgt, 30.4.2.1.2, aGroupPortCapacity."
   ::= { rptrGroupEntry 6 }

-- Basic information at the port level. -- -- Configuration and status objects for -- each managed repeater port in the system, -- independent of whether there is one or more -- managed repeater-units in the system.

rptrPortTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "Table of descriptive and status information about
           the repeater ports in the system.  The number of
           entries is independent of the number of repeaters
           in the managed system."
   ::= { rptrPortInfo 1 }

rptrPortEntry OBJECT-TYPE

   SYNTAX      RptrPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing information
           about a single port."
   INDEX    { rptrPortGroupIndex, rptrPortIndex }
   ::= { rptrPortTable 1 }

RptrPortEntry ::=

   SEQUENCE {
       rptrPortGroupIndex
           Integer32,
       rptrPortIndex
           Integer32,
       rptrPortAdminStatus
           INTEGER,
       rptrPortAutoPartitionState
           INTEGER,
       rptrPortOperStatus
           INTEGER,
       rptrPortRptrId
           Integer32
   }

rptrPortGroupIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the group containing the
           port for which this entry contains information."
   ::= { rptrPortEntry 1 }

rptrPortIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the port within the group
           for which this entry contains information.  This
           identifies the port independently from the repeater
           it may be attached to.  The numbering scheme for
           ports is implementation specific; however, this
           value can never be greater than
           rptrGroupPortCapacity for the associated group."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.1, aPortID."
   ::= { rptrPortEntry 2 }

rptrPortAdminStatus OBJECT-TYPE

   SYNTAX      INTEGER {
                 enabled(1),
                 disabled(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
           "Setting this object to disabled(2) disables the
           port.  A disabled port neither transmits nor
           receives.  Once disabled, a port must be
           explicitly enabled to restore operation.  A port
           which is disabled when power is lost or when a
           reset is exerted shall remain disabled when normal
           operation resumes.
           The admin status takes precedence over auto-
           partition and functionally operates between the
           auto-partition mechanism and the AUI/PMA.
           Setting this object to enabled(1) enables the port
           and exerts a BEGIN on the port's auto-partition
           state machine.
           (In effect, when a port is disabled, the value of
           rptrPortAutoPartitionState for that port is frozen
           until the port is next enabled.  When the port
           becomes enabled, the rptrPortAutoPartitionState
           becomes notAutoPartitioned(1), regardless of its
           pre-disabling state.)"
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.2, aPortAdminState
           and 30.4.3.2.1, acPortAdminControl."
   ::= { rptrPortEntry 3 }

rptrPortAutoPartitionState OBJECT-TYPE

   SYNTAX      INTEGER {
                 notAutoPartitioned(1),
                 autoPartitioned(2)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The autoPartitionState flag indicates whether the
           port is currently partitioned by the repeater's
           auto-partition protection.
           The conditions that cause port partitioning are
           specified in partition state machine in Sections
           9 and 27 of [IEEE 802.3 Std].  They are not
           differentiated here."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.3, aAutoPartitionState."
   ::= { rptrPortEntry 4 }

rptrPortOperStatus OBJECT-TYPE

   SYNTAX      INTEGER {
                 operational(1),
                 notOperational(2),
                 notPresent(3)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object indicates the port's operational
           status.  The notPresent(3) status indicates the
           port is physically removed (note this may or may
           not be possible depending on the type of port.)
           The operational(1) status indicates that the port
           is enabled (see rptrPortAdminStatus) and working,
           even though it might be auto-partitioned (see
           rptrPortAutoPartitionState).
           If this object has the value operational(1) and
           rptrPortAdminStatus is set to disabled(2), it is
           expected that this object's value will soon change
           to notOperational(2)."
   ::= { rptrPortEntry 5 }

rptrPortRptrId OBJECT-TYPE

   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the repeater to
           which this port belongs.  The repeater
           identified by a particular value of this object
           is the same as that identified by the same
           value of rptrInfoId.  A value of zero
           indicates that this port currently is not
           a member of any repeater."
   ::= { rptrPortEntry 6 }

-- New version of basic information at the repeater level. -- -- Configuration, status, and control objects for -- each managed repeater in the system.

rptrInfoTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrInfoEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A table of information about each
           non-trivial repeater. The number of entries
           depends on the physical configuration of the
           managed system."
   ::= { rptrAllRptrInfo 1 }

rptrInfoEntry OBJECT-TYPE

   SYNTAX      RptrInfoEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing information
           about a single non-trivial repeater."
   INDEX    { rptrInfoId }
   ::= { rptrInfoTable 1 }

RptrInfoEntry ::=

   SEQUENCE {
       rptrInfoId
           Integer32,
       rptrInfoRptrType
           INTEGER,
       rptrInfoOperStatus
           INTEGER,
       rptrInfoReset
           INTEGER,
       rptrInfoPartitionedPorts
           Gauge32,
       rptrInfoLastChange
           TimeStamp
   }

rptrInfoId OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the repeater for which
           this entry contains information."
   ::= { rptrInfoEntry 1 }

rptrInfoRptrType OBJECT-TYPE

   SYNTAX      INTEGER {
                 other(1),                -- undefined or unknown
                 tenMb(2),
                 onehundredMbClassI(3),
                 onehundredMbClassII(4)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The rptrInfoRptrType returns a value that identifies
           the CSMA/CD repeater type."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.1.2, aRepeaterType."
   ::= { rptrInfoEntry 2 }

rptrInfoOperStatus OBJECT-TYPE

   SYNTAX      INTEGER {
                 other(1),
                 ok(2),
                 failure(3)
               }
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The rptrInfoOperStatus object indicates the
           operational state of the repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.1.5, aRepeaterHealthState."
   ::= { rptrInfoEntry 3 }

rptrInfoReset OBJECT-TYPE

   SYNTAX      INTEGER {
                 noReset(1),
                 reset(2)
               }
   MAX-ACCESS  read-write
   STATUS      current
   DESCRIPTION
           "Setting this object to reset(2) causes a
           transition to the START state of Fig 9-2 in
           section 9 [IEEE 802.3 Std] for a 10Mb/s repeater,
           and to the START state of Fig 27-2 in section 27
           of that standard for a 100Mb/s repeater.
           Setting this object to noReset(1) has no effect.
           The agent will always return the value noReset(1)
           when this object is read.
           After receiving a request to set this variable to
           reset(2), the agent is allowed to delay the reset
           for a short period.  For example, the implementor
           may choose to delay the reset long enough to allow
           the SNMP response to be transmitted.  In any
           event, the SNMP response must be transmitted.
           This action does not reset the management counters
           defined in this document nor does it affect the
           portAdminStatus parameters.  Included in this
           action is the execution of a disruptive Self-Test
           with the following characteristics:  a) The nature
           of the tests is not specified.  b) The test resets
           the repeater but without affecting management
           information about the repeater.  c) The test does
           not inject packets onto any segment.  d) Packets
           received during the test may or may not be
           transferred.  e) The test does not interfere with
           management functions.
           After performing this self-test, the agent will
           update the repeater health information (including
           rptrInfoOperStatus), and send a rptrInfoResetEvent
           notification."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.2.1, acResetRepeater."
   ::= { rptrInfoEntry 4 }

rptrInfoPartitionedPorts OBJECT-TYPE

   SYNTAX      Gauge32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object returns the total number of ports in
           the repeater whose current state meets all three
           of the following criteria:  rptrPortOperStatus
           does not have the value notPresent(3),
           rptrPortAdminStatus is enabled(1), and
           rptrPortAutoPartitionState is autoPartitioned(2)."
   ::= { rptrInfoEntry 5 }

rptrInfoLastChange OBJECT-TYPE

   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The value of sysUpTime when any of the following
           conditions occurred:
             1) agent cold- or warm-started;
             2) this instance of repeater was created
                (such as when a device or module was
                added to the system);
             3) a change in the value of rptrInfoOperStatus;
             4) ports were added or removed as members of
                the repeater; or
             5) any of the counters associated with this
                repeater had a discontinuity."
   ::= { rptrInfoEntry 6 }

-- -- Old version of statistics at the repeater level. -- -- Performance monitoring statistics for the repeater -- -- In a system containing a single managed repeater-unit, -- the statistics object for the repeater-unit.

-- The objects contained under the rptrMonitorRptrInfo subtree are -- intended for backwards compatibility with implementations of -- RFC 1516 [11]. In newer implementations (both single- and -- multiple-repeater implementations), the rptrMonitorTable will -- be implemented. It is the preferred source of this information, -- as it contains the values for all repeaters managed by the -- agent. In all cases, the objects in the rptrMonitorRptrInfo -- subtree are duplicates of the corresponding objects in the -- first entry of the rptrMonitorTable.

rptrMonitorTransmitCollisions OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           For a clause 9 (10Mb/s) repeater, this counter
           is incremented every time the repeater state
           machine enters the TRANSMIT COLLISION state
           from any state other than ONE PORT LEFT
           (Ref: Fig 9-2 [IEEE 802.3 Std]).
           For a clause 27 repeater, this counter is
           incremented every time the repeater core state
           diagram enters the Jam state as a result of
           Activity(ALL) > 1 (fig 27-2 [IEEE 802.3 Std]).
           The approximate minimum time for rollover of this
           counter is 16 hours in a 10Mb/s repeater and 1.6
           hours in a 100Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.1.8, aTransmitCollisions."
   ::= { rptrMonitorRptrInfo 1 }

-- Statistics at the group level. -- -- In a system containing a single managed repeater-unit, -- the statistics objects for each group.

rptrMonitorGroupTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrMonitorGroupEntry
   MAX-ACCESS  not-accessible
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           Table of performance and error statistics for the
           groups within the repeater.  The number of entries
           is the same as that in the rptrGroupTable."
   ::= { rptrMonitorGroupInfo 1 }

rptrMonitorGroupEntry OBJECT-TYPE

   SYNTAX    RptrMonitorGroupEntry
   MAX-ACCESS  not-accessible
   STATUS    deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           An entry in the table, containing total
           performance and error statistics for a single
           group.  Regular retrieval of the information in
           this table provides a means of tracking the
           performance and health of the networked devices
           attached to this group's ports.
           The counters in this table are redundant in the
           sense that they are the summations of information
           already available through other objects.  However,
           these sums provide a considerable optimization of
           network management traffic over the otherwise
           necessary retrieval of the individual counters
           included in each sum.
           Note:  Group-level counters are
           deprecated in this MIB.  It is recommended
           that management applications instead use
           the repeater-level counters contained in
           the rptrMonTable."
   INDEX    { rptrMonitorGroupIndex }
   ::= { rptrMonitorGroupTable 1 }

RptrMonitorGroupEntry ::=

   SEQUENCE {
       rptrMonitorGroupIndex
           Integer32,
       rptrMonitorGroupTotalFrames
           Counter32,
       rptrMonitorGroupTotalOctets
           Counter32,
       rptrMonitorGroupTotalErrors
           Counter32
   }

rptrMonitorGroupIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           This object identifies the group within the
           repeater for which this entry contains
           information."
   ::= { rptrMonitorGroupEntry 1 }

rptrMonitorGroupTotalFrames OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           The total number of frames of valid frame length
           that have been received on the ports in this group
           and for which the FCSError and CollisionEvent
           signals were not asserted.  This counter is the
           summation of the values of the
           rptrMonitorPortReadableFrames counters for all of
           the ports in the group.
           This statistic provides one of the parameters
           necessary for obtaining the packet error rate.
           The approximate minimum time for rollover of this
           counter is 80 hours in a 10Mb/s repeater."
   ::= { rptrMonitorGroupEntry 2 }

rptrMonitorGroupTotalOctets OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           The total number of octets contained in the valid
           frames that have been received on the ports in
           this group.  This counter is the summation of the
           values of the rptrMonitorPortReadableOctets
           counters for all of the ports in the group.
           This statistic provides an indicator of the total
           data transferred.  The approximate minimum time
           for rollover of this counter is 58 minutes in a
           10Mb/s repeater."
   ::= { rptrMonitorGroupEntry 3 }

rptrMonitorGroupTotalErrors OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           The total number of errors which have occurred on
           all of the ports in this group.  This counter is
           the summation of the values of the
           rptrMonitorPortTotalErrors counters for all of the
           ports in the group."
   ::= { rptrMonitorGroupEntry 4 }

-- Statistics at the port level. --

rptrMonitorPortTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrMonitorPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "Table of performance and error statistics for the
           ports.  The number of entries is the same as that
           in the rptrPortTable.
           The columnar object rptrMonitorPortLastChange
           is used to indicate possible discontinuities
           of counter type columnar objects in the table."
   ::= { rptrMonitorPortInfo 1 }

rptrMonitorPortEntry OBJECT-TYPE

   SYNTAX      RptrMonitorPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing performance and
           error statistics for a single port."
   INDEX    { rptrMonitorPortGroupIndex, rptrMonitorPortIndex }
   ::= { rptrMonitorPortTable 1 }

RptrMonitorPortEntry ::=

   SEQUENCE {
       rptrMonitorPortGroupIndex
           Integer32,
       rptrMonitorPortIndex
           Integer32,
       rptrMonitorPortReadableFrames
           Counter32,
       rptrMonitorPortReadableOctets
           Counter32,
       rptrMonitorPortFCSErrors
           Counter32,
       rptrMonitorPortAlignmentErrors
           Counter32,
       rptrMonitorPortFrameTooLongs
           Counter32,
       rptrMonitorPortShortEvents
           Counter32,
       rptrMonitorPortRunts
           Counter32,
       rptrMonitorPortCollisions
           Counter32,
       rptrMonitorPortLateEvents
           Counter32,
       rptrMonitorPortVeryLongEvents
           Counter32,
       rptrMonitorPortDataRateMismatches
           Counter32,
       rptrMonitorPortAutoPartitions
           Counter32,
       rptrMonitorPortTotalErrors
           Counter32,
       rptrMonitorPortLastChange
           TimeStamp
   }

rptrMonitorPortGroupIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the group containing the
           port for which this entry contains information."
   ::= { rptrMonitorPortEntry 1 }

rptrMonitorPortIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the port within the group
           for which this entry contains information."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.1, aPortID."
   ::= { rptrMonitorPortEntry 2 }

rptrMonitorPortReadableFrames OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object is the number of frames of valid
           frame length that have been received on this port.
           This counter is incremented by one for each frame
           received on this port whose OctetCount is greater
           than or equal to minFrameSize and less than or
           equal to maxFrameSize (Ref: IEEE 802.3 Std,
           4.4.2.1) and for which the FCSError and
           CollisionEvent signals are not asserted.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           This statistic provides one of the parameters
           necessary for obtaining the packet error rate.
           The approximate minimum time for rollover of this
           counter is 80 hours at 10Mb/s."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.4, aReadableFrames."
   ::= { rptrMonitorPortEntry 3 }

rptrMonitorPortReadableOctets OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object is the number of octets contained in
           valid frames that have been received on this port.
           This counter is incremented by OctetCount for each
           frame received on this port which has been
           determined to be a readable frame (i.e., including
           FCS octets but excluding framing bits and dribble
           bits).
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           This statistic provides an indicator of the total
           data transferred.  The approximate minimum time
           for rollover of this counter in a 10Mb/s repeater
           is 58 minutes.
           For ports receiving traffic at a maximum rate in
           a 100Mb/s repeater, this counter can roll over
           in less than 6 minutes.  Since that amount of time
           could be less than a management station's poll cycle
           time, in order to avoid a loss of information a
           management station is advised to also poll the
           rptrMonitorPortUpper32Octets object, or to use the
           64-bit counter defined by
           rptrMonitorPortHCReadableOctets instead of the
           two 32-bit counters."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.5, aReadableOctets."
   ::= { rptrMonitorPortEntry 4 }

rptrMonitorPortFCSErrors OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for each frame
           received on this port with the FCSError signal
           asserted and the FramingError and CollisionEvent
           signals deasserted and whose OctetCount is greater
           than or equal to minFrameSize and less than or
           equal to maxFrameSize (Ref: 4.4.2.1, IEEE 802.3
           Std).
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 80 hours at 10Mb/s."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.6,
           aFrameCheckSequenceErrors."
   ::= { rptrMonitorPortEntry 5 }

rptrMonitorPortAlignmentErrors OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for each frame
           received on this port with the FCSError and
           FramingError signals asserted and CollisionEvent
           signal deasserted and whose OctetCount is greater
           than or equal to minFrameSize and less than or
           equal to maxFrameSize (Ref: IEEE 802.3 Std,
           4.4.2.1).  If rptrMonitorPortAlignmentErrors is
           incremented then the rptrMonitorPortFCSErrors
           Counter shall not be incremented for the same
           frame.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 80 hours at 10Mb/s."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.7, aAlignmentErrors."
   ::= { rptrMonitorPortEntry 6 }

rptrMonitorPortFrameTooLongs OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for each frame
           received on this port whose OctetCount is greater
           than maxFrameSize (Ref: 4.4.2.1, IEEE 802.3 Std).
           If rptrMonitorPortFrameTooLongs is incremented
           then neither the rptrMonitorPortAlignmentErrors
           nor the rptrMonitorPortFCSErrors counter shall be
           incremented for the frame.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 61 days in a 10Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.8, aFramesTooLong."
   ::= { rptrMonitorPortEntry 7 }

rptrMonitorPortShortEvents OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for each
           CarrierEvent on this port with ActivityDuration
           less than ShortEventMaxTime.  ShortEventMaxTime is
           greater than 74 bit times and less than 82 bit
           times.  ShortEventMaxTime has tolerances included
           to provide for circuit losses between a
           conformance test point at the AUI and the
           measurement point within the state machine.
           Notes:
           ShortEvents may indicate externally
           generated noise hits which will cause the repeater
           to transmit Runts to its other ports, or propagate
           a collision (which may be late) back to the
           transmitting DTE and damaged frames to the rest of
           the network.
           Implementors may wish to consider selecting the
           ShortEventMaxTime towards the lower end of the
           allowed tolerance range to accommodate bit losses
           suffered through physical channel devices not
           budgeted for within this standard.
           The significance of this attribute is different
           in 10 and 100 Mb/s collision domains.  Clause 9
           repeaters perform fragment extension of short
           events which would be counted as runts on the
           interconnect ports of other repeaters.  Clause
           27 repeaters do not perform fragment extension.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 16 hours in a 10Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.9, aShortEvents."
   ::= { rptrMonitorPortEntry 8 }

rptrMonitorPortRunts OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for each
           CarrierEvent on this port that meets one of the
           following two conditions.  Only one test need be
           made.  a) The ActivityDuration is greater than
           ShortEventMaxTime and less than ValidPacketMinTime
           and the CollisionEvent signal is deasserted.  b)
           The OctetCount is less than 64, the
           ActivityDuration is greater than ShortEventMaxTime
           and the CollisionEvent signal is deasserted.
           ValidPacketMinTime is greater than or equal to 552
           bit times and less than 565 bit times.
           An event whose length is greater than 74 bit times
           but less than 82 bit times shall increment either
           the shortEvents counter or the runts counter but
           not both.  A CarrierEvent greater than or equal to
           552 bit times but less than 565 bit times may or
           may not be counted as a runt.
           ValidPacketMinTime has tolerances included to
           provide for circuit losses between a conformance
           test point at the AUI and the measurement point
           within the state machine.
           Runts usually indicate collision fragments, a
           normal network event.  In certain situations
           associated with large diameter networks a
           percentage of collision fragments may exceed
           ValidPacketMinTime.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 16 hours in a 10Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.10, aRunts."
   ::= { rptrMonitorPortEntry 9 }

rptrMonitorPortCollisions OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "For a clause 9 repeater, this counter is
           incremented by one for any CarrierEvent signal
           on any port for which the CollisionEvent signal
           on this port is asserted.  For a clause 27
           repeater port the counter increments on entering
           the Collision Count Increment state of the
           partition state diagram (fig 27-8 of
           [IEEE 802.3 Std]).
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 16 hours in a 10Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.11, aCollisions."
   ::= { rptrMonitorPortEntry 10 }

rptrMonitorPortLateEvents OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "For a clause 9 repeater port, this counter is
           incremented by one for each CarrierEvent
           on this port in which the CollIn(X)
           variable transitions to the value SQE (Ref:
           9.6.6.2, IEEE 802.3 Std) while the
           ActivityDuration is greater than the
           LateEventThreshold.  For a clause 27 repeater
           port, this counter is incremented by one on
           entering the Collision Count Increment state
           of the  partition state diagram (fig 27-8)
           while the  ActivityDuration is greater than
           the LateEvent- Threshold.  Such a CarrierEvent
           is counted twice, as both a collision and as a
           lateEvent.
           The LateEventThreshold is greater than 480 bit
           times and less than 565 bit times.
           LateEventThreshold has tolerances included to
           permit an implementation to build a single
           threshold to serve as both the LateEventThreshold
           and ValidPacketMinTime threshold.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 81 hours in a 10Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.12, aLateEvents."
   ::= { rptrMonitorPortEntry 11 }

rptrMonitorPortVeryLongEvents OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "For a clause 9 repeater port, this counter
           is incremented by one for each CarrierEvent
           whose ActivityDuration is greater than the
           MAU Jabber Lockup Protection timer TW3
           (Ref: 9.6.1 & 9.6.5, IEEE 802.3 Std).
           For a clause 27 repeater port, this counter
           is incremented by one on entry to the
           Rx Jabber state of the receiver timer state
           diagram (fig 27-7).  Other counters may
           be incremented as appropriate.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.13, aVeryLongEvents."
   ::= { rptrMonitorPortEntry 12 }

rptrMonitorPortDataRateMismatches OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for each
           frame received by this port that meets all
           of the conditions required by only one of the
           following two measurement methods:
           Measurement method A:  1) The CollisionEvent
           signal is not asserted (10Mb/s operation) or
           the Collision Count Increment state of the
           partition state diagram (fig 27-8 of
           [IEEE 802.3 Std]) has not been entered
           (100Mb/s operation).  2) The ActivityDuration
           is greater than ValidPacketMinTime.  3) The
           frequency (data rate) is detectably mismatched
           from the local transmit frequency.
           Measurement method B:  1) The CollisionEvent
           signal is not asserted (10Mb/s operation)
           or the Collision Count Increment state of the
           partition state diagram (fig 27-8 of
           [IEEE 802.3 Std]) has not been entered
           (100Mb/s operation).  2) The OctetCount is
           greater than 63.  3) The frequency (data
           rate) is detectably mismatched from the local
           transmit frequency.  The exact degree of
           mismatch is vendor specific and is to be
           defined by the vendor for conformance testing.
           When this event occurs, other counters whose
           increment conditions were satisfied may or may not
           also be incremented, at the implementor's
           discretion.  Whether or not the repeater was able
           to maintain data integrity is beyond the scope of
           this standard.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.14, aDataRateMismatches."
   ::= { rptrMonitorPortEntry 13 }

rptrMonitorPortAutoPartitions OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for
           each time the repeater has automatically
           partitioned this port.
           The conditions that cause a clause 9
           repeater port to partition are specified in
           the partition state diagram in clause 9 of
           [IEEE 802.3 Std].  They are not differentiated
           here.  A clause 27 repeater port partitions
           on entry to the Partition Wait state of the
           partition state diagram (fig 27-8 in
           [IEEE 802.3 Std]).
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.15, aAutoPartitions."
   ::= { rptrMonitorPortEntry 14 }

rptrMonitorPortTotalErrors OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The total number of errors which have occurred on
           this port.  This counter is the summation of the
           values of other error counters (for the same
           port), namely:
               rptrMonitorPortFCSErrors,
               rptrMonitorPortAlignmentErrors,
               rptrMonitorPortFrameTooLongs,
               rptrMonitorPortShortEvents,
               rptrMonitorPortLateEvents,
               rptrMonitorPortVeryLongEvents,
               rptrMonitorPortDataRateMismatches, and
               rptrMonitorPortSymbolErrors.
           This counter is redundant in the sense that it is
           the summation of information already available
           through other objects.  However, it is included
           specifically because the regular retrieval of this
           object as a means of tracking the health of a port
           provides a considerable optimization of network
           management traffic over the otherwise necessary
           retrieval of the summed counters.
           Note that rptrMonitorPortRunts is not included
           in this total; this is because runts usually
           indicate collision fragments, a normal network
           event.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes."
   ::= { rptrMonitorPortEntry 15 }

rptrMonitorPortLastChange OBJECT-TYPE

   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The value of sysUpTime when the last of
           the following occurred:
             1) the agent cold- or warm-started;
             2) the row for the port was created
                (such as when a device or module was added
                 to the system); or
             3) any condition that would cause one of
                the counters for the row to experience
                a discontinuity."
   ::= { rptrMonitorPortEntry 16 }

rptrMonitor100PortTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrMonitor100PortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "Table of additional performance and error
           statistics for 100Mb/s ports, above and
           beyond those parameters that apply to both
           10 and 100Mbps ports.  Entries exist only for
           ports attached to 100Mbps repeaters.
           The columnar object rptrMonitorPortLastChange
           is used to indicate possible discontinuities
           of counter type columnar objects in this table."
   ::= { rptrMonitorPortInfo 2 }

rptrMonitor100PortEntry OBJECT-TYPE

   SYNTAX      RptrMonitor100PortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing performance
           and error statistics for a single 100Mb/s port."
   INDEX    { rptrMonitorPortGroupIndex, rptrMonitorPortIndex }
   ::= { rptrMonitor100PortTable 1 }

RptrMonitor100PortEntry ::=

   SEQUENCE {
       rptrMonitorPortIsolates
           Counter32,
       rptrMonitorPortSymbolErrors
           Counter32,
       rptrMonitorPortUpper32Octets
           Counter32,
       rptrMonitorPortHCReadableOctets
           Counter64
   }

rptrMonitorPortIsolates OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one each time that
           the repeater port automatically isolates as a
           consequence of false carrier events.  The conditions
           which cause a port to automatically isolate are
           defined by the transition from the False Carrier
           state to the Link Unstable state of the carrier
           integrity state diagram (figure 27-9)
           [IEEE 802.3 Standard].
           Note:  Isolates do not affect the value of
           the PortOperStatus object.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.16, aIsolates."
   ::= { rptrMonitor100PortEntry 1 }

rptrMonitorPortSymbolErrors OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one each time when
           valid length packet was received at the port and
           there was at least one occurrence of an invalid
           data symbol. This can increment only once per valid
           carrier event. A collision presence at any port of
           the repeater containing port N, will not cause this
           attribute to increment.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 7.4 hours at 100Mb/s."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.17,
           aSymbolErrorDuringPacket."
   ::= { rptrMonitor100PortEntry 2 }

rptrMonitorPortUpper32Octets OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object is the number of octets contained in
           valid frames that have been received on this port,
           modulo 2**32.  That is, it contains the upper 32
           bits of a 64-bit octets counter, of which the
           lower 32 bits are contained in the
           rptrMonitorPortReadableOctets object.
           This two-counter mechanism is provided for those
           network management protocols that do not support
           64-bit counters (e.g. SNMP V1) and are used to
           manage a repeater type of 100Mb/s.
           Conformance clauses for this MIB are defined such
           that implementation of this object is not required
           in a system which does not support 100Mb/s.
           However, systems with mixed 10 and 100Mb/s ports
           may implement this object across all ports,
           including 10Mb/s.  If this object is implemented,
           it must be according to the definition in the first
           paragraph of this description; that is, the value
           of this object MUST be a valid count.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes."
   ::= { rptrMonitor100PortEntry 3 }

rptrMonitorPortHCReadableOctets OBJECT-TYPE

   SYNTAX      Counter64
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object is the number of octets contained in
           valid frames that have been received on this port.
           This counter is incremented by OctetCount for each
           frame received on this port which has been
           determined to be a readable frame (i.e., including
           FCS octets but excluding framing bits and dribble
           bits).
           This statistic provides an indicator of the total
           data transferred.
           This counter is a 64-bit version of rptrMonitor-
           PortReadableOctets. It should be used by network
           management protocols which suppport 64-bit counters
           (e.g. SNMPv2).
           Conformance clauses for this MIB are defined such
           that implementation of this object is not required
           in a system which does not support 100Mb/s.
           However, systems with mixed 10 and 100Mb/s ports
           may implement this object across all ports,
           including 10Mb/s.  If this object is implemented,
           it must be according to the definition in the first
           paragraph of this description; that is, the value
           of this object MUST be a valid count.
           A discontinuity may occur in the value
           when the value of object
           rptrMonitorPortLastChange changes."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.5, aReadableOctets."
   ::= { rptrMonitor100PortEntry 4 }

-- New version of statistics at the repeater level. -- -- Statistics objects for each managed repeater -- in the system.

rptrMonTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrMonEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A table of information about each
           non-trivial repeater.  The number of entries
           in this table is the same as the number of
           entries in the rptrInfoTable.
           The columnar object rptrInfoLastChange is
           used to indicate possible discontinuities of
           counter type columnar objects in this table."
   ::= { rptrMonitorAllRptrInfo 1 }

rptrMonEntry OBJECT-TYPE

   SYNTAX      RptrMonEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing information
           about a single non-trivial repeater."
   INDEX    { rptrInfoId }
   ::= { rptrMonTable 1 }

RptrMonEntry ::=

   SEQUENCE {
       rptrMonTxCollisions
           Counter32,
       rptrMonTotalFrames
           Counter32,
       rptrMonTotalErrors
           Counter32,
       rptrMonTotalOctets
           Counter32
   }

rptrMonTxCollisions OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "For a clause 9 (10Mb/s) repeater, this counter
           is incremented every time the repeater state
           machine enters the TRANSMIT COLLISION state
           from any state other than ONE PORT LEFT
           (Ref: Fig 9-2 [IEEE 802.3 Std]).
           For a clause 27 repeater, this counter is
           incremented every time the repeater core state
           diagram enters the Jam state as a result of
           Activity(ALL) > 1 (fig 27-2 [IEEE 802.3 Std]).
           The approximate minimum time for rollover of this
           counter is 16 hours in a 10Mb/s repeater and 1.6
           hours in a 100Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.1.8, aTransmitCollisions"
   ::= { rptrMonEntry 1 }

rptrMonTotalFrames OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The number of frames of valid frame length
           that have been received on the ports in this repeater
           and for which the FCSError and CollisionEvent
           signals were not asserted.  If an implementation
           can not obtain a count of frames as seen by
           the repeater itself, this counter may be
           implemented as the summation of the values of the
           rptrMonitorPortReadableFrames counters for all of
           the ports in the repeater.
           This statistic provides one of the parameters
           necessary for obtaining the packet error rate.
           The approximate minimum time for rollover of this
           counter is 80 hours in a 10Mb/s repeater."
   ::= { rptrMonEntry 3 }

rptrMonTotalErrors OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The total number of errors which have occurred on
           all of the ports in this repeater.  The errors
           included in this count are the same as those listed
           for the rptrMonitorPortTotalErrors counter.  If an
           implementation can not obtain a count of these
           errors as seen by the repeater itself, this counter
           may be implemented as the summation of the values of
           the rptrMonitorPortTotalErrors counters for all of
           the ports in the repeater."
   ::= { rptrMonEntry 4 }

rptrMonTotalOctets OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The total number of octets contained in the valid
           frames that have been received on the ports in
           this group.  If an implementation can not obtain
           a count of octets as seen by the repeater itself,
           this counter may be the summation of the
           values of the rptrMonitorPortReadableOctets
           counters for all of the ports in the group.
           This statistic provides an indicator of the total
           data transferred.  The approximate minimum time
           for rollover of this counter in a 10Mb/s repeater
           is 58 minutes divided by the number of ports in
           the repeater.
           For 100Mb/s repeaters processing traffic at a
           maximum rate, this counter can roll over in less
           than 6 minutes divided by the number of ports in
           the repeater.  Since that amount of time could
           be less than a management station's poll cycle
           time, in order to avoid a loss of information a
           management station is advised to also poll the
           rptrMonUpper32TotalOctets object, or to use the
           64-bit counter defined by rptrMonHCTotalOctets
           instead of the two 32-bit counters."
   ::= { rptrMonEntry 5 }

rptrMon100Table OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrMon100Entry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A table of additional information about each
           100Mb/s repeater, augmenting the entries in
           the rptrMonTable.  Entries exist in this table
           only for 100Mb/s repeaters.
           The columnar object rptrInfoLastChange is
           used to indicate possible discontinuities of
           counter type columnar objects in this table."
   ::= { rptrMonitorAllRptrInfo 2 }

rptrMon100Entry OBJECT-TYPE

   SYNTAX      RptrMon100Entry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing information
           about a single 100Mbps repeater."
   INDEX    { rptrInfoId }
   ::= { rptrMon100Table 1 }

RptrMon100Entry ::=

   SEQUENCE {
       rptrMonUpper32TotalOctets
           Counter32,
       rptrMonHCTotalOctets
           Counter64
   }

rptrMonUpper32TotalOctets OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The total number of octets contained in the valid
           frames that have been received on the ports in
           this repeater, modulo 2**32.  That is, it contains
           the upper 32 bits of a 64-bit counter, of which
           the lower 32 bits are contained in the
           rptrMonTotalOctets object.  If an implementation
           can not obtain a count of octets as seen
           by the repeater itself, the 64-bit value
           may be the summation of the values of the
           rptrMonitorPortReadableOctets counters combined
           with the corresponding rptrMonitorPortUpper32Octets
           counters for all of the ports in the repeater.
           This statistic provides an indicator of the total
           data transferred within the repeater.
           This two-counter mechanism is provided for those
           network management protocols that do not support
           64-bit counters (e.g. SNMP V1) and are used to
           manage a repeater type of 100Mb/s.
           Conformance clauses for this MIB are defined such
           that implementation of this object is not required
           in a system which does not support 100Mb/s.
           However, systems with mixed 10 and 100Mb/s ports
           may implement this object across all ports,
           including 10Mb/s.  If this object is implemented,
           it must be according to the definition in the first
           paragraph of this description; that is, the value
           of this object MUST be a valid count."
   ::= { rptrMon100Entry 1 }

rptrMonHCTotalOctets OBJECT-TYPE

   SYNTAX      Counter64
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The total number of octets contained in the valid
           frames that have been received on the ports in
           this group.  If a implementation can not obtain
           a count of octets as seen by the repeater itself,
           this counter may be the summation of the
           values of the rptrMonitorPortReadableOctets
           counters for all of the ports in the group.
           This statistic provides an indicator of the total
           data transferred.
           This counter is a 64-bit (high-capacity) version
           of rptrMonUpper32TotalOctets and rptrMonTotalOctets.
           It should be used by network management protocols
           which support 64-bit counters (e.g. SNMPv2).
           Conformance clauses for this MIB are defined such
           that implementation of this object is not required
           in a system which does not support 100Mb/s.
           However, systems with mixed 10 and 100Mb/s ports
           may implement this object across all ports,
           including 10Mb/s.  If this object is implemented,
           it must be according to the definition in the first
           paragraph of this description; that is, the value
           of this object MUST be a valid count."
   ::= { rptrMon100Entry 2 }

-- -- The Repeater Address Search Table -- -- This table provides an active address tracking -- capability which can be also used to collect the -- necessary information for mapping the topology -- of a network. Note that an NMS is required to have -- read-write access to the table in order to access -- this function. Section 4, "Topology Mapping", -- contains a description of an algorithm which can -- make use of this table, in combination with the

-- forwarding databases of managed bridges/switches -- in the network, to map network topology. --

rptrAddrSearchTable OBJECT-TYPE

   SYNTAX     SEQUENCE OF RptrAddrSearchEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
           "This table contains one entry per repeater in the
           system.  It defines objects which allow a network
           management application to instruct an agent to watch
           for a given MAC address and report which port it
           was seen on.  Only one address search can be in
           progress on each repeater at any one time.  Before
           starting an address search, a management application
           should obtain 'ownership' of the entry in
           rptrAddrSearchTable for the repeater that is to
           perform the search.  This is accomplished with the
           rptrAddrSearchLock and rptrAddrSearchStatus as
           follows:
           try_again:
               get(rptrAddrSearchLock, rptrAddrSearchStatus)
               while (rptrAddrSearchStatus != notInUse)
               {
                   /* Loop waiting for objects to be available*/
                   short delay
                   get(rptrAddrSearchLock, rptrAddrSearchStatus)
               }
               /* Try to claim map objects */
               lock_value = rptrAddrSearchLock
               if ( set(rptrAddrSearchLock = lock_value,
                        rptrAddrSearchStatus = inUse,
                        rptrAddrSearchOwner = 'my-IP-address)
                     == FAILURE)
                   /* Another manager got the lock */
                   goto try_again
               /* I have the lock */
               set (rptrAddrSearchAddress = <search target>)
               wait for rptrAddrSearchState to change from none
               if (rptrAddrSearchState == single)
                   get (rptrAddrSearchGroup, rptrAddrSearchPort)
               /* release the lock, making sure not to overwrite
                  anyone else's lock */
               set (rptrAddrSearchLock = lock_value+1,
                    rptrAddrSearchStatus = notInUse,
                    rptrAddrSearchOwner = )
           A management station first retrieves the values of
           the appropriate instances of the rptrAddrSearchLock
           and rptrAddrSearchStatus objects, periodically
           repeating the retrieval if necessary, until the value
           of rptrAddrSearchStatus is 'notInUse'.  The
           management station then tries to set the same
           instance of the rptrAddrSearchLock object to the
           value it just retrieved, the same instance of the
           rptrAddrSearchStatus object to 'inUse', and the
           corresponding instance of rptrAddrSearchOwner to a
           value indicating itself.  If the set operation
           succeeds, then the management station has obtained
           ownership of the rptrAddrSearchEntry, and the value
           of rptrAddrSearchLock is incremented by the agent (as
           per the semantics of TestAndIncr).  Failure of the
           set operation indicates that some other manager has
           obtained ownership of the rptrAddrSearchEntry.
           Once ownership is obtained, the management station
           can proceed with the search operation.  Note that the
           agent will reset rptrAddrSearchStatus to 'notInUse'
           if it has been in the 'inUse' state for an abnormally
           long period of time, to prevent a misbehaving manager
           from permanently locking the entry.  It is suggested
           that this timeout period be between one and five
           minutes.
           When the management station has completed its search
           operation, it should free the entry by setting
           the instance of the rptrAddrSearchLock object to the
           previous value + 1, the instance of the
           rptrAddrSearchStatus to 'notInUse', and the instance
           of rptrAddrSearchOwner to a zero length string.  This
           is done to prevent overwriting another station's
           lock."
   ::= { rptrAddrTrackRptrInfo 1 }

rptrAddrSearchEntry OBJECT-TYPE

   SYNTAX     RptrAddrSearchEntry
   MAX-ACCESS not-accessible
   STATUS     current
   DESCRIPTION
           "An entry containing objects for invoking an address
           search on a repeater."
   INDEX      { rptrInfoId }
   ::= { rptrAddrSearchTable 1 }

RptrAddrSearchEntry ::=

   SEQUENCE {
       rptrAddrSearchLock     TestAndIncr,
       rptrAddrSearchStatus   INTEGER,
       rptrAddrSearchAddress  MacAddress,
       rptrAddrSearchState    INTEGER,
       rptrAddrSearchGroup    Integer32,
       rptrAddrSearchPort     Integer32,
       rptrAddrSearchOwner    OwnerString
   }

rptrAddrSearchLock OBJECT-TYPE

   SYNTAX     TestAndIncr
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
           "This object is used by a management station as an
           advisory lock for this rptrAddrSearchEntry."
   ::= { rptrAddrSearchEntry 1 }

rptrAddrSearchStatus OBJECT-TYPE

   SYNTAX     INTEGER {
                  notInUse(1),
                  inUse(2)
              }
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
           "This object is used to indicate that some management
           station is currently using this rptrAddrSearchEntry.
           Cooperating managers should set this object to
           'notInUse' when they are finished using this entry.
           The agent will automatically set the value of this
           object to 'notInUse' if it has been set to 'inUse'
           for an unusually long period of time."
   ::= { rptrAddrSearchEntry 2 }

rptrAddrSearchAddress OBJECT-TYPE

   SYNTAX     MacAddress
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
           "This object is used to search for a specified MAC
           address.  When this object is set, an address search
           begins.  This automatically sets the corresponding
           instance of the rptrAddrSearchState object  to 'none'
           and the corresponding instances of the
           rptrAddrSearchGroup and rptrAddrSearchPort objects to
           0.
           When a valid frame is received by this repeater with
           a source MAC address which matches the current value
           of rptrAddrSearchAddress, the agent will update the
           corresponding instances of rptrAddrSearchState,
           rptrAddrSearchGroup and rptrAddrSearchPort to reflect
           the current status of the search, and the group and
           port on which the frame was seen."
   ::= { rptrAddrSearchEntry 3 }

rptrAddrSearchState OBJECT-TYPE

   SYNTAX     INTEGER {
                   none(1),
                   single(2),
                   multiple(3)
              }
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
           "The current state of the MAC address search on this
           repeater.  This object is initialized to 'none' when
           the corresponding instance of rptrAddrSearchAddress
           is set.  If the agent detects the address on exactly
           one port, it will set this object to 'single', and
           set the corresponding instances of
           rptrAddrSearchGroup and rptrAddrSearchPort to reflect
           the group and port on which the address was heard.
           If the agent detects the address on more than one
           port, it will set this object to 'multiple'."
   ::= { rptrAddrSearchEntry 4 }

rptrAddrSearchGroup OBJECT-TYPE

   SYNTAX     Integer32 (0..2147483647)
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
           "The group from which an error-free frame whose
           source address is equal to the corresponding instance
           of rptrAddrSearchAddress has been received.  The
           value of this object is undefined when the
           corresponding instance of rptrAddrSearchState is
           equal to 'none' or 'multiple'."
   ::= { rptrAddrSearchEntry 5 }

rptrAddrSearchPort OBJECT-TYPE

   SYNTAX     Integer32 (0..2147483647)
   MAX-ACCESS read-only
   STATUS     current
   DESCRIPTION
           "The port rom which an error-free frame whose
           source address is equal to the corresponding instance
           of rptrAddrSearchAddress has been received.  The
           value of this object is undefined when the
           corresponding instance of rptrAddrSearchState is
           equal to 'none' or 'multiple'."
   ::= { rptrAddrSearchEntry 6 }

rptrAddrSearchOwner OBJECT-TYPE

   SYNTAX     OwnerString
   MAX-ACCESS read-write
   STATUS     current
   DESCRIPTION
           "The entity which currently has 'ownership' of this
           rptrAddrSearchEntry."
   ::= { rptrAddrSearchEntry 7 }

-- -- The Port Address Tracking Table -- -- This table provides a way for a network management -- application to passively gather information (using -- read-only privileges) about which network addresses -- are connected to which ports of a repeater. --

rptrAddrTrackTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrAddrTrackEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "Table of address mapping information about the
           ports."
   ::= { rptrAddrTrackPortInfo 1 }

rptrAddrTrackEntry OBJECT-TYPE

   SYNTAX      RptrAddrTrackEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "An entry in the table, containing address mapping
           information about a single port."
   INDEX    { rptrAddrTrackGroupIndex, rptrAddrTrackPortIndex }
   ::= { rptrAddrTrackTable 1 }

RptrAddrTrackEntry ::=

   SEQUENCE {
       rptrAddrTrackGroupIndex
           INTEGER,
       rptrAddrTrackPortIndex
           INTEGER,
       rptrAddrTrackLastSourceAddress     -- DEPRECATED OBJECT
           MacAddress,
       rptrAddrTrackSourceAddrChanges
           Counter32,
       rptrAddrTrackNewLastSrcAddress
           OptMacAddr,
       rptrAddrTrackCapacity
           Integer32
   }

rptrAddrTrackGroupIndex OBJECT-TYPE

   SYNTAX      INTEGER (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the group containing the
           port for which this entry contains information."
   ::= { rptrAddrTrackEntry 1 }

rptrAddrTrackPortIndex OBJECT-TYPE

   SYNTAX      INTEGER (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifies the port within the group
           for which this entry contains information."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.1, aPortID."
   ::= { rptrAddrTrackEntry 2 }

rptrAddrTrackLastSourceAddress OBJECT-TYPE

   SYNTAX      MacAddress
   MAX-ACCESS  read-only
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           This object is the SourceAddress of the last
           readable frame (i.e., counted by
           rptrMonitorPortReadableFrames) received by this
           port.
           This object has been deprecated because its value
           is undefined when no frames have been observed on
           this port.  The replacement object is
           rptrAddrTrackNewLastSrcAddress."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.18, aLastSourceAddress."
   ::= { rptrAddrTrackEntry 3 }

rptrAddrTrackSourceAddrChanges OBJECT-TYPE

   SYNTAX      Counter32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This counter is incremented by one for each time
           that the rptrAddrTrackLastSourceAddress attribute
           for this port has changed.
           This may indicate whether a link is connected to a
           single DTE or another multi-user segment.
           A discontinuity may occur in the value when the
           value of object rptrMonitorPortLastChange changes.
           The approximate minimum time for rollover of this
           counter is 81 hours in a 10Mb/s repeater."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.19, aSourceAddressChanges."
   ::= { rptrAddrTrackEntry 4 }

rptrAddrTrackNewLastSrcAddress OBJECT-TYPE

   SYNTAX      OptMacAddr
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object is the SourceAddress of the last
           readable frame (i.e., counted by
           rptrMonitorPortReadableFrames) received by this
           port.  If no frames have been received by this
           port since the agent began monitoring the port
           activity, the agent shall return a string of
           length zero."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.18, aLastSourceAddress."
   ::= { rptrAddrTrackEntry 5 }

rptrAddrTrackCapacity OBJECT-TYPE

   SYNTAX      Integer32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The maximum number of addresses that can be
           detected on this port. This value indicates
           to the maximum  number of entries in the
           rptrExtAddrTrackTable relative to this port.
           If this object has the value of 1, the agent
           implements only the LastSourceAddress mechanism
           described by RFC 1368 or RFC 1516."
   ::= { rptrAddrTrackEntry 6 }

-- Table for multiple addresses per port

rptrExtAddrTrackTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrExtAddrTrackEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A table to extend the address tracking table (i.e.,
           rptrAddrTrackTable) with a list of source MAC
           addresses that were recently received on each port.
           The number of ports is the same as the number
           of entries in table rptrPortTable. The number of
           entries in this table depends on the agent/repeater
           implementation and the number of different
           addresses received on each port.
           The first entry for each port contains
           the same MAC address that is given by the
           rptrAddrTrackNewLastSrcAddress for that port.
           Entries in this table for a particular port are
           retained when that port is switched from one
           repeater to another.
           The ordering of MAC addresses listed for a
           particular port is implementation dependent."
   ::= { rptrAddrTrackPortInfo 2 }

rptrExtAddrTrackEntry OBJECT-TYPE

   SYNTAX      RptrExtAddrTrackEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A row in the table of extended address tracking
           information for ports. Entries can not be directly
           created or deleted via SNMP operations."
   INDEX       { rptrAddrTrackGroupIndex,
                 rptrAddrTrackPortIndex,
                 rptrExtAddrTrackMacIndex }
   ::= { rptrExtAddrTrackTable 1 }

RptrExtAddrTrackEntry ::= SEQUENCE {

   rptrExtAddrTrackMacIndex Integer32,
   rptrExtAddrTrackSourceAddress MacAddress
   }

rptrExtAddrTrackMacIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The index of a source MAC address seen on
           the port.
           The ordering of MAC addresses listed for a
           particular port is implementation dependent.
           There is no implied relationship between a
           particular index and a particular MAC
           address.  The index for a particular MAC
           address may change without notice."
   ::= { rptrExtAddrTrackEntry 1 }

rptrExtAddrTrackSourceAddress OBJECT-TYPE

   SYNTAX      MacAddress
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The source MAC address from a readable frame
           (i.e., counted by rptrMonitorPortReadableFrames)
           recently received by the port."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.3.1.18, aLastSourceAddress."
   ::= { rptrExtAddrTrackEntry 2 }

-- The Repeater Top "N" Port Group

-- The Repeater Top N Port group is used to prepare reports that -- describe a list of ports ordered by one of the statistics in the -- Repeater Monitor Port Table. The statistic chosen by the -- management station is sampled over a management -- station-specified time interval, making the report rate based. -- The management station also specifies the number of ports that -- are reported. -- -- The rptrTopNPortControlTable is used to initiate the generation -- of a report. The management station may select the parameters -- of such a report, such as which repeater, which statistic, how -- many ports, and the start & stop times of the sampling. When -- the report is prepared, entries are created in the -- rptrTopNPortTable associated with the relevent -- rptrTopNControlEntry. These entries are static for -- each report after it has been prepared.

-- Note that counter discontinuities may appear in some -- implementations if ports' assignment to repeaters changes -- during the collection of data for a Top "N" report. -- A management application could read the corresponding -- rptrMonitorPortLastChange timestamp in order to check -- whether a discontinuity occurred.

rptrTopNPortControlTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrTopNPortControlEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "A table of control records for reports on the top `N'
       ports for the rate of a selected counter. The number
       of entries depends on the configuration of the agent.
       The maximum number of entries is implementation
       dependent."
   ::= { rptrTopNPortInfo 1 }

rptrTopNPortControlEntry OBJECT-TYPE

   SYNTAX      RptrTopNPortControlEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A set of parameters that control the creation of a
           report of the top N ports according to several metrics."
   INDEX    { rptrTopNPortControlIndex }
   ::= { rptrTopNPortControlTable 1 }

RptrTopNPortControlEntry ::= SEQUENCE {

   rptrTopNPortControlIndex
       Integer32,
   rptrTopNPortRepeaterId
       Integer32,
   rptrTopNPortRateBase
       INTEGER,
   rptrTopNPortTimeRemaining
       Integer32,
   rptrTopNPortDuration
       Integer32,
   rptrTopNPortRequestedSize
       Integer32,
   rptrTopNPortGrantedSize
       Integer32,
   rptrTopNPortStartTime
       TimeStamp,
   rptrTopNPortOwner
       OwnerString,
   rptrTopNPortRowStatus
       RowStatus

}

rptrTopNPortControlIndex OBJECT-TYPE

   SYNTAX      Integer32 (1 .. 65535)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "An index that uniquely identifies an entry in the
           rptrTopNPortControl table.  Each such entry defines
           one top N report prepared for a repeater or system."
   ::= { rptrTopNPortControlEntry 1 }

rptrTopNPortRepeaterId OBJECT-TYPE

   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
           "Identifies the repeater for which a top N report will
           be prepared (see rptrInfoId).  If the value of this
           object is positive, only ports assigned to this repeater
           will be used to form the list in which to order the
           Top N table.  If this value is zero, all ports will be
           eligible for inclusion on the list.
           The value of this object may not be modified if the
           associated rptrTopNPortRowStatus object is equal to
           active(1).
           If, for a particular row in this table, the repeater
           specified by the value of this object goes away (is
           removed from the rptrInfoTable) while the associated
           rptrTopNPortRowStatus object is equal to active(1),
           the row in this table is preserved by the agent but
           the value of rptrTopNPortRowStatus is changed to
           notInService(2), and the agent may time out the row
           if appropriate.  If the specified repeater comes
           back (reappears in the rptrInfoTable) before the row
           has been timed out, the management station must set
           the value of the rptrTopNPortRowStatus object back
           to active(1) if desired (the agent doesn't do this
           automatically)."
   ::= { rptrTopNPortControlEntry 2 }

rptrTopNPortRateBase OBJECT-TYPE

   SYNTAX      INTEGER  {
                 readableFrames(1),
                 readableOctets(2),
                 fcsErrors(3),
                 alignmentErrors(4),
                 frameTooLongs(5),
                 shortEvents(6),
                 runts(7),
                 collisions(8),
                 lateEvents(9),
                 veryLongEvents(10),
                 dataRateMismatches(11),
                 autoPartitions(12),
                 totalErrors(13),
                 isolates(14),
                 symbolErrors(15)
               }
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
           "The monitored variable, which the rptrTopNPortRate
           variable is based upon.
           The value of this object may not be modified if
           the associated rptrTopNPortRowStatus object has
           a value of active(1)."
   ::= { rptrTopNPortControlEntry 3 }

rptrTopNPortTimeRemaining OBJECT-TYPE

   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
           "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.  The new value is
           used as the requested duration of this report,
           which is loaded into the associated
           rptrTopNPortDuration object.
           When this object is set to a non-zero value,
           any associated rptrTopNPortEntries shall be
           made inaccessible by the agent.  While the value
           of this object is non-zero, it decrements by one
           per second until it reaches zero.  During this
           time, all associated rptrTopNPortEntries shall
           remain inaccessible.  At the time that this object
           decrements to zero, the report is made accessible
           in the rptrTopNPortTable.  Thus, the rptrTopNPort
           table needs to be created only at the end of the
           collection interval.
           If the value of this object is set to zero
           while the associated report is running, the
           running report is aborted and no associated
           rptrTopNPortEntries are created."
   DEFVAL { 0 }
   ::= { rptrTopNPortControlEntry 4 }

rptrTopNPortDuration OBJECT-TYPE

   SYNTAX      Integer32 (0..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The number of seconds that this report has
           collected during the last sampling interval,
           or if this report is currently being collected,
           the number of seconds that this report is being
           collected during this sampling interval.
           When the associated rptrTopNPortTimeRemaining
           object is set, this object shall be set by the
           agent to the same value and shall not be modified
           until the next time the rptrTopNPortTimeRemaining
           is set.
           This value shall be zero if no reports have been
           requested for this rptrTopNPortControlEntry."
    ::= { rptrTopNPortControlEntry 5 }

rptrTopNPortRequestedSize OBJECT-TYPE

   SYNTAX      Integer32
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
           "The maximum number of repeater ports requested
           for the Top N Table.
           When this object is created or modified, the
           agent should set rptrTopNPortGrantedSize as close
           to this object as is possible for the particular
           implementation and available resources."
   DEFVAL { 10 }
   ::= { rptrTopNPortControlEntry 6 }

rptrTopNPortGrantedSize OBJECT-TYPE

   SYNTAX      Integer32 (0..65535)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The maximum number of repeater ports in the
           top N table.
           When the associated rptrTopNPortRequestedSize object is
           created or modified, the agent should set this object as
           closely to the requested value as is possible for the
           particular implementation and available resources.  The
           agent must not lower this value except as a result of a
           set to the associated rptrTopNPortRequestedSize object."
   ::= { rptrTopNPortControlEntry 7 }

rptrTopNPortStartTime OBJECT-TYPE

   SYNTAX      TimeStamp
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The value of sysUpTime when this top N report was
           last started.  In other words, this is the time that
           the associated rptrTopNPortTimeRemaining object was
           modified to start the requested report.
           If the report has not yet been started, the value
           of this object is zero."
   ::= { rptrTopNPortControlEntry 8 }

rptrTopNPortOwner OBJECT-TYPE

   SYNTAX      OwnerString
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
           "The entity that configured this entry and is
           using the resources assigned to it."
   ::= { rptrTopNPortControlEntry 9 }

rptrTopNPortRowStatus OBJECT-TYPE

   SYNTAX      RowStatus
   MAX-ACCESS  read-create
   STATUS      current
   DESCRIPTION
          "The status of this row.
          If the value of this object is not equal to
          active(1), all associated entries in the
          rptrTopNPortTable shall be deleted by the
          agent."
   ::= { rptrTopNPortControlEntry 10 }

-- Top "N" reports

rptrTopNPortTable OBJECT-TYPE

   SYNTAX      SEQUENCE OF RptrTopNPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A table of reports for the top `N' ports based on
           setting of associated control table entries. The
           maximum number of entries depends on the number
           of entries in table rptrTopNPortControlTable and
           the value of object rptrTopNPortGrantedSize for
           each entry.
           For each entry in the rptrTopNPortControlTable,
           repeater ports with the highest value of
           rptrTopNPortRate shall be placed in this table
           in decreasing order of that rate until there is
           no more room or until there are no more ports."
   ::= { rptrTopNPortInfo 2 }

rptrTopNPortEntry OBJECT-TYPE

   SYNTAX      RptrTopNPortEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
           "A set of statistics for a repeater port that is
           part of a top N report."
   INDEX    { rptrTopNPortControlIndex,
              rptrTopNPortIndex }
   ::= { rptrTopNPortTable 1 }

RptrTopNPortEntry ::= SEQUENCE {

   rptrTopNPortIndex
       Integer32,
   rptrTopNPortGroupIndex
       Integer32,
   rptrTopNPortPortIndex
       Integer32,
   rptrTopNPortRate
       Gauge32

}

rptrTopNPortIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..65535)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "An index that uniquely identifies an entry in
           the rptrTopNPort table among those in the same
           report.  This index is between 1 and N, where N
           is the number of entries in this report.  Increasing
           values of rptrTopNPortIndex shall be assigned to
           entries with decreasing values of rptrTopNPortRate
           until index N is assigned to the entry with the
           lowest value of rptrTopNPortRate or there are no
           more rptrTopNPortEntries.
           No ports are included in a report where their
           value of rptrTopNPortRate would be zero."
   ::= { rptrTopNPortEntry 1 }

rptrTopNPortGroupIndex OBJECT-TYPE

   SYNTAX      Integer32  (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "This object identifes the group containing
           the port for this entry. (See also object
           type rptrGroupIndex.)"
   ::= { rptrTopNPortEntry 2 }

rptrTopNPortPortIndex OBJECT-TYPE

   SYNTAX      Integer32 (1..2147483647)
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
       "The index of the repeater port.
       (See object type rptrPortIndex.)"
   ::= { rptrTopNPortEntry 3 }

rptrTopNPortRate OBJECT-TYPE

   SYNTAX      Gauge32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
           "The amount of change in the selected variable
           during this sampling interval for the identified
           port.  The selected variable is that port's
           instance of the object selected by
           rptrTopNPortRateBase."
   ::= { rptrTopNPortEntry 4 }

-- Notifications for use by Repeaters

rptrHealth NOTIFICATION-TYPE

   OBJECTS     { rptrOperStatus }
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           In a system containing a single managed repeater,
           the rptrHealth notification conveys information
           related to the operational status of the repeater.
           It is sent either when the value of
           rptrOperStatus changes, or upon completion of a
           non-disruptive test.
           The rptrHealth notification must contain the
           rptrOperStatus object.  The agent may optionally
           include the rptrHealthText object in the varBind
           list.  See the rptrOperStatus and rptrHealthText
           objects for descriptions of the information that
           is sent.
           The agent must throttle the generation of
           consecutive rptrHealth traps so that there is at
           least a five-second gap between traps of this
           type.  When traps are throttled, they are dropped,
           not queued for sending at a future time.  (Note
           that 'generating' a trap means sending to all
           configured recipients.)"
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.3.1, nRepeaterHealth
           notification."
   ::= { snmpDot3RptrMgt 0 1 }

rptrGroupChange NOTIFICATION-TYPE

   OBJECTS     { rptrGroupIndex }
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           In a system containing a single managed repeater,
           this notification is sent when a change occurs in the
           group structure of the repeater.  This occurs only
           when a group is logically or physically removed
           from or added to a repeater.  The varBind list
           contains the identifier of the group that was
           removed or added.
           The agent must throttle the generation of
           consecutive rptrGroupChange traps for the same
           group so that there is at least a five-second gap
           between traps of this type.  When traps are
           throttled, they are dropped, not queued for
           sending at a future time.  (Note that 'generating'
           a trap means sending to all configured
           recipients.)"
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.3.3, nGroupMapChange
           notification."
   ::= { snmpDot3RptrMgt 0 2 }

rptrResetEvent NOTIFICATION-TYPE

   OBJECTS     { rptrOperStatus }
   STATUS      deprecated
   DESCRIPTION
           "********* THIS OBJECT IS DEPRECATED **********
           In a system containing a single managed repeater-unit,
           the rptrResetEvent notification conveys information
           related to the operational status of the repeater.
           This trap is sent on completion of a repeater
           reset action.  A repeater reset action is defined
           as an a transition to the START state of Fig 9-2
           in section 9 [IEEE 802.3 Std], when triggered by a
           management command (e.g., an SNMP Set on the
           rptrReset object).
           The agent must throttle the generation of
           consecutive rptrResetEvent traps so that there is
           at least a five-second gap between traps of this
           type.  When traps are throttled, they are dropped,
           not queued for sending at a future time.  (Note
           that 'generating' a trap means sending to all
           configured recipients.)
           The rptrResetEvent trap is not sent when the agent
           restarts and sends an SNMP coldStart or warmStart
           trap.  However, it is recommended that a repeater
           agent send the rptrOperStatus object as an
           optional object with its coldStart and warmStart
           trap PDUs.
           The rptrOperStatus object must be included in the
           varbind list sent with this trap.  The agent may
           optionally include the rptrHealthText object as
           well."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.3.2, nRepeaterReset
           notification."
   ::= { snmpDot3RptrMgt 0 3 }

-- Notifications for repeaters in a multiple-repeater implementation. -- An implementation may send either the single-repeater OR -- multiple-repeater version of these notifications (1 or 4; 2 or 5) -- but not both.

rptrInfoHealth NOTIFICATION-TYPE

   OBJECTS     { rptrInfoOperStatus }
   STATUS      current
   DESCRIPTION
           "In a system containing multiple managed repeaters,
           the rptrInfoHealth notification conveys information
           related to the operational status of a repeater.
           It is sent either when the value of rptrInfoOperStatus
           changes, or upon completion of a non-disruptive test.
           The agent must throttle the generation of
           consecutive rptrInfoHealth notifications for
           the same repeater so that there is at least
           a five-second gap between notifications of this type.
           When notifications are throttled, they are dropped,
           not queued for sending at a future time.  (Note
           that 'generating' a notification means sending
           to all configured recipients.)"
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.3.1, nRepeaterHealth
           notification."
   ::= { snmpDot3RptrMgt 0 4 }

rptrInfoResetEvent NOTIFICATION-TYPE

   OBJECTS     { rptrInfoOperStatus }
   STATUS      current
   DESCRIPTION
           "In a system containing multiple managed
           repeaters, the rptrInfoResetEvent notification
           conveys information related to the operational
           status of a repeater. This notification is sent
           on completion of a repeater reset action.  A
           repeater reset action is defined as a transition
           to the START state of Fig 9-2 in section 9 of
           [IEEE 802.3 Std], when triggered by a management
           command (e.g., an SNMP Set on the rptrInfoReset
           object).
           The agent must throttle the generation of
           consecutive rptrInfoResetEvent notifications for
           a single repeater so that there is at least
           a five-second gap between notifications of
           this type.  When notifications are throttled,
           they are dropped, not queued for sending at
           a future time.  (Note that 'generating' a
           notification means sending to all configured
           recipients.)
           The rptrInfoResetEvent is not sent when the
           agent restarts and sends an SNMP coldStart or
           warmStart trap.  However, it is recommended that
           a repeater agent send the rptrInfoOperStatus
           object as an optional object with its coldStart
           and warmStart trap PDUs."
   REFERENCE
           "[IEEE 802.3 Mgt], 30.4.1.3.2, nRepeaterReset
           notification."
   ::= { snmpDot3RptrMgt 0 5 }

-- Conformance information

snmpRptrModConf

       OBJECT IDENTIFIER ::= { snmpRptrMod 1 }
 snmpRptrModCompls
       OBJECT IDENTIFIER ::= { snmpRptrModConf 1 }
 snmpRptrModObjGrps
       OBJECT IDENTIFIER ::= { snmpRptrModConf 2 }
 snmpRptrModNotGrps
       OBJECT IDENTIFIER ::= { snmpRptrModConf 3 }

-- Object groups

snmpRptrGrpBasic1516 OBJECT-GROUP

   OBJECTS     { rptrGroupCapacity,
                 rptrOperStatus,
                 rptrHealthText,
                 rptrReset,
                 rptrNonDisruptTest,
                 rptrTotalPartitionedPorts,
                 rptrGroupIndex,
                 rptrGroupDescr,
                 rptrGroupObjectID,
                 rptrGroupOperStatus,
                 rptrGroupLastOperStatusChange,
                 rptrGroupPortCapacity,
                 rptrPortGroupIndex,
                 rptrPortIndex,
                 rptrPortAdminStatus,
                 rptrPortAutoPartitionState,
                 rptrPortOperStatus }
   STATUS      deprecated
   DESCRIPTION
       "********* THIS GROUP IS DEPRECATED **********
       Basic group from RFCs 1368 and 1516.
       NOTE: this object group is DEPRECATED and replaced
             with snmpRptrGrpBasic."
   ::= { snmpRptrModObjGrps 1 }

snmpRptrGrpMonitor1516 OBJECT-GROUP

   OBJECTS     { rptrMonitorTransmitCollisions,
                 rptrMonitorGroupIndex,
                 rptrMonitorGroupTotalFrames,
                 rptrMonitorGroupTotalOctets,
                 rptrMonitorGroupTotalErrors,
                 rptrMonitorPortGroupIndex,
                 rptrMonitorPortIndex,
                 rptrMonitorPortReadableFrames,
                 rptrMonitorPortReadableOctets,
                 rptrMonitorPortFCSErrors,
                 rptrMonitorPortAlignmentErrors,
                 rptrMonitorPortFrameTooLongs,
                 rptrMonitorPortShortEvents,
                 rptrMonitorPortRunts,
                 rptrMonitorPortCollisions,
                 rptrMonitorPortLateEvents,
                 rptrMonitorPortVeryLongEvents,
                 rptrMonitorPortDataRateMismatches,
                 rptrMonitorPortAutoPartitions,
                 rptrMonitorPortTotalErrors }
   STATUS      deprecated
   DESCRIPTION
       "********* THIS GROUP IS DEPRECATED **********
       Monitor group from RFCs 1368 and 1516.
       NOTE: this object group is DEPRECATED and replaced
             with snmpRptrGrpMonitor."
   ::= { snmpRptrModObjGrps 2 }

snmpRptrGrpAddrTrack1368 OBJECT-GROUP

   OBJECTS     { rptrAddrTrackGroupIndex,
                 rptrAddrTrackPortIndex,
                 rptrAddrTrackLastSourceAddress,
                 rptrAddrTrackSourceAddrChanges }
   STATUS      obsolete
   DESCRIPTION
       "Address tracking group from RFC 1368.
       NOTE: this object group is OBSOLETE and replaced
             with snmpRptrGrpAddrTrack1516."
   ::= { snmpRptrModObjGrps 3 }

snmpRptrGrpAddrTrack1516 OBJECT-GROUP

   OBJECTS     { rptrAddrTrackGroupIndex,
                 rptrAddrTrackPortIndex,
                 rptrAddrTrackLastSourceAddress,
                 rptrAddrTrackSourceAddrChanges,
                 rptrAddrTrackNewLastSrcAddress }
   STATUS      deprecated
   DESCRIPTION
       "********* THIS GROUP IS DEPRECATED **********
       Address tracking group from RFC 1516.
       NOTE: this object group is DEPRECATED and
             replaced with snmpRptrGrpAddrTrack."
   ::= { snmpRptrModObjGrps 4 }

snmpRptrGrpBasic OBJECT-GROUP

   OBJECTS     { rptrGroupIndex,
                 rptrGroupObjectID,
                 rptrGroupOperStatus,
                 rptrGroupPortCapacity,
                 rptrPortGroupIndex,
                 rptrPortIndex,
                 rptrPortAdminStatus,
                 rptrPortAutoPartitionState,
                 rptrPortOperStatus,
                 rptrPortRptrId,
                 rptrInfoId,
                 rptrInfoRptrType,
                 rptrInfoOperStatus,
                 rptrInfoReset,
                 rptrInfoPartitionedPorts,
                 rptrInfoLastChange }
   STATUS      current
   DESCRIPTION
       "Basic group for a system with one or more
       repeater-units in multi-segment (post-RFC 1516)
       version of the MIB module."
   ::= { snmpRptrModObjGrps 5 }

snmpRptrGrpMonitor OBJECT-GROUP

   OBJECTS     { rptrMonitorPortGroupIndex,
                 rptrMonitorPortIndex,
                 rptrMonitorPortReadableFrames,
                 rptrMonitorPortReadableOctets,
                 rptrMonitorPortFCSErrors,
                 rptrMonitorPortAlignmentErrors,
                 rptrMonitorPortFrameTooLongs,
                 rptrMonitorPortShortEvents,
                 rptrMonitorPortRunts,
                 rptrMonitorPortCollisions,
                 rptrMonitorPortLateEvents,
                 rptrMonitorPortVeryLongEvents,
                 rptrMonitorPortDataRateMismatches,
                 rptrMonitorPortAutoPartitions,
                 rptrMonitorPortTotalErrors,
                 rptrMonitorPortLastChange,
                 rptrMonTxCollisions,
                 rptrMonTotalFrames,
                 rptrMonTotalErrors,
                 rptrMonTotalOctets }
   STATUS      current
   DESCRIPTION
       "Monitor group for a system with one or more
       repeater-units in multi-segment (post-RFC 1516)
       version of the MIB module."
   ::= { snmpRptrModObjGrps 6 }

snmpRptrGrpMonitor100 OBJECT-GROUP

   OBJECTS     { rptrMonitorPortIsolates,
                 rptrMonitorPortSymbolErrors,
                 rptrMonitorPortUpper32Octets,
                 rptrMonUpper32TotalOctets }
   STATUS      current
   DESCRIPTION
       "Monitor group for 100Mb/s ports and repeaters
       in a system with one or more repeater-units in
       multi-segment (post-RFC 1516) version of the MIB
       module.  Systems which support Counter64 should
       also implement snmpRptrGrpMonitor100w64."
   ::= { snmpRptrModObjGrps 7 }

snmpRptrGrpMonitor100w64 OBJECT-GROUP

   OBJECTS     { rptrMonitorPortHCReadableOctets,
                 rptrMonHCTotalOctets }
   STATUS      current
   DESCRIPTION
       "Monitor group for 100Mb/s ports and repeaters in a
       system with one or more repeater-units and support
       for Counter64."
   ::= { snmpRptrModObjGrps 8 }

snmpRptrGrpAddrTrack OBJECT-GROUP

   OBJECTS     { rptrAddrTrackGroupIndex,
                 rptrAddrTrackPortIndex,
                 rptrAddrTrackSourceAddrChanges,
                 rptrAddrTrackNewLastSrcAddress,
                 rptrAddrTrackCapacity }
   STATUS      current
   DESCRIPTION
       "Passive address tracking group for post-RFC 1516
       version of the MIB module."
   ::= { snmpRptrModObjGrps 9 }

snmpRptrGrpExtAddrTrack OBJECT-GROUP

   OBJECTS     { rptrExtAddrTrackMacIndex,
                 rptrExtAddrTrackSourceAddress }
   STATUS      current
   DESCRIPTION
       "Extended passive address tracking group for
       a system with one or more repeater-units in
       post-RFC 1516 version of the MIB module."
   ::= { snmpRptrModObjGrps 10 }

snmpRptrGrpRptrAddrSearch OBJECT-GROUP

   OBJECTS     { rptrAddrSearchLock,
                 rptrAddrSearchStatus,
                 rptrAddrSearchAddress,
                 rptrAddrSearchState,
                 rptrAddrSearchGroup,
                 rptrAddrSearchPort,
                 rptrAddrSearchOwner }
   STATUS      current
   DESCRIPTION
       "Active MAC address search group and topology
       mapping support for repeaters."
   ::= { snmpRptrModObjGrps 11 }

snmpRptrGrpTopNPort OBJECT-GROUP

   OBJECTS     { rptrTopNPortControlIndex,
                 rptrTopNPortRepeaterId,
                 rptrTopNPortRateBase,
                 rptrTopNPortTimeRemaining,
                 rptrTopNPortDuration,
                 rptrTopNPortRequestedSize,
                 rptrTopNPortGrantedSize,
                 rptrTopNPortStartTime,
                 rptrTopNPortOwner,
                 rptrTopNPortRowStatus,
                 rptrTopNPortIndex,
                 rptrTopNPortGroupIndex,
                 rptrTopNPortPortIndex,
                 rptrTopNPortRate }
   STATUS      current
   DESCRIPTION
       "Top `N' group for repeater ports."
   ::= { snmpRptrModObjGrps 12 }

-- Compliances

snmpRptrModComplRFC1368 MODULE-COMPLIANCE

   STATUS      obsolete
   DESCRIPTION
       "Compliance for RFC 1368.
       NOTE: this module compliance is OBSOLETE and
             replaced by snmpRptrModComplRFC1516."
   MODULE -- this module
       MANDATORY-GROUPS { snmpRptrGrpBasic1516 }
       GROUP snmpRptrGrpMonitor1516
       DESCRIPTION
           "Implementation of this optional group is
           recommended for systems which have the
           instrumentation to do performance monitoring."
       GROUP snmpRptrGrpAddrTrack1368
       DESCRIPTION
           "Implementation of this group is
           recommended for systems which have
           the necessary instrumentation."
   ::= { snmpRptrModCompls 1 }

snmpRptrModComplRFC1516 MODULE-COMPLIANCE

   STATUS      deprecated
   DESCRIPTION
       "********* THIS COMPLIANCE IS DEPRECATED **********
       Compliance for RFC 1516 and for backwards
       compatibility with single-repeater,
       10Mb/s-only implementations."
   MODULE -- this module
       MANDATORY-GROUPS { snmpRptrGrpBasic1516 }
       GROUP snmpRptrGrpMonitor1516
       DESCRIPTION
           "Implementation of this optional group is
           recommended for systems which have the
           instrumentation to do performance monitoring."
       GROUP snmpRptrGrpAddrTrack1516
       DESCRIPTION
           "Implementation of this group is
           recommended for systems which have
           the necessary instrumentation."
   ::= { snmpRptrModCompls 2 }

snmpRptrModCompl MODULE-COMPLIANCE

   STATUS      current
   DESCRIPTION
       "Compliance for the multi-segment version of the
       MIB module for a system with one or more
       repeater-units."
   MODULE -- this module
       MANDATORY-GROUPS { snmpRptrGrpBasic,
                          snmpRptrGrpMonitor,
                          snmpRptrGrpAddrTrack }
       GROUP snmpRptrGrpMonitor100
       DESCRIPTION
           "Implementation of this group is
           mandatory for managed systems which
           contain 100Mb/s repeaters."
       GROUP snmpRptrGrpMonitor100w64
       DESCRIPTION
           "Implementation of this group is
           mandatory for managed systems which
           contain 100Mb/s repeaters and which
           can support Counter64."
       GROUP snmpRptrGrpExtAddrTrack
       DESCRIPTION
           "Implementation of this group is
           recommended for systems which have
           the necessary instrumentation to track
           MAC addresses of multiple DTEs attached
           to a single repeater port."
       GROUP snmpRptrGrpRptrAddrSearch
       DESCRIPTION
           "Implementation of this group is
           recommended for systems which allow
           read-write access and which have
           the necessary instrumentation to
           search all incoming data streams
           for a particular MAC address."
       GROUP snmpRptrGrpTopNPort
       DESCRIPTION
           "Implementation of this group is
           recommended for systems which have
           the necessary resources to support
           TopN statistics reporting."
   ::= { snmpRptrModCompls 3 }

END

Topology Mapping

The network mapping algorithm presented below takes information available from network devices such as repeaters, bridges, and switches, and creates a representation of the physical topology of the network.

Networking devices connect to the network via one or more ports. Through these ports, the device is capable of hearing network packets sent by other devices. By looking the source address in the packet, and identifying which port the packet was heard on, the device can provide information to a Network Management System about the location of an address in the network, relative to that device. For devices such as bridges and switches, the association of address to port can be retrieved via the forwarding data base part of the Bridge MIB. For repeaters, the rptrAddrSearchTable may be used to perform the association.

Given this information, it would be possible for the NMS to create a topology of the network which represents the physical relationships of the devices in the networks. The following is an example of how this might be done:

Assume the network:

             =============================
                 |            |       |
                 |            |       |
                d1           d4      d7
               /  \          |
              /    \         |
            d2      d3       d5
                              |
                              |
                             d6

The discovery process would first determine the existence of the network devices and nodes in the network. In the above example, the network devices discovered would be:

                       d1,d2,d3,d4,d5,d6,d7

From this list of discovered devices, select (arbitrarily or via some heuristic) a device as the starting point. From that device, determine where all other devices are located in the network with respect to the selected device.

For example, if d1 is the selected device, the network in relation to d1 would look like:

                d1
               / | \
              /  |  \
            d2  d3   d4,d5,d6,d7

So d1 sees d2 on one port, d3 on another port, and d4, d5, and d6 on the third port. In other words, using the rptrAddrSearchTable (if d1 is a repeater) or the Forwarding Database (if it is a bridge or a switch), d1 has located d2 on one port, d1 has located d3 on another port, and finally, d1 has located d4, d5, d6, and d7 on yet another port.

After the first step of the algorithm is accomplished, the next and final step is a recursive one. Go to each of these temporary 'segments' (e.g., the segment connecting d1 and d2, or the segment connecting d1 and d3, or the segment connecting d1, d4, d5, d6, and d7) and determine which of these devices really belongs in that segment.

As new segments are created due to this process, the recursive algorithm visits them, and performs the exact same process.

In the example, the segments connecting d1 and d2, and connecting d1 and d3, require no further scrutiny, since there are only two nodes in those segments. However, the segment connecting d1, d4, d5, d6, and d7 may prove to be one or more segments, so we will investigate it.

The purpose of this step is to determine which devices are really connected to this segment, and which are actually connected downstream. This is done by giving each of the child devices in the segment (d4, d5, d6, and d7) a chance to eliminate each of the others from the segment.

A device eliminates another device by showing that it hears the parent device (in this case, d1) on one port, and the other device on another port (different from the port on which it heard the parent). If this is true, then it must mean that that device is _between_ the parent device and the device which is being eliminated.

In the example, we can see that device d4 can eliminate both d5 and d6, , but nobody can eliminate d4 and d7, because everybody hears them on the same port that they hear the parent device (d1). So the resulting topology looks like:

                d1
               / | \
              /  |  \
            d2  d3   d4,d7
                     |
                     |
                   d5,d6

Next the algorithm visits the next segment, which is the one connecting d4, d5, and d6. Using the process stated above, d5 can eliminate d6, since it hears d4 on a different port from where it hears d6. Finally, the topology looks like:

                d1
               / | \
              /  |  \
            d2  d3   d4,d7
                     |
                     |
                     d5
                     |
                     |
                     d6

This is actually the topology shown at the beginning of the description.

With this information about how the network devices are connected, it is a relatively simple extension to then place nodes such as workstations and PCs in the network. This can be done by placing the node into a segment, then allowing the network devices to show that the node is really not part of that segment.

This elimination can be done because the devices know what port connects them to the segment on which the node is temporarily placed. If they actually hear the node on a different port than that which connects the device to the segment, then the node must be downstream, and so it is moved onto the downstream segment. Then that segment is evaluated, and so forth. Eventually, no device can show that the node is connected downstream, and so it must be attached to that segment.

For example, assume the network:

               =============================
                   |            |       |
                   |            |       |
                  d1           d4      d7
                 /  \          |
                /    \         |
              d2      d3       d5
                      |         |
                      |         |
                      e1       d6

In this network, we are trying to place e1 where it belongs. We begin by placing it arbitrarily into a segment:

            ==================================
              |       |            |       |
              |       |            |       |
             e1      d1           d4      d7
                    /  \          |
                   /    \         |
                 d2      d3       d5
                                   |
                                   |
                                  d6

In the above case, we would give d1, d4, and d7 a chance to show that e1 is not really on that segment. d4 and d7 hear e1 on the same port which connects them to that segment, so they cannot eliminate e1 from the segment. However, d1 will hear e1 on a different port, so we move e1 down onto the segment which is connected by that port. This yields the following:

               =============================
                   |            |       |
                   |            |       |
                  d1           d4      d7
                 /  \          |
                /    \         |
              d2      d3,e1    d5
                                |
                                |
                               d6

Now we give everyone in that segment (besides that parent device, d1) a chance to eliminate e1. Only d3 can try, and it succeeds, so we place e1 on segment which is connected by the port on which d3 heard e1. There is no segment there (yet), so we create one, and end up with the following:

               =============================
                   |            |       |
                   |            |       |
                  d1           d4      d7
                 /  \          |
                /    \         |
              d2      d3       d5
                      |        |
                      |         |
                      e1       d6

which is the correct position.

Acknowledgements

This document was produced by the IETF Hub MIB Working Group, whose efforts were greatly advanced by the contributions of the following people:

           Chuck Black
           John Flick
           Jeff Johnson
           Leon Leong
           Mike Lui
           Dave Perkins
           Geoff Thompson
           Maurice Turcotte
           Paul Woodruff

References

[1] IEEE 802.3/ISO 8802-3 Information processing systems -

    Local area networks - Part 3:  Carrier sense multiple
    access with collision detection (CSMA/CD) access method
    and physical layer specifications, 1993.

[2] IEEE 802.3u-1995, "MAC Parameters, Physical Layer, Medium

    Attachment Units and Repeater for 100 Mb/s Operation,
    Type 100BASE-T," Sections 21 through 29, Supplement to
    IEEE Std 802.3, October 26, 1995.

[3] IEEE 802.3u-1995, "10 & 100 Mb/s Management," Section 30,

    Supplement to IEEE Std 802.3, October 26, 1995.

[4] de Graaf, K., D. Romascanu, D. McMaster, K. McCloghrie,

    and S. Roberts, "Definitions of Managed Objects for IEEE
    802.3 Medium Attachment Units (MAUs)", Work in Progress.

[5] McCloghrie, K., and M. Rose, Editors, "Management

    Information Base for Network Management of TCP/IP-based
    internets: MIB-II", STD 17, RFC 1213, Hughes LAN Systems,
    Performance Systems International, March 1991.

[6] SNMPv2 Working Group, J. Case, K. McCloghrie, M. Rose,

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

[7] SNMPv2 Working Group, J. Case, K. McCloghrie, M. Rose,

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

[8] SNMPv2 Working Group, J. Case, K. McCloghrie, M. Rose,

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

[9] SNMPv2 Working Group, J. Case, K. McCloghrie, M. Rose,

    and S. Waldbusser, "Protocol Operations for version 2 of
    the Simple Network Management Protocol (SNMPv2)", RFC
    1905, January 1996.

[10] Case, J., M. Fedor, M. Schoffstall, and J. Davin, "Simple

    Network Management Protocol", STD 15, RFC 1157, SNMP
    Research, Performance Systems International, MIT Laboratory
    for Computer Science, May 1990.

[11] McMaster, D., and K. McCloghrie, "Definitions of Managed

    Objects for IEEE 802.3 Repeater Devices", RFC 1516,
    September 1993.

[12] McAnally, G., D. Gilbert, and J. Flick, "Conditional

    Grant of Rights to Specific Hewlett-Packard Patents In
    Conjunction With the Internet Engineering Task Force's
    Internet-Standard Network Management Framework", RFC 1988,
    August 1996.

[13] Hewlett-Packard Company, US Patents 5,293,635 and

    5,421,024.

[14] McCloghrie, K., and F. Kastenholz, "Evolution of the

    Interfaces Group of MIB-II", RFC 1573, January 1994.

Security Considerations

Security issues are not discussed in this memo.

Authors' Addresses

Kathryn de Graaf 3Com Corporation 118 Turnpike Rd. Southborough, MA 01772 USA

Phone: (508)229-1627 Fax: (508)490-5882 EMail: [email protected]

Dan Romascanu Madge Networks (Israel) Ltd. Atidim Technology Park, Bldg. 3 Tel Aviv 61131, Israel

Phone: 972-3-6458414, 6458458 Fax: 972-3-6487146 EMail: [email protected]

Donna McMaster Cisco Systems Inc. 170 West Tasman Drive San Jose, CA 95134

Phone: (408) 526-5260 EMail: [email protected]

Keith McCloghrie Cisco Systems Inc. 170 West Tasman Drive San Jose, CA 95134

Phone: (408) 526-5260 EMail: [email protected]