mibs/MIBS/3com/A3COM0352-STACK-CONFIG

679 lines
31 KiB
Plaintext
Raw Permalink Normal View History

2023-12-05 12:25:34 +01:00
--
-- 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