Network Working Group K. McCloghrie Request for Comments: 2737 Cisco Systems, Inc. Obsoletes: 2037 A. Bierman Cisco Systems, Inc. December 1999 Entity MIB (Version 2) 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 (1999). All Rights Reserved. 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 managed objects used for managing multiple logical and physical entities managed by a single SNMP agent. Table of Contents 1 The SNMP Management Framework ............................... 2 2 Overview .................................................... 3 2.1 Terms ..................................................... 4 2.2 Relationship to Community Strings ......................... 5 2.3 Relationship to SNMP Contexts ............................. 5 2.4 Relationship to Proxy Mechanisms .......................... 6 2.5 Relationship to a Chassis MIB ............................. 6 2.6 Relationship to the Interfaces MIB ........................ 6 2.7 Relationship to the Other MIBs ............................ 7 2.8 Relationship to Naming Scopes ............................. 7 2.9 Multiple Instances of the Entity MIB ...................... 7 2.10 Re-Configuration of Entities ............................. 8 2.11 Textual Convention Change ................................ 8 2.12 MIB Structure ............................................ 8 2.12.1 entityPhysical Group ................................... 9 2.12.2 entityLogical Group .................................... 10 2.12.3 entityMapping Group .................................... 10
2.12.4 entityGeneral Group .................................... 11 2.12.5 entityNotifications Group .............................. 11 2.13 Multiple Agents .......................................... 11 2.14 Changes Since RFC 2037 ................................... 11 2.14.1 Textual Conventions .................................... 11 2.14.2 New entPhysicalTable Objects ........................... 12 2.14.3 New entLogicalTable Objects ............................ 12 2.14.4 Bugfixes ............................................... 12 3 Definitions ................................................. 13 4 Usage Examples .............................................. 38 4.1 Router/Bridge ............................................. 38 4.2 Repeaters ................................................. 44 5 Intellectual Property ....................................... 51 6 Acknowledgements ............................................ 51 7 References .................................................. 51 8 Security Considerations ..................................... 53 9 Authors' Addresses .......................................... 55 10 Full Copyright Statement ................................... 56 1. The SNMP Management Framework The SNMP Management Framework presently consists of five major components: o An overall architecture, described in RFC 2571 [RFC2571]. o Mechanisms for describing and naming objects and events for the purpose of management. The first version of this Structure of Management Information (SMI) is called SMIv1 and described in STD 16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215 [RFC1215]. The second version, called SMIv2, is described in STD 58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580 [RFC2580]. o Message protocols for transferring management information. The first version of the SNMP message protocol is called SNMPv1 and described in STD 15, RFC 1157 [RFC1157]. A second version of the SNMP message protocol, which is not an Internet standards track protocol, is called SNMPv2c and described in RFC 1901 [RFC1901] and RFC 1906 [RFC1906]. The third version of the message protocol is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572 [RFC2572] and RFC 2574 [RFC2574]. o Protocol operations for accessing management information. The first set of protocol operations and associated PDU formats is described in STD 15, RFC 1157 [RFC1157]. A second set of protocol operations and associated PDU formats is described in RFC 1905 [RFC1905].
o A set of fundamental applications described in RFC 2573 [RFC2573] and the view-based access control mechanism described in RFC 2575 [RFC2575]. A more detailed introduction to the current SNMP Management Framework can be found in RFC 2570 [RFC2570]. Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. Objects in the MIB are defined using the mechanisms defined in the SMI. This memo specifies a MIB module that is compliant to the SMIv2. A MIB conforming to the SMIv1 can be produced through the appropriate translations. The resulting translated MIB must be semantically equivalent, except where objects or events are omitted because no translation is possible (use of Counter64). Some machine readable information in SMIv2 will be converted into textual descriptions in SMIv1 during the translation process. However, this loss of machine readable information is not considered to change the semantics of the MIB. 2. Overview There is a need for a standardized way of representing a single agent which supports multiple instances of one MIB. This is presently true for at least 3 standard MIBs, and is likely to become true for more and more MIBs as time passes. For example: - multiple instances of a bridge supported within a single device having a single agent; - multiple repeaters supported by a single agent; - multiple OSPF backbone areas, each one operating as part of its own Autonomous System, and each identified by the same area-id (e.g., 0.0.0.0), supported inside a single router with one agent. The fact that it is a single agent in each of these cases implies there is some relationship which binds all of these entities together. Effectively, there is some "overall" physical entity which houses the sum of the things managed by that one agent, i.e., there are multiple "logical" entities within a single physical entity. Sometimes, the overall physical entity contains multiple (smaller) physical entities and each logical entity is associated with a particular physical entity. Sometimes, the overall physical entity is a "compound" of multiple physical entities (e.g., a stack of stackable hubs).
What is needed is a way to determine exactly what logical entities are managed by the agent (with some version of SNMP), and thereby to be able to communicate with the agent about a particular logical entity. When different logical entities are associated with different physical entities within the overall physical entity, it is also useful to be able to use this information to distinguish between logical entities. In these situations, there is no need for varbinds for multiple logical entities to be referenced in the same SNMP message (although that might be useful in the future). Rather, it is sufficient, and in some situations preferable, to have the context/community in the message identify the logical entity to which the varbinds apply. Version 2 of this MIB addresses new requirements that have emerged since the publication of the first Entity MIB (RFC 2037 [RFC2037]). There is a need for a standardized way of providing non-volatile, administratively assigned identifiers for physical components represented with the Entity MIB. There is also a need to align the Entity MIB with the SNMPv3 administrative framework (RFC 2571 [RFC2571]). Implementation experience has shown that additional physical component attributes are also desirable. 2.1. Terms Some new terms are used throughout this document: - Naming Scope A "naming scope" represents the set of information that may be potentially accessed through a single SNMP operation. All instances within the naming scope share the same unique identifier space. For SNMPv1, a naming scope is identified by the value of the associated 'entLogicalCommunity' instance. For SNMPv3, the term 'context' is used instead of 'naming scope'. The complete definition of an SNMP context can be found in section 3.3.1 of RFC 2571 [RFC2571]. - Multi-Scoped Object A MIB object, for which identical instance values identify different managed information in different naming scopes, is called a "multi-scoped" MIB object. - Single-Scoped Object A MIB object, for which identical instance values identify the same managed information in different naming scopes, is called a "single-scoped" MIB object.
- Logical Entity A managed system contains one or more logical entities, each represented by at most one instantiation of each of a particular set of MIB objects. A set of management functions is associated with each logical entity. Examples of logical entities include routers, bridges, print-servers, etc. - Physical Entity A "physical entity" or "physical component" represents an identifiable physical resource within a managed system. Zero or more logical entities may utilize a physical resource at any given time. It is an implementation-specific manner as to which physical components are represented by an agent in the EntPhysicalTable. Typically, physical resources (e.g., communications ports, backplanes, sensors, daughter-cards, power supplies, the overall chassis) which can be managed via functions associated with one or more logical entities are included in the MIB. - Containment Tree Each physical component may be modeled as 'contained' within another physical component. A "containment-tree" is the conceptual sequence of entPhysicalIndex values which uniquely specifies the exact physical location of a physical component within the managed system. It is generated by 'following and recording' each 'entPhysicalContainedIn' instance 'up the tree towards the root', until a value of zero indicating no further containment is found. 2.2. Relationship to Community Strings For community-based SNMP, distinguishing between different logical entities is one (but not the only) purpose of the community string (STD 15, RFC 1157 [RFC1157]). This is accommodated by representing each community string as a logical entity. Note that different logical entities may share the same naming scope (and therefore the same values of entLogicalCommunity). This is possible, providing they have no need for the same instance of a MIB object to represent different managed information. 2.3. Relationship to SNMP Contexts Version 2 of the Entity MIB contains support for associating SNMPv3 contexts with logical entities. Two new MIB objects, defining an SnmpEngineID and ContextName pair, are used together to identify an SNMP context associated with a logical entity. This context can be
used (in conjunction with the entLogicalTAddress and entLogicalTDomain MIB objects) to send SNMPv3 messages on behalf of a particular logical entity. 2.4. Relationship to Proxy Mechanisms The Entity MIB is designed to allow functional component discovery. The administrative relationships between different logical entities are not visible in any Entity MIB tables. An NMS cannot determine whether MIB instances in different naming scopes are realized locally or remotely (e.g., via some proxy mechanism) by examining any particular Entity MIB objects. The management of administrative framework functions is not an explicit goal of the Entity MIB WG at this time. This new area of functionality may be revisited after some operational experience with the Entity MIB is gained. Note that for community-based versions of SNMP, a network administrator will likely be able to associate community strings with naming scopes with proprietary mechanisms, as a matter of configuration. There are no mechanisms for managing naming scopes defined in this MIB. 2.5. Relationship to a Chassis MIB Some readers may recall that a previous IETF working group attempted to define a Chassis MIB. No consensus was reached by that working group, possibly because its scope was too broad. As such, it is not the purpose of this MIB to be a "Chassis MIB replacement", nor is it within the scope of this MIB to contain all the information which might be necessary to manage a "chassis". On the other hand, the entities represented by an implementation of this MIB might well be contained in a chassis. 2.6. Relationship to the Interfaces MIB The Entity MIB contains a mapping table identifying physical components that have 'external values' (e.g., ifIndex) associated with them within a given naming scope. This table can be used to identify the physical location of each interface in the ifTable (RFC 2233 [RFC2233]). Since ifIndex values in different contexts are not related to one another, the interface to physical component associations are relative to the same logical entity within the agent.
The Entity MIB also contains 'entPhysicalName' and 'entPhysicalAlias' objects, which approximate the semantics of the 'ifName' and ' ifAlias' objects (respectively) from the Interfaces MIB [RFC2233], for all types of physical components. 2.7. Relationship to the Other MIBs The Entity MIB contains a mapping table identifying physical components that have identifiers from other standard MIBs associated with them. For example, this table can be used along with the physical mapping table to identify the physical location of each repeater port in the rptrPortTable, or each interface in the ifTable. 2.8. Relationship to Naming Scopes There is some question as to which MIB objects may be returned within a given naming scope. MIB objects which are not multi-scoped within a managed system are likely to ignore context information in implementation. In such a case, it is likely such objects will be returned in all naming scopes (e.g., not just the 'default' naming scope or the SNMPv3 default context). For example, a community string used to access the management information for logical device 'bridge2' may allow access to all the non-bridge related objects in the 'default' naming scope, as well as a second instance of the Bridge MIB (RFC 1493 [RFC1493]). It is an implementation-specific matter as to the isolation of single-scoped MIB objects by the agent. An agent may wish to limit the objects returned in a particular naming scope to just the multi- scoped objects in that naming scope (e.g., system group and the Bridge MIB). In this case, all single-scoped management information would belong to a common naming scope (e.g., 'default'), which itself may contain some multi-scoped objects (e.g., system group). 2.9. Multiple Instances of the Entity MIB It is possible that more than one agent exists in a managed system, and in such cases, multiple instances of the Entity MIB (representing the same managed objects) may be available to an NMS. In order to reduce complexity for agent implementation, multiple instances of the Entity MIB are not required to be equivalent or even consistent. An NMS may be able to 'align' instances returned by different agents by examining the columns of each table, but vendor- specific identifiers and (especially) index values are likely to be different. Each agent may be managing different subsets of the entire chassis as well.
When all of a physically-modular device is represented by a single agent, the entry for which entPhysicalContainedIn has the value zero would likely have 'chassis' as the value of its entPhysicalClass; alternatively, for an agent on a module where the agent represents only the physical entities on that module (not those on other modules), the entry for which entPhysicalContainedIn has the value zero would likely have 'module' as the value of its entPhysicalClass. An agent implementation of the entLogicalTable is not required to contain information about logical entities managed primarily by other agents. That is, the entLogicalTAddress and entLogicalTDomain objects in the entLogicalTable are provided to support an historical multiplexing mechanism, not to identify other SNMP agents. Note that the Entity MIB is a single-scoped MIB, in the event an agent represents the MIB in different naming scopes. 2.10. Re-Configuration of Entities Most of the MIB objects defined in this MIB have at most a read-only MAX-ACCESS clause. This is a conscious decision by the working group to limit this MIB's scope. The second version of the Entity MIB allows a network administrator to configure some common attributes of physical components. 2.11. Textual Convention Change Version 1 of the Entity MIB contains three MIB objects defined with the (now obsolete) DisplayString textual convention. In version 2 of the Entity MIB, the syntax for these objects has been updated to use the (now preferred) SnmpAdminString textual convention. The working group realizes that this change is not strictly supported by SMIv2. In our judgment, the alternative of deprecating the old objects and defining new objects would have a more adverse impact on backward compatibility and interoperability, given the particular semantics of these objects. 2.12. MIB Structure The Entity MIB contains five groups of MIB objects: - entityPhysical group Describes the physical entities managed by a single agent. - entityLogical group Describes the logical entities managed by a single agent.
- entityMapping group Describes the associations between the physical entities, logical entities, interfaces, and non-interface ports managed by a single agent. - entityGeneral group Describes general system attributes shared by potentially all types of entities managed by a single agent. - entityNotifications group Contains status indication notifications. 2.12.1. entityPhysical Group This group contains a single table to identify physical system components, called the entPhysicalTable. The entPhysicalTable contains one row per physical entity, and must always contain at least one row for an "overall" physical entity, which should have an entPhysicalClass value of 'stack(11)', ' chassis(3)' or 'module(9)'. Each row is indexed by an arbitrary, small integer, and contains a description and type of the physical entity. It also optionally contains the index number of another entPhysicalEntry indicating a containment relationship between the two. Version 2 of the Entity MIB provides additional MIB objects for each physical entity. Some common read-only attributes have been added, as well as three writable string objects. - entPhysicalAlias This string can be used by an NMS as a non-volatile identifier for the physical component. Maintaining a non-volatile string for every physical component represented in the entPhysicalTable can be costly and unnecessary. An agent may algorithmically generate 'entPhysicalAlias' strings for particular entries (e.g., based on the entPhysicalClass value). - entPhysicalAssetID This string is provided to store a user-specific asset identifier for removable physical components. In order to reduce the non-volatile storage needed by a particular agent, a network administrator should only assign asset identifiers to physical entities which are field-replaceable (i.e., not permanently contained within another physical entity).
- entPhysicalSerialNum This string is provided to store a vendor-specific serial number string for physical components. This is a writable object in case an agent cannot identify the serial numbers of all installed physical entities, and a network administrator wishes to configure the non-volatile serial number strings manually (via an NMS application). 2.12.2. entityLogical Group This group contains a single table to identify logical entities, called the entLogicalTable. The entLogicalTable contains one row per logical entity. Each row is indexed by an arbitrary, small integer and contains a name, description, and type of the logical entity. It also contains information to allow access to the MIB information for the logical entity. This includes SNMP versions that use a community name (with some form of implied context representation) and SNMP versions that use the SNMP ARCH [RFC2571] method of context identification. If a agent represents multiple logical entities with this MIB, then this group must be implemented for all logical entities known to the agent. If an agent represents a single logical entity, or multiple logical entities within a single naming scope, then implementation of this group may be omitted by the agent. 2.12.3. entityMapping Group This group contains three tables to identify associations between different system components. The entLPMappingTable contains mappings between entLogicalIndex values (logical entities) and entPhysicalIndex values (the physical components supporting that entity). A logical entity can map to more than one physical component, and more than one logical entity can map to (share) the same physical component. If an agent represents a single logical entity, or multiple logical entities within a single naming scope, then implementation of this table may be omitted by the agent. The entAliasMappingTable contains mappings between entLogicalIndex, entPhysicalIndex pairs and 'alias' object identifier values. This allows resources managed with other MIBs (e.g., repeater ports, bridge ports, physical and logical interfaces) to be identified in the physical entity hierarchy. Note that each alias identifier is
only relevant in a particular naming scope. If an agent represents a single logical entity, or multiple logical entities within a single naming scope, then implementation of this table may be omitted by the agent. The entPhysicalContainsTable contains simple mappings between 'entPhysicalContainedIn' values for each container/'containee' relationship in the managed system. The indexing of this table allows an NMS to quickly discover the 'entPhysicalIndex' values for all children of a given physical entity. 2.12.4. entityGeneral Group This group contains general information relating to the other object groups. At this time, the entGeneral group contains a single scalar object (entLastChangeTime), which represents the value of sysUptime when any part of the Entity MIB configuration last changed. 2.12.5. entityNotifications Group This group contains notification definitions relating to the overall status of the Entity MIB instantiation. 2.13. Multiple Agents Even though a primary motivation for this MIB is to represent the multiple logical entities supported by a single agent, it is also possible to use it to represent multiple logical entities supported by multiple agents (in the same "overall" physical entity). Indeed, it is implicit in the SNMP architecture, that the number of agents is transparent to a network management station. However, there is no agreement at this time as to the degree of cooperation which should be expected for agent implementations. Therefore, multiple agents within the same managed system are free to implement the Entity MIB independently. (Refer the section on "Multiple Instances of the Entity MIB" for more details). 2.14. Changes Since RFC 2037 2.14.1. Textual Conventions The PhysicalClass TC text has been clarified, and a new enumeration to support 'stackable' components has been added. The SnmpEngineIdOrNone TC has been added to support SNMPv3.
2.14.2. New entPhysicalTable Objects The entPhysicalHardwareRev, entPhysicalFirmwareRev, and entPhysicalSoftwareRev objects have been added for revision identification. The entPhysicalSerialNum, entPhysicalMfgName, entPhysicalModelName, and entPhysicalIsFru objects have been added for better vendor identification for physical components. The entPhysicalSerialNum object can be set by a management station in the event the agent cannot identify this information. The entPhysicalAlias and entPhysicalAssetID objects have been added for better user component identification. These objects are intended to be set by a management station and preserved by the agent across restarts. 2.14.3. New entLogicalTable Objects The entLogicalContextEngineID and entLogicalContextName objects have been added to provide an SNMP context for SNMPv3 access on behalf of a logical entity. 2.14.4. Bugfixes A bug was fixed in the entLogicalCommunity object. The subrange was incorrect (1..255) and is now (0..255). The description clause has also been clarified. This object is now deprecated. The entLastChangeTime object description has been changed to generalize the events which cause an update to the last change timestamp. The syntax was changed from DisplayString to SnmpAdminString for the entPhysicalDescr, entPhysicalName, and entLogicalDescr objects.
3. Definitions ENTITY-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, mib-2, NOTIFICATION-TYPE FROM SNMPv2-SMI TDomain, TAddress, TEXTUAL-CONVENTION, AutonomousType, RowPointer, TimeStamp, TruthValue FROM SNMPv2-TC MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF SnmpAdminString FROM SNMP-FRAMEWORK-MIB; entityMIB MODULE-IDENTITY LAST-UPDATED "9912070000Z" -- December 7, 1999 ORGANIZATION "IETF ENTMIB Working Group" CONTACT-INFO " WG E-mail: entmib@cisco.com Subscribe: majordomo@cisco.com msg body: subscribe entmib Keith McCloghrie ENTMIB Working Group Chair Cisco Systems Inc. 170 West Tasman Drive San Jose, CA 95134 +1 408-526-5260 kzm@cisco.com Andy Bierman ENTMIB Working Group Editor Cisco Systems Inc. 170 West Tasman Drive San Jose, CA 95134 +1 408-527-3711 abierman@cisco.com" DESCRIPTION "The MIB module for representing multiple logical entities supported by a single SNMP agent." REVISION "9912070000Z" DESCRIPTION "Initial Version of Entity MIB (Version 2). This revision obsoletes RFC 2037. This version published as RFC 2737." REVISION "9610310000Z" DESCRIPTION
"Initial version (version 1), published as RFC 2037." ::= { mib-2 47 } entityMIBObjects OBJECT IDENTIFIER ::= { entityMIB 1 } -- MIB contains four groups entityPhysical OBJECT IDENTIFIER ::= { entityMIBObjects 1 } entityLogical OBJECT IDENTIFIER ::= { entityMIBObjects 2 } entityMapping OBJECT IDENTIFIER ::= { entityMIBObjects 3 } entityGeneral OBJECT IDENTIFIER ::= { entityMIBObjects 4 } -- Textual Conventions PhysicalIndex ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An arbitrary value which uniquely identifies the physical entity. The value should be a small positive integer; index values for different physical entities are not necessarily contiguous." SYNTAX INTEGER (1..2147483647) PhysicalClass ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "An enumerated value which provides an indication of the general hardware type of a particular physical entity. There are no restrictions as to the number of entPhysicalEntries of each entPhysicalClass, which must be instantiated by an agent. The enumeration 'other' is applicable if the physical entity class is known, but does not match any of the supported values. The enumeration 'unknown' is applicable if the physical entity class is unknown to the agent. The enumeration 'chassis' is applicable if the physical entity class is an overall container for networking equipment. Any class of physical entity except a stack may be contained within a chassis, and a chassis may only be contained within a stack. The enumeration 'backplane' is applicable if the physical entity class is some sort of device for aggregating and forwarding networking traffic, such as a shared backplane in a modular ethernet switch. Note that an agent may model a
backplane as a single physical entity, which is actually implemented as multiple discrete physical components (within a chassis or stack). The enumeration 'container' is applicable if the physical entity class is capable of containing one or more removable physical entities, possibly of different types. For example, each (empty or full) slot in a chassis will be modeled as a container. Note that all removable physical entities should be modeled within a container entity, such as field- replaceable modules, fans, or power supplies. Note that all known containers should be modeled by the agent, including empty containers. The enumeration 'powerSupply' is applicable if the physical entity class is a power-supplying component. The enumeration 'fan' is applicable if the physical entity class is a fan or other heat-reduction component. The enumeration 'sensor' is applicable if the physical entity class is some sort of sensor, such as a temperature sensor within a router chassis. The enumeration 'module' is applicable if the physical entity class is some sort of self-contained sub-system. If it is removable, then it should be modeled within a container entity, otherwise it should be modeled directly within another physical entity (e.g., a chassis or another module). The enumeration 'port' is applicable if the physical entity class is some sort of networking port, capable of receiving and/or transmitting networking traffic. The enumeration 'stack' is applicable if the physical entity class is some sort of super-container (possibly virtual), intended to group together multiple chassis entities. A stack may be realized by a 'virtual' cable, a real interconnect cable, attached to multiple chassis, or may in fact be comprised of multiple interconnect cables. A stack should not be modeled within any other physical entities, but a stack may be contained within another stack. Only chassis entities should be contained within a stack." SYNTAX INTEGER { other(1), unknown(2), chassis(3),
backplane(4), container(5), -- e.g., chassis slot or daughter-card holder powerSupply(6), fan(7), sensor(8), module(9), -- e.g., plug-in card or daughter-card port(10), stack(11) -- e.g., stack of multiple chassis entities } SnmpEngineIdOrNone ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "A specially formatted SnmpEngineID string for use with the Entity MIB. If an instance of an object of SYNTAX SnmpEngineIdOrNone has a non-zero length, then the object encoding and semantics are defined by the SnmpEngineID textual convention (see RFC 2571 [RFC2571]). If an instance of an object of SYNTAX SnmpEngineIdOrNone contains a zero-length string, then no appropriate SnmpEngineID is associated with the logical entity (i.e., SNMPv3 not supported)." SYNTAX OCTET STRING (SIZE(0..32)) -- empty string or SnmpEngineID -- The Physical Entity Table entPhysicalTable OBJECT-TYPE SYNTAX SEQUENCE OF EntPhysicalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains one row per physical entity. There is always at least one row for an 'overall' physical entity." ::= { entityPhysical 1 } entPhysicalEntry OBJECT-TYPE SYNTAX EntPhysicalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a particular physical entity. Each entry provides objects (entPhysicalDescr, entPhysicalVendorType, and entPhysicalClass) to help an NMS identify and characterize the entry, and objects (entPhysicalContainedIn and entPhysicalParentRelPos) to help
an NMS relate the particular entry to other entries in this table." INDEX { entPhysicalIndex } ::= { entPhysicalTable 1 } EntPhysicalEntry ::= SEQUENCE { entPhysicalIndex PhysicalIndex, entPhysicalDescr SnmpAdminString, entPhysicalVendorType AutonomousType, entPhysicalContainedIn INTEGER, entPhysicalClass PhysicalClass, entPhysicalParentRelPos INTEGER, entPhysicalName SnmpAdminString, entPhysicalHardwareRev SnmpAdminString, entPhysicalFirmwareRev SnmpAdminString, entPhysicalSoftwareRev SnmpAdminString, entPhysicalSerialNum SnmpAdminString, entPhysicalMfgName SnmpAdminString, entPhysicalModelName SnmpAdminString, entPhysicalAlias SnmpAdminString, entPhysicalAssetID SnmpAdminString, entPhysicalIsFRU TruthValue } entPhysicalIndex OBJECT-TYPE SYNTAX PhysicalIndex MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index for this entry." ::= { entPhysicalEntry 1 } entPhysicalDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of physical entity. This object should contain a string which identifies the manufacturer's name for the physical entity, and should be set to a distinct value for each version or model of the physical entity. " ::= { entPhysicalEntry 2 } entPhysicalVendorType OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-only STATUS current
DESCRIPTION "An indication of the vendor-specific hardware type of the physical entity. Note that this is different from the definition of MIB-II's sysObjectID. An agent should set this object to a enterprise-specific registration identifier value indicating the specific equipment type in detail. The associated instance of entPhysicalClass is used to indicate the general type of hardware device. If no vendor-specific registration identifier exists for this physical entity, or the value is unknown by this agent, then the value { 0 0 } is returned." ::= { entPhysicalEntry 3 } entPhysicalContainedIn OBJECT-TYPE SYNTAX INTEGER (0..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "The value of entPhysicalIndex for the physical entity which 'contains' this physical entity. A value of zero indicates this physical entity is not contained in any other physical entity. Note that the set of 'containment' relationships define a strict hierarchy; that is, recursion is not allowed. In the event a physical entity is contained by more than one physical entity (e.g., double-wide modules), this object should identify the containing entity with the lowest value of entPhysicalIndex." ::= { entPhysicalEntry 4 } entPhysicalClass OBJECT-TYPE SYNTAX PhysicalClass MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of the general hardware type of the physical entity. An agent should set this object to the standard enumeration value which most accurately indicates the general class of the physical entity, or the primary class if there is more than one. If no appropriate standard registration identifier exists
for this physical entity, then the value 'other(1)' is returned. If the value is unknown by this agent, then the value 'unknown(2)' is returned." ::= { entPhysicalEntry 5 } entPhysicalParentRelPos OBJECT-TYPE SYNTAX INTEGER (-1..2147483647) MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of the relative position of this 'child' component among all its 'sibling' components. Sibling components are defined as entPhysicalEntries which share the same instance values of each of the entPhysicalContainedIn and entPhysicalClass objects. An NMS can use this object to identify the relative ordering for all sibling components of a particular parent (identified by the entPhysicalContainedIn instance in each sibling entry). This value should match any external labeling of the physical component if possible. For example, for a container (e.g., card slot) labeled as 'slot #3', entPhysicalParentRelPos should have the value '3'. Note that the entPhysicalEntry for the module plugged in slot 3 should have an entPhysicalParentRelPos value of '1'. If the physical position of this component does not match any external numbering or clearly visible ordering, then user documentation or other external reference material should be used to determine the parent-relative position. If this is not possible, then the the agent should assign a consistent (but possibly arbitrary) ordering to a given set of 'sibling' components, perhaps based on internal representation of the components. If the agent cannot determine the parent-relative position for some reason, or if the associated value of entPhysicalContainedIn is '0', then the value '-1' is returned. Otherwise a non-negative integer is returned, indicating the parent-relative position of this physical entity. Parent-relative ordering normally starts from '1' and continues to 'N', where 'N' represents the highest positioned child entity. However, if the physical entities (e.g., slots) are labeled from a starting position of zero,
then the first sibling should be associated with a entPhysicalParentRelPos value of '0'. Note that this ordering may be sparse or dense, depending on agent implementation. The actual values returned are not globally meaningful, as each 'parent' component may use different numbering algorithms. The ordering is only meaningful among siblings of the same parent component. The agent should retain parent-relative position values across reboots, either through algorithmic assignment or use of non-volatile storage." ::= { entPhysicalEntry 6 } entPhysicalName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The textual name of the physical entity. The value of this object should be the name of the component as assigned by the local device and should be suitable for use in commands entered at the device's `console'. This might be a text name, such as `console' or a simple component number (e.g., port or module number), such as `1', depending on the physical component naming syntax of the device. If there is no local name, or this object is otherwise not applicable, then this object contains a zero-length string. Note that the value of entPhysicalName for two physical entities will be the same in the event that the console interface does not distinguish between them, e.g., slot-1 and the card in slot-1." ::= { entPhysicalEntry 7 } entPhysicalHardwareRev OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The vendor-specific hardware revision string for the physical entity. The preferred value is the hardware revision identifier actually printed on the component itself (if present). Note that if revision information is stored internally in a
non-printable (e.g., binary) format, then the agent must convert such information to a printable format, in an implementation-specific manner. If no specific hardware revision string is associated with the physical component, or this information is unknown to the agent, then this object will contain a zero-length string." ::= { entPhysicalEntry 8 } entPhysicalFirmwareRev OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The vendor-specific firmware revision string for the physical entity. Note that if revision information is stored internally in a non-printable (e.g., binary) format, then the agent must convert such information to a printable format, in an implementation-specific manner. If no specific firmware programs are associated with the physical component, or this information is unknown to the agent, then this object will contain a zero-length string." ::= { entPhysicalEntry 9 } entPhysicalSoftwareRev OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The vendor-specific software revision string for the physical entity. Note that if revision information is stored internally in a non-printable (e.g., binary) format, then the agent must convert such information to a printable format, in an implementation-specific manner. If no specific software programs are associated with the physical component, or this information is unknown to the agent, then this object will contain a zero-length string." ::= { entPhysicalEntry 10 } entPhysicalSerialNum OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32))
MAX-ACCESS read-write STATUS current DESCRIPTION "The vendor-specific serial number string for the physical entity. The preferred value is the serial number string actually printed on the component itself (if present). On the first instantiation of an physical entity, the value of entPhysicalSerialNum associated with that entity is set to the correct vendor-assigned serial number, if this information is available to the agent. If a serial number is unknown or non-existent, the entPhysicalSerialNum will be set to a zero-length string instead. Note that implementations which can correctly identify the serial numbers of all installed physical entities do not need to provide write access to the entPhysicalSerialNum object. Agents which cannot provide non-volatile storage for the entPhysicalSerialNum strings are not required to implement write access for this object. Not every physical component will have a serial number, or even need one. Physical entities for which the associated value of the entPhysicalIsFRU object is equal to 'false(2)' (e.g., the repeater ports within a repeater module), do not need their own unique serial number. An agent does not have to provide write access for such entities, and may return a zero-length string. If write access is implemented for an instance of entPhysicalSerialNum, and a value is written into the instance, the agent must retain the supplied value in the entPhysicalSerialNum instance associated with the same physical entity for as long as that entity remains instantiated. This includes instantiations across all re- initializations/reboots of the network management system, including those which result in a change of the physical entity's entPhysicalIndex value." ::= { entPhysicalEntry 11 } entPhysicalMfgName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The name of the manufacturer of this physical component. The preferred value is the manufacturer name string actually printed on the component itself (if present).
Note that comparisons between instances of the entPhysicalModelName, entPhysicalFirmwareRev, entPhysicalSoftwareRev, and the entPhysicalSerialNum objects, are only meaningful amongst entPhysicalEntries with the same value of entPhysicalMfgName. If the manufacturer name string associated with the physical component is unknown to the agent, then this object will contain a zero-length string." ::= { entPhysicalEntry 12 } entPhysicalModelName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The vendor-specific model name identifier string associated with this physical component. The preferred value is the customer-visible part number, which may be printed on the component itself. If the model name string associated with the physical component is unknown to the agent, then this object will contain a zero-length string." ::= { entPhysicalEntry 13 } entPhysicalAlias OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object is an 'alias' name for the physical entity as specified by a network manager, and provides a non-volatile 'handle' for the physical entity. On the first instantiation of an physical entity, the value of entPhysicalAlias associated with that entity is set to the zero-length string. However, agent may set the value to a locally unique default value, instead of a zero-length string. If write access is implemented for an instance of entPhysicalAlias, and a value is written into the instance, the agent must retain the supplied value in the entPhysicalAlias instance associated with the same physical entity for as long as that entity remains instantiated. This includes instantiations across all re- initializations/reboots of the network management system,
including those which result in a change of the physical entity's entPhysicalIndex value." ::= { entPhysicalEntry 14 } entPhysicalAssetID OBJECT-TYPE SYNTAX SnmpAdminString (SIZE (0..32)) MAX-ACCESS read-write STATUS current DESCRIPTION "This object is a user-assigned asset tracking identifier for the physical entity as specified by a network manager, and provides non-volatile storage of this information. On the first instantiation of an physical entity, the value of entPhysicalAssetID associated with that entity is set to the zero-length string. Not every physical component will have a asset tracking identifier, or even need one. Physical entities for which the associated value of the entPhysicalIsFRU object is equal to 'false(2)' (e.g., the repeater ports within a repeater module), do not need their own unique asset tracking identifier. An agent does not have to provide write access for such entities, and may instead return a zero-length string. If write access is implemented for an instance of entPhysicalAssetID, and a value is written into the instance, the agent must retain the supplied value in the entPhysicalAssetID instance associated with the same physical entity for as long as that entity remains instantiated. This includes instantiations across all re- initializations/reboots of the network management system, including those which result in a change of the physical entity's entPhysicalIndex value. If no asset tracking information is associated with the physical component, then this object will contain a zero- length string." ::= { entPhysicalEntry 15 } entPhysicalIsFRU OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates whether or not this physical entity is considered a 'field replaceable unit' by the vendor. If
this object contains the value 'true(1)' then this entPhysicalEntry identifies a field replaceable unit. For all entPhysicalEntries which represent components that are permanently contained within a field replaceable unit, the value 'false(2)' should be returned for this object." ::= { entPhysicalEntry 16 } -- The Logical Entity Table entLogicalTable OBJECT-TYPE SYNTAX SEQUENCE OF EntLogicalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains one row per logical entity. For agents which implement more than one naming scope, at least one entry must exist. Agents which instantiate all MIB objects within a single naming scope are not required to implement this table." ::= { entityLogical 1 } entLogicalEntry OBJECT-TYPE SYNTAX EntLogicalEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "Information about a particular logical entity. Entities may be managed by this agent or other SNMP agents (possibly) in the same chassis." INDEX { entLogicalIndex } ::= { entLogicalTable 1 } EntLogicalEntry ::= SEQUENCE { entLogicalIndex INTEGER, entLogicalDescr SnmpAdminString, entLogicalType AutonomousType, entLogicalCommunity OCTET STRING, entLogicalTAddress TAddress, entLogicalTDomain TDomain, entLogicalContextEngineID SnmpEngineIdOrNone, entLogicalContextName SnmpAdminString } entLogicalIndex OBJECT-TYPE SYNTAX INTEGER (1..2147483647) MAX-ACCESS not-accessible STATUS current DESCRIPTION
"The value of this object uniquely identifies the logical entity. The value should be a small positive integer; index values for different logical entities are are not necessarily contiguous." ::= { entLogicalEntry 1 } entLogicalDescr OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "A textual description of the logical entity. This object should contain a string which identifies the manufacturer's name for the logical entity, and should be set to a distinct value for each version of the logical entity. " ::= { entLogicalEntry 2 } entLogicalType OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-only STATUS current DESCRIPTION "An indication of the type of logical entity. This will typically be the OBJECT IDENTIFIER name of the node in the SMI's naming hierarchy which represents the major MIB module, or the majority of the MIB modules, supported by the logical entity. For example: a logical entity of a regular host/router -> mib-2 a logical entity of a 802.1d bridge -> dot1dBridge a logical entity of a 802.3 repeater -> snmpDot3RptrMgmt If an appropriate node in the SMI's naming hierarchy cannot be identified, the value 'mib-2' should be used." ::= { entLogicalEntry 3 } entLogicalCommunity OBJECT-TYPE SYNTAX OCTET STRING (SIZE (0..255)) MAX-ACCESS read-only STATUS deprecated DESCRIPTION "An SNMPv1 or SNMPv2C community-string which can be used to access detailed management information for this logical entity. The agent should allow read access with this community string (to an appropriate subset of all managed objects) and may also return a community string based on the privileges of the request used to read this object. Note that an agent may return a community string with read-only privileges, even if this object is accessed with a read- write community string. However, the agent must take care