Entity State MIB
Extracted elements (24)
All state objects in the entStateTable represent raw state — the state of the entity independent of its parents and children in the containment hierarchy — rather than computed state. Computed states such as ifOperStatus 'notPresent' and 'lowerLayerDown' are explicitly excluded because they depend on other entities' states.
EntityAlarmStatus extends the X.731/X.733 alarm severity model by adding 'warning' and 'indeterminate' bits to provide a more complete mapping to the Alarm MIB (RFC 3877). These two values are explicitly noted as not defined in X.733.
The MIB standardizes how state information is reported rather than attempting to standardize the behaviors and characteristics of various physical classes, because real-world products within the same physical class vary substantially. Guidance is provided for cases where a physical class instance cannot support part or all of a particular state.
Usage state supports only direct containment to simplify implementations, while administrative, operational, alarm, and standby states support all three user-definition mechanisms (direct containment, anywhere in hierarchy, and externally defined means outside the MIB scope).
Mappings to ifAdminStatus/ifOperStatus (Interfaces MIB), dot1dStpPortEnable (Bridge MIB), and hrDeviceStatus (Host Resources MIB) are defined. For example, ifAdminStatus 'up' equals entStateAdmin 'unlocked'; ifOperStatus 'up' equals entStateOper 'enabled'; ifOperStatus 'notPresent' and 'lowerLayerDown' are computed states not supported in this MIB.
When alarms are active, the alarmActiveTable in the Alarm MIB (RFC 3877) should be searched for rows whose alarmActiveResourceId matches the entPhysicalIndex. Conversely, entStateAlarm can quickly confirm additional alarms of different severities once an active alarm is found via the Alarm MIB.
Deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. SNMPv3 with full cryptographic mechanisms for authentication and privacy is RECOMMENDED. Implementers SHOULD consider the SNMPv3 security framework per RFC 3410 section 8.
When entStateAdmin has a value other than 'unlocked' and an implementation cannot accurately report entStateOper, entStateOper MUST have a value of 'unknown'.
EntityAdminState is a textual convention with four values: unknown(1), locked(2), shuttingDown(3), unlocked(4). It represents the administrative permission to use or prohibition against using an entity, imposed through management services.
EntityAlarmStatus is a BITS textual convention with bits: unknown(0), underRepair(1), critical(2), major(3), minor(4), warning(5), indeterminate(6). When no bits are set, no active alarms are known and the entity is not under repair. Warning and indeterminate extend beyond the X.731/X.733 base definitions.
EntityOperState is a textual convention with four values: unknown(1), disabled(2), enabled(3), testing(4). It represents whether the entity is physically installed and working, independent of administrative state.
EntityStandbyStatus is a textual convention with four values: unknown(1), hotStandby(2), coldStandby(3), providingService(4). It identifies which redundant entities are actively serving versus waiting in hot or cold standby mode.
EntityUsageState is a textual convention with four values: unknown(1), idle(2), active(3), busy(4). It indicates whether the entity is in use and whether spare capacity exists to serve additional entities within its containment hierarchy.
entStateAdmin (read-write) carries the EntityAdminState for the entity. Setting it to 'notSupported' results in an 'inconsistentValue' error. Entities that do not support administrative state return 'inconsistentValue' for all SET operations.
entStateAlarm reports alarm status only for the entity itself, not for child components within its containment hierarchy. 'unknown' means alarm state cannot be reported; 'indeterminate' means alarms exist but their severity is unknown — these two values are semantically distinct.
entStateLastChanged records the DateAndTime of the last change to any of entStateAdmin, entStateOper, entStateUsage, entStateAlarm, or entStateStandby. If no change since local system initialization, it holds the initialization time; if no change since entity insertion, it holds the insertion time.
entStateOper (read-only) carries the EntityOperState. Unlike ifOperStatus in the Interfaces MIB, it is independent of administrative state — an administrative state of down does not predict an operational state of disabled.
entStateStandby (read-only) carries EntityStandbyStatus. Entities that cannot operate in a standby role always report 'providingService'.
The entStateTable is a sparse augment of the entPhysicalTable providing state/status information for physical entities. Entries appear only for entPhysicalClass values that can report at least one of the defined state objects. It is indexed by entPhysicalIndex.
Two SNMP notifications are defined: entStateOperEnabled (fires when entStateOper transitions to 'enabled') and entStateOperDisabled (fires when entStateOper transitions to 'disabled'). Both carry entStateAdmin and entStateAlarm as variable bindings to provide context at transition time.
ENTITY-STATE-MIB is assigned OID mib-2 131 ({ mib-2 131 }). It defines the entStateTable, entStateOperEnabled and entStateOperDisabled notifications, and conformance statements including entStateGroup and entStateNotificationsGroup.
ENTITY-STATE-TC-MIB is assigned OID mib-2 130 ({ mib-2 130 }). It defines the EntityAdminState, EntityOperState, EntityUsageState, EntityAlarmStatus, and EntityStandbyStatus textual conventions for import by other MIB modules.
Read-only access to this MIB reveals which resources are active versus standby, enabling attackers to optimize network attacks. Even read access should be properly protected.
The entStateAdmin object (read-write) is sensitive: setting it to 'locked' or 'shuttingDown' can disrupt services ranging from a single port to an entire device. Access must be properly protected, especially in non-secure environments where SET operations lack protection.