-- ********************************************************************** -- -- Name: 3Com SuperStack II Stack Configuration MIB -- -- Description: -- -- -- History Date Reason for Change -- -- 1.00 1997 Issued as 3Com RFC. -- 1.01 11 Sep 97 Rename Hub110 to Dual Speed Hub 500 -- 1.02 8 July 98 Add stackUnitTypes in again. It got 'lost'. -- -- ********************************************************************** -- Copyright 3Com Technologies Limited. (1996-1997) -- ********************************************************************** A3COM0017-STACK-CONFIG DEFINITIONS ::= BEGIN IMPORTS superStackIIconfig FROM A3COM0004-GENERIC PhysAddress, DisplayString FROM RFC1213-MIB OBJECT-TYPE FROM RFC-1212 ; stackConfiguration OBJECT IDENTIFIER ::= {superStackIIconfig 1} -- -- This table is used to publicise the units in the stack. The information is -- represented by a single table, indexed by a simple location index. The -- convention is that the lower numbered units are at the bottom of the stack. -- The 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. -- Similarly the agents reporting this information are allowed to implement this -- table in a sparse fashion. -- -- Note that the position in the stack, and hence the position in this table 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 will be available for those units, but will return default -- values. Management applications must be aware of this and take appropriate -- actions. -- -- -- stackConfigTable OBJECT-TYPE SYNTAX SEQUENCE OF StackConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "" ::= {stackConfiguration 1} stackConfigEntry OBJECT-TYPE SYNTAX StackConfigEntry ACCESS not-accessible STATUS mandatory DESCRIPTION "" 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 } 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." ::= {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 that units 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 this MIB module. 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) } 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 has failed to respond send out periodic update messages, but it still appears to be in the stack. unitOperational: The unit is sending our periodic identification messages and indicates that it is operational, running its complete image. unitLoading: The unit is running is a special operational mode which means that it is unmanaged while it loads a new operational code image. Note that if the stack ever contains units which can download an operational image while still being fully managed then this variable will report 'unitOperational'." ::= {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} 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 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. The possible values for an instance of this object which does exist is 'noAttention' or 'attention'." ::= {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 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 management interface for this unit. That is the index to use in the extIfTable 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. It is expected that the following information will be compressed into this object for a repeater device: Unit type Number of ports Array of port information including: media type, link state, partition state." ::= {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 extIfTable 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} 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. Ie, 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 (stackUnitLocatio n)." ::= {stackAddressEntry 1} stackAddressType OBJECT-TYPE SYNTAX INTEGER { ipAddress (1), ipxAddress (2) } ACCESS read-write STATUS mandatory DESCRIPTION "" ::= {stackAddressEntry 2} stackAddress OBJECT-TYPE SYNTAX OCTET STRING ACCESS read-write 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} END