-- extracted from rfc2108.txt
-- at Mon Nov 15 17:11:46 1999

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,
	NOTIFICATION-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: hubmib@hprnd.rose.hp.com

                 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: dromasca@madge.com

                Editor: Kathryn de Graaf
                Postal: 3Com Corporation
                        118 Turnpike Rd.
                        Southborough, MA 01772 USA
                   Tel: (508)229-1627
                   Fax: (508)490-5882
                E-mail: kdegraaf@isd.3com.com"
        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"
        ::= { mib-2 22 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 OBJECT IDENTIFIER        ::= { rptrAddrTrackPackage 2 }

rptrAddrTrackPortInfo OBJECT IDENTIFIER         ::= { rptrAddrTrackPackage 3 }

-- TopN information.

rptrTopNPackage OBJECT IDENTIFIER       ::= { snmpDot3RptrMgt 4 }

rptrTopNRptrInfo OBJECT IDENTIFIER      ::= { rptrTopNPackage 1 }

rptrTopNGroupInfo 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),
                        ok(2),
                        rptrFailure(3),
                        groupFailure(4),
                        portFailure(5),
                        generalFailure(6) }
        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),
                        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 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 }

snmpRptrModNotGrp1516 NOTIFICATION-GROUP
        NOTIFICATIONS {
                rptrHealth,
                rptrGroupChange,
                rptrResetEvent }
        STATUS deprecated
        DESCRIPTION
                "DEPRECATED notifications from RFC1516."
        ::= { snmpRptrModNotGrps 1 }

snmpRptrModNotGrpBasic NOTIFICATION-GROUP
        NOTIFICATIONS {
                rptrInfoHealth,
                rptrInfoResetEvent }
        STATUS current
        DESCRIPTION
                "Basic notifications."
        ::= { snmpRptrModNotGrps 2 }


-- Compliances

snmpRptrModComplRFC1368 MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "Compliance for RFC 1368.

                NOTE: this module compliance is OBSOLETE and
                      replaced by snmpRptrModComplRFC1516."

        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 current
        DESCRIPTION
                "********* THIS COMPLIANCE IS DEPRECATED **********

                Compliance for RFC 1516 and for backwards
                compatibility with single-repeater,
                10Mb/s-only implementations."

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