          Novell-Hub-Ethernet-MIB DEFINITIONS ::= BEGIN

          -- September 30, 1994

          -- This MIB is identical to the July 22, 1991 version of the
          -- IETF Internet Draft "draft-ietf-hubmib-mib-00.txt" with the 
          -- following exceptions:
          --   The MIB has been moved into Novell's enterprise space.
          --   The veryLongEvents counter has been added to nrptrMonitorPortTable
          --   The rptrExtensionsGroup has been added.


          IMPORTS
              enterprises, Counter, TimeTicks     FROM RFC1155-SMI
              DisplayString                       FROM RFC1213-MIB
              OBJECT-TYPE                         FROM RFC-1212
              TRAP-TYPE                           FROM RFC-1215;

          -- All representations of MAC addresses in this MIB Module use,
          -- as a textual convention (i.e. this convention does not affect
          -- their encoding), the data type:

--          MacAddress ::= OCTET STRING (SIZE (6))     a 6 octet address in
                                                    -- the "canonical" order
          -- defined by IEEE 802.1a, i.e., as if it were transmitted least
          -- significant bit first.
          --
          -- 16-bit addresses, if needed, are represented by setting their
          -- upper 4 octets to all 0's, i.e., AAFF would be represented
          -- as 00000000AAFF.

          novell OBJECT IDENTIFIER ::= { enterprises 23 }
          mibDoc OBJECT IDENTIFIER ::= { novell 2 }

          nSnmpDot3RptrMgt OBJECT IDENTIFIER ::= { mibDoc 2 }


          -- groups in the SNMP Repeater Mib

          rptrBasicGroup  OBJECT IDENTIFIER ::= { nSnmpDot3RptrMgt 1 }

          rptrMonitorGroup  OBJECT IDENTIFIER ::= { nSnmpDot3RptrMgt 2 }

          rptrAddrTrackGroup OBJECT IDENTIFIER ::= { nSnmpDot3RptrMgt 3 }

          rptrExtensionsGroup  OBJECT IDENTIFIER ::= { nSnmpDot3RptrMgt 4 }


          -- The Basic Group

          -- Implementation of the Basic Group is mandatory for all
          -- managed repeaters.

          --
          -- The Basic Repeater Table
          --

          rptrBasicTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF RptrBasicEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Status information and control variables for a
                      collection of repeaters in a particular system."
              ::= { rptrBasicGroup 1 }

          rptrBasicEntry OBJECT-TYPE
              SYNTAX    RptrBasicEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Status information and control variables for a
                      particular repeater in the system."
              INDEX    { rptrBasID }
              ::= { rptrBasicTable 1 }

          RptrBasicEntry ::=
              SEQUENCE {
                  rptrBasID
                      INTEGER,
                  rptrBasManufacturer
                      OCTET STRING,
                  rptrBasProduct
                      OCTET STRING,
                  rptrBasVersion
                      DisplayString,
                  rptrBasGroupCapacity
                      INTEGER,
                  rptrBasGroupMap
                      OCTET STRING,
                  rptrBasHealthState
                      INTEGER,
                  rptrBasHealthText
                      DisplayString,
                  rptrBasHealthData
                      OCTET STRING,
                  rptrBasReset
                      INTEGER,
                  rptrBasSelfTest1
                      INTEGER,
                  rptrBasSelfTest2
                      INTEGER
              }

          rptrBasID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The value of rptrID is assigned so as to uniquely
                      identify a repeater in a system where a single
                      agent manages multiple repeaters."
              ::= { rptrBasicEntry 1 }

          rptrBasManufacturer OBJECT-TYPE
              SYNTAX    OCTET STRING (SIZE (3))
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "A 24-bit value that identifies the manufacturer."
              ::= { rptrBasicEntry 2 }

          rptrBasProduct OBJECT-TYPE
              SYNTAX    OCTET STRING
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Manufacturer-defined product identifier.  Its
                      format and size are unrestricted."
              ::= { rptrBasicEntry 3 }

          rptrBasVersion OBJECT-TYPE
              SYNTAX    DisplayString
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Manufacturer-defined product revision
                      designation.  Its format and size are
                      unrestricted."
              ::= { rptrBasicEntry 4 }

          rptrBasGroupCapacity OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The rptrBasGroupCapacity 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
                      rptrBasGroupCapacity.

                      Some groups may not be present in a given repeater
                      instance, in which case the actual number of
                      groups present will be less than
                      rptrBasGroupCapacity. The number of groups present
                      will never be greater than rptrBasGroupCapacity.

                      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."
              ::= { rptrBasicEntry 5 }

          rptrBasGroupMap OBJECT-TYPE
              SYNTAX    OCTET STRING (SIZE (1..128))    -- bit map
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This octet string represents the current
                      configuration of groups, encoded as a bit string.
                      Each group is represented by a single bit. When
                      the value of a bit=1, it indicates that the group
                      represented by that bit is present in the
                      repeater; when zero, the group is not present.

                      Note:  The bitstring mapping text below does not
                      match the IETF conventions, and will be modified
                      appropriately.

                      The number of octets in the string is
                      rptrBasGroupCapacity divided by 8, rounded up to
                      the next whole number of octets.  For example, if
                      rptrBasGroupCapacity is 12, the octet string
                      returned by the agent will be of length two.

                      The first octet will encode the configuration of
                      groups 1-8, where group one is represented by the
                      least significant bit of the octet.  The second
                      octet will likewise encode groups 9-16.  In
                      general, octet i encodes groups (8i-7) through
                      (8i), where (8i-7) is represented by the least
                      significant bit and (8i) by the most significant
                      bit of the octet."
              ::= { rptrBasicEntry 6 }

          rptrBasHealthState OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),            -- undefined or unknown state
                          ok(2),               -- no known failures
                          rptrFailure(3),      -- repeater-related failure
                          groupFailure(4),     -- group-related failure
                          portFailure(5),      -- port-related failure
                          generalFailure(6)    -- failure, unspecified type
                      }
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The health state object indicates the operational
                      state of the repeater. The rptrBasHealthData and
                      rptrBasHealthText objects 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:
                          rptrFailure(3)
                          groupFailure(4)
                          portFailure(5)
                          generalFailure(6)"
              ::= { rptrBasicEntry 7 }

          rptrBasHealthText OBJECT-TYPE
              SYNTAX    DisplayString (SIZE (0..255))
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The health text object is a text string that
                      provides information relevant to the operational
                      state of the repeater. Agents may use this
                      mechanism to provide detailed failure information
                      or instructions for problem resolution. The
                      contents are agent-specific."
              ::= { rptrBasicEntry 8 }

          rptrBasHealthData OBJECT-TYPE
              SYNTAX    OCTET STRING (SIZE (0..255))
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The health data object is a block of data octets
                      that provides information relevant to the
                      operational state of the repeater. The encoding of
                      this data block is agent-dependent. Agents may use
                      this mechanism to provide detailed failure
                      information or instructions for problem
                      resolution."
              ::= { rptrBasicEntry 9 }

          rptrBasReset OBJECT-TYPE
              SYNTAX    INTEGER {
                            noReset(1),
                            reset(2)
                        }
              ACCESS    read-write
              STATUS    mandatory
              DESCRIPTION
                      "Setting this variable to reset(2) causes a
                      transition to the START state of Fig 9-2 in
                      section 9 [11].

                      Setting this variable to noReset(1) has no effect.
                      The agent will always return the value noReset(1)
                      when this variable is read.

                      This action does not reset the management counters
                      defined in this document nor does it affect the
                      portAdminState parameters. Included in this action
                      is the execution of rptrBasSelfTest2. As a result
                      of this action a rptrReset trap will be sent.

                      Note:  This action may result in the loss of
                      packets."
              ::= { rptrBasicEntry 10 }

          rptrBasSelfTest1 OBJECT-TYPE
              SYNTAX    INTEGER {
                            noSelfTest(1),
                            selfTest(2)
                        }
              ACCESS    read-write
              STATUS    mandatory
              DESCRIPTION
                      "Setting this variable to selfTest(2) causes the
                      repeater to perform a agent-specific, non-
                      disruptive self-test that has the following
                      characteristics: (1)  The nature of the tests is
                      not specified. (2)  The test does not change the
                      state of the repeater or management information
                      about the repeater. (3)  The test does not inject
                      packets onto any segment. (4)  The test does not
                      prevent the relay of any packets. (5)  The test
                      does not interfere with management functions.

                      After performing this test the agent will update
                      the repeater health information. If a change in
                      the repeater health has occurred, the agent will
                      send a rptrHealth trap.

                      Setting this variable to noSelfTest(1) has no
                      effect. The agent will always return the value
                      noSelfTest(1) when this variable is read."
              ::= { rptrBasicEntry 11 }

          rptrBasSelfTest2 OBJECT-TYPE
              SYNTAX    INTEGER {
                            noSelfTest(1),
                            selfTest(2)
                        }
              ACCESS    read-write
              STATUS    mandatory
              DESCRIPTION
                      "Setting this variable to selfTest(2) causes the
                      repeater to perform a agent-specific, disrupt)ve
                      self-test that has the following characteristics:
                      (1)  The nature of the tests is not specified. (2)
                      The test resets the repeater but without affecting
                      management information about the repeater. (3)
                      The test does not inject packets onto any segment.
                      (4)  Packets received during the test may or may
                      not be relayed.

                      After performing this test the agent will update
                      the repeater health information. If a change in
                      the repeater health has occurred, the agent will
                      send a rptrHealth trap.

                      Setting this variable to noSelfTest(1) has no
                      effect.  The agent will always return the value
                      noSelfTest(1) when this variable is read."
              ::= { rptrBasicEntry 12 }

          --
          -- The Basic Group Table
          --

          rptrBasicGroupTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF RptrBasicGroupEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Table of descriptive and status information about
                      the groups of ports."
              ::= { rptrBasicGroup 2 }

          rptrBasicGroupEntry OBJECT-TYPE
              SYNTAX    RptrBasicGroupEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing information
                      about a single group of ports."
              INDEX    { rptrBasGroupRptrID, rptrBasGroupID }
              ::= { rptrBasicGroupTable 1 }

          RptrBasicGroupEntry ::= SEQUENCE 
		{ rptrBasGroupRptrID  INTEGER,
                  rptrBasGroupID      INTEGER,
                  rptrBasGroupDescr    DisplayString,
                  rptrBasGroupObjectID  OBJECT IDENTIFIER,
                  rptrBasGroupUpTime    TimeTicks,
                  rptrBasGroupNumOfPorts   INTEGER
              }

          rptrBasGroupRptrID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the repeater containing
                      the group for which this entry contains
                      information."
              ::= { rptrBasicGroupEntry 1 }

          rptrBasGroupID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the group within the
                      repeater for which this entry contains
                      information. This value is never greater than
                      rptrBasGroupCapacity."
              ::= { rptrBasicGroupEntry 2 }

          rptrBasGroupDescr OBJECT-TYPE
              SYNTAX    DisplayString (0..255)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "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 groups in the repeater.  'Wilma Flintstone
                      6-Port FOIRL Plug-in Module, Rev A' or 'Barney
                      Rubble 10BASE-T 4-port SIMM socket V. 2.1' are
                      examples of valid group descriptions.

                      It is mandatory that this only contain printable
                      ASCII characters."
              ::= { rptrBasicGroupEntry 3 }

          rptrBasGroupObjectID OBJECT-TYPE
              SYNTAX    OBJECT IDENTIFIER
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The vendor's authoritative identification of the
                      group.  This value is 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 variable 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.'"
              ::= { rptrBasicGroupEntry 4 }

          rptrBasGroupUpTime OBJECT-TYPE
              SYNTAX    TimeTicks
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "An object that contains the value of sysUpTime at
                      the time that the management information relating
                      to this group was last reset.

                      A value of zero would indicate that the group was
                      present when the agent last restarted. A non-zero
                      value would indicate that the group had been added
                      to the repeater after the agent last restarted."
              ::= { rptrBasicGroupEntry 5 }

          rptrBasGroupNumOfPorts OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The rptrBasGroupNumOfPorts is the number of ports
                      contained within the group.  Valid range is 1-
                      1024. Within each group, the ports are uniquely
                      numbered in the range from 1 to
                      rptrBasGroupNumOfPorts.

                      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."
              ::= { rptrBasicGroupEntry 6 }

          --
          -- The Basic Port Table
          --

          rptrBasicPortTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF RptrBasicPortEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Table of descriptive and status information about
                      the ports."
              ::= { rptrBasicGroup 3 }

          rptrBasicPortEntry OBJECT-TYPE
              SYNTAX    RptrBasicPortEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing information
                      about a single port."
              INDEX    { rptrBasPortRptrID, rptrBasPortGroupID,
                         rptrBasPortID }
              ::= { rptrBasicPortTable 1 }

          RptrBasicPortEntry ::= SEQUENCE 
 		{ rptrBasPortRptrID INTEGER,
                  rptrBasPortGroupID INTEGER,
                  rptrBasPortID      INTEGER,
                  rptrBasPortAdminState INTEGER,
                  rptrBasPortAutoPartitionState INTEGER
              }

          rptrBasPortRptrID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the repeater containing
                      the port for which this entry contains
                      information."
              ::= { rptrBasicPortEntry 1 }

          rptrBasPortGroupID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the group containing the
                      port for which this entry contains information."
              ::= { rptrBasicPortEntry 2 }

          rptrBasPortID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the port within the
                      group within the repeater for which this entry
                      contains management information. This value can
                      never be greater than rptrBasGroupNumOfPorts for
                      the associated group."
              ::= { rptrBasicPortEntry 3 }

          rptrBasPortAdminState OBJECT-TYPE
              SYNTAX    INTEGER {
                            disabled(1),
                            enabled(2)
                        }
              ACCESS    read-write
              STATUS    mandatory
              DESCRIPTION
                      "Setting this variable to disabled(1) 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 state takes precedence over auto-
                      partition and functionally operates between the
                      auto-partition mechanism and the AUI/PMA.

                      Setting this variable to enabled(2) enables the
                      port and exerts a BEGIN on the port's auto-
                      partition state machine.

                      Note:  What the above means is that when a port
                      becomes disabled, its current auto-partition state
                      is frozen until the port is next enabled. When the
                      port becomes enabled, the auto-partition state
                      becomes notAutoPartitioned, regardless of its
                      pre-disabling state. This text will be clarified
                      in the next draft."
              ::= { rptrBasicPortEntry 4 }

          rptrBasPortAutoPartitionState OBJECT-TYPE
              SYNTAX    INTEGER {
                            autoPartitioned(1),
                            notAutoPartitioned(2)
                        }
              ACCESS    read-only
              STATUS    mandatory
              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 Sect. 9
                      [11]. They are not differentiated here."
              ::= { rptrBasicPortEntry 5 }


          --
          -- The Monitor Group
          --
          -- Implementation of this group is optional, but within the
          -- group all elements are mandatory.  If a managed repeater
          -- implements any part of this group, the entire group shall
          -- be implemented.

          --
          -- The Repeater Monitor Table
          --

          rptrMonitorTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF RptrMonitorEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Statistics for a collection of repeaters in a
                      particular system."
              ::= { rptrMonitorGroup 1 }

          rptrMonitorEntry OBJECT-TYPE
              SYNTAX    RptrMonitorEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing statistics for
                      a single repeater."
              INDEX    { rptrMonID }
              ::= { rptrMonitorTable 1 }

          RptrMonitorEntry ::= SEQUENCE 
          { rptrMonID INTEGER,
                  rptrMonTransmitCollisions  Counter,
                  rptrMonMJLPs               Counter
              }

          rptrMonID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the repeater for which
                      this entry contains monitor information."
              ::= { rptrMonitorEntry 1 }

          rptrMonTransmitCollisions OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "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) [11].

                      Note:  The approximate minimum time for counter
                      rollover is 16 hours."
              ::= { rptrMonitorEntry 2 }

          rptrMonMJLPs OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The repeater MJLPs object counts the number of
                      times the repeater enters the DISABLE OUTPUT state
                      in the MAU Jabber Lockup Protection state diagram
                      (Fig. 9-5) [11].

                      Note:  The approximate minimum time for counter
                      rollover is 200 days."
              ::= { rptrMonitorEntry 3 }

          --
          -- The Port Monitor Table
          --

          nrptrMonitorPortTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF nRptrMonitorPortEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Table of performance and error statistics for the
                      ports."
              ::= { rptrMonitorGroup 2 }

          nrptrMonitorPortEntry OBJECT-TYPE
              SYNTAX    nRptrMonitorPortEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing performance and
                      error statistics for a single port."
              INDEX    { rptrMonPortRptrID, rptrMonPortGroupID,
                         rptrMonPortID }
              ::= { nrptrMonitorPortTable 1 }

          nRptrMonitorPortEntry ::= SEQUENCE 
		{ rptrMonPortRptrID INTEGER,
                  rptrMonPortGroupID  INTEGER,
                  rptrMonPortID       INTEGER,
                  rptrMonPortReadableFrames  Counter,
                  rptrMonPortReadableOctets   Counter,
                  rptrMonPortFrameCheckSequenceErrs Counter,
                  rptrMonPortAlignmentErrors        Counter,
                  rptrMonPortFrameTooLongs        Counter,
                  rptrMonPortShortEvents          Counter,
                  rptrMonPortRunts                Counter,
                  rptrMonPortCollisions           Counter,
                  rptrMonPortLateCollisions       Counter,
                  rptrMonPortDataRateMismatches   Counter,
                  rptrMonPortAutoPartitions       Counter,
                  rptrMonPortVeryLongEvents       Counter
              }

          rptrMonPortRptrID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Repeater ID for identifying the port."
              ::= { nrptrMonitorPortEntry 1 }

          rptrMonPortGroupID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Group ID for identifying the port."
              ::= { nrptrMonitorPortEntry 2 }

          rptrMonPortID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Port ID for identifying the port."
              ::= { nrptrMonitorPortEntry 3 }

          rptrMonPortReadableFrames OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "A representation of the total frames of valid
                      frame length. This counter is incremented by one
                      for each frame whose OctetCount is greater than or
                      equal to minFrameSize and less than or equal to
                      maxFrameSize (Ref: 4.4.2.1 [11]) and for which
                      FCSError is not asserted.

                      Note:  The approximate minimum time between
                      counter rollovers is 81 hours."
              ::= { nrptrMonitorPortEntry 4 }

          rptrMonPortReadableOctets OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by OctetCount for each frame
                      which which has been determined to be a readable
                      frame.

                      Note:  The approximate minimum time between
                      counter rollovers is 58 minutes."
              ::= { nrptrMonitorPortEntry 5 }

          rptrMonPortFrameCheckSequenceErrs OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by one for each frame with
                      FCSError and without FramingError and whose
                      OctetCount is greater than or equal to
                      minFrameSize and less than or equal to
                      maxFrameSize (Ref: 4.4.2.1 [11]).

                      Note:  The approximate minimum time between
                      counter rollovers is 81 hours."
              ::= { nrptrMonitorPortEntry 6 }

          rptrMonPortAlignmentErrors OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by one for each frame with
                      FCSError and FramingError and whose octetCount is
                      greater than or equal to minFrameSize and less
                      than or equal to maxFrameSize (Ref: 4.4.2.1 [11]).

                      Note:  The approximate minimum time between
                      counter rollovers is 81 hours."
              ::= { nrptrMonitorPortEntry 7 }

          rptrMonPortFrameTooLongs OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by one for each frame whose
                      OctetCount is greater than maxFrameSize (Ref:
                      4.4.2.1 [11]).

                      Note:  The approximate minimum time between
                      counter rollovers is 61 days."
              ::= { nrptrMonitorPortEntry 8 }

          rptrMonPortShortEvents OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by one for each carrier event
                      whose ActivityDuration is greater than
                      ShortEventMinTime and less than ShortEventMaxTime.
                      ShortEventMinTime represents any event of
                      sufficient duration to initiate transmission by a
                      repeater. ShortEventMaxTime is greater than 7.4uS
                      and less than 8.2uS. 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.

                      Note: shortEvents may indicate an externally
                      generated noise hit which will cause the relay 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. Such shortEvents are not a feature of
                      normal network activity. Also it should be noted
                      that a MAU that is attached to a coax segment may
                      have several carrier dropouts on the DI circuit
                      before the CI circuit is active and stable. Such
                      dropouts will increment the shortEvent counter but
                      are considered normal for a coax segment."
              ::= { nrptrMonitorPortEntry 9 }

          rptrMonPortRunts OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by one for each carrier event
                      whose ActivityDuration is greater than
                      ShortEventMaxTime and less than  RuntMaxTime.
                      RuntMaxTime is greater than 53.2uS and less than
                      56.0uS.

                      An event whose length is greater than 7.4uS but
                      less than 8.2uS shall increment either the
                      ShortEvent object or the runts object but not
                      both.

                      A non-collision event greater than 53.2uS but less
                      than 56.0uS may or may not be counted as a runt.
                      A non-collision event greater than or equal to
                      56.0uS shall not be counted as a Runt.
                      RuntMaxTime has tolerances included to provide for
                      circuit losses between a conformance test point at
                      the AUI and the measurement point within the state
                      machine.

                      Note:  Runts do not indicate a problem in the
                      network.  The approximate minimum time for counter
                      rollover is 16 hours."
              ::= { nrptrMonitorPortEntry 10 }

          rptrMonPortCollisions OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by one for each carrier event
                      in which the CIPresent(X) variable has the value
                      SQE (see 9.6.6.2 [11]).

                      Note:    The approximate minimum time for counter
                      rollover is 16 hours."
              ::= { nrptrMonitorPortEntry 11 }

          rptrMonPortLateCollisions OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Increment counter by one for each carrier event
                      in which the CIPresent(X) variable has the value
                      SQE (see 9.6.6.2 [11]) at any time when the
                      ActivityDuration is greater than the RuntMaxTime.

                      A late collision is counted twice, as both a
                      collision and as a late collision.
                      LateCollisionThreshold has tolerances included to
                      provide for circuit losses between a conformance
                      test point at the AUI and the measurement point
                      within the state machine.

                      Note:  The approximate minimum time between
                      counter rollovers is 81 hours."
              ::= { nrptrMonitorPortEntry 12 }

          rptrMonPortDataRateMismatches OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The dataRateMismatches object counts the number
                      of times that a packet has been received by this
                      port with the transmission frequency (data rate)
                      detectably mismatched from the local transmit
                      frequency. The exact degree is implementation-
                      specific and is to be defined by the implementor
                      for conformance testing.

                      Note: Whether or not the repeater was able to
                      maintain data integrity is beyond the scope of
                      this standard."
              ::= { nrptrMonitorPortEntry 13 }

          rptrMonPortAutoPartitions OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The autoPartitions object counts the number of
                      times that the repeater has automatically
                      partitioned this port. The conditions that cause
                      port partitioning are specified in partition state
                      machine in Sect. 9 [11]. They are not
                      differentiated here.

                      Note:  The approximate minimum time between
                      counter rollovers is 20 days."
              ::= { nrptrMonitorPortEntry 14 }

          rptrMonPortVeryLongEvents OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The veryLongEvents object counts the number of
                      times a packet has been received by this port
                      that was so long that the repeater was forced
                      to go into a jabber protection condition.

                      Note:  The approximate minimum time for counter
                      rollover is 200 days."
              ::= { nrptrMonitorPortEntry 15 }


          --
          -- The Address Tracking Group
          --
          -- Implementation of this group is optional; it is appropriate
          -- for all systems which have the necessary metering.  If a
          -- managed repeater implements any part of this group, the entire
          -- group shall be implemented.

          --
          -- The Port Address Tracking Table
          --

          nrptrAddrTrackTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF nRptrAddrTrackEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Table of address mapping information about the
                      ports."
              ::= { rptrAddrTrackGroup 1 }

          nrptrAddrTrackEntry OBJECT-TYPE
              SYNTAX    nRptrAddrTrackEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing address mapping
                      information about a single port."
              INDEX    { rptrAddrRptrID, rptrAddrGroupID,
                        rptrAddrPortID }
              ::= { nrptrAddrTrackTable 1 }

          nRptrAddrTrackEntry ::= SEQUENCE 
			{ rptrAddrRptrID  INTEGER,
                  rptrAddrGroupID         INTEGER,
                  rptrAddrPortID          INTEGER,
                  rptrAddrLastSourceAddress    OCTET STRING (SIZE (6)),
                  rptrAddrSourceAddrChanges     Counter
              }

          rptrAddrRptrID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Repeater ID for identifying the port."
              ::= { nrptrAddrTrackEntry 1 }

          rptrAddrGroupID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Group ID for identifying the port."
              ::= { nrptrAddrTrackEntry 2 }

          rptrAddrPortID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "Port index for identifying the port."
              ::= { nrptrAddrTrackEntry 3 }

          rptrAddrLastSourceAddress OBJECT-TYPE
              SYNTAX    OCTET STRING (SIZE (6))
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The lastSourceAddress object is the source
                      address of the last readable frame (i.e., counted
                      by rptrMonPortReadableFrames) received by this
                      port."
              ::= { nrptrAddrTrackEntry 4 }

          rptrAddrSourceAddrChanges OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The rptrAddrSourceAddressChanges object counts
                      the number of the times that the
                      rptrAddrLastSourceAddress for this port has
                      changed.

                      Note:  This may indicate whether a link is
                      connected to a single DTE or another multi-user
                      segment. The approximate minimum time for counter
                      rollover is 81 hours."
              ::= { nrptrAddrTrackEntry 5 }


          --
          -- The Extensions Group
          --
          -- Implementation of this group is optional, but within the
          -- group all elements are mandatory.  If a managed repeater
          -- implements any part of this group, the entire group shall
          -- be implemented.

          --
          -- The Extended Repeater Table
          --

          rptrExtendedTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF RptrExtendedEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Extended statistics for a collection of 
                      repeaters in a particular system."
              ::= { rptrExtensionsGroup 1 }

          rptrExtendedEntry OBJECT-TYPE
              SYNTAX    RptrExtendedEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing extended 
                      statistics for a single repeater."
              INDEX    { rptrExtID }
              ::= { rptrExtendedTable 1 }

          RptrExtendedEntry ::= SEQUENCE 
   			{ rptrExtID   INTEGER,
			  rptrExtTotalOctets  Counter,
                    rptrExtName               DisplayString
              }

          rptrExtID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the repeater for which
                      this entry contains monitor information."
              ::= { rptrExtendedEntry 1 }

          rptrExtTotalOctets OBJECT-TYPE
              SYNTAX    Counter
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This counter is incremented by one for each
                      octet repeated, including the 8 octets of
                      preamble and the FCS for any packet, whether
                      the FCS was correct or not.

                      Note:  The approximate minimum time between
                      counter rollovers is 58 minutes."
              ::= { rptrExtendedEntry 2 }

          rptrExtName OBJECT-TYPE
              SYNTAX    DisplayString (SIZE (0..12))
              ACCESS    read-write
              STATUS    mandatory
              DESCRIPTION
                      "A textual name administratively assigned to
                      this repeater."
              ::= { rptrExtendedEntry 3 }

          --
          -- The Extended Group Table
          --

          rptrExtendedGroupTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF RptrExtendedGroupEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Table of descriptive and status information about
                      the groups of ports."
              ::= { rptrExtensionsGroup 2 }

          rptrExtendedGroupEntry OBJECT-TYPE
              SYNTAX    RptrExtendedGroupEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing information
                      about a single group of ports."
              INDEX    { rptrExtGroupRptrID, rptrExtGroupID }
              ::= { rptrExtendedGroupTable 1 }

          RptrExtendedGroupEntry ::= SEQUENCE 
 		{ rptrExtGroupRptrID INTEGER,
                  rptrExtGroupID     INTEGER,
                  rptrExtGroupSlotNo  INTEGER,
                  rptrExtChassisID    INTEGER
              }

          rptrExtGroupRptrID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the repeater containing
                      the group for which this entry contains
                      information."
              ::= { rptrExtendedGroupEntry 1 }

          rptrExtGroupID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the group  within the
                      repeater for which this entry contains 
                      information.  This value is never greater than 
                      rptrBasGroupCapacity."
              ::= { rptrExtendedGroupEntry 2 }

          rptrExtGroupSlotNo OBJECT-TYPE
              SYNTAX    INTEGER
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The number of the slot in which the group card
                       resides.  A negative value signifies that the
                       slot number is not known."
              ::= { rptrExtendedGroupEntry 3 }

          rptrExtGroupChassisID OBJECT-TYPE
              SYNTAX    INTEGER
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The number of the chassis in which the group card
                       resides.  A zero value signifies that the chassis
                       number is not known."
              ::= { rptrExtendedGroupEntry 4 }

          --
          -- The Extended Port Table
          --

          rptrExtendedPortTable OBJECT-TYPE
              SYNTAX    SEQUENCE OF RptrExtendedPortEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "Table of descriptive and status information about
                      the ports."
              ::= { rptrExtensionsGroup 3 }

          rptrExtendedPortEntry OBJECT-TYPE
              SYNTAX    RptrExtendedPortEntry
              ACCESS    not-accessible
              STATUS    mandatory
              DESCRIPTION
                      "An entry in the table, containing information
                      about a single port."
              INDEX    { rptrExtPortRptrID, rptrExtPortGroupID,
                         rptrExtPortID }
              ::= { rptrExtendedPortTable 1 }

          RptrExtendedPortEntry ::= SEQUENCE 
		{ rptrExtPortRptrID INTEGER,
                  rptrExtPortGroupID INTEGER,
                  rptrExtPortID      INTEGER,
                  rptrExtPortLinkState INTEGER,
                  rptrExtPortName      DisplayString,
                  rptrExtPortLoginName  DisplayString,
                  rptrExtPortBackplane  INTEGER
              }

          rptrExtPortRptrID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the repeater containing
                      the port for which this entry contains
                      information."
              ::= { rptrExtendedPortEntry 1 }

          rptrExtPortGroupID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the group containing the
                      port for which this entry contains information."
              ::= { rptrExtendedPortEntry 2 }

          rptrExtPortID OBJECT-TYPE
              SYNTAX    INTEGER (1..1024)
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "This variable identifies the port within the
                      group within the repeater for which this entry
                      contains management information. This value can
                      never be greater than rptrBasGroupNumOfPorts for
                      the associated group."
              ::= { rptrExtendedPortEntry 3 }

          rptrExtPortLinkState OBJECT-TYPE
              SYNTAX    INTEGER {
                            linkDown(1),
                            linkUp(2),
                            notApplicable(3)
                        }
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "A value indicating the current state of the link 
                      attached to the port.  The possible values are:

                          linkDown(1)      The link pulses are not being 
                                           received by the port.
                          linkUp(2)        The link pulses are being received 
                                           by the port.
                          notApplicable(3) The port is an AUI or other 
                                           non-10BaseT port."
              ::= { rptrExtendedPortEntry 4 }

          rptrExtPortName OBJECT-TYPE
              SYNTAX    DisplayString (SIZE (0..12))
              ACCESS    read-write
              STATUS    mandatory
              DESCRIPTION
                      "A textual name administratively assigned to
                      this port."
              ::= { rptrExtendedPortEntry 5 }

          rptrExtPortLoginName OBJECT-TYPE
              SYNTAX    DisplayString (SIZE (0..47))
              ACCESS    read-only
              STATUS    mandatory
              DESCRIPTION
                      "The login name of the user currently logged in,
                      via this port, to the server containing this
                      repeater;  otherwise, the null string"
              ::= { rptrExtendedPortEntry 6 }

          rptrExtPortBackplane OBJECT-TYPE
              SYNTAX    INTEGER (0..65535)
              ACCESS    read-write
              STATUS    mandatory
              DESCRIPTION
                      "The segment to which the port belongs."
              ::= { rptrExtendedPortEntry 7 }


          -- Traps for use by Repeaters

          -- Traps are defined using the conventions in RFC 1215 [10].

          rptrHealth TRAP-TYPE
              ENTERPRISE  nSnmpDot3RptrMgt
              VARIABLES   { rptrBasHealthState,
                            rptrBasHealthText,
                            rptrBasHealthData,
                            rptrBasID,
                            rptrExtName }
              DESCRIPTION
                      "The rptrHealth trap conveys information related
                      to the operational state of the repeater. This
                      trap is sent only when the health state of the
                      repeater changes."

                      --#TYPE "Ethernet hub health status"
                      --#SUMMARY "Health status for hub %s(%d) changed to %s(%d)."
                      --#ARGUMENTS { 4, 3, 1, 0 }
                      --#SEVERITY CRITICAL
                      --#TIMEINDEX 5
                      --#HELP "hsm.hlp"
                      --#HELPTAG 203
                      --#STATE  OPERATIONAL
              ::= 1

          rptrGroupMapChange TRAP-TYPE
              ENTERPRISE  nSnmpDot3RptrMgt
              VARIABLES   { rptrBasGroupMap,
                            rptrBasID,
                            rptrExtName }
              DESCRIPTION
                      "This trap is sent when a change occurs in the
                      group structure of a repeater. This occurs only
                      when a group is logically removed from or added to
                      a repeater. The varBind list contains the updated
                      value of the rptrBasGroupMap variable."

                      --#TYPE "Ethernet hub group map change"
                      --#SUMMARY "Group mapping for hub %s(%d) changed to %x."
                      --#ARGUMENTS { 2, 1, 0 }
                      --#SEVERITY CRITICAL
                      --#TIMEINDEX 3
                      --#HELP "hsm.hlp"
                      --#HELPTAG 202
                      --#STATE  OPERATIONAL
              ::= 2

          rptrReset TRAP-TYPE
              ENTERPRISE  nSnmpDot3RptrMgt
              VARIABLES   { rptrBasHealthState,
                            rptrBasHealthText,
                            rptrBasHealthData,
                            rptrBasID,
                            rptrExtName }
              DESCRIPTION
                      "The rptrReset trap conveys information related to
                      the operational state of the repeater. This trap
                      is sent on completion of a repeater reset action."

                      --#TYPE "Ethernet hub reset"
                      --#SUMMARY "Hub %s(%d) performed a reset operation."
                      --#ARGUMENTS { 4, 3 }
                      --#SEVERITY INFORMATIONAL
                      --#TIMEINDEX 5
                      --#HELP "hsm.hlp"
                      --#HELPTAG 204
                      --#STATE  OPERATIONAL
              ::= 3

          END

