[No Subject]
{3COM/PDD/PeteW}@pdd.3mail.3com.com Wed, 28 April 1993 10:08 UTC
Received: from ietf.nri.reston.va.us by IETF.CNRI.Reston.VA.US id aa01614; 28 Apr 93 6:08 EDT
Received: from CS.UTK.EDU by IETF.CNRI.Reston.VA.US id aa01610; 28 Apr 93 6:08 EDT
Received: from localhost by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK) id AA04714; Wed, 28 Apr 93 05:23:57 -0400
X-Resent-To: chassismib@CS.UTK.EDU ; Wed, 28 Apr 1993 05:23:53 EDT
Errors-To: owner-chassismib@CS.UTK.EDU
Received: from gatekeeper.3Com.COM by CS.UTK.EDU with SMTP (5.61+IDA+UTK-930125/2.8s-UTK) id AA04571; Wed, 28 Apr 93 05:23:38 -0400
Received: from gw.3Com.COM by gatekeeper.3Com.COM with SMTP id AA05893 (5.65c/IDA-1.4.4-910725 for <chassismib@cs.utk.edu>); Wed, 28 Apr 1993 02:23:28 -0700
Received: by gw.3Com.COM id AA16450 (5.65c/IDA-1.4.4 for chassismib@cs.utk.edu); Wed, 28 Apr 1993 02:23:21 -0700
Date: Wed, 28 Apr 1993 10:15:00 -0700
Sender: ietf-archive-request@IETF.CNRI.Reston.VA.US
From: {3COM/PDD/PeteW}@pdd.3mail.3com.com
Subject: [No Subject]
To: chassismib@cs.utk.edu
Message-Id: <930428.022510@3Mail.3Com.COM>
Msg-Date: 1993-04-28
Msg-Time: 10:15
Microsoft Mail v3.0 IPM.Microsoft Mail.Note
From: Wilson, Peter
To: Chassis MIB
Date: 1993-04-28 10:09
Priority:
Message ID: 69910251
Conversation ID: 69910251
Attachments:
740-020.TXT
------------------------------------------------------------------------------
[[ 740-020.TXT : 2607 in 740-020.TXT ]]
---------------------------------------
Attachment: L:\MAILEXE2\MFFGET\740-020.TXT
---------------------------------------
I've modified the Chassis MIB sent around by Dave a couple of days ago
(the one that uses the full indices) to more accurately reflect my
thoughts on the chassis MIB. It was basically correct I wanted to
clarify a few points. Some of the changes are to the descriptions to
make things clearer, some are typos or ommisions. Dave: you should be
able to do some diffs between this and the one you sent to find the
descriptive differences. I removed the header and footers but ignoring
those I've not needlessly changed spacing etc.
I started writing these as comments but soon found it easier this way.
I've included some comments in the MIB by using '-- &&'. These are
meant to be comments to the group, not a part of the eventual MIB!
I'm working on a couple of more complex examples at the moment which
I'll send shortly. Has anyone had the opportunity to try the model on
their device? Any comments? has anyone found the first two examples
useful, confusing, or whatever? Has anyone had a chance to consider
the indices on tables?
Summary:
1) Added OBJECT IDENTIFIERS for common types.
2) chasPhyLocationTable is a dense table with a single row for each
type of location. Your comments suggested this but then had an extra
index so that instances of location types could be enumerated. This
removed the chasPhyLocationIndex is removed.
3) I've renamed chasResourceTable to chasPhyResourceTable and
chasLogicalConfigTable to chasLogResourceTable for consistency (and
the objects under those branches).
Major Changes
=============
I've tried to tackle the as yet unmodified power supply and sensor MIB
groups. This is to bring them into line with the new model.
1) Removed the chasPowerSupplyTable. All the important information in
this table is available in the module table. A power supply module
is simply a module. By describing the PSU in the module table we allow
for those implementations where these is no distinction between a slot
that can accept a power supply or network card.
Things that are not in the module table should be considered for
inclusion in that table. These are:
chasPowerSupplyHealthText,
chasPowerSupplyWarnings,
chasPowerSupplyFailures.
If these are useful then they are useful for any module.
2) Modified chasPowerSupplyOutputTable. In the new model each type of
output can be considered as a resource of a particular module. For
example suppose there are two PSU modules each of which have a 12V and
5V output. The model will map this as:
Module Table Resource Table Entity Table
======================================================================
PSU Module 1 <------- PSU Module 1, Resource 1 --------> 5V PSU Entity
PSU Module 1 <------- PSU Module 1, Resource 2 --------> 12V PSU Entity
PSU Module 1 <------- PSU Module 1, Resource 1 --------> 5V PSU Entity
PSU Module 1 <------- PSU Module 1, Resource 2 --------> 12V PSU Entity
The information in the output table then is extra information for the supply
resources. As such I've changed the index on this table to be the same
as the resource table (locationType, instance, resourceId). Note that
this is really neat in an SNMPv2 MIB because either the INDEX clause
can simply reference the resource table OR an AUGMENTS clause can be
used. Augments is probably more appropriate.
A final advantage is that the output resource is now identified by
it's location which it was not before. If a supply failed to deliver
correct voltage and there were several 5V resource there was no way to
know which had failed.
3) Sensor Table.
A sensor is also a resource of the chassis. I've changed this table in
a similar way to the power supply output table. The indices are now
locationType, instance and resource. This has the advantage again that
if there are multiple sensors of a particular type, it can be
identified by its location. This also removed the need for the OID
to identify the sensor type.
Sensors are an interesting chassis concept for the model. Every
resource should map to some entity, but individual entities are only
required to distinguish a particular agent or context. To map sensors
in a chassis simply provide a 'chassis' entity that contains all the
sensors and specifies that they are visible through the same view that
contains the chassis MIB.
ie
Module Table Resource Table Entity Table
======================================================================
modularSlot.1 <---------------- 1 ----------------------> chassis
modularSlot.2 <---------------- 1 ----------------------> chassis
modularSlot.2 <---------------- 2 ----------------------> chassis
...
CHASSIS-MIB DEFINITIONS ::= BEGIN
IMPORTS
experimental, TimeTicks, IpAddress, Counter
FROM RFC1155-SMI
OBJECT-TYPE
FROM RFC1212
Party
FROM RFC1353-MIB; -- SNMP Party MIB
-- Textual Conventions
DisplayString ::= OCTET STRING
-- This data type is used to model textual information taken
-- from the NVT ASCII character set. By convention, objects
-- with this syntax are declared as having
--
-- SIZE (0..255)
AutonomousType ::= OBJECT IDENTIFIER
-- The object identifier is an independently extensible type
-- identification value. It may, for example indicate a
-- particular sub-tree with further MIB definitions, or
-- define something like a protocol type or type of
-- hardware.
chassis OBJECT IDENTIFIER ::= { experimental 38 }
-- Groups within the chassis MIB
chasInfo OBJECT IDENTIFIER ::= { chassis 1 }
chasPhysical OBJECT IDENTIFIER ::= { chassis 2 }
chasEntity OBJECT IDENTIFIER ::= { chassis 3 }
chasResource OBJECT IDENTIFIER ::= { chassis 4 }
chasPowerSupply OBJECT IDENTIFIER ::= { chassis 5 }
chasEnviron OBJECT IDENTIFIER ::= { chassis 6 }
-- Chassis MIB Known Types
chasKnownTypes OBJECT IDENTIFIER ::= { chassis 8 }
-- a) Values for known chasPhyLocationType. The types of
-- location in the chassis.
chasPubLocationTypes OBJECT IDENTIFIER ::= { chasKnownTypes 1 }
chasModularSlot OBJECT IDENTIFIER ::= { chasPubLocationTypes 1 }
chasPowerSupplyBay OBJECT IDENTIFIER ::= { chasPubLocationTypes 2 }
chasFanTray OBJECT IDENTIFIER ::= { chasPubLocationTypes 3 }
chasBackplane OBJECT IDENTIFIER ::= { chasPubLocationTypes 4 }
chasFrontSlot OBJECT IDENTIFIER ::= { chasPubLocationTypes 5 }
chasBackSlot OBJECT IDENTIFIER ::= { chasPubLocationTypes 6 }
-- b) Values for chasModuleType.
chasPubModuleTypes OBJECT IDENTIFIER ::= { chasKnownTypes 2 }
chasLocationEmpty OBJECT IDENTIFIER ::= { chasPubModuleTypes 1 }
chasModuleUnknown OBJECT IDENTIFIER ::= { chasPubModuleTypes 2 }
-- c) Values for chasEntityObjectId.
chasPubEntityTypes OBJECT IDENTIFIER ::= { chasKnownTypes 3 }
-- i) Things in the chassis, nothing to do with network.
chasPubChassisEntities OBJECT IDENTIFIER ::= { chasPubEntityTypes 1 }
chasPowerSupply OBJECT IDENTIFIER ::= { chasPubChassisTypes 1 }
chasChassis OBJECT IDENTIFIER ::= { chasPubChassisTypes 2 }
chasMonitors OBJECT IDENTIFIER ::= { chasPubChassisTypes 3 }
-- ii) Basic Network Entities
chasPubNetEntities OBJECT IDENTIFIER ::= { chasPubEntityTypes 2 }
chas8023Repeater OBJECT IDENTIFIER ::= { chasPubNetEntities 1 }
chas8025Ring OBJECT IDENTIFIER ::= { chasPubNetEntities 2 }
chasFddiRing OBJECT IDENTIFIER ::= { chasPubNetEntities 3 }
chasAtmSwitch OBJECT IDENTIFIER ::= { chasPubNetEntities 4 }
chasFrameRelay OBJECT IDENTIFIER ::= { chasPubNetEntities 5 }
-- iii) Internetworking/Bridging
chasPubConnectEntities OBJECT IDENTIFIER ::= { chasPubEntityTypes 3 }
chasBridge OBJECT IDENTIFIER ::= { chasPubConnectEntities 1 }
chasRouter OBJECT IDENTIFIER ::= { chasPubConnectEntities 2 }
chasBrouter OBJECT IDENTIFIER ::= { chasPubConnectEntities 3 }
chasGateway OBJECT IDENTIFIER ::= { chasPubConnectEntities 4 }
-- d) Values for chasResourceType.
chasPubResTypes OBJECT IDENTIFIER ::= { chasKnownTypes 4 }
-- i) Chassis type resources.
chasPubChassisRes OBJECT IDENTIFIER ::= { chasPubResTypes 1 }
-- ii) Basic Network Resource
chasPubNetworkRes OBJECT IDENTIFIER ::= { chasPubResTypes 2 }
chas8023RptrPort OBJECT IDENTIFIER ::= { chasPubNetworkRes 1 }
chas8025MauPort OBJECT IDENTIFIER ::= { chasPubNetworkRes 2 }
chasFddiPort OBJECT IDENTIFIER ::= { chasPubNetworkRes 3 }
chasAtmPort OBJECT IDENTIFIER ::= { chasPubNetworkRes 4 }
chas8023PortGroup OBJECT IDENTIFIER ::= { chasPubNetworkRes 5 }
chas8025PortGroup OBJECT IDENTIFIER ::= { chasPubNetworkRes 6 }
chasFddiPortGroup OBJECT IDENTIFIER ::= { chasPubNetworkRes 7 }
chasAtmPortGroup OBJECT IDENTIFIER ::= { chasPubNetworkRes 8 }
-- iii) Backplane Network Resources (if required)
chasPubBplaneRes OBJECT IDENTIFIER ::= { chasPubResTypes 3 }
chas8023Bplane OBJECT IDENTIFIER ::= { chasPubBplaneRes 1 }
chas8025Bplane OBJECT IDENTIFIER ::= { chasPubBplaneRes 2 }
chasFddiBplane OBJECT IDENTIFIER ::= { chasPubBplaneRes 3 }
chasMgmtBplane OBJECT IDENTIFIER ::= { chasPubBplaneRes 4 }
chasAtmBplane OBJECT IDENTIFIER ::= { chasPubBplaneRes 5 }
-- iv) Internetworking/bridging resources (if required)
chasPubConnectRes OBJECT IDENTIFIER ::= { chasPubResTypes 4 }
chasBridgeRelay OBJECT IDENTIFIER ::= { chasPubConnectRes 1 }
chasRouterRelay OBJECT IDENTIFIER ::= { chasPubConnectRes 2 }
chasBrouterRelay OBJECT IDENTIFIER ::= { chasPubConnectRes 3 }
chasSwitch OBJECT IDENTIFIER ::= { chasPubConnectRes 4 }
-- chasInfo group (chassis information group).
-- Implementation of this group is mandatory.
chasType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An authoritative identification of the type of
hub-based or standalone chassis. By convention
this value is allocated within the SMI enterprises
subtree(1.3.6.1.4.1), and provides an easy and
unambiguous means for determining `what kind of
box' is being managed. If this information is not
present or unknown, its value should be set to the
value: chasTypeUnknown."
::= { chasInfo 1 }
chasPhysicalChanges OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of physical changes that have occurred
in the chassis since the agent was warm/cold
started. This includes additions and removal of
modules and entities. Other uses are
implementation specific."
::= { chasInfo 2 }
chasChassisSerialNumber OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The serial number of the chassis. If no serial
number is available then this object should be the
zero length string."
::= { chasInfo 3 }
-- chasPhysical group (physical configuration group).
-- Implementation of this group is mandatory.
chasPhyLocationTable OBJECT-TYPE
SYNTAX SEQUENCE OF ChasPhyLocationTable
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"This table summarises the different classes of
modular physical locations in the chassis.
This includes but is not limited to slot
within a chassis, power supply bay. Note that
this table contains an entry for each type of
location, _not_ each instance of each type of
location."
::= { chasPhysical 1 }
chasPhyLocationEntry OBJECT-TYPE
SYNTAX ChasPhyLocationEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in the phyLocationTable"
INDEX { chasPhyLocationTypeIndex }
::= { chasPhyLocationTable 1 }
ChasPhyLocationEntry ::= SEQUENCE {
chasPhyLocationTypeIndex
INTEGER,
chasPhyLocationType
OBJECT IDENTIFIER,
chasPhyLocationName
DisplayString
}
chasPhyLocationTypeIndex OBJECT-TYPE
SYNTAX INTEGER (1..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This uniquely identifies the physical location
type within the chassis."
::= { chasPhyLocationEntry 1 }
chasPhyLocationType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
" Uniquely identifies the 'type' of the physical
location within the chassis."
::= { chasPhyLocationEntry 2 }
chasPhyLocationName OBJECT-TYPE
SYNTAX DisplayString
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Each type of physical location within the chassis
is given a textual name."
::= { phyLocationEntry 3 }
chasModuleTable OBJECT-TYPE
SYNTAX SEQUENCE OF ChasModuleEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"This table defines the physical modules within a
chassis. This is done by defining the type
physical modules and the physical location where
it resides. This table also provides a mapping
from between physical modules and their location
within the chassis."
:: { chasPhysical 2 }
chasModuleEntry OBJECT-TYPE
SYNTAX ChasPhyModuleEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"An entry in this table that describes a physical
module that resides at a given physcial location
within the chassis."
INDEX { chasModuleLocationType, chasModuleLocation }
::= { chasModuleTable 1 }
ChasPhyModuleEntry ::= SEQUENCE
chasModuleLocationType
INTEGER,
chasModuleLocation
INTEGER,
chasModuleType
OBJECT IDENTIFIER,
chasModuleSwVersion
DISPLAYSTRING,
chasModuleHwVersion
DisplayString,
chasModuleSerialNumber
DisplayString,
chasModuleDescription
DisplayString,
chasModuleLastChangeTime
TimeTicks,
chasModuleAdminStatus
INTEGER,
chasModuleOperStatus
INTEGER
}
chasModuleLocationType OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An instance of a module is identified by the
physical location which it resides. The physical
location is identified by location type index and
location index (instance of that location type).
This object defines the location type. The value
of this index can be used to index the
chasPhyLocationTable to get details of this type
of location, for example a power supply bay or
a modular slot."
::= { chasModuleEntry 1 }
chasModuleLocation OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An instance of a module is identified by the
physical location which it resides. The physical
location is identified by location type index and
location index (instance of that location type.
This object defines the instance of a particular
location type."
::= { chasModuleEntry 2 }
chasModuleType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"An authoritative identification of the type of
physcial module in this physical location. A
value of chasModuleUnknown indicates that the
type of physical module is unknown. A value of
chasLocationEmpty indicates that this location
is currently occupied by nothing, its empty."
:== { chasModuleEntry 3 }
-- && A cards software may not be in PROM so SW is a more
-- && appropriate term.
chasModuleSwVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the version/revision
level for this module's software. If not known,
is not appropriate or the location is empty then
this value should be set to the zero-length
string."
:== { chasModuleEntry 4 }
chasModuleHwVersion OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the version/revision
level for this module's firmware. If not known,
is not appropriate or the location is empty then
this value should be set to the zero-length
string."
::= { chasModuleEntry 5 }
chasModuleSerialNumber OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The serial number of the physical module present
in this physical location. If ths value is not known,
is not appropriate or the location is empty this value
will be the zero length string. If no serial number
is available for a physical module this value should
set to a zero length string."
::= { chasModuleEntry 6 }
chasModuleDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..32))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A textual description of the physical module
plugged that resides in this physical location.
If this value is not available or the slot is
empty then this value should be set to a
zero length string."
::= { chasModuleEntry 7 }
chasModuleLastChange OBJECT-TYPE
Syntax TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of MIB-II's sysUpTime (in the agent
supporting this chassis MIB) at which a module was
last inserted or initialized. If the module has
not changed since the last network managment
system reinitialized then this object has a zero
value."
::= { chasModuleEntry 8 }
chasModuleAdminStatus OBJECT-TYPE
Syntax INTEGER {
enable(2),
disable(3),
reset(4),
programLoad(5),
test(6)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
Provides desired state of the given physical
module. Notice that not all values may be
supported by the specified physical module. In
this case and SNMP error will be returned when the
set is attempted.
A physical module maybe activated by writting a
value of enable(2).
A physical module may be de-activated by writting
a value of disable(3). In a disabled state a
physical module is present in the chassis but is
benign.
Writting a value of reset(4) initiates a reset
sequence.
A value of programLoad(5) initiates a software
load sequences.
Writting a vlaue of test(6) should start a self
test sequence within the physical module."
::= { chasModuleEntry 9 }
chasModuleOperStatus OBJECT-TYPE
Syntax INTEGER {
other(1),
invalid(2),
test(3),
operational(4),
resetInProgress(5),
warning(6),
nonFatalError(7),
fatalError(8)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
Provides operational status of the module. The
following are possible definitions of the values.
The exact definition of the values is
implementation specific. A value of other(1)
implies some undetermined state, possibly as a
result of setting phyAdminStatus to a value of
disable(3). A value of invalid(2) could have the
possible meaning that the module exists but the
chassis manager has no direct control over the
module. A value of testing(3) may be a diagnostic
state. A value of operational(4) implies that the
entity is running with no errors or warnings.
State resetInProgress(5) implies equivalent of
setting phyAdminStatus to reset(4). The states of
warning(6), nonFatalError(7), fatalError(8)
reflect conditions detected during operation. The
entity may or may not be still functional.
For example if a modules value of phyAdminStatus
is disable(3) and is set to enable(2) then
phyOperStatus may enter a state of testing(3) then
change to a value of operational(4)."
::= { chasModuleEntry 10 }
--
-- The chasEntity group.
-- This group is MANDATORY.
-- Entity Table
chasEntityTable OBJECT-TYPE
SYNTAX SEQUENCE OF ChasEntityEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A table that contains information about the
'logical' networking devices (entities) in this
chassis."
::= { chasEntity 1 }
chasEntityEntry OBJECT-TYPE
SYNTAX ChasEntityEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Information concerning an entity in the chassis.
Conceptual rows may not be created or deleted with
SNMP operations."
INDEX { chasEntityIndex }
::= { chasEntityTable 1 }
ChasEntityEntry ::=
SEQUENCE {
chasEntityIndex
INTEGER,
chasEntityObjectID
OBJECT IDENTIFIER,
chasEntityDescr
DisplayString,
chasEntityAdminStatus
INTEGER,
chasEntityOperStatus
INTEGER,
chasEntityTimeStamp
TimeTicks,
chasEntityParty
Party,
chasEntityCommunity
OCTET STRING,
chasEntityIpAddress
IpAddress
}
chasEntityIndex OBJECT-TYPE
SYNTAX INTEGER (1..65535)
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique index for the entity for which this
entry contains information."
::= { chasEntityEntry 1 }
chasEntityObjectID OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The specific type of entity. The value of this
object is analagous to MIB-II's sysObjectId. In
particular, it has the same value as would be
returned if the SNMP Party (identified by
chasEntityParty) and/or the community (identified
by chasIpAddress and chasCommunity), were queried
for sysObjectId."
::= { chasEntityEntry 2 }
chasEntityDescr OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..255))
ACCESS read-write
STATUS mandatory
DESCRIPTION
"A textual description of the entity. The value
of this object is analagous to MIB-II's sysDescr.
In particular, it has the same value as would be
returned if the SNMP Party (identified by
chasEntityParty) and/or the community (identified
by chasIpAddress and chasCommunity), were queried
for sysDescr."
::= { chasEntityEntry 3 }
chasEntityAdminStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1), -- none of the following
enable(2),
disable(3),
reset(4),
programload(5),
test(6)
}
ACCESS read-write
STATUS mandatory
DESCRIPTION
"Provides the administratively desired state of
the given entity.
An entity is activated by writing a value of
enable(2).
An entity may be de-activated by writing a value
of disable(3). In a disabled state, a entity does
exist within the given chassis, but is benign. A
disabled entity is available for subsequent
activation.
Writing a value of reset(4) specifies an entity
should initiate a reset sequence.
Writing a value of programload(5) specifies an
entity should initiate a program load sequence.
Writing a value of test(6) specifies an entity
should initiate a testing sequence.
Agent support of the writing of any of the values
of this object is implementation-specific. For
example, this object might be read only for
entities that disabling would compromise the
integrity of the chassis."
::= { chasEntityEntry 4 }
chasEntityOperStatus OBJECT-TYPE
SYNTAX INTEGER {
other(1), -- none of the following
invalid(2),
testing(3),
operational(4),
resetInProgress(5),
warning(6),
nonFatalError(7),
fatalError(8),
loading(10)
}
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Provides operational status of the entity. The
following are possible definitions of the values.
The exact definition of the values is
implementation specific. A value of other(1)
implies some undetermined state, possibly as a
result of setting chasEntityAdminStatus to a value
of disable(3). A value of invalid(2) could have
the possible meaning that the entity exists but
the chassis manager has no direct control of the
entity. A value of testing(3) may be a diagnostic
state. A value of operational(4) implies that the
entity is running with no errors or warnings.
State resetInProgress(5) implies equivalent of
setting chasEntityAdminStatus to reset(4). The
states of warning(6), nonFatalError(7),
fatalError(8) reflect conditions detected during
operation. The entity may or may not be still
functional. State loading(10) is a result of
asserting programload(5) in chasEntityAdminStatus.
For example if an entities value of
chasEntityAdminStatus is disable(3) and is set to
enable(2) then chasEntityOperStatus may enter a
state of testing(3) then change to a value of
operational(4)."
::= { chasEntityEntry 5 }
chasEntityTimeStamp OBJECT-TYPE
SYNTAX TimeTicks
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of MIB-II's sysUpTime (in the agent
supporting this MIB) at which this entity was last
(re-)initialized. If the entity has not been
initialized then this object has a zero value."
::= { chasEntityEntry 6 }
chasEntityParty OBJECT-TYPE
SYNTAX Party
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The SNMP Party which provides access to the
detailed management information for this entity.
Note that the definition of a SNMP Party includes
the location at which it executes, the MIB view to
which it provides access, the authentication and
privacy algorithms and parameters required to
access its MIB view, and whether or not proxy is
performed. In order for a SNMP manager to be able
to access the Party, that manager must have prior
knowledge of the Party. In particular, the
manager must know the location at which the Party
executes.
A party is named by an OBJECT IDENTIFIER. For a
entity which is not managed through access to a
SNMP Party, the value of this object is
chasEntityNoParty."
::= { chasEntityEntry 7 }
chasEntityCommunity OBJECT-TYPE
SYNTAX OCTET STRING (SIZE (0..256))
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The SNMP Community which executes at the address
chasEntityIpAddress, and provides access to the
detailed management information for this entity.
For a entity which is not managed through access
to a SNMP Community, the value of this object is
the zero-length string."
::= { chasEntityEntry 8 }
chasEntityIpAddress OBJECT-TYPE
SYNTAX IpAddress
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The address of the SNMP agent which responds to
messages for the SNMP Community identified by
chasEntityCommunity. When access is via proxy,
this variable contains the address of the proxy
agent.
For a entity which is not managed through access
to a SNMP Community, the value of this object is
0.0.0.0."
::= { chasEntityEntry 9 }
--
-- The chasResource group.
-- This group documents the mapping of resources onto modules and
-- of resources onto entities.
-- && Implementation of this group is NOT optional, it is mandatory.
chasPhyResourceTable OBJET-TYPE
SYNTAX SEQUENCE of ChasResourceEntry
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Each physical module contains a number of resources. Each
resource is a building block for constructing functional
entities. This table contains an entry for each resource in
the chassis, the type of entity to which that resource may
belong and the entity to which that resource is currently
assigned."
::= { chasResource 1 }
chasPhyResourceEntry OBJECT-TYPE
SYNTAX ChasPhyResourceEntry
ACCESS read-only
STATUS mandatory
DESCRIPTION
"This entry describes one resource in the chassis at a
particular instant in time. Note that if the physical module on
which this resource resides is removed then this resource
will be destroyed.
Resources may be neither created or destroyed through
management. Some implementations may allow management to
assign a resouce to different entities through management."
INDEX { chasPhyResLocationType,
chasPhyResLocation,
chasPhyResIndex }
::= { chasPhyResourceTable 1 }
ChasPhyResourceEntry ::= SEQUENCE {
chasPhyResLocationType
INTEGER,
chasPhyResLocation
INTEGER
chasPhyResIndex
INTEGER,
chasPhyResourceType
OBJECT IDENTIFIER,
chasPhyResEntityAssignmentType
OBJECT IDENTIFIER,
chasPhyResEntityAssignment
INTEGER,
chasPhyResEntitySubindex
INTEGER
}
chasPhyResLocationType OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A resource exists on a particular module. A module is
identified by its location type and location instance.
This variable identifies the type part of the module on
which this resource resides. It can be used with
chasPhyResourceLocation to index the module table for information
about the module."
::= { chasPhyResourceEntry 1 }
chasPhyResLocation OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A resource exists on a particular module. A module is
identified by its location type and location instance.
This variable identifies the instance part of the module
identification on which this resource resides. It can be
used with chasPhyResourceLocationType to index the module table
for information about the module."
::= { chasPhyResourceEntry 2 }
chasPhyResIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique index for the resource on this
particular physical module."
::= { chasPhyResourceEntry 3 }
chasPhyResType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The type of resource. For example, for an
Ethernet segment this object would have a value of
dot3 as defined in RFC 1284."
::= { chasPhyResourceEntry 4 }
chasPhyResEntityAssignmentType OBJECT-TYPE
SYNTAX OBJECT IDENTIFIER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Some implementations of the chassis MIB allow a resource to
be moved between entities through management. For example a
repeater module may be moved to different repeaters. This
object acts as a 'hint' to the management card to indicate
to which type of entity this resource may be assigned. If
used then the value of this field can be matched to
entities via the chasEntityObjectID object.
Note that a value in this column does not mean that this
resource _can_ be successfully assigned to a particular
entity, merely that such an assignment is legal. A request
to change assignment can be rejected due to local considerations
such as insufficient resource."
::= { chasPhyResourceEntry 5 }
chasPhyResEntityAssignment OBJECT-TYPE
SYNTAX INTEGER
access read-write
STATUS mandatory
DESCRIPTION
"The entity to which this resource is currently assigned.
Note that this object is read/write. Depending on the
implementation the request to set this object to a particular
value will be rejected under some circumstances. Examples
are:
1) insufficient resource, eg to assign a repeater port
to the specified repeater would require uavailable
backplane resource.
2) invalid configuration, trying to assign a repeater
port to a bridge entity!
3) no-such entity.
4) management configuration not possible. Some implementations
can only be reconfigured by changing hardware straps.
Note that changing this object has the possible side effect
of changing the chasPhyResourceEntitySubIndex. This second object
is merely to allow a get-next type interrogation of resource
assigned to entity in the chasLogResourceTable."
::= { chasPhyResourceEntry 6 }
chasPhyResEntitySubIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Provides a unique index that can be used to
identify the relationship in terms of the entity."
::= { chasPhyResourceEntry 7 }
--
-- Logical configuration table
-- Implementation of the chasLogResoureTable is mandatory.
chasLogResourceTable OBJECT-TYPE
SYNTAX SEQUENCE OF ChasLogicalConfigEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Defines a logical configuration relationship
which is a relationship between entities and
resources and the physical module that the
relationship exists on."
::= { chasResource 2 }
chasLogResourceEntry OBJECT-TYPE
SYNTAX ChasLogResourceEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Defines a single logical relationship."
INDEX { chasLogResEntity,
chasLogResEntitySubIndex }
::= { chasLogResourceTable 1 }
ChasLogResourceEntry SEQUENCE {
chasLogResEntity
INTEGER,
chasLogResEntitySubIndex
INTEGER,
chasLogResLocationType
INTEGER,
chasLogResLocation
INTEGER,
chasLogResIndex
INTEGER
}
chasLogResEntity OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The entity ID for which this logical
configuration relationship exists."
::= { chasLogResourceEntry 1 }
chasLogResEntitySubIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The entity sub index for which this logical
configuration relationship exists. The logical
relation ship is identified by a resource
assignment to an entity. The sub index defines a
particular instance of the mapping of physical
configuration onto an entity."
::= { chasLogResourceEntry 2 }
chasLogResLocationType OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A module is defined by it's physical location
type and an instance of that physical location.
This object defines the physical location type
portion of the physical module identifier that
this logical configuration exists for."
::= { chasLogResourceEntry 3 }
chasLogResLocation OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A module is defined by it's physical location
type and an instance of that physical location.
This object defines the instance physical location
(location index) portion of the physical module
identifier that this logical configuration exists
for."
::= { chasLogResourceEntry 4 }
chasLogResResourceID OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The value of this object refers to a particular
instance of a resource, as defined by
chasPhyResourceIndex, for which this relationship is
defined. This together with
chasLogicalConfigLocationType and
chasLogicalConfigLocation completes the mapping of
the logical configuration on to the physical
module and resource combination."
::= { chasLogResourceEntry 5 }
--
-- the Power Supply Output table. Note that this table contains
-- additional information for resources that represent power
-- supplies. As such this table has the same index as the resource
-- table. When the MIB is represented in an SNMPv2 manner the
-- index columns can be removed from this table and the INDEX
-- clause can refer to the resource table. Alternatively since
-- this table requires exactly the same indices as the resource
-- table it is a good candidate for the AUGMENTS clause!
--
-- && Note that identifying PS resouces differently here to the
-- && resource table is confusing.
chasPowerSupplyOutputTable OBJECT-TYPE
SYNTAX SEQUENCE OF ChasPowerSupplyOutputEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Additional information for resource that represent source
of power within the chassis."
::= { chasPowerSupply 2 }
chasPowerSupplyOutputEntry OBJECT-TYPE
SYNTAX ChasPowerSupplyEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Values for a power supply output."
INDEX { chasPSLocationType, chasPSLocationIndex,chasPSResource}
::= { chasPowerSupplyOutputTable 1 }
ChasPowerSupplyOutputEntry ::=
SEQUENCE {
chasPSLocationType
INTEGER,
chasPSLocationIndex
INTEGER,
chasPSUResource
INTEGER,
chasPSOutputStatus
INTEGER,
chasPSOutputNominalVoltage
Gauge,
chasPSOutputOfferedVoltage
Gauge,
chasPSOutputOfferedWattage
Gauge,
chasPSOutputWarnings
Counter,
chasPSOutputFailures
Counter
}
chasPSLocationType OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A Power Supply resource exists on a particular module.
This variable identifies the type part of the module on
which this resource resides. It can be used with
chasPSULocationIndex to index the module table for information
about the module.
The value of this object could be chasPowerSupplyBay, however
some chassis implementations will not distinguish between
slots that accept modular function card and those that accept
power supplies. A slot can accept for example a power supply
or a repeater line card."
::= { chasPowerSupplyOutputEntry 1 }
chasPSLocationIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A power supply resource exists on a particular module. A module
is identified by its location type and location instance.
This variable identifies the instance part of the module
identification on which this resource resides. It can be
used with chasPSLocationType to index the module table
for information about the module."
::= { chasPowerSupplyOutputEntry 2 }
chasPSResource OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique index for the power supply resource on this
particular physical module."
::= { chasPowerSupplyOutputEntry 3 }
chasPSOutputStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
bad(2),
warning(3),
good(4) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Actual status of the power supply:
- unknown(1) status not known
- bad(2) unable to supply power due to failure
- warning(3) supplying power but marginally
- good(4) supplying power
It is an implementation specific matter whether
the agent keeps entries with status unknown(1) in
the table. If unknown(1), offered values and
counters are meaningless."
::= { chasPowerSupplyOutputEntry 4 }
chasPSOutputNominalVoltage OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"In hundredths of a volt, the voltage
the output is supposed to supply, such
as -5, +5, +12, -15, etc."
::= { chasPowerSupplyOutputEntry 5 }
chasPSOutputOfferedVoltage OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"In hundredths of a volt, the voltage
actually offered by the output. If
chasPowerSupplyOutputStatus is good(4),
the value 0 means offered voltage is
not available."
::= { chasPowerSupplyOutputEntry 6 }
chasPSOutputOfferedWattage OBJECT-TYPE
SYNTAX Gauge
ACCESS read-only
STATUS mandatory
DESCRIPTION
"In hundredths of a watt, the wattage
actually offered by the output. If
chasPowerSupplyOutputStatus is good(4),
the value 0 means offered wattage is not
available."
::= { chasPowerSupplyOutputEntry 7 }
chasPSOutputWarnings OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times
chasPowerSupplyOutputStatus has gone to
warning(3)."
::= { chasPowerSupplyOutputEntry 8 }
chasPSOutputFailures OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times
chasPowerSupplyOutputStatus has gone to
bad(2)."
::= { chasPowerSupplyOutputEntry 9 }
--
-- the chasEnviron (Environment) group
-- Implementation of this group is optional.
-- && In the same way that each power supply is
-- && a resource, so is each environmental monitor. This
-- && table can also be described as an AUGMENTS or a shared
-- && index with the resource table. In the long run it is
-- && more economical on MIB objects to share the indices
-- && with the resource table. In preparation for this I've
-- && changed this table to use the location type and index
-- && to identify rows in this table.
-- &&
-- && Because a sensor is a resource, its can be identified
-- && by the OID in the resource table so chasEnvironSensor
-- && is no longer required.
chasEnvironTable OBJECT-TYPE
SYNTAX SEQUENCE OF ChasEnvironEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"A list of environmental entries, one for
each environmental sensor in the chassis. This table
augments the resources in the resource table for those
entries which represent sensors."
::= { chasEnviron 1 }
chasEnvironEntry OBJECT-TYPE
SYNTAX ChasEnvironEntry
ACCESS not-accessible
STATUS mandatory
DESCRIPTION
"Values for a environmental sensor."
INDEX { chasEnvironLocationType,
chasEnvironLocationIndex,
chasEnvironResource }
::= { chasEnvironTable 1 }
ChasEnvironEntry ::= SEQUENCE {
chasEnvironLocationType
INTEGER,
chasEnvironLocationIndex
INTEGER,
chasEnvironResource
INTEGER,
chasEnvironStatus
INTEGER,
chasEnvironWarnings
Counter,
chasEnvironFailures
Counter,
}
chasEnvironLocationType OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A sensor resource exists on a particular module.
This variable identifies the type part of the module on
which this sensor resides."
::= { chasEnvironEntry 1 }
chasEnvironLocationIndex OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A sensor exists on a particular module. A module
is identified by its location type and location instance.
This variable identifies the instance part of the module
identification on which this sensor resides."
::= { chasEnvironEntry 2 }
chasEnvironResource OBJECT-TYPE
SYNTAX INTEGER
ACCESS read-only
STATUS mandatory
DESCRIPTION
"A unique index for the resource on this
particular physical module."
::= { chasEnvironEntry 3 }
chasEnvironStatus OBJECT-TYPE
SYNTAX INTEGER {
unknown(1),
bad(2),
warning(3),
good(4) }
ACCESS read-only
STATUS mandatory
DESCRIPTION
"Actual status indicated by the sensor. It is
an implementation specific matter whether the
agent keeps entries with status unknown(1) in
the table. If unknown(1), counters are
meaningless."
::= { chasEnvironEntry 4 }
chasEnvironWarnings OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times chasEnvironStatus has gone
to warning(3)."
::= { chasEnvironEntry 5 }
chasEnvironFailures OBJECT-TYPE
SYNTAX Counter
ACCESS read-only
STATUS mandatory
DESCRIPTION
"The number of times chasEnvironStatus has gone
to bad(2)."
::= { chasEnvironEntry 6 }
-- Entity party types
chasKnownParty OBJECT IDENTIFIER ::= { chasKnownTypes 2 }
chasEntityNoParty OBJECT IDENTIFIER ::= { chasKnownParty 1 }
END
---------------------------------------
Attachment: L:\MAILEXE2\MFFGET\WINMAIL.001
(This attachment contained binary characters, so it has been uuencoded.
Use a uudecode program to recreate the original file.)
---------------------------------------
begin 666 L:\MAILEXE2\MFFGET\WINMAIL.001
M>)\^(B\* @*0!@ . 0 ( @ !! (!D 8 # #<T,"TP
M,C N5%A4 (@" A. P . R0<$ !P "0 % #( P 0(1@ 8 H D $
M"0 [H$ "$$ 4 ) @ % 0+___\ 90 $$+Q@"(
M " ( ( @ H ( " ! $
M /___P _____/____S____\_____#X___R(?__\X
M?___(/___P8___\?!____X /___ !___X /___ !___X /___ ___X '___
M ___X #___ ?__X '__^ !___P ?__^ '___P#___\ ____@/___\#____
MA____\?____G____]P4 ) @$ % 0(! !0 D" 4
M ! O___P A! 00M& &8 ( @ @ " "@ @ (
M $ " "_ "_ O[\
MOP +\ OP"_OP P,# ,#<P #PRJ8
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M
M #P^_\ I*"@ (" @ /\ /\ #_
M_P#_ _P#_ /__ #___\
M
M
M
M
M
M
M_P ^ __OX
M __O[_P<' P,#
M __O[_P<' P,# __O[
M_P<' P,# __O[_P<' P,#
M __O[_P<' P,#
M __O[_P<' P __O[_P<
M __O[
M ^P ! 0
M _P /P$! 0 _P #\!/P$
M! _P#\_ 3\!/P$
M _/S\_ 3\!/P #\
M_/S\_ 3\ /S\__S\_ 0
M /S\__S\_
M /S\__S\ /S\_P
M /S\
M /P
M 4 ) @$ % 0(! P !P<'!P<'!P<'!P<'
M!P<'!P<'!P<'!P<'!P<'!P<'_P<'^ <'!P<'!P<'!P> X (0@ $ # #<T
,,"TP,C N5%A4 (@"
end
- [No Subject] {3COM/PDD/PeteW}