DECHUB900-HUBMGR-MIB-V3-0 DEFINITIONS ::= BEGIN

--
--
--  Definitions of Managed Objects for Digital Equipment Corporation's
--                Hub Manager and Stack Director Modules
--                ======================================
--
--
--
--                 Name:    hubmg3-0.txt
--                 Version: 3.0
--                 Date:    April, 1997
--                 Company: Digital Equipment Corporation
--                 Mail:    hub900-support@lkg.dec.com
--
--  
--  
--  
--  This Digital Equipment  Corporation  SNMP  Management  Information  Base
--  Specification  embodies Digital Equipment Corporation's confidential and
--  proprietary  intellectual  property.   Digital   Equipment   Corporation
--  retains  all  title  and  ownership  in the Specification, including any
--  revisions.
--  
--  It is Digital Equipment Corporation's intent to encourage the widespread
--  use  of  this Specification in connection with the management of Digital
--  Equipment Corporation products.
--  
--  Digital Equipment  Corporation  grants  vendors,  end-users,  and  other
--  interested  parties a non-exclusive license to use this Specification in
--  connection  with  the  management  of  Digital   Equipment   Corporation
--  products.
--  
--  Digital Equipment Corporation reserves the right to make changes in this
--  specification  and  other information contained in this document without
--  prior notice.
--  
--  Digital Equipment Corporation makes no  warranty,  either  expressed  or
--  implied,  as  to  the  use,  operation, condition, or performance of the
--  Specification.  In no  event  shall  Digital  Equipment  Corporation  be
--  liable  for  any incidental, indirect, special, or consequential damages
--  whatsoever (including but not limited to loss of profits) arising out of
--  or related to this document or the information contained in it.
--  
--
--
--
--
--
--  1  Status Of This Memo
--
--  This MIB     module provides   definitions    for  Digital   Equipment
--  Corporation's DEChub900  MultiSwitch Hub Management  Module and Multi-
--  Switch 600 Stack Director Module.
--
--  Digital posts product MIBs on web sites at:
--
--            http://www.networks.digital.com/
--            http://www.networks.europe.digital.com/
--            http://www.networks.digital.com.au/
--  
--  This particular MIB is kept in:
--            
--            http://www.networks.digital.com/dr/hubs/mibs
--
--
--  Inquiries about the contents and use of this MIB may be sent to 
--  hub900-support@lkg.dec.com.
--
--
--  2  Relationship To Other MIBs
--
--  The  objects  defined  in  this   MIB   are   located   under   the
--  private.enterprises subtree as shown below:
--
--                    iso(1).org(3).dod(6).internet(1)
--                                 |
--                              private(4)
--                                 |
--                              enterprises(1)
--                                 |
--                              dec(36)
--                                 |
--                              ema(2)
--                                 |
--                              decMIBextension(18)
--                                 |
--                              decHub900(11)
--                                 |
--                     .___________.________________.___________// ...etc...
--                     |                            |
--                mgmtAgent(1)                   common(2)
--                     |
--            .___________________________.
--            |                           |
--  mgmtAgentVersion1(1)         mgmtAgentVersion2(2)      ...ect...
--            |                           |
--     ._____________.                    |
--     |             |            ._______________.
--  chassis(1)  mamPrivate(1)     | mamPrivate(1) |
--                                ._______________.
--
--
--
--  This  MIB contains definitions for  the Event  Logger, RMON-like Alarm
--  and  Event Gateway, and   RMON-like  Ethernet Statistics  and  History
-- Gateway.
--
--
--
--  3  Abstract
--
--  This MIB is implemented by the DEChub900 MultiSwitch Hub Management
--  Module and the MultiSwitch 600 Stack Director Module.   
--
--  Use of the objects defined in this MIB is described in the "DEChub 900
--  MultiSwitch Owner's Manual" and "MultiSwitch 600 Stack Director Owner's
--  Manual".  Where discrepancies occur between this MIB  document and the 
--  owner's manual, the owner's manual takes precedence.
--
--
--  4  References
--
--  [1]  RFC 1213.  McCloghrie, K., and M. Rose, "Management Information Base 
--       for Network Management of TCP/IP-based Internets".  March, 1991.
--
--  [2]  RFC 1155.  Rose, M., and K. McCloghrie, "Structure and Identification 
--       of Management Information for TCP/IP-based Internets".  May, 1990.
--
--
--
--  5  Object Synopsis
--
--  Object Name                                  Object ID             Other
--  =================================            ==================    =======
-- 
--  p = 1.3.6.1.4.1.36.2.18.decHub900(11).mgmtAgent(1).
--             mgmtAgent(1).mgmtAgentVersion2(2).mamPrivate(1)
--  n = the instance of a tabular object.
--  
--  
--  mamPrivate                                   p
--    eventLogger                                p.1
--      eventLogTotalEvents                      p.1.1.0
--      eventLogTable                            p.1.2
--        eventLogEntry                          p.1.2.1
--          eventLogIndex                        p.1.2.1.1.n
--          eventLogSlot                         p.1.2.1.2.n
--          eventLogTimeStamp                    p.1.2.1.3.n
--          eventLogDescription                  p.1.2.1.4.n
--    rmonHub                                    p.2
--      hubAlarm                                 p.2.1
--        hubAlarmTable                          p.2.1.1
--          hubAlarmEntry                        p.2.1.1.1
--            hubAlarmSlotNumber                 p.2.1.1.1.1.n         non-vol
--            hubAlarmIndex                      p.2.1.1.1.2.n         non-vol
--            hubAlarmInterval                   p.2.1.1.1.3.n         non-vol
--            hubAlarmVariable                   p.2.1.1.1.4.n         non-vol
--            hubAlarmSampleType                 p.2.1.1.1.5.n         non-vol
--            hubAlarmValue                      p.2.1.1.1.6.n         non-vol
--            hubAlarmStartupAlarm               p.2.1.1.1.7.n         non-vol
--            hubAlarmRisingThreshold            p.2.1.1.1.8.n         non-vol
--            hubAlarmFallingThreshold           p.2.1.1.1.9.n         non-vol
--            hubAlarmRisingEventIndex           p.2.1.1.1.10.n        non-vol
--            hubAlarmFallingEventIndex          p.2.1.1.1.11.n        non-vol
--            hubAlarmOwner                      p.2.1.1.1.12.n        non-vol
--            hubAlarmState                      p.2.1.1.1.13.n        non-vol
--            hubAlarmStatus                     p.2.1.1.1.14.n        non-vol
--      hubEvent                                 p.2.2
--        hubEventTable                          p.2.2.1
--          hubEventEntry                        p.2.2.1.1
--            hubEventIndex                      p.2.2.1.1.1.n         non-vol
--            hubEventDescription                p.2.2.1.1.2.n         non-vol
--            hubEventType                       p.2.2.1.1.3.n         non-vol
--            hubEventCommunity                  p.2.2.1.1.4.n         non-vol
--            hubEventLastTimeSent               p.2.2.1.1.5.n         non-vol
--            hubEventOwner                      p.2.2.1.1.6.n         non-vol
--            hubEventStatus                     p.2.2.1.1.7.n         non-vol
--        hubLogTable                            p.2.2.2
--          hubLogEntry                          p.2.2.2.1
--            hubLogSlotNumber                   p.2.2.2.1.1.n
--            hubLogEventIndex                   p.2.2.2.1.2.n
--            hubLogIndex                        p.2.2.2.1.3.n
--            hubLogTime                         p.2.2.2.1.4.n
--            hubLogDescription                  p.2.2.2.1.5.n
--      hubEtherCapabilities                     p.2.3
--        hubEtherCapabilitiesTable              p.2.3.1
--          hubEtherCapabilitiesEntry            p.2.3.1.1
--            hubEtherCapabilitiesSlotNumber     p.2.3.1.1.1.n         non-vol
--            hubEtherCapabilitiesIndex          p.2.3.1.1.2.n         non-vol
--            hubEtherCapabilitiesLanType        p.2.3.1.1.3.n         non-vol
--            hubEtherCapabilitiesLanSpeed       p.2.3.1.1.4.n         non-vol
--            hubEtherCapabilitiesTrueCollisions p.2.3.1.1.5.n         non-vol
--            hubEtherCapabilitiesState          p.2.3.1.1.6.n         non-vol
--      hubStatistics                            p.2.4
--        hubEtherStatsTable                     p.2.4.1
--          hubEtherStatsEntry                   p.2.4.1.1
--            hubEtherStatsSlotNumber            p.2.4.1.1.1.n
--            hubEtherStatsIndex                 p.2.4.1.1.2.n
--            hubEtherStatsDropEvents            p.2.4.1.1.3.n
--            hubEtherStatsOctets                p.2.4.1.1.4.n
--            hubEtherStatsPkts                  p.2.4.1.1.5.n
--            hubEtherStatsBroadcastPkts         p.2.4.1.1.6.n
--            hubEtherStatsMulticastPkts         p.2.4.1.1.7.n
--            hubEtherStatsCRCAlignErrors        p.2.4.1.1.8.n
--            hubEtherStatsUndersizePkts         p.2.4.1.1.9.n
--            hubEtherStatsOversizePkts          p.2.4.1.1.10.n
--            hubEtherStatsFragments             p.2.4.1.1.11.n
--            hubEtherStatsJabbers               p.2.4.1.1.12.n
--            hubEtherStatsCollisions            p.2.4.1.1.13.n
--            hubEtherStatsPkts64Octets          p.2.4.1.1.14.n
--            hubEtherStatsPkts65to127Octets     p.2.4.1.1.15.n
--            hubEtherStatsPkts128to255Octets    p.2.4.1.1.16.n
--            hubEtherStatsPkts256to511Octets    p.2.4.1.1.17.n
--            hubEtherStatsPkts512to1023Octets   p.2.4.1.1.18.n
--            hubEtherStatsPkts1024to1518Octets  p.2.4.1.1.19.n
--      hubHistory                               p.2.5
--        hubHistoryControlFastPollInterval      p.2.5.1.0
--        hubHistoryControlSlowPollInterval      p.2.5.2.0
--        hubHistoryControlTable                 p.2.5.3
--          hubHistoryControlEntry               p.2.5.3.1
--            hubHistoryControlSlotNumber        p.2.5.3.1.1.n
--            hubHistoryControlIndex             p.2.5.3.1.2.n
--            hubHistoryControlHistoryIndex      p.2.5.3.1.3.n
--            hubHistoryControlBuckets           p.2.5.3.1.4.n
--            hubHistoryControlInterval          p.2.5.3.1.5.n
--        hubEtherHistoryTable                   p.2.5.4
--          hubEtherHistoryEntry                 p.2.5.4.1
--            hubEtherHistoryIndex               p.2.5.4.1.1.n
--            hubEtherHistorySampleIndex         p.2.5.4.1.2.n
--            hubEtherHistoryIntervalStart       p.2.5.4.1.3.n
--            hubEtherHistoryDropEvents          p.2.5.4.1.4.n
--            hubEtherHistoryOctets              p.2.5.4.1.5.n
--            hubEtherHistoryPkts                p.2.5.4.1.6.n
--            hubEtherHistoryBroadcastPkts       p.2.5.4.1.7.n
--            hubEtherHistoryMulticastPkts       p.2.5.4.1.8.n
--            hubEtherHistoryCRCAlignErrors      p.2.5.4.1.9.n
--            hubEtherHistoryUndersizePkts       p.2.5.4.1.10.n
--            hubEtherHistoryOversizePkts        p.2.5.4.1.11.n
--            hubEtherHistoryFragments           p.2.5.4.1.12.n
--            hubEtherHistoryJabbers             p.2.5.4.1.13.n
--            hubEtherHistoryCollisions          p.2.5.4.1.14.n
--            hubEtherHistoryUtilization         p.2.5.4.1.15.n
--
--

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

dec                 OBJECT IDENTIFIER ::= { enterprises 36 }
ema                 OBJECT IDENTIFIER ::= { dec 2 }
decMIBextension     OBJECT IDENTIFIER ::= { ema 18 }
decHub900           OBJECT IDENTIFIER ::= { decMIBextension 11 }
mgmtAgent           OBJECT IDENTIFIER ::= { decHub900 1 }
mgmtAgentVersion2   OBJECT IDENTIFIER ::= { mgmtAgent 2 }
mamPrivate          OBJECT IDENTIFIER ::= { mgmtAgentVersion2 1 }

--
--  Groups defined within this MIB.
--

eventLogger           OBJECT IDENTIFIER ::= { mamPrivate 1 }
rmonHub               OBJECT IDENTIFIER ::= { mamPrivate 2 }
hubAlarm              OBJECT IDENTIFIER ::= { rmonHub 1 }
hubEvent              OBJECT IDENTIFIER ::= { rmonHub 2 }
hubEtherCapabilities  OBJECT IDENTIFIER ::= { rmonHub 3 }
hubStatistics         OBJECT IDENTIFIER ::= { rmonHub 4 }
hubHistory            OBJECT IDENTIFIER ::= { rmonHub 5 }

--
--  Event Logger
--

--  The Event Logger is  a software component  executing on  the DEChub900
--  MultiSwitch's Hub Manager and on  the MultiSwitch 600 Stack  Director,
--  which  keeps  a volatile  store  of "interesting  events" reported  by
--  modules.
--
--  Events are logged to  the hubEventTable.  The hubEventTable is ordered
--  from least recent  event to the most  recent event.  Older events  are
--  overwritten by  newer events when   the table becomes  full.  The slot
--  number, a time stamp, and a textual description of the event are kept.

eventLogTotalEvents OBJECT-TYPE
    SYNTAX  Counter
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The total number of events in the eventLogTable."
    ::= { eventLogger 1 }

eventLogTable OBJECT-TYPE
    SYNTAX  SEQUENCE OF EventLogEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A list of eventLogEntry."
    ::= { eventLogger 2 }

eventLogEntry OBJECT-TYPE
    SYNTAX  EventLogEntry
    ACCESS  not-accessible
    STATUS  mandatory
    DESCRIPTION
        "A list of information describing 'interesting events' which
         have occurred in the hub or stack."
    INDEX  { eventLogIndex }
    ::= { eventLogTable 1 }

EventLogEntry ::=
    SEQUENCE {
        eventLogIndex
            INTEGER,
        eventLogSlot
            INTEGER,
        eventLogTimeStamp
            TimeTicks,
        eventLogDescription
            OCTET STRING
        }

eventLogIndex OBJECT-TYPE
    SYNTAX  INTEGER (0..4294967295)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "An index into the eventLogTable.  This index begins at
         one and increments by one each time an event is logged.
         Older entries may be deleted to make room to newer entries.
         An eventLogTable of size 7 might look like this:

         ._____.____.___________.____________________________.
         |Index|Slot| TimeStamp | Description                |
         |_____|____|___________|____________________________|
         |  12 |  2 |  2357890  | Port 3 auto-partitioned.   |
         |_____|____|___________|____________________________|
         |  13 |  4 |  2358900  | Broadcast storm on port 4. |
         |_____|____|___________|____________________________|
         |  14 |  2 |  2364220  | Port 3 auto-partitioned.   |
         |_____|____|___________|____________________________|
         |  15 |  5 |  2369030  | FDDI ring trace received.  |
         |_____|____|___________|____________________________|
         |  16 |  9 |  2484560  | Stack configuration change.|
         |_____|____|___________|____________________________|
         |  17 |  4 |  2504560  | Broadcast storm on port 1. |
         |_____|____|___________|____________________________|
         |  18 |  9 |  2600060  | Slot 5 firmware upgraded.  |
         ._____.____.___________.____________________________.
         "
    ::= { eventLogEntry 1 }

eventLogSlot OBJECT-TYPE
    SYNTAX  INTEGER (1..65535)
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The slot number of the module reporting the event."
    ::= { eventLogEntry 2 }

eventLogTimeStamp OBJECT-TYPE
    SYNTAX  TimeTicks 
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "The time at which the event was logged.  This is the
         Hub Manager's notion of sysUpTime, not the module's."
    ::= { eventLogEntry 3 }

eventLogDescription OBJECT-TYPE
    SYNTAX  OCTET STRING (SIZE(1..80))
    ACCESS  read-only
    STATUS  mandatory
    DESCRIPTION
        "A textual description of the event."
    ::= { eventLogEntry 4 }

--  RMON-Like  Alarm  and  Event Gateway  

--  The RMON-Like  Alarm and Event   Gateway   is the software   component
--  executing on the  MultiSwitch  900 Management  Agent Module (MAM)  and
--  Multiswitch 600  Stack Director which  provides centralized  alarm and
--  event  capability  within the  stack.   The RMON-Like  Alarm and Event
--  Gateway  is   so named because its   MIB  and implementation  are very
--  similar  to  the Remote Monitoring  MIB's (RMON:  RFC  1757) Alarm and
--  Event groups.    However, because it centralizes RMON   for a stack of
--  modules, the MIB must refer to the slot number of  a module.  Since no
--  concept  of   slot number  exists in    the  standard  RMON  MIB, this
--  implementation must use a DEC enterprise specific MIB.

--                               Alarm Table
-- 
-- .______._____.________.________._______._____.______._______.______._______.
-- |Slot  |Alrm | Alarm  |Alarm   | Alarm |Alarm|Rising|Falling|Rising|Falling|
-- |Number|Indx |Intervl |Variable| Type  |Value|Thresh|Thresh |Event |Event  |
-- .______|_____|________|________|_______|_____|______|_______|______|_______|
-- |  2   |  1  |    2   |1.3.blah| delta |  6  |   1  |    1  |   1  |   2   |
-- .______|_____|________|________|_______|_____|______|_______|______|_______|
-- |  6   |  1  |    2   |1.3.blah| delta |  6  |   1  |    1  |   1  |   2   |
-- .______|_____|________|________|_______|_____|______|_______|______|_______|
-- |  8   |  1  |    2   |1.3.blah| delta |  6  |   1  |    1  |   1  |   2   |
-- .______._____.________.________._______._____.______._______.______._______.
--
-- 

hubAlarmTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HubAlarmEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A list of alarm entries."
    ::= { hubAlarm 1 }

hubAlarmEntry OBJECT-TYPE
    SYNTAX HubAlarmEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A list of parameters that set up periodic checking of alarm 
         conditions.  For example, an instance of the hubAlarmValue 
         object might be named hubAlarmValue.4.8 for the eighth alarm 
         table entry for hubAlarmValue pertaining to the module occupying 
         slot 4."
    INDEX { hubAlarmSlotNumber, hubAlarmIndex }
    ::= { hubAlarmTable 1 }

HubAlarmEntry ::= 
    SEQUENCE {
        hubAlarmSlotNumber 
            INTEGER,
        hubAlarmIndex
            INTEGER,
        hubAlarmInterval
            INTEGER,
        hubAlarmVariable
            OBJECT IDENTIFIER,
        hubAlarmSampleType
            INTEGER,
        hubAlarmValue
            INTEGER,
        hubAlarmStartupAlarm
            INTEGER,
        hubAlarmRisingThreshold
            INTEGER,
        hubAlarmFallingThreshold
            INTEGER,
        hubAlarmRisingEventIndex
            INTEGER,
        hubAlarmFallingEventIndex
            INTEGER,
        hubAlarmOwner
            DisplayString,
        hubAlarmState
            INTEGER,
        hubAlarmStatus
            INTEGER
        }

hubAlarmSlotNumber OBJECT-TYPE
    SYNTAX INTEGER (1..255)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of the slot in which the module to be monitored
         occupies in the hub chassis or the module's position in
         a stack."
    ::= { hubAlarmEntry 1 }

hubAlarmIndex OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An index that uniquely identifies an entry in the alarm table 
         for a given slot."
    ::= { hubAlarmEntry 2 }

hubAlarmInterval OBJECT-TYPE
    SYNTAX INTEGER (10..21474835)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The interval, in seconds, over which the data is sampled and 
         compared with the rising and falling thresholds.  

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 3 }

hubAlarmVariable OBJECT-TYPE
    SYNTAX OBJECT IDENTIFIER
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The object identifier of the particular variable to be sampled.  
         Only variables that resolve to an ASN.1 primitive type of INTEGER 
         (INTEGER, Counter, Gauge, or TimeTicks) may be sampled.

         During a set operation, any legally formed Object Identifier
         is accepted.  Once the entry is marked valid, a sample will be
         taken after the first poll period.  If the device (specified by
         hubAlarmSlotNumber) responds correctly to the first poll, the
         hubAlarmState for the entry is set to 'active(1)'.  Otherwise
         it is set to 'inactive(2)'.

         hubAlarmVariables must be unique among slots.  For example,
         you can monitor object X on slot 3 and 5, but you can't monitor 
         object X using two alarmTableEntries on slot 3.

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 4 }

hubAlarmSampleType OBJECT-TYPE
    SYNTAX INTEGER {
               absoluteValue(1),
               deltaValue(2)
               }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The method of sampling the selected variable and calculating the 
         value to be compared against the thresholds.  If the value of this 
         object is absoluteValue(1), the value of the selected variable is
         compared directly with the thresholds at the end of the sampling 
         interval.  If the value of this object is deltaValue(2), the value 
         of the selected variable at the last sample will be subtracted from
         the current value, and the difference compared with the thresholds.

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 5 }

hubAlarmValue OBJECT-TYPE
    SYNTAX INTEGER (0..4294967295)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of the statistic during the last sampling period.  For 
         example, if the sample type is deltaValue, this value is the 
         difference between the samples at the beginning and end of the
         period.  If the sample type is absoluteValue, this value is the 
         sampled value at the end of the period.

         This is the value that is compared with the rising and falling 
         thresholds.

         The value during the current sampling period is not made available 
         until the period is completed and will remain available until the 
         next period completes."
    ::= { hubAlarmEntry 6 }

hubAlarmStartupAlarm OBJECT-TYPE
    SYNTAX INTEGER {
               risingAlarm(1),
               fallingAlarm(2),
               risingOrFallingAlarm(3)
               }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The alarm that may be sent when this entry is first set to valid.  
         If the first sample after this entry becomes valid is greater than 
         or equal to the risingThreshold and hubAlarmStartupAlarm is equal to
         risingAlarm(1) or risingOrFallingAlarm(3), then a single rising 
         alarm will be generated.  If the first sample after this entry 
         becomes valid is less than or equal to the fallingThreshold and
         hubAlarmStartupAlarm is equal to fallingAlarm(2) or risingOrFalling
         Alarm(3), then a single falling alarm will be generated.

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 7 }

hubAlarmRisingThreshold OBJECT-TYPE
    SYNTAX INTEGER (0..4294967295)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A threshold for the sampled statistic.  When the current sampled 
         value is greater than or equal to this threshold, and the value at 
         the last sampling interval was less than this threshold, a single
         event will be generated.  A single event will also be generated if 
         the first sample after this entry becomes valid is greater than or 
         equal to this threshold and the associated hubAlarmStartupAlarm is
         equal to risingAlarm(1) or risingOrFallingAlarm(3).

         After a rising event is generated, another such event will not be 
         generated until the sampled value falls below this threshold and 
         reaches the hubAlarmFallingThreshold.

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 8 }

hubAlarmFallingThreshold OBJECT-TYPE
    SYNTAX INTEGER (0..4294967295)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A threshold for the sampled statistic.  When the current sampled 
         value is less than or equal to this threshold, and the value at the 
         last sampling interval was greater than this threshold, a single
         event will be generated.  A single event will also be generated if 
         the first sample after this entry becomes valid is less than or 
         equal to this threshold and the associated hubAlarmStartupAlarm is
         equal to fallingAlarm(2) or risingOrFallingAlarm(3).

         After a falling event is generated, another such event will not be 
         generated until the sampled value rises above this threshold and 
         reaches the hubAlarmRisingThreshold.

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 9 }

hubAlarmRisingEventIndex OBJECT-TYPE
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The index of the eventEntry that is used when a rising threshold is 
         crossed.  The hubEventEntry identified by a particular value of this 
         index is the same as identified by the same value of the hubEvent
         Index object.  If there is no corresponding entry in the hubEvent
         Table, then no association exists.  In particular, if this value is 
         zero, no associated event will be generated, as zero is not a valid 
         event index.

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 10 }

hubAlarmFallingEventIndex OBJECT-TYPE
    SYNTAX INTEGER (0..65535)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The index of the hubEventEntry that is used when a falling threshold 
         is crossed.  The hubEventEntry identified by a particular value of
         this index is the same as identified by the same value of the hub
         EventIndex object.  If there is no corresponding entry in the hub
         EventTable, then no association exists.  In particular, if this value
         is zero, no associated event will be generated, as zero is not a 
         valid event index.

         This object may not be modified if the associated hubAlarmStatus 
         object is equal to valid(1)."
    ::= { hubAlarmEntry 11 }

hubAlarmOwner OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The entity that configured this entry and is therefore using the 
         resources assigned to it."
    ::= { hubAlarmEntry 12 }

hubAlarmState OBJECT-TYPE
    SYNTAX INTEGER {
               active(1),
               inactive(2)
               }
   ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The state of this alarm entry.

         Entries in the Alarm Table are marked as 'inactive' when the module 
         to which they refer: 

             - is removed or becomes 'asleep', 
             - returns an error in response to a poll request, or 
             - ignores a request message. 

         Inactive entries are still polled and are reactivated when: 

             - the module becomes 'awake', and 
             - whenever the module correctly returns a polled value. 

         Entries in the Alarm and Event Tables are deleted either by a
         network manager, or whenever a stack or hub reconfiguration occurs 
         such that a module of a different type now occupies the slot being 
         polled.  (Modules are determined to be 'of a different type' when 
         their sysObjectIDs differ.)"
    ::= { hubAlarmEntry 13 }

hubAlarmStatus OBJECT-TYPE
    SYNTAX INTEGER {
               valid(1),
               createRequest(2),
               underCreation(3),
               invalid(4)
               }
   ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The status of this alarm entry.  (Refer to the RFC 1757 definition
         of 'EntryStatus.)"
    ::= { hubAlarmEntry 14 }

--
-- The Event Group
--
--                               Event Table
-- 
-- ._____.__________________________.______________._________._________.
-- |Event| Event                    | Event        | Event   |Last Time|
-- |Index| Description              | Type         |Community|  Sent   |
-- ._____|__________________________|______________|_________|_________.
-- |  1  | Rising event for slot  2 | log_and_trap | public  |  24000  |
-- |_____|__________________________|______________|_________|_________|
-- |  2  | Falling event for slot 2 | log_and_trap | foobar  |  24500  |
-- |_____|__________________________|______________|_________|_________|
-- |  3  | Rising event for slot  6 | log          | \0      |  24000  |
-- |_____|__________________________|______________|_________|_________|
-- |  4  | Falling event for slot 6 | log          | \0      |  24500  |
-- |_____|__________________________|______________|_________|_________|
-- |  5  | Rising event for slot  8 | log_and_trap | public  |  24500  |
-- ._____.__________________________.______________._________._________.

hubEventTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HubEventEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A list of events to be generated."
    ::= { hubEvent 1 }

hubEventEntry OBJECT-TYPE
    SYNTAX HubEventEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A set of parameters that describe an event to be generated when 
         certain conditions are met.  As an example, an instance of the 
         hubEventLastTimeSent object might be named hubEventLastTimeSent.6"
    INDEX { hubEventIndex }
    ::= { hubEventTable 1 }

HubEventEntry ::= SEQUENCE {
    hubEventIndex
        INTEGER,
    hubEventDescription
        DisplayString,
    hubEventType
        INTEGER,
    hubEventCommunity
        OCTET STRING,
    hubEventLastTimeSent
        TimeTicks,
    hubEventOwner
        DisplayString,
    hubEventStatus
        INTEGER
    }

hubEventIndex OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An index that uniquely identifies an entry in the event table.  
         Each such entry defines one event that is to be generated when the 
         appropriate conditions occur."
    ::= { hubEventEntry 1 }

hubEventDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..80))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "A comment describing this hubEvent entry."
    ::= { hubEventEntry 2 }

hubEventType OBJECT-TYPE
    SYNTAX INTEGER {
               none(1),
               log(2),
               snmp-trap(3),    -- send an SNMP trap
               log-and-trap(4)
               }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The type of notification that the probe will make about this event.  
         In the case of log, an entry is made in the log table for each event.
         In the case of snmp-trap, an SNMP trap is sent to one or more
         management stations."
    ::= { hubEventEntry 3 }

hubEventCommunity OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..32))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "If an SNMP trap is to be sent, it will be sent to the SNMP community 
         specified by this octet string."
    ::= { hubEventEntry 4 }

hubEventLastTimeSent OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of sysUpTime at the time this event entry last generated 
         an event.  If this entry has not generated any events, this value 
         is zero."
    ::= { hubEventEntry 5 }

hubEventOwner OBJECT-TYPE
    SYNTAX DisplayString (SIZE(0..32))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The entity that configured this entry and is therefore using the 
         resources assigned to it."
    ::= { hubEventEntry 6 }

hubEventStatus OBJECT-TYPE
    SYNTAX INTEGER {
               valid(1),
               createRequest(2),
               underCreation(3),
               invalid(4)
               }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The status of this event entry.

         If this object is not equal to valid(1), all associated log entries 
         shall be deleted by the agent.

         (Refer to the RFC 1757 definition of 'EntryStatus.)"
    ::= { hubEventEntry 7 }

--
--  The Log Table
--
--                               Log Table
-- 
-- .______._______.________.________._________________________________________.
-- |Slot  | Event |   Log  |   Log  |  Log                                    |
-- |Number| Index |  Index |  Time  |  Description                            |
-- .______._______.________.________._________________________________________.
-- |   2  |   1   |    1   |  3000  |  Rising event for slot  2               |
-- |______|_______|________|________|_________________________________________|
-- |   2  |   1   |    3   |  5000  |  Rising event for slot  2               |
-- |______|_______|________|________|_________________________________________|
-- |   2  |   2   |    2   |  4000  |  Falling event for slot 2               |
-- |______|_______|________|________|_________________________________________|
-- |   6  |   1   |    1   |  3000  |  Rising event for slot  6               |
-- |______|_______|________|________|_________________________________________|
-- |   6  |   1   |    3   |  5000  |  Rising event for slot  6               |
-- |______|_______|________|________|_________________________________________|
-- |   6  |   2   |    2   |  4000  |  Falling event for slot 6               |
-- |______|_______|________|________|_________________________________________|
-- |   8  |   1   |    1   |  4000  |  Rising event for slot  8               |
-- .______._______.________.________._________________________________________.

hubLogTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HubLogEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A list of events that have been logged."
    ::= { hubEvent 2 }

hubLogEntry OBJECT-TYPE
    SYNTAX HubLogEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A set of data describing an event that has been logged.  For 
         example, an instance of the hubLogDescription object might be named
         hubLogDescription.6.47"
    INDEX { hubLogSlotNumber, hubLogEventIndex, hubLogIndex }
    ::= { hubLogTable 1 }

HubLogEntry ::= 
    SEQUENCE {
        hubLogSlotNumber
            INTEGER,
        hubLogEventIndex
            INTEGER,
        hubLogIndex
            INTEGER,
        hubLogTime
            TimeTicks,
        hubLogDescription
            DisplayString
    }

hubLogSlotNumber OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        ""
    ::= { hubLogEntry 1 }

hubLogEventIndex OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The event entry that generated this log entry.  The log identified  
         by a particular value of this index is associated with the same
         eventEntry as identified by the same value of eventIndex."
    ::= { hubLogEntry 2 }

hubLogIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An index that uniquely identifies an entry in the log table amongst 
         those generated by the same eventEntries.  These indexes are
         assigned beginning with 1 and increase by one with each new log 
         entry.  The association between values of hubLogIndex and hubLog
         Entries is fixed for the lifetime of each hubLogEntry.  The agent 
         may choose to delete the oldest instances of hubLogEntry as required 
         because of lack of memory.  It is an implementation-specific matter 
         as to when this deletion may occur."
    ::= { hubLogEntry 3 }

hubLogTime OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of sysUpTime when this log entry was created."
    ::= { hubLogEntry 4 }

hubLogDescription OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An implementation dependent description of the event that activated 
         this log entry."
    ::= { hubLogEntry 5 }

--
--  RMON-Like Statistics and History Gateway
--

--  The  RMON-Like Alarm  and  Event  Gateway  is the  software  component
--  executing on the  MultiSwitch 900 Hub Manager  and the MultiSwitch 600
--  Stack Director  which   provides centralized  Ethernet  statistics and
--  history capability within   the stack.  The  RMON-Like Statistics  and
--  History Gateway is so named because function is similar to that of the
--  Remote  Monitoring  MIB's (RMON:  RFC   1757) Ethernet  Statistic  and
--  History groups.
--
--                The Ethernet Statistic Capabilities Table
--
--  This table describes the monitoring capabilities of Ethernet modules
--  in the hub or stack.  This table is populated when modules supporting
--  Ethernet monitoring are inserted into the hub or stack, and depopulated 
--  when modules are removed.
-- 
--  The example below shows a device with 8 interfaces in slot 2, and a
--  device with 3 internal LANs in slot 6.
-- 
--  .______._____.______________._____.__________._____________.______________.
--  |Slot  |Index|     Lan      |Lan  |   True   |    State    |    Last      |
--  |Number|     |     Type     |Speed|   Cols   |             |    Error     |
--  .______._____.______________._____.__________._____________.______________.
--  |  2   |  1  | interface(1) | 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  2   |  2  | interface(1) | 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  2   |  3  | interface(1) | 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  2   |  4  | interface(1) | 10  | false(2) |  active(2)  | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  2   |  5  | interface(1) | 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  2   |  6  | interface(1) | 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  2   |  7  | interface(1) | 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  2   |  8  | interface(1) | 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  6   |  1  |internalLan(2)| 10  | false(2) | inactive(1) | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  6   |  2  |internalLan(2)| 10  | false(2) |  active(2)  | None.        |
--  |______|_____|______________|_____|__________|_____________|______________|
--  |  6   |  3  |internalLan(2)| 10  | false(2) | inactive(1) | None.        |
--  .______._____.______________._____.__________._____________.______________.
--  
--  Setting hubEtherCapabilitiesState to 'active' has the side-effect of:
--
--    o creating an entry in the hubEtherStatsTable, and
--    o creating two entries in the hubHistoryControlTable.
--
--  The example above shows two 'active' entries in the hubEtherCapabilities
--  Table;  the entry corresponding to slot 2/index 4, and the entry
--  corresponding to slot 6/index 2.  Subsequent examples of populated
--  hubEtherStatsTable, hubHistoryControlTable, and hubHistoryTable show
--  the side-effect of these two active hubEtherCapabilitiesEntry.
-- 

hubEtherCapabilitiesTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF HubEtherCapabilitiesEntry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
        "A list of Ethernet statistic capability entries."
    ::= { hubEtherCapabilities 1 }

hubEtherCapabilitiesEntry OBJECT-TYPE
    SYNTAX   HubEtherCapabilitiesEntry
    ACCESS   not-accessible
    STATUS   mandatory
    DESCRIPTION
        "An entry which describes the Ethernet monitoring capabilities
         or an interface or internal LAN."
    INDEX { hubEtherCapabilitiesSlotNumber, hubEtherCapabilitiesIndex }
    ::= { hubEtherCapabilitiesTable 1 }

HubEtherCapabilitiesEntry ::= SEQUENCE {
    hubEtherCapabilitiesSlotNumber     INTEGER,
    hubEtherCapabilitiesIndex          INTEGER,
    hubEtherCapabilitiesLanType        INTEGER,
    hubEtherCapabilitiesLanSpeed       INTEGER,
    hubEtherCapabilitiesTrueCollisions INTEGER,
    hubEtherCapabilitiesState          INTEGER
    }

hubEtherCapabilitiesSlotNumber OBJECT-TYPE
    SYNTAX   INTEGER (1..255)
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The number of the slot in which the device resides."
    ::= { hubEtherCapabilitiesEntry 1 }

hubEtherCapabilitiesIndex OBJECT-TYPE
    SYNTAX   INTEGER (1..65535)
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The number of the interface, port, or LAN described by this entry.

         Where possible, this index should match front bezel numbering.  
         (And front-bezel numbering should match the MIB-II ifIndex of 
         interface types.

         Where possible, this index should match pcomConTable indices for 
         internal LAN types."
    ::= { hubEtherCapabilitiesEntry 2 }

hubEtherCapabilitiesLanType OBJECT-TYPE
    SYNTAX   INTEGER {
                interface(1),
                portGroup(2),
                port(3)
                }
    ACCESS   read-only   
    STATUS   mandatory
    DESCRIPTION
        "This enumeration describes interface, port, or LAN.

         The interface type is for any interface which can be described in 
         the MIB-II interface table.  Examples of interfaces include switch 
         ports, SLIP/PPP ports, and repeater MACs.

         The portGroup type is for a group of ports which can be described 
         in the IETF repeater MIB (rfc1368).

         The portGoup type is for LANs configured to connect the front-
         bezel ports of repeaters.  These internal LANs should be described 
         in the pcomConTable.  Indices should match the indices in the 
         pcomConTable.

         The port type is for a single port which can be described by the
         IETF repeater MIB."
    ::= { hubEtherCapabilitiesEntry 3 }

hubEtherCapabilitiesLanSpeed OBJECT-TYPE
    SYNTAX   INTEGER (0..4294967295)
    ACCESS   read-only   
    STATUS   mandatory
    DESCRIPTION
        "The speed at which the Ethernet operates, in mega-bits per second."
    ::= { hubEtherCapabilitiesEntry 4 }

hubEtherCapabilitiesTrueCollisions OBJECT-TYPE
    SYNTAX   INTEGER {
                 true(1),
                 false(2)
                 }
    ACCESS   read-only
    STATUS   mandatory
    DESCRIPTION
        "The value of this object indicates if the etherStatsCollisions 
         counter is accurately reported.  The etherStatsCollisions counter 
         is problematic in that it is defined as the total number of 
         collisions on the segment, while many implementations can only
         detect the number of collisions involved with transmissions from 
         the interface or port."
    ::= { hubEtherCapabilitiesEntry 5 }

hubEtherCapabilitiesState OBJECT-TYPE
    SYNTAX   INTEGER {
                 active(1),
                 inactive(2)
                 }
    ACCESS   read-write
    STATUS   mandatory
    DESCRIPTION
        "Setting hubEtherCapabilitiesState to 'active' has the 
         side-effect of:

            o creating an entry in the hubEtherStatsTable, and
            o creating two entries in the hubHistoryControlTable.

         Conversely, setting this object to inactive causes entries
         in the hubEtherStatsTable and hubHistoryControlTable to be
         deleted."
    ::= { hubEtherCapabilitiesEntry 6 }

--
--  The RMON-Like Gateway Ethernet Statistics Group
--
--  The RMON-Like Statistics and History Gateway provides centralized RMON
--  Ethernet statistics  and  history capability within   a  hub or stack.
--  This group  contains statistics measured by  the line-cards in the hub
--  or  stack   for each  monitored  interface  on  the line-card.   These
--  statistics take the form of free running counters that start from zero
--  when  a valid entry is created.   Entries are created and destroyed as
--  described in the description of hubEtherCapabilitiesState.
--
--  .________._______.________.__________.___________.____//_____________.
--  | Slot   | Index |  Drop  |  Octets  |    Pkts   |    //     |  etc.  |
--  | Number |       | Events |          |           |    //     |        |
--  .________|_______|________|__________|___________|____//_____|________.
--  |   2    |   4   |    0   | 12455799 |   1190354 |    //     | xxxxxx |
--  |________|_______|________|__________|___________|____//_____|________|
--  |   6    |   2   |    0   |  9468920 |    235552 |    //     | xxxxxx |
--  .________._______.________.__________.___________.____//_____.________.
--
--  

hubEtherStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HubEtherStatsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
       "A list of Ethernet statistics entries."
    ::= { hubStatistics 1 }

hubEtherStatsEntry OBJECT-TYPE
    SYNTAX HubEtherStatsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
       "A collection of statistics kept for a particular Ethernet interface.
        As an example, an instance of the hubEtherStatsPkts object might be 
        named hubEtherStatsPkts.1"
    INDEX { hubEtherStatsSlotNumber, hubEtherStatsIndex }
    ::= { hubEtherStatsTable 1 }

HubEtherStatsEntry ::= SEQUENCE {
    hubEtherStatsSlotNumber               INTEGER,
    hubEtherStatsIndex                    INTEGER,
    hubEtherStatsDropEvents               Counter,
    hubEtherStatsOctets                   Counter,
    hubEtherStatsPkts                     Counter,
    hubEtherStatsBroadcastPkts            Counter,
    hubEtherStatsMulticastPkts            Counter,
    hubEtherStatsCRCAlignErrors           Counter,
    hubEtherStatsUndersizePkts            Counter,
    hubEtherStatsOversizePkts             Counter,
    hubEtherStatsFragments                Counter,
    hubEtherStatsJabbers                  Counter,
    hubEtherStatsCollisions               Counter,
    hubEtherStatsPkts64Octets             Counter,
    hubEtherStatsPkts65to127Octets        Counter,
    hubEtherStatsPkts128to255Octets       Counter,
    hubEtherStatsPkts256to511Octets       Counter,
    hubEtherStatsPkts512to1023Octets      Counter,
    hubEtherStatsPkts1024to1518Octets     Counter
    }

hubEtherStatsSlotNumber OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of the slot in which the device whose statistics
         are being gathered resides.  This index corresponds to 
         hubEtherCapabilitiesSlotNumber."
    ::= { hubEtherStatsEntry 1 }

hubEtherStatsIndex OBJECT-TYPE
    SYNTAX INTEGER (1..255)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An index into the hubEtherStatsTable.  This index corresponds to
         hubEtherCapabilitiesIndex."
    ::= { hubEtherStatsEntry 2 }

hubEtherStatsDropEvents OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of events in which packets were dropped by the 
         device due to lack of resources.  Note that this number is not 
         necessarily the number of packets dropped; it is just the number 
         of times this condition has been detected."
    ::= { hubEtherStatsEntry 3 }

hubEtherStatsOctets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of octets of data (including those in bad packets) 
         received on the network (excluding framing bits but including FCS 
         octets)."
    ::= { hubEtherStatsEntry 4 }

hubEtherStatsPkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets (including bad packets, broadcast 
         packets, and multicast packets) received."
    ::= { hubEtherStatsEntry 5 }

hubEtherStatsBroadcastPkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of good packets received that were directed to
         the broadcast address.  Note that this does not include multicast 
         packets."
    ::= { hubEtherStatsEntry 6 }

hubEtherStatsMulticastPkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of good packets received that were directed to a 
         multicast address.  Note that this number does not include packets 
         directed to the broadcast address."
    ::= { hubEtherStatsEntry 7 }

hubEtherStatsCRCAlignErrors OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets received that had a length (excluding 
         framing bits, but including FCS octets) of between 64 and 1518
         octets, inclusive, but but had either a bad Frame Check Sequence 
         (FCS) with an integral number of octets (FCS Error) or a bad FCS 
         with a non-integral number of octets (Alignment Error)."
    ::= { hubEtherStatsEntry 8 }

hubEtherStatsUndersizePkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets received that were less than 64 octets 
         long (excluding framing bits, but including FCS octets) and were 
         otherwise well formed."
    ::= { hubEtherStatsEntry 9 }

hubEtherStatsOversizePkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets received that were longer than 1518 
         octets (excluding framing bits, but including FCS octets) and were 
         otherwise well formed."
    ::= { hubEtherStatsEntry 10 }

hubEtherStatsFragments OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets received that were less than 64 octets 
         in length (excluding framing bits but including FCS octets) and had 
         either a bad Frame Check Sequence (FCS) with an integral number of
         octets (FCS Error) or a bad FCS with a non-integral number of octets
         (Alignment Error).

         Note that it is entirely normal for hubEtherStatsFragments to 
         increment.  This is because it counts both runts (which are normal 
         occurrences due to collisions) and noise hits."
    ::= { hubEtherStatsEntry 11 }

hubEtherStatsJabbers OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets received that were longer than 1518 
         octets (excluding framing bits, but including FCS octets), and had 
         either a bad Frame Check Sequence (FCS) with an integral number of 
         octets (FCS Error) or a bad FCS with a non-integral number of octets
         (Alignment Error).

         Note that this definition of jabber is different than the 
         definition in IEEE-802.3 section 8.2.1.5 (10BASE5) and section 
         10.3.1.4 (10BASE2).  These documents define jabber as the condition 
         where any packet exceeds 20 ms.  The allowed range to detect
         jabber is between 20 ms and 150 ms."
    ::= { hubEtherStatsEntry 12 }

hubEtherStatsCollisions OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The best estimate of the total number of collisions on this 
         Ethernet segment."
    ::= { hubEtherStatsEntry 13 }

hubEtherStatsPkts64Octets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets (including bad packets) received that 
         were 64 octets in length (excluding framing bits but including FCS 
         octets)."
    ::= { hubEtherStatsEntry 14 }

hubEtherStatsPkts65to127Octets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets (including bad packets) received that 
         were between 65 and 127 octets in length inclusive (excluding 
         framing bits but including FCS octets)."
    ::= { hubEtherStatsEntry 15 }

hubEtherStatsPkts128to255Octets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets (including bad packets) received that 
         were between 128 and 255 octets in length inclusive (excluding 
         framing bits but including FCS octets)."
    ::= { hubEtherStatsEntry 16 }

hubEtherStatsPkts256to511Octets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets (including bad packets) received that 
         were between 256 and 511 octets in length inclusive (excluding 
         framing bits but including FCS octets)."
    ::= { hubEtherStatsEntry 17 }

hubEtherStatsPkts512to1023Octets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets (including bad packets) received that 
         were between 512 and 1023 octets in length inclusive (excluding 
         framing bits but including FCS octets)."
    ::= { hubEtherStatsEntry 18 }

hubEtherStatsPkts1024to1518Octets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets (including bad packets) received that 
         were between 1024 and 1518 octets in length inclusive (excluding 
         framing bits but including FCS octets)."
    ::= { hubEtherStatsEntry 19 }

--  The RMON-Like Gateway History Control Group
-- 

--  The  RMON-Like Gateway   History Control Group   controls the periodic
--  statistical   sampling of data from  various   types of networks.  The
--  hubHistoryControlTable stores  configuration entries  that each define
--  an interface, polling period,  and other parameters.  Once samples are
--  taken, their data  is stored in an  entry of the hubEtherHistoryTable.
--  Each such   entry defines one  sample, and    is  associated with  the
--  hubHistoryControlEntry   that  caused the sample  to   be taken.  Each
--  counter   in  the etherHistoryEntry   counts   the same   event as its
--  similarly   named  counterpart in  the hubEtherStatsEntry, except that
--  each value here is a cumulative sum during a sampling period.  Entries
--  are  created and   destroyed  as  described  in   the   description of
--  hubEtherCapabilitiesState.

--
--  .________._______._________._________.__________.
--  | Slot   | Index | History | Number  | Interval |
--  | Number |       | Index   | Buckets |          |
--  .________._______._________._________.__________.
--  |    2   |   4   |    1    |    25   |     30   |
--  |________|_______|_________|_________|__________|
--  |    2   |   4   |    2    |    25   |    1800  |
--  |________|_______|_________|_________|__________|
--  |    6   |   2   |    3    |    25   |     30   |
--  |________|_______|_________|_________|__________|
--  |    6   |   2   |    4    |    25   |    1800  |
--  .________._______._________._________.__________.
--
--  ._______.________.__________.________.____//____._________.
--  | Index | Sample | Interval | Drop   |    //    | Utiliz- |
--  |       |  Index |   Start  | Events |    //    | ation   |
--  ._______.________.__________.________.____//____._________.
--  |   1   |    10  |    330   |    0   |    //    |    750  |
--  |   1   |    11  |    360   |    0   |    //    |   1040  |
--  |   1   |    12  |    390   |    0   |    //    |    920  |
--  |       ~        ~          ~        ~          ~         |
--  |       ~        ~          ~        ~          ~         |
--  |   1   |    58  |   1700   |    0   |    //    |    870  |
--  |   1   |    59  |   1730   |    0   |    //    |   1010  |
--  |   1   |    60  |   1800   |    0   |    //    |   1260  |
--  |_______|________|__________|________|____//____|_________|
--  |   2   |     1  |   1800   |    0   |    //    |    670  |
--  |_______|________|__________|________|____//____|_________|
--  |   3   |    10  |    330   |    0   |    //    |   1750  |
--  |   3   |    11  |    360   |    0   |    //    |   2040  |
--  |   3   |    12  |    390   |    0   |    //    |   1550  |
--  |       ~        ~          ~        ~          ~         |
--  |       ~        ~          ~        ~          ~         |
--  |   3   |    58  |   1700   |    0   |    //    |   1730  |
--  |   3   |    59  |   1730   |    0   |    //    |   2250  |
--  |   3   |    60  |   1800   |    0   |    //    |   2190  |
--  |_______|________|__________|________|____//____|_________|
--  |   4   |     1  |   1800   |    0   |    //    |   1390  |
--  ._______.________.__________.________.____//____._________.
--
--

hubHistoryControlFastPollInterval OBJECT-TYPE
    SYNTAX INTEGER (10..60)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "When hubEtherCapabilitiesState is set to active, two
         hubHistoryControlEntry are created;  a fast poll entry
         with a default rate of 30 seconds, and a slot poll entry
         with a default rate of 1800 seconds (30 minutes).

         This object controls the amount of time, in seconds, between 
         polls of the fast poll entry in the hubHistoryControlTable."
    DEFVAL { 30 }
    ::= { hubHistory 1 }

hubHistoryControlSlowPollInterval OBJECT-TYPE
    SYNTAX INTEGER (60..3600)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "When hubEtherCapabilitiesState is set to active, two
         hubHistoryControlEntry are created;  a fast poll entry
         with a default rate of 30 seconds, and a slot poll entry
         with a default rate of 1800 seconds (30 minutes).

         This object controls the amount of time, in seconds, between 
         polls of the slow poll entry in the hubHistoryControlTable."
    DEFVAL { 1800 }
    ::= { hubHistory 2 }

hubHistoryControlTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HubHistoryControlEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A list of history control entries."
    ::= { hubHistory 3 }

hubHistoryControlEntry OBJECT-TYPE
    SYNTAX HubHistoryControlEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A list of parameters that set up a periodic sampling of statistics.  
         As an example, an instance of the hubHistoryControlInterval object 
         might be named hubHistoryControlInterval.2"
    INDEX { hubHistoryControlSlotNumber, hubHistoryControlIndex,
            hubHistoryControlHistoryIndex }
    ::= { hubHistoryControlTable 1 }

HubHistoryControlEntry ::= SEQUENCE {
    hubHistoryControlSlotNumber        INTEGER,
    hubHistoryControlIndex             INTEGER,
    hubHistoryControlHistoryIndex      INTEGER,
    hubHistoryControlBuckets           INTEGER,
    hubHistoryControlInterval          INTEGER
    }

hubHistoryControlSlotNumber OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of the slot in which the device's whose Ethernet history
         is being gathered resides."
    ::= { hubHistoryControlEntry 1 }

hubHistoryControlIndex OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        ""
    ::= { hubHistoryControlEntry 2 }

hubHistoryControlHistoryIndex OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An index which uniquely identifies instances of both this
         table and the hubHistoryTable."
    ::= { hubHistoryControlEntry 3 }

hubHistoryControlBuckets OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of sampling intervals over which data shall be saved in 
         hubEtherHistoryTable."
    ::= { hubHistoryControlEntry 4 }

hubHistoryControlInterval OBJECT-TYPE
    SYNTAX INTEGER (1..3600)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The interval in seconds over which the data is sampled for each 
         bucket in the part of the media-specific table associated with this
         hubHistoryControlEntry."
    ::= { hubHistoryControlEntry 5 }

--  The RMON-Like Gateway Ethernet History Group
--
--
--  The Ethernet History group records periodic statistical samples from a
--  network  and stores them for later  retrieval.  Each entry defines one
--  sample, and is  associated with the hubHistoryControlEntry that caused
--  the sample to be  taken.  This group defines the hubEtherHistoryTable,
--  for Ethernet networks.  Entries are created and destroyed as described
--  in the description of hubEtherCapabilitiesState.
--

hubEtherHistoryTable OBJECT-TYPE
    SYNTAX SEQUENCE OF HubEtherHistoryEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "A list of Ethernet history entries."
    ::= { hubHistory 4 }

hubEtherHistoryEntry OBJECT-TYPE
    SYNTAX HubEtherHistoryEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An historical sample of Ethernet statistics on a particular 
         Ethernet interface.  This sample is associated with the 
         hubHistoryControlEntry which set up the parameters for a regular 
         collection of these samples.  As an example, an instance of the
         hubEtherHistoryPkts object might be named hubEtherHistoryPkts.2.89"
    INDEX { hubEtherHistoryIndex, hubEtherHistorySampleIndex }
    ::= { hubEtherHistoryTable 1 }

HubEtherHistoryEntry ::= SEQUENCE {
    hubEtherHistoryIndex                 INTEGER,
    hubEtherHistorySampleIndex           INTEGER,
    hubEtherHistoryIntervalStart         TimeTicks,
    hubEtherHistoryDropEvents            Counter,
    hubEtherHistoryOctets                Counter,
    hubEtherHistoryPkts                  Counter,
    hubEtherHistoryBroadcastPkts         Counter,
    hubEtherHistoryMulticastPkts         Counter,
    hubEtherHistoryCRCAlignErrors        Counter,
    hubEtherHistoryUndersizePkts         Counter,
    hubEtherHistoryOversizePkts          Counter,
    hubEtherHistoryFragments             Counter,
    hubEtherHistoryJabbers               Counter,
    hubEtherHistoryCollisions            Counter,
    hubEtherHistoryUtilization           INTEGER
    }

hubEtherHistoryIndex OBJECT-TYPE
    SYNTAX INTEGER (1..65535)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        ""
    ::= { hubEtherHistoryEntry 1 }

hubEtherHistorySampleIndex OBJECT-TYPE
    SYNTAX INTEGER (1..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "An index that uniquely identifies the particular sample this entry 
         represents among all samples associated with the same 
         hubHistoryControlEntry.  This index starts at 1 and increases by one
         as each new sample is taken."
    ::= { hubEtherHistoryEntry 2 }

hubEtherHistoryIntervalStart OBJECT-TYPE
    SYNTAX TimeTicks
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of sysUpTime at the start of the interval over which this 
         sample was measured.  If the probe keeps track of the time of day, 
         it should start the first sample of the history at a time such that
         when the next hour of the day begins, a sample is started at that 
         instant.  Note that following this rule may require the probe to 
         delay collecting the first sample of the history, as each sample 
         must be of the same interval.  Also note that the sample which is 
         currently being collected is not accessible in this table until the 
         end of its interval."
    ::= { hubEtherHistoryEntry 3 }

hubEtherHistoryDropEvents OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of events in which packets were dropped by the 
         probe due to lack of resources during this sampling interval.  
         Note that this number is not necessarily the number of packets 
         dropped, it is just the number of times this condition has been
         detected."
    ::= { hubEtherHistoryEntry 4 }

hubEtherHistoryOctets OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of octets of data (including those in bad packets) 
         received on the network (excluding framing bits but including FCS 
         octets)."
    ::= { hubEtherHistoryEntry 5 }

hubEtherHistoryPkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of packets (including bad packets) received during this 
         sampling interval."
    ::= { hubEtherHistoryEntry 6 }

hubEtherHistoryBroadcastPkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of good packets received during this sampling interval 
         that were directed to the broadcast address."
    ::= { hubEtherHistoryEntry 7 }

hubEtherHistoryMulticastPkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of good packets received during this sampling interval 
         that were directed to a multicast address.  Note that this number 
         does not include packets addressed to the broadcast address."
    ::= { hubEtherHistoryEntry 8 }

hubEtherHistoryCRCAlignErrors OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of packets received during this sampling interval that 
         had a length (excluding framing bits but including FCS octets) 
         between 64 and 1518 octets, inclusive, but had either a bad Frame 
         Check Sequence (FCS) with an integral number of octets (FCS Error) 
         or a bad FCS with a non-integral number of octets (Alignment Error)."
    ::= { hubEtherHistoryEntry 9 }

hubEtherHistoryUndersizePkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of packets received during this sampling interval that 
         were less than 64 octets long (excluding framing bits but including 
         FCS octets) and were otherwise well formed."
    ::= { hubEtherHistoryEntry 10 }

hubEtherHistoryOversizePkts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of packets received during this sampling interval that 
         were longer than 1518 octets (excluding framing bits but including
         FCS octets) but were otherwise well formed."
    ::= { hubEtherHistoryEntry 11 }

hubEtherHistoryFragments OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of packets received during this sampling interval 
         that were less than 64 octets in length (excluding framing bits but 
         including FCS octets) had either a bad Frame Check Sequence (FCS)
         with an integral number of octets (FCS Error) or a bad FCS with a 
         non-integral number of octets (Alignment Error).

         Note that it is entirely normal for hubEtherHistoryFragments to 
         increment.  This is because it counts both runts (which are normal 
         occurrences due to collisions) and noise hits."
    ::= { hubEtherHistoryEntry 12 }

hubEtherHistoryJabbers OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of packets received during this sampling interval that 
         were longer than 1518 octets (excluding framing bits but including 
         FCS octets), and  had either a bad Frame Check Sequence (FCS) with 
         an integral number of octets (FCS Error) or a bad FCS with a non-
         integral number of octets (Alignment Error).

         Note that this definition of jabber is different than the definition 
         in IEEE-802.3 section 8.2.1.5 (10BASE5) and section 10.3.1.4 
         (10BASE2).  These documents define jabber as the condition where any
         packet exceeds 20 ms.  The allowed range to detect jabber is between 
         20 ms and 150 ms."
    ::= { hubEtherHistoryEntry 13 }

hubEtherHistoryCollisions OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The best estimate of the total number of collisions on this Ethernet 
         segment during this sampling interval."
    ::= { hubEtherHistoryEntry 14 }

hubEtherHistoryUtilization OBJECT-TYPE
    SYNTAX INTEGER (0..10000)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The best estimate of the mean physical layer network utilization 
         on this interface during this sampling interval, in hundredths of 
         a percent."
    ::= { hubEtherHistoryEntry 15 }

--
--  RMON-Like Alarm and Event Gateway Traps
--
--  Two traps may be generated.  Traps require:
--
--      - That a 'trap-sink' (destination IP address) be configured on
--        the Management Agent Module.
--
--      - That entries in hubEventTable be configured with hubEventType 
--        set to either 'snmp-trap(3)' or 'log-and-trap(4)'.
--

hubRisingAlarm TRAP-TYPE
    ENTERPRISE mamPrivate
    VARIABLES { hubAlarmSlotNumber,
                hubAlarmIndex, 
                hubAlarmVariable, 
                hubAlarmSampleType,
                hubAlarmValue, 
                hubAlarmRisingThreshold }
    DESCRIPTION
        "The SNMP trap that is generated when an alarm entry crosses its 
         rising threshold and generates an event that is configured for 
         sending SNMP traps.

         The enterprise Object Identifier for this trap is:

             iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).
             dec(36).ema(2).decMIBextension(18).decHub900(11).
             mgmtAgent(1).mgmtAgentVersion2(2).mamPrivate(2)
         "
    ::= 1

hubFallingAlarm TRAP-TYPE
    ENTERPRISE mamPrivate
    VARIABLES { hubAlarmSlotNumber,
                hubAlarmIndex, 
                hubAlarmVariable, 
                hubAlarmSampleType,
                hubAlarmValue, 
                hubAlarmRisingThreshold }
    DESCRIPTION
        "The SNMP trap that is generated when an alarm entry crosses its 
         falling threshold and generates an event that is configured for 
         sending SNMP traps.

         The enterprise Object Identifier for this trap is:

             iso(1).org(3).dod(6).internet(1).private(4).enterprises(1).
             dec(36).ema(2).decMIBextension(18).decHub900(11).
             mgmtAgent(1).mgmtAgentVersion2(2).mamPrivate(2)
         "
    ::= 2

END
