--
-- Name:	3Com SuperStack II Stack Configuration MIB
-- 
-- Description: 
--  
-- This is an updated version of 3Com RFC 0017.  Additional
-- functionality added since 3Com RFC 0017 is as follows:
-- (1) A notepad facility which allows the device to store a 512
-- character DisplayString.
-- (2) A column for the unit's product number.
-- (3) A Unit Departure Trap.
-- 
--
-- This MIB is used to publicise the units in the stack. The information
-- is represented by two tables.  Both tables are indexed by a simple
-- location index. The convention is that the lower numbered units are
-- at the bottom of the stack. This index will generally NOT be sparse,
-- but management applications CANNOT rely on this. Different
-- technologies can be used to detect stack position and those
-- technologies may or may not detect units that are not powered. Matrix
-- technologies may allocate a fixed unit number to the cables that
-- connect them to the units in the stack. Depending upon the wiring,
-- the index for matrix inter-connected stacks may be sparse. The agents
-- reporting this information are allowed to implement this index in a
-- sparse fashion.
-- 
-- Note that the position in the stack, and hence the position in these
-- tables can change as various units in the stack are switched on and
-- off. Because a unit is indexed in this table as row 2, it should NOT
-- be assumed that unit will continue to remain at location 2. If an
-- application wishes to uniquely tag information for a particular unit
-- in the stack, that unit should be identified by its MAC address.
-- 
-- Note also that not all values will be available for all units. In
-- this case those objects that are not supported may return
-- NO-SUCH-NAME or a default value. Management applications must be
-- aware of this and take appropriate actions.  It should be noted that
-- units which support the earlier RFC (0017) will not support the
-- stackUnitNotepad object since it has been added by this MIB.
-- 
--
-- History  Date        Reason for Change
--
-- 1.00     Jan 1999    Created from 3Com RFC 0017.
--                      The stackUnitNotepad object has been added.
--                      The stackAddressTable is read-only.
-- 1.01     May 1999	Added missing import of TimeTicks.
--                      Made stackUnitNotepad an OCTET STRING since 
--                      DisplayStrings are not allowed to be greater
--                      than 255 octets in length.
-- 1.02     Dec 1999    Added stackUnitProductNumber column to the
--                      stackConfigTable object
-- 1.03     March 2000  Added Unit Departure Trap.
-- 1.04     April 2001  Added latest stackUnitCapability enumerations.
-- 2.01     May 2002    Added stackUnitAutoReboot and
--                      stackBankSwapTable.
-- 2.02	Oct 2002	Added unitAwaitReset to stackUnitState.
-- 2.03     Jan 2003    Added latest stackUnitCapability enumerations:
--                      PoE (0x31) and OSPF (0x32)
-- 2.04     Mar 2003    Fixed format error
-- 2.05     Apr 03,2003 Added stackUnitCapability enumerations:
--                      Trusted IP(0x33),Secure Shell(0x34),
--                      Configurable management VLAN(0x35)
-- 2.06	Apr 16,2003 Added stackUnitCapability enumeration:
--                      Manual L4 cache configuration
-- 2.07     May 23,2003 Added stpIgnoreCapability
-- 2.08   March  1,2004 Added for Hoover
--                      MAC-address Based Network Access (56)  This indicates that the device supports MAC-address Based Network Access.
--                      Simple Network Time Protocol Client (57)  This indicates that the device supports the Simple Network Time Protocol Client.
--                      System Logger (58)  This indicates that the device supports System Log.
--                      IGMP V3 (59) - This indicates that the device supports IGMP V3.
-- *********************************************************************
-- Copyright (c) 3Com Corporation. All Rights Reserved.
-- *********************************************************************

A3COM0352-STACK-CONFIG DEFINITIONS ::= BEGIN


   IMPORTS
      superStackIIconfig FROM A3COM0004-GENERIC
      PhysAddress, DisplayString FROM RFC1213-MIB
      OBJECT-TYPE FROM RFC-1212
      TRAP-TYPE FROM RFC-1215
      TimeTicks FROM SNMPv2-SMI
      ;


-- *********************************************************************
-- This is the main configuration table.  It is indexed on the unit
-- location within the stack.  Not all objects in this table will be 
-- applicable to every device type and the table rows may be sparse.
-- *********************************************************************
stackConfiguration OBJECT IDENTIFIER ::= {superStackIIconfig 1}
stackConfigTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF StackConfigEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "The main table of configuration data."
      ::= {stackConfiguration 1}

stackConfigEntry OBJECT-TYPE
      SYNTAX      StackConfigEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "The configuration entry for a unit in the stack."
      INDEX       {stackUnitLocation}
      ::= {stackConfigTable 1}

StackConfigEntry ::= SEQUENCE {
            stackUnitLocation               INTEGER,
            stackUnitAddress                PhysAddress,
            stackUnitLastReset              TimeTicks,
            stackUnitType                   INTEGER,
            stackUnitDesc                   DisplayString,
            stackUnitName                   DisplayString (SIZE(0..30)),
            stackUnitState                  INTEGER,
            stackUnitManagementType         INTEGER,
            stackUnitCapabilities           OCTET STRING ,
            stackUnitPromVersion            DisplayString,
            stackUnitHWVersion              DisplayString,
            stackUnitSWVersion              DisplayString,
            stackUnitSerialNumber           DisplayString,
            stackUnitAttention              INTEGER,
            stackUnitMgmtInterface          INTEGER,
            stackUnitSummary                OCTET STRING ,
            stackUnitSlipMgmtInterface      INTEGER,
            stackUnitNotepad                OCTET STRING (SIZE(0..512)),
            stackUnitProductNumber          DisplayString
            }

stackUnitLocation OBJECT-TYPE
      SYNTAX      INTEGER 
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "Used to identify individual units in the stack. Note
        that this value will usually be contiguous, but that gaps may be
        present due, for example, to unpowered units."
      ::= {stackConfigEntry 1}

stackUnitAddress OBJECT-TYPE
      SYNTAX      PhysAddress
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "Every conformant unit in the SuperStack II system
        will have a unique physical (MAC) address by which it can be
        recognised. Note that the location index on this table can
        change if a unit is inserted into the stack and so the location
        can not be used to uniquely identify a location. Instead an
        application should refer to units by their physical address -
        see stackUnitAddress below."
      ::= {stackConfigEntry 2}

stackUnitLastReset OBJECT-TYPE
      SYNTAX      TimeTicks 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the time in hundredths of a second, since
        this unit last reset (ie the unit's concept of sysUpTime). Note
        that if a unit is not operational then this object will report
        zero (0)."
      ::= {stackConfigEntry 3}

stackUnitType OBJECT-TYPE
      SYNTAX      INTEGER 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is an integer type identifier for this unit. The
        values of this integer are administered by allocating a MIB
        object identifier for each type of unit from a common branch.
        The value of this object is then the last level in that
        identifier. The values are defined in 3Com RFC 0025. Note that
        the values are unlikely to be contiguous.

        Note that if a type value is not available for this unit then
        this object will return zero. There are several reasons why this
        value may not be available through this view of the MIB. One
        reason may be that the device is not currently active (dead) or
        that the information is only available through the units own
        agent (see stackUnitManagementType)."
      ::= {stackConfigEntry 4}

stackUnitDesc OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is a text string which describes this unit. If a
        unit cannot provide a name then the value of this object will be
        an empty string."
      ::= {stackConfigEntry 5}

stackUnitName OBJECT-TYPE
      SYNTAX      DisplayString (SIZE(0..30))
      ACCESS      read-write
      STATUS      mandatory
      DESCRIPTION "This is a simple text string which can be used by an 
        application to assign a text name to a unit. By default this
        string is empty. If a management application writes a text
        string to this object the device will store the string in
        non-volatile storage."
      ::= {stackConfigEntry 6}

stackUnitState OBJECT-TYPE
      SYNTAX      INTEGER  {
                  unitStateUnknown (1),
                  unitInactive (2),
                  unitOperational (3),
                  unitLoading (4),
                  unitAwaitReset(5)
      }
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object represents the best known state of a unit
        in the stack. The unknown state is not expected to be used, but
        may exist because of loosely integrated components in the stack.
        Management applications MUST EXPECT to see the 'unknown' value.
        The other states are as follows:

        unitInactive: The device appears to be in the stack but does not
        appear to be in an operational state.

        unitOperational: The unit is sending out periodic identification 
        messages and indicates that it is operational, running its
        complete image.

        unitLoading: The unit is running in a special operational mode
        which means that it is unmanaged while it loads a new
        operational code image.

        unitAwaitReset: The unit has accomplished a successful software
        upgrade and is waiting for the remaining units in the stack to
        successfully complete their upgrades and enter this state before
        resetting the system.  If any unit transitions from unitLoading
        to any other state than unitAwaitReset, then the units in the
        unitAwaitReset state will not reset and will transition to 
        unitOperational.  Implementations of this object that do not
        synchronize stack-wide resets after software upgrades will reset
        immediately after the unitLoading state is completed and never
        transition to unitAwaitReset."
      ::= {stackConfigEntry 7}

stackUnitManagementType OBJECT-TYPE
      SYNTAX      INTEGER  {
                  unknown (1),
                  distributed (2),
                  intelligent (3)
      }
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object can be used to determine the management
        method used to access the agent in this unit. The options are:

          unknown:     The unit has not reported any management
                       capability. It is either faulty or a
                       non-conformant device.
          distributed: This unit can be managed using the SuperStackII 
                       distributed management architecture and so is
                       managed through this agent. The unit may or may
                       not have an active comms stack. If it has then
                       the addresses for that agent can be determined
                       from the address table.
          intelligent: The unit has its own SNMP agent which is accessed 
                       seperately. The agent is not part of the SSII 
                       distributed management architecture."
      ::= {stackConfigEntry 8}

-- Aside: The SuperStack II Distributed Management Architecture allows a
-- stack of units to be managed as though they formed a single unit.
-- The MIBs of each unit in the stack are merged and amy be accessed
-- through any unit in the stack that has an active comms stack.

stackUnitCapabilities OBJECT-TYPE
      SYNTAX      OCTET STRING 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object describes the capabilities of this
          particular unit. This is used in conjunction with the upgrade
          level of the stack to enable a management application to
          correctly enable and disable the various features of the
          application depending on the capabilities of the unit.

          The object is an octet string, where each octet represents a
          capability of the unit. Different capabilities will be added
          to the list as required. The current list of values is:

          0x01        Full RMON
          0x02        3Com Proprietary Resilience MIB
          0x03        3Com Repeater Security MIB
          0x04        PSHub Port Switching
          0x05        PSHub Capability Upgrade Facility
          0x06        Dual Speed Hub Capability Upgrade Facility 
          0x07        TelNet 
          0x08        Web 
          0x14        SMA Resource Allocator 
          0x15        SMA Distributed SNMP
          0x16        SMA Global Variables
          0x17        SMA Licence Server 
          0x18        PSHub Cascade Switch 
          0x19        PSH Load Balancing
          0x1a        RPC
          0x1b        Internal SNMP
          0x1c        Mapper
          0x1d        Distributed RMON
          0x1e        Lazy ACK
          0x1f        Resilience switchback
          0x20        Security II
          0x21        RMON Email
          0x22        Rapid Spanning Tree (RSTP)
          0x23        Link Aggregation Control Protocol (LACP)
          0x24        L4 Redirection (WEB cache)
          0x25        Device IP Configuration (DHCP)
          0x26        Revised Global Port Numbering
          0x27        Local Trunk Forwarding
          0x28        Improved TFTP Upgrade
          0x29        802.1x Network Login
          0x2a        RADIUS Client
          0x2b        Layer 3 Stacking
          0x2c        SW Variant
          0x2d        Jag3 Mode
          0x2e        Jag6 Mode
          0x2f        QoS Support of RSTP Applications
          0x30        Multiple Agent Images
          0x31        Power over Ethernet
          0x32        OSPF
          0x33        Trusted IP
          0x34        Secure Shell (SSH)
          0x35        Configurable management VLAN
          0x36        Manual L4 cache configuration
          0x37        STP Ignore Mode
          0x38        MAC-address Based Network Access 
          0x39        Simple Network Time Protocol Client 
          0x3a        System Logger 
          0x3b        IGMP V3 

          So, for example, if a unit has a value of '02 03' for this
          object then it supports repeater resilience and security, but
          no other features such as RMON."
      ::= {stackConfigEntry 9}

stackUnitPromVersion OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the version number of the PROM on the unit.
        If the unit has no PROM, does not correctly report the PROM
        version or is currently non-operational then this object will
        return an empty string."
      ::= {stackConfigEntry 10}

stackUnitHWVersion OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the hardware version of this unit, expressed
        as a string. Note that if the hardware version is not available
        for this particular unit then the version string will be empty."
      ::= {stackConfigEntry 11}

stackUnitSWVersion OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the software version number of this unit. The 
        software version number is a string. Note that if a unit does
        not make its version number information available, or the unit
        has no software, then this object will report an empty string."
      ::= {stackConfigEntry 12}

stackUnitSerialNumber OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is the serial number for this unit. The number
        is globally unique and expressed as a textual string."
      ::= {stackConfigEntry 13}

stackUnitAttention OBJECT-TYPE
      SYNTAX      INTEGER  {
                  noAttention (1),
                  attention (2)
      }
      ACCESS      read-write
      STATUS      mandatory
      DESCRIPTION "Some of the units in the stack will contain a
        mechanism for drawing attention to that unit. This is useful
        for directing maintainance personnel. The method often employed
        is for a special LED, or by placing some other LED into a
        flashing state. This object gives access to the attention
        mechanism for a unit.

        Note that if a unit does not support this mechanism then reading
        the value of this object will return 'no-such-name' error."
      ::= {stackConfigEntry 14}

stackUnitMgmtInterface OBJECT-TYPE
      SYNTAX      INTEGER (0..65535)
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "If a unit in the stack participates in the
        distributed SNMP stack (stackUnitManagementType = 'distributed')
        then it will have an instance of this object. The object points
        to the entry in the interface table which represents the
        potential management interface for this unit. That is the index
        to use in the ifTable for this device. Note that if the value of
        this object is zero, or the result of reading this object is
        NO-SUCH-NAME then there is no management interface available on
        that unit."
      ::= {stackConfigEntry 15}

stackUnitSummary OBJECT-TYPE
      SYNTAX      OCTET STRING 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This object provides a summary of this units
        configuration in order to improve the performance of the
        management applications. The information in this object is
        represented as a list of items, each item is a type-length-value
        triplet which will have a basic encoding. The information
        encoded in this string will be determined by the requirements of
        the management applications.  The contents of this object is
        separately defined for each device.

        Note: This object has been replaced by 3Com RFCs 0341, 0342 and
        0343 for some devices."
      ::= {stackConfigEntry 16}

stackUnitSlipMgmtInterface OBJECT-TYPE
      SYNTAX      INTEGER (0..65535)
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "If a unit in the stack participates in the
        distributed SNMP stack then it will have an instance of this
        object(stackUnitManagementType = 'distributed'). The object
        points to the entry in the interface table which represents the
        potential SLIP (serial port) management interface for this unit.
        That is the index to use in the ifTable for this device. Note
        that if the value of this object is zero, or the result of
        reading this object is NO-SUCH-NAME then there is no SLIP
        access port available on that unit."
      ::= {stackConfigEntry 17}

stackUnitNotepad OBJECT-TYPE
      SYNTAX      OCTET STRING (SIZE(0..512))
      ACCESS      read-write
      STATUS      mandatory
      DESCRIPTION "This object is used to store user-specified data
        regarding this unit.  The user may store any relevant data about
        the unit.  This may include its floor location, history or other
        details. The unit stores the data in non-volatile storage so
        that the data is not lost over a normal reset.  The data will be
        cleared if the unit is returned to factory defaults.  A maximum
        of 512 characters of data may be stored in this object.
        This object can be treated as a displayString.  In the MIB it is
        defined as an OCTET STRING since displayStrings are not allowed
        to be more than 255 characters in length."
      ::= {stackConfigEntry 18}

stackUnitProductNumber OBJECT-TYPE
      SYNTAX      DisplayString
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This is a textual representation of the unit's
        product number. Note that if a unit does not make its product
        number information available then this object will report an
        empty string."
      ::= {stackConfigEntry 19}

-- *********************************************************************
-- The following definitions are part of the Bank Swap implementation.
-- Bank Swap allows a user to select the agent that is to be used by the
-- system after a reboot.
-- The stackBankSwapTable shows the agent version string and status for 
-- all agents that reside in flash. The status descriptions are shown in
-- the description for stackUnitBankStatus.
-- *********************************************************************

stackBankSwapTable OBJECT-TYPE
      SYNTAX SEQUENCE OF StackBankSwapEntry
      ACCESS not-accessible
      STATUS mandatory
      DESCRIPTION "A table of the agent software versions and status for
                   all agents stored in flash"
      ::= {stackConfiguration 2}

stackBankSwapEntry OBJECT-TYPE
      SYNTAX StackBankSwapEntry
      ACCESS not-accessible
      STATUS mandatory
      DESCRIPTION "A table entry showing the bank identifier, software
                   version and status for each agent."
      INDEX {stackUnitLocation, stackBankSwapId}
	::= {stackBankSwapTable 1}

StackBankSwapEntry ::= SEQUENCE {
      stackBankSwapId            INTEGER,
      stackBankSwapSWVersion     DisplayString,
      stackBankSwapStatus        INTEGER,
      stackBankSwapNextActive    INTEGER
      }

stackBankSwapId OBJECT-TYPE
      SYNTAX INTEGER
      ACCESS not-accessible
      STATUS mandatory
      DESCRIPTION "Identifier for an agent location in the system."
      ::= {stackBankSwapEntry 1}

stackBankSwapSWVersion OBJECT-TYPE
      SYNTAX DisplayString
      ACCESS read-only
      STATUS mandatory
      DESCRIPTION "Software version for the software in this bank.  If a
                   valid agent is not present in the bank, then an empty
                   string is returned."
      ::= {stackBankSwapEntry 2}

stackBankSwapStatus OBJECT-TYPE
      SYNTAX INTEGER {
                  active(1),
                  activeOnLoad(2),
                  inactiveOnLoad(3)
      }
      ACCESS read-write
      STATUS mandatory
      DESCRIPTION "Status of a bank location. This object should be set
                  prior to loading new software to indicate when that
                  new software will become active. This object can only
                  be written for banks not in the active(1) state as
                  the software download process will always load into a
                  bank not in the active(1) state.
                  active(1) read-only - the agent is currently running.
                            New software will not be loaded into a bank
                            in this state.  An error will be returned if
                            an attempt is made to set this value.
                  activeOnLoad(2) read-write - the agent is currently
                            inactive.  If new software is successfully
                            loaded into a bank in this state, then the 
                            stackBankSwapNextActive object is
                            automatically set to nextActive(1) for this
                            bank and an immediate reboot occurs, thereby
                            making stackBankSwapStatus active(1) and
                            stackBankNextActive nextActive(1) after the
                            reboot.  This is the default state for a
                            bank when it is not active(1).
                  inactiveOnLoad(3) read-write - the agent is currently
                            inactive.  If an attempt is made to load new
                            software into this bank, then after the
                            attempt, the box is not rebooted and the
                            stackBankNextActive object is left
                            unaffected."                 
      ::= {stackBankSwapEntry 3}

stackBankSwapNextActive OBJECT-TYPE
      SYNTAX INTEGER {
                  nextActive(1),
                  nextActivePostLoad(2),
                  notNextActive(3)
      }
      ACCESS read-write
      STATUS mandatory
      DESCRIPTION "This object indicates which bank contains the
                   software that will be running after the next reboot.
                   The supported values include:
                   nextActive(1) read-write - If set, then the software
                            contained in this bank will be running after
                            the next reboot.  Only one bank may have
                            nextActive(1) set.  When using this state,
                            it is assumed that the software in this bank
                            may become active at any time since a reboot
                            may occur unexpectedly for many reasons.
                   nextActivePostLoad(2) read-write - If set, then the
                            software in this bank will be marked as
                            active after the next reboot after the
                            next successful software upgrade to this
                            bank.  If the upgrade is successful, this 
                            object will be automatically set to 
                            nextActive(1) for this bank.  If the upgrade
                            is unsuccessful, it will be automatically
                            set to notNextActive(3).
                   notNextActive(3) read-only - This bank does not
                            contain the software that will be active
                            after the next reboot.  An error will be
                            returned if this value is written.  When
                            nextActive(1) is written to a bank, the
                            other banks are automatically set to
                            notNextActive(3)."
      ::= {stackBankSwapEntry 4}

-- *********************************************************************
-- The stack of units may be addressable through more than one unit in
-- the stack. Some units may be manageable through more than one
-- address. This table lists the addresses within the stack through
-- which the stack (or just the unit) may be managed.  Devices for which
-- the stackUnitManagementType is 'Intelligent'are not able to manage
-- other devices in the stack.
-- *********************************************************************
stackAddressInformation OBJECT IDENTIFIER ::= {superStackIIconfig 2}

stackAddressTable OBJECT-TYPE
      SYNTAX      SEQUENCE OF StackAddressEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION "This table contains entries for units in the stack
        which have active inband communications stacks. The table
        comprises of a set of entries for each unit, each entry
        representing a single address. Note that the address information
        in this table cannot be changed!

        This table is required specifically for those units which
        execute their own SNMP agents without taking part in the Arnie
        co-operative agent. I.e., the only devices for which there will
        be an entry in this table are those for which the
        stackUnitManagementType is 'Intelligent'."
      ::= {stackAddressInformation 1}

stackAddressEntry OBJECT-TYPE
      SYNTAX      StackAddressEntry
      ACCESS      not-accessible
      STATUS      mandatory
      DESCRIPTION ""
      INDEX       {stackUnitLocation, stackAddressNumber}
      ::= {stackAddressTable 1}

StackAddressEntry ::= SEQUENCE {
                  stackAddressNumber              INTEGER,
                  stackAddressType                INTEGER,
                  stackAddress                    OCTET STRING 
                  }

stackAddressNumber OBJECT-TYPE
      SYNTAX      INTEGER 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This identifies one of a number of different
        addresses for this unit. This is a second index column for this
        table, the first being the unit number shared with the
        stackConfigTable (stackUnitLocation)."
      ::= {stackAddressEntry 1}

stackAddressType OBJECT-TYPE
      SYNTAX      INTEGER  {
                  ipAddress (1),
                  ipxAddress (2)
      }
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "This identifies the type of address."
      ::= {stackAddressEntry 2}

stackAddress OBJECT-TYPE
      SYNTAX      OCTET STRING 
      ACCESS      read-only
      STATUS      mandatory
      DESCRIPTION "The address."
      ::= {stackAddressEntry 3}

-- Define all possible sysObjIdent values as a branch from this MIB.
-- Note that because of the nature of the distributed SNMP architecture
-- it is not possible to determine the function of the device from its
-- sysObjId and so all distributed stack components will have the same
-- value.
--
-- The OBJECT IDENTIFIERS and unit types are now defined in 3Com0025.
--
stackSysObjIdentities
                  OBJECT IDENTIFIER ::= {superStackIIconfig 4}
stackUnitTypes    OBJECT IDENTIFIER ::= {superStackIIconfig 5}

--
-- Trap Definitions
--
unitDeparture TRAP-TYPE
      ENTERPRISE  a3Com
      VARIABLES {stackUnitDesc, stackUnitSerialNumber}
      DESCRIPTION "This trap is raised by the lowest numbered unit in a
            stack when a communications loss is detected to another
            unit. The raising of this trap is optional."
      ::= 89
END
