Network Working Group S. Chisholm
Request for Comments: 4268 Nortel Networks
Category: Standards Track D. Perkins
SNMPinfo
November 2005
Entity State MIB
Status of This Memo
This document specifies an Internet standards track protocol for the
Internet community, and requests discussion and suggestions for
improvements. Please refer to the current edition of the "Internet
Official Protocol Standards" (STD 1) for the standardization state
and status of this protocol. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2005).
Abstract
This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols in the Internet community.
In particular, it describes extensions to the Entity MIB to provide
information about the state of physical entities.
In addition, this memo defines a set of Textual Conventions to
represent various states of an entity. The intent is that these
Textual Conventions will be imported and used in MIB modules that
would otherwise define their own representations.
Table of Contents
1. The Internet-Standard Management Framework ......................2
2. Entity State ....................................................2
2.1. Hierarchical State Management ..............................3
2.2. Entity Redundancy ..........................................3
2.3. Physical Entity Users ......................................3
2.4. Physical Class Behavior ....................................4
3. Relation to Other MIBs ..........................................4
3.1. Relation to the Interfaces MIB .............................4
3.2. Relation to Alarm MIB ......................................5
3.3. Relation to Bridge MIB .....................................5
3.4. Relation to the Host Resources MIB .........................5
4. Textual Conventions .............................................6
5. Definitions .................................................... 9
6. Security Considerations ........................................16
7. Acknowledgements ...............................................17
8. References .....................................................17
8.1. Normative References ......................................17
8.2. Informative References ....................................18
1. The Internet-Standard Management Framework
For a detailed overview of the documents that describe the current
Internet-Standard Management Framework, please refer to section 7 of
RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. MIB objects are generally
accessed through the Simple Network Management Protocol (SNMP).
Objects in the MIB are defined using the mechanisms defined in the
Structure of Management Information (SMI). This memo specifies a MIB
module that is compliant to the SMIv2, which is described in STD 58,
RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
[RFC2580].
2. Entity State
The goal in adding state objects to the Entity MIB [RFC4133] is to
define a useful subset of the possible state attributes that could be
tracked for a given entity and that both fit into the state models
such as those used in the Interfaces MIB [RFC2863] as well as
leverage existing well-deployed models. The entStateTable contains
state objects that are a subset of the popular ISO/OSI states that
are also defined in ITU’s X.731 specification [X.731]. Objects are
defined to capture administrative, operational, and usage states. In
addition, there are further state objects defined to provide more
information for these three basic states.
Administrative state indicates permission to use or prohibition
against using the entity and is imposed through the management
services.
Operational state indicates whether or not the entity is physically
installed and working. Note that unlike the ifOperStatus [RFC2863],
this operational state is independent of the administrative state.
Usage state indicates whether or not the entity is in use at a
specific instance, and if so, whether or not it currently has spare
capacity to serve additional users. In the context of this MIB, the
usage state refers to the ability of an entity to service other
entities within its containment hierarchy.
Alarm state indicates whether or not there are any alarms active
against the entity. In addition to those alarm states defined in
X.731 [X.731], warning and indeterminate status are also defined to
provide a more complete mapping to the Alarm MIB [RFC3877].
Standby state indicates whether the entity is currently running as
hot standby or cold standby or is currently providing service.
The terms "state" and "status" are used interchangeably in this memo.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
2.1. Hierarchical State Management
Physical entities exist within a containment hierarchy. Physical
containment is defined by the entPhysicalContainedIn object[RFC4133].
This raises some interesting issues not addressed in existing work on
state management.
There are two types of state for an entity:
1) The state of the entity independent of the states of its parents
and children in its containment hierarchy. This is often referred to
as raw state.
2) The state of the entity, as it may be influenced by the state of
its parents and children. This is often referred to as computed
state.
All state objects in this memo are raw state.
2.2. Entity Redundancy
While this memo is not attempting to address the entire problem space
around redundancy, the entStateStandby object provides an important
piece of state information for entities, which helps identify which
pieces of redundant equipment are currently providing service, and
which are waiting in either hot or cold standby mode.
2.3. Physical Entity Users
There are three ways to define the ’user’ of a physical entity
1. Direct containment in physical hierarchy
2. Anywhere in physical hierarchy
3. As defined by a means outside the scope of this MIB. This could
include logical interfaces that could run on a port, software that
could run on a module, etc.
Administrative, operational, alarm, and standby state use all three
definitions of ’user’. Usage state supports only the concept of
direct containment to simplify implementations of this object.
2.4. Physical Class Behavior
This MIB makes no effort to standardize the behaviors and
characteristics of the various physical classes [RFC4133], but rather
how this information is reported. In looking at real-world products,
items within the same physical class vary substantially. The MIB has
therefore provided guidance on how to support objects where a
particular instance of a physical class cannot support part or all of
a particular state.
3. Relation to Other MIBs
3.1. Relation to the Interfaces MIB
The Interfaces MIB [RFC2863] defines the ifAdminStatus object, which
has states of up, down, and testing, and the ifOperStatus object,
which has states of up, down, testing, unknown, dormant, notPresent,
and lowerLayerDown.
An ifAdminStatus of ’up’ is equivalent to setting the entStateAdmin
object to ’unlocked’. An ifAdminStatus of ’down’ is equivalent to
setting the entStateAdmin object to either ’locked’ or
’shuttingDown’, depending on a system’s interpretation of ’down’.
An ifOperStatus of ’up’ is equivalent to an entStateOper value of
’enabled’. An ifOperStatus of ’down’ due to operational failure is
equivalent to an entStateOper value of ’disabled’. An ifOperStatus
of ’down’ due to being administratively disabled is equivalent to an
entStateAdmin value of ’locked’ and an entStateOper value of either
’enabled’ or ’disabled’ depending on whether there are any known
issues that would prevent the entity from becoming operational when
its entStateAdmin is set to ’unlocked’. An ifOperStatus of ’unknown’
is equivalent to an entStateOper value of ’unknown’. The
ifOperStatus values of ’testing’ and ’dormant’ are not explicitly
supported by this MIB, but the state objects will be able to reflect
other aspects of the entities’ administrative and operational state.
The ifOperStatus values of ’notPresent’ and ’lowerLayerDown’ are in
some ways computed states and so are therefore not supported in this
MIB. They can, though, be computed by examining the states of
entities within this object’s containment hierarchy and other
available related states.
3.2. Relation to Alarm MIB
The entStateAlarm object indicates whether or not there are any
active alarms against this entity. If there are active alarms, then
the alarmActiveTable in the Alarm MIB [RFC3877] should be searched
for rows whose alarmActiveResourceId matches this entPhysicalIndex.
Alternatively, if the alarmActiveTable is queried first and an active
alarm with a value of alarmActiveResourceId that matches this
entPhysicalIndex is found, then entStateAlarm can be used to quickly
determine if there are additional active alarms with a different
severity against this physical entity.
3.3 Relation to Bridge MIB
For entities of physical type of ’port’ that support the
dot1dStpPortEnable object in the Bridge MIB [RFC4188], a value of
’enabled’ is equivalent to setting the entStateAdmin object to
’unlocked’. Setting dot1dStpPortEnable to ’disabled’ is equivalent
to setting the entStateAdmin object to ’locked’.
3.4 Relation to the Host Resources MIB
The hrDeviceStatus object in the Host Resources MIB [RFC2790]
provides an operational state for devices. For entities that
logically correspond to the concept of a device, a value of ’unknown’
for hrDeviceStatus corresponds to an entStateOper value of ’unknown’.
A value of ’running’ corresponds to an entStateOper value of
’enabled’. A value of ’warning’ also corresponds to an entStateOper
value of ’enabled’, but with appropriate bits set in the
entStateAlarm object to indicate the alarms corresponding to the
unusual error condition detected. A value of ’testing’ or ’down’ is
equivalent to an entStateOper value of ’disabled’.
4. Textual Conventions
ENTITY-STATE-TC-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, mib-2 FROM SNMPv2-SMI
TEXTUAL-CONVENTION FROM SNMPv2-TC;
entityStateTc MODULE-IDENTITY
LAST-UPDATED "200511220000Z"
ORGANIZATION "IETF Entity MIB Working Group"
CONTACT-INFO
"General Discussion: entmib@ietf.org
To Subscribe:
http://www.ietf.org/mailman/listinfo/entmib
http://www.ietf.org/html.charters/entmib-charter.html
Sharon Chisholm
Nortel Networks
PO Box 3511 Station C
Ottawa, Ont. K1Y 4H7
Canada
schishol@nortel.com
David T. Perkins
548 Qualbrook Ct
San Jose, CA 95110
USA
Phone: 408 394-8702
dperkins@snmpinfo.com"
DESCRIPTION
"This MIB defines state textual conventions.
Copyright (C) The Internet Society 2005. This version
of this MIB module is part of RFC 4268; see the RFC
itself for full legal notices."
REVISION "200511220000Z"
DESCRIPTION
"Initial version, published as RFC 4268."
::= { mib-2 130 }
EntityAdminState ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
" Represents the various possible administrative states.
A value of ’locked’ means the resource is administratively
prohibited from use. A value of ’shuttingDown’ means that
usage is administratively limited to current instances of
use. A value of ’unlocked’ means the resource is not
administratively prohibited from use. A value of
’unknown’ means that this resource is unable to
report administrative state."
SYNTAX INTEGER
{
unknown (1),
locked (2),
shuttingDown (3),
unlocked (4)
}
EntityOperState ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
" Represents the possible values of operational states.
A value of ’disabled’ means the resource is totally
inoperable. A value of ’enabled’ means the resource
is partially or fully operable. A value of ’testing’
means the resource is currently being tested
and cannot therefore report whether it is operational
or not. A value of ’unknown’ means that this
resource is unable to report operational state."
SYNTAX INTEGER
{
unknown (1),
disabled (2),
enabled (3),
testing (4)
}
EntityUsageState ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
" Represents the possible values of usage states.
A value of ’idle’ means the resource is servicing no
users. A value of ’active’ means the resource is
currently in use and it has sufficient spare capacity
to provide for additional users. A value of ’busy’
means the resource is currently in use, but it
currently has no spare capacity to provide for
additional users. A value of ’unknown’ means
that this resource is unable to report usage state."
SYNTAX INTEGER
{
unknown (1),
idle (2),
active (3),
busy (4)
}
EntityAlarmStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
" Represents the possible values of alarm status.
An Alarm [RFC3877] is a persistent indication
of an error or warning condition.
When no bits of this attribute are set, then no active
alarms are known against this entity and it is not under
repair.
When the ’value of underRepair’ is set, the resource is
currently being repaired, which, depending on the
implementation, may make the other values in this bit
string not meaningful.
When the value of ’critical’ is set, one or more critical
alarms are active against the resource. When the value
of ’major’ is set, one or more major alarms are active
against the resource. When the value of ’minor’ is set,
one or more minor alarms are active against the resource.
When the value of ’warning’ is set, one or more warning
alarms are active against the resource. When the value
of ’indeterminate’ is set, one or more alarms of whose
perceived severity cannot be determined are active
against this resource.
A value of ’unknown’ means that this resource is
unable to report alarm state."
SYNTAX BITS
{
unknown (0),
underRepair (1),
critical(2),
major(3),
minor(4),
-- The following are not defined in X.733
warning (5),
indeterminate (6)
}
EntityStandbyStatus ::= TEXTUAL-CONVENTION
STATUS current
DESCRIPTION
" Represents the possible values of standby status.
A value of ’hotStandby’ means the resource is not
providing service, but it will be immediately able to
take over the role of the resource to be backed up,
without the need for initialization activity, and will
contain the same information as the resource to be
backed up. A value of ’coldStandy’ means that the
resource is to back up another resource, but will not
be immediately able to take over the role of a resource
to be backed up, and will require some initialization
activity. A value of ’providingService’ means the
resource is providing service. A value of
’unknown’ means that this resource is unable to
report standby state."
SYNTAX INTEGER
{
unknown (1),
hotStandby (2),
coldStandby (3),
providingService (4)
}
END
5. Definitions
ENTITY-STATE-MIB DEFINITIONS ::= BEGIN
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, mib-2
FROM SNMPv2-SMI
DateAndTime
FROM SNMPv2-TC
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
FROM SNMPv2-CONF
entPhysicalIndex
FROM ENTITY-MIB
EntityAdminState, EntityOperState, EntityUsageState,
EntityAlarmStatus, EntityStandbyStatus
FROM ENTITY-STATE-TC-MIB;
entityStateMIB MODULE-IDENTITY
LAST-UPDATED "200511220000Z"
ORGANIZATION "IETF Entity MIB Working Group"
CONTACT-INFO
" General Discussion: entmib@ietf.org
To Subscribe:
http://www.ietf.org/mailman/listinfo/entmib
http://www.ietf.org/html.charters/entmib-charter.html
Sharon Chisholm
Nortel Networks
PO Box 3511 Station C
Ottawa, Ont. K1Y 4H7
Canada
schishol@nortel.com
David T. Perkins
548 Qualbrook Ct
San Jose, CA 95110
USA
Phone: 408 394-8702
dperkins@snmpinfo.com
"
DESCRIPTION
"This MIB defines a state extension to the Entity MIB.
Copyright (C) The Internet Society 2005. This version
of this MIB module is part of RFC 4268; see the RFC
itself for full legal notices."
REVISION "200511220000Z"
DESCRIPTION
"Initial version, published as RFC 4268."
::= { mib-2 131 }
-- Entity State Objects
entStateObjects OBJECT IDENTIFIER ::= { entityStateMIB 1 }
entStateTable OBJECT-TYPE
SYNTAX SEQUENCE OF EntStateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table of information about state/status of entities.
This is a sparse augment of the entPhysicalTable. Entries
appear in this table for values of
entPhysicalClass [RFC4133] that in this implementation
are able to report any of the state or status stored in
this table.
"
::= { entStateObjects 1 }
entStateEntry OBJECT-TYPE
SYNTAX EntStateEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"State information about this physical entity."
INDEX { entPhysicalIndex }
::= { entStateTable 1 }
EntStateEntry ::= SEQUENCE {