|
Network Working Group Request for Comments: 4133 Obsoletes: 2737 Category: Standards Track |
A. Bierman K. McCloghrie Cisco Systems, Inc. August 2005 |
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 © The Internet Society (2005).
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. This document specifies version 3 of the Entity MIB, which obsoletes version 2 (RFC 2737).
1. The SNMP Management Framework
2. Overview
2.1. Terms
2.2. Relationship to Community Strings
2.3. Relationship to SNMP Contexts
2.4. Relationship to Proxy Mechanisms
2.5. Relationship to a Chassis MIB
2.6. Relationship to the Interfaces MIB
2.7. Relationship to the Other MIBs
2.8. Relationship to Naming Scopes
2.9. Multiple Instances of the Entity MIB
2.10. Re-Configuration of Entities
2.11. Textual Convention Change
2.12. MIB Structure
2.12.1. entityPhysical Group
2.12.2. entityLogical Group
2.12.3. entityMapping Group
2.12.4. entityGeneral Group
2.12.5. entityNotifications Group
2.13. Multiple Agents
2.14. Changes Since RFC 2037
2.14.1. Textual Conventions
2.14.2. New entPhysicalTable Objects
2.14.3. New entLogicalTable Objects
2.14.4. Bug Fixes
2.15. Changes Since RFC 2737
2.15.1. Textual Conventions
2.15.2. New Objects
2.15.3. Bug Fixes
3. Definitions
4. Usage Examples
4.1. Router/Bridge
4.2. Repeaters
5. Security Considerations
6. IANA Considerations
7. Acknowledgements
8. References
8.1. Normative References
8.2. Informative References
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].
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
that has a single agent;
- multiple repeaters supported by a single agent;
- multiple OSPF backbone areas, each 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 single agent present in each of these cases implies a relationship binds these entities. 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 which logical entities are managed by the agent (with some version of SNMP) in order 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, which 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 (STD 62, RFC 3411 [RFC3411]). Implementation experience has shown that additional physical component attributes are also desirable.
Version 3 of this MIB addresses new requirements, which have emerged since the publication of the second Entity MIB (RFC 2737 [RFC2737]). There is a need to identify physical entities that are central processing units (CPUs) and a need to provide a textual convention that identifies an entPhysicalIndex value or zero, where the value zero has application-specific semantics. Two new objects have been added to the entPhysicalTable to identify the manufacturing date and provide additional URIs for a particular physical entity.
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
3411 [RFC3411].
- 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. Determining which physical components are represented by an
agent in the EntPhysicalTable is an implementation-specific matter.
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 that 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.
For community-based SNMP, differentiating logical entities is one (but not the only) purpose of the community string (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.
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.
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. A Network Management System (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 that have proprietary mechanisms, as a matter of configuration. There are no mechanisms for managing naming scopes defined in this 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.
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 2863 [RFC2863]). Because 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 [RFC2863], for all types of physical components.
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.
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]).
The isolation of single-scoped MIB objects by the agent is an implementation-specific matter. An agent may wish to limit the objects returned in a particular naming scope to only 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).
It is possible that more than one agent may exist in a managed system. 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.
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.
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.
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.
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 that 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 writable object is used when
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).
Version 3 of the Entity MIB provides two additional MIB objects for each physical entity:
- entPhysicalMfgDate
This object contains the date of manufacturing of the managed
entity. If the manufacturing date is unknown or not supported the
object is not instantiated. The special value '0000000000000000'H
may also be returned in this case.
- entPhysicalUris
This object provides additional identification information about
the physical entity.
This object contains one or more Uniform Resource Identifiers (URIs) and, therefore, the syntax of this object must conform to RFC 3986 [RFC3986] section 2. Uniform Resource Names (URNs), RFC 3406 [RFC3406], are resource identifiers with the specific requirements for enabling location independent identification of a resource, as well as longevity of reference. URNs are part of the larger URI family with the specific goal of providing persistent naming of resources. URI schemes and URN name spaces are registered by IANA (see http://www.iana.org/assignments/uri-schemes and http://www.iana.org/assignments/urn-namespaces).
For example, the entPhysicalUris object may be used to encode a URI containing a Common Language Equipment Identifier (CLEI) URN for the managed physical entity. The URN name space for CLEIs is defined in [RFC4152], and the CLEI format is defined in [T1.213][T1.213a]. For example, an entPhysicalUris instance may have the value of
URN:CLEI:D4CE18B7AA
[RFC3986] and [RFC4152] identify this as a URI in the CLEI URN name space. The specific CLEI code, D4CE18B7AA, is based on the example provided in [T1.213a].
Multiple URIs may be present and are separated by white space characters. Leading and trailing white space characters are ignored.
If no additional identification information is known about the physical entity or supported, the object is not instantiated.
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 [RFC3411] method of context identification.
If an 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.
This group contains three tables to identify associations between different system components.
- entLPMappingTable
This table 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.
- entAliasMappingTable
This table 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.
- entPhysicalContainsTable
This table 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.
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.
This group contains notification definitions relating to the overall status of the Entity MIB instantiation.
Even though a primary motivation for this MIB is to represent the multiple logical entities supported by a single agent, another motivation is 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 that should be expected for agent implementations. Therefore, multiple agents within the same managed system are free to implement the Entity MIB independently. (For more information, refer to Section 2.9, "Multiple Instances of the Entity MIB".)
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.
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. In the event the agent cannot identify this information, the entPhysicalSerialNum object can be set by a management station.
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.
The entLogicalContextEngineID and entLogicalContextName objects have been added to provide an SNMP context for SNMPv3 access on behalf of a logical entity.
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 that cause an update to the last change timestamp.
The syntax was changed from DisplayString to SnmpAdminString for the entPhysicalDescr, entPhysicalName, and entLogicalDescr objects.
The PhysicalIndexOrZero TC has been added to allow objects to reference an entPhysicalIndex value or zero. The PhysicalClass TC has been extended to support a new enumeration for central processing units.
The entPhysicalMfgDate object has been added to the entPhysicalTable to provide the date of manufacturing of the managed entity.
The entPhysicalUris object has been added to the entPhysicalTable to provide additional identification information about the physical entity, such as a Common Language Equipment Identifier (CLEI) URN.
The syntax was changed from INTEGER to Integer32 for the
entPhysicalParentRelPos, entLogicalIndex, and
entAliasLogicalIndexOrZero objects, and from INTEGER to
PhysicalIndexOrZero for the entPhysicalContainedIn object.
ENTITY-MIB DEFINITIONS ::= BEGIN
" WG E-mail: entmib@ietf.org
Mailing list subscription info:
http://www.ietf.org/mailman/listinfo/entmib
Andy Bierman
ietf@andybierman.com
Keith McCloghrie
Cisco Systems Inc.
170 West Tasman Drive
San Jose, CA 95134
+1 408-526-5260
kzm@cisco.com"
DESCRIPTION
"The MIB module for representing multiple logical
entities supported by a single SNMP agent.
Copyright © The Internet Society (2005). This version of this MIB module is part of RFC 4133; see the RFC itself for full legal notices."
REVISION "200508100000Z"
DESCRIPTION
"Initial Version of Entity MIB (Version 3).
This revision obsoletes RFC 2737.
Additions:
- cpu(12) enumeration added to PhysicalClass TC
- DISPLAY-HINT clause to PhysicalIndex TC
- PhysicalIndexOrZero TC
- entPhysicalMfgDate object
- entPhysicalUris object
Changes:
- entPhysicalContainedIn SYNTAX changed from
INTEGER to PhysicalIndexOrZero
This version published as RFC 4133."
REVISION "199912070000Z"
DESCRIPTION
"Initial Version of Entity MIB (Version 2).
This revision obsoletes RFC 2037.
This version published as RFC 2737."
REVISION "199610310000Z"
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
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"An arbitrary value that uniquely identifies the physical
entity. The value should be a small, positive integer.
Index values for different physical entities are not
necessarily contiguous."
SYNTAX Integer32 (1..2147483647)
PhysicalIndexOrZero ::= TEXTUAL-CONVENTION
DISPLAY-HINT "d"
STATUS current
DESCRIPTION
"This textual convention is an extension of the
PhysicalIndex convention, which defines a greater than zero
value used to identify a physical entity. This extension
permits the additional value of zero. The semantics of the
value zero are object-specific and must, therefore, be
defined as part of the description of any object that uses
this syntax. Examples of the usage of this extension are
situations where none or all physical entities need to be
referenced."
SYNTAX Integer32 (0..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 the enumeration 'module' 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.
The enumeration 'cpu' is applicable if the physical entity class is some sort of central processing unit."
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
cpu(12)
}
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 STD 62, RFC 3411 [RFC3411]).
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 is not supported)."
SYNTAX OCTET STRING (SIZE(0..32)) -- empty string or SnmpEngineID
-- The Physical Entity Table
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 }
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 PhysicalIndexOrZero,
entPhysicalClass PhysicalClass,
entPhysicalParentRelPos Integer32,
entPhysicalName SnmpAdminString,
entPhysicalHardwareRev SnmpAdminString,
entPhysicalFirmwareRev SnmpAdminString,
entPhysicalSoftwareRev SnmpAdminString,
entPhysicalSerialNum SnmpAdminString,
entPhysicalMfgName SnmpAdminString,
entPhysicalModelName SnmpAdminString,
entPhysicalAlias SnmpAdminString,
entPhysicalAssetID SnmpAdminString,
entPhysicalIsFRU TruthValue,
entPhysicalMfgDate DateAndTime,
entPhysicalUris OCTET STRING
}
SYNTAX PhysicalIndex
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The index for this entry."
::= { entPhysicalEntry 1 }
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of physical entity. This object should contain a string that 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 }
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 an 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 }
SYNTAX PhysicalIndexOrZero
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 that 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 }
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 that most accurately indicates the general class of the physical entity, or the primary class if there is more than one entity.
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 }
SYNTAX Integer32 (-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 that 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).
If possible, this value should match any external labeling
of the physical component. 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 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 an 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 }
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 (e.g., `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 if 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 }
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 if this information is unknown to the agent, then this object will contain a zero-length string."
::= { entPhysicalEntry 8 }
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 if this information is unknown to the agent, then this object will contain a zero-length string."
::= { entPhysicalEntry 9 }
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 if this information is unknown to the agent, then this object will contain a zero-length string."
::= { entPhysicalEntry 10 }
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 that 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 resulting in a change of the physical
entity's entPhysicalIndex value."
::= { entPhysicalEntry 11 }
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 }
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 }
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 a physical entity, the value
of entPhysicalAlias associated with that entity is set to the zero-length string. However, the 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 resulting in a change of the physical
entity's entPhysicalIndex value."
::= { entPhysicalEntry 14 }
SYNTAX SnmpAdminString (SIZE (0..32))
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object is a user-assigned asset tracking identifier
(as specified by a network manager) for the physical entity,
and provides non-volatile storage of this information.
On the first instantiation of a physical entity, the value of entPhysicalAssetID associated with that entity is set to the zero-length string.
Not every physical component will have an 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 resulting 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 }
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 that represent components
permanently contained within a field replaceable unit, the
value 'false(2)' should be returned for this object."
::= { entPhysicalEntry 16 }
SYNTAX DateAndTime
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object contains the date of manufacturing of the
managed entity. If the manufacturing date is unknown or not
supported, the object is not instantiated. The special
value '0000000000000000'H may also be returned in this
case."
::= { entPhysicalEntry 17 }
SYNTAX OCTET STRING
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"This object contains additional identification information
about the physical entity. The object contains URIs and,
therefore, the syntax of this object must conform to RFC
3986, section 2.
Multiple URIs may be present and are separated by white space characters. Leading and trailing white space characters are ignored.
If no additional identification information is known about the physical entity or supported, the object is not instantiated. A zero length octet string may also be
returned in this case."
REFERENCE
"RFC 3986, Uniform Resource Identifiers (URI): Generic
Syntax, section 2, August 1998."
::= { entPhysicalEntry 18 }
-- The Logical Entity Table
SYNTAX SEQUENCE OF EntLogicalEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains one row per logical entity. For agents
that 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 }
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 Integer32,
entLogicalDescr SnmpAdminString,
entLogicalType AutonomousType,
entLogicalCommunity OCTET STRING,
entLogicalTAddress TAddress,
entLogicalTDomain TDomain,
entLogicalContextEngineID SnmpEngineIdOrNone,
entLogicalContextName SnmpAdminString
}
SYNTAX Integer32 (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 not necessarily contiguous."
::= { entLogicalEntry 1 }
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A textual description of the logical entity. This object
should contain a string that 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 }
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 }
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 not to return a community string that allows more privileges than the community string used to access this object.
A compliant SNMP agent may wish to conserve naming scopes by representing multiple logical entities in a single 'default' naming scope. This is possible when the logical entities, represented by the same value of entLogicalCommunity, have no object instances in common. For example, 'bridge1' and 'repeater1' may be part of the main naming scope, but at least one additional community string is needed to represent 'bridge2' and 'repeater2'.
Logical entities 'bridge1' and 'repeater1' would be represented by sysOREntries associated with the 'default' naming scope.
For agents not accessible via SNMPv1 or SNMPv2C, the value of this object is the empty string. This object may also contain an empty string if a community string has not yet been assigned by the agent, or if no community string with suitable access rights can be returned for a particular SNMP request.
Note that this object is deprecated. Agents which implement SNMPv3 access should use the entLogicalContextEngineID and entLogicalContextName objects to identify the context associated with each logical entity. SNMPv3 agents may return a zero-length string for this object, or may continue to return a community string (e.g., tri-lingual agent support)."
::= { entLogicalEntry 4 }
SYNTAX TAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The transport service address by which the logical entity
receives network management traffic, formatted according to
the corresponding value of entLogicalTDomain.
For snmpUDPDomain, a TAddress is 6 octets long: the initial 4 octets contain the IP-address in network-byte order and the last 2 contain the UDP port in network-byte order. Consult 'Transport Mappings for the Simple Network Management Protocol' (STD 62, RFC 3417 [RFC3417]) for further information on snmpUDPDomain."
::= { entLogicalEntry 5 }
SYNTAX TDomain
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Indicates the kind of transport service by which the
logical entity receives network management traffic.
Possible values for this object are presently found in the
Transport Mappings for Simple Network Management Protocol'
(STD 62, RFC 3417 [RFC3417])."
::= { entLogicalEntry 6 }
SYNTAX SnmpEngineIdOrNone
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The authoritative contextEngineID that can be used to send
an SNMP message concerning information held by this logical
entity, to the address specified by the associated
'entLogicalTAddress/entLogicalTDomain' pair.
This object, together with the associated
entLogicalContextName object, defines the context associated
with a particular logical entity, and allows access to SNMP
engines identified by a contextEngineId and contextName
pair.
If no value has been configured by the agent, a zero-length string is returned, or the agent may choose not to instantiate this object at all."
::= { entLogicalEntry 7 }
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The contextName that can be used to send an SNMP message
concerning information held by this logical entity, to the
address specified by the associated
'entLogicalTAddress/entLogicalTDomain' pair.
This object, together with the associated
entLogicalContextEngineID object, defines the context
associated with a particular logical entity, and allows
access to SNMP engines identified by a contextEngineId and contextName pair.
If no value has been configured by the agent, a zero-length string is returned, or the agent may choose not to instantiate this object at all."
::= { entLogicalEntry 8 }
SYNTAX SEQUENCE OF EntLPMappingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains zero or more rows of logical entity to
physical equipment associations. For each logical entity
known by this agent, there are zero or more mappings to the
physical resources, which are used to realize that logical
entity.
An agent should limit the number and nature of entries in this table such that only meaningful and non-redundant information is returned. For example, in a system that contains a single power supply, mappings between logical entities and the power supply are not useful and should not be included.
Also, only the most appropriate physical component, which is closest to the root of a particular containment tree, should be identified in an entLPMapping entry.
For example, suppose a bridge is realized on a particular module, and all ports on that module are ports on this bridge. A mapping between the bridge and the module would be useful, but additional mappings between the bridge and each of the ports on that module would be redundant (because the entPhysicalContainedIn hierarchy can provide the same information). On the other hand, if more than one bridge were utilizing ports on this module, then mappings between each bridge and the ports it used would be appropriate.
Also, in the case of a single backplane repeater, a mapping for the backplane to the single repeater entity is not necessary."
::= { entityMapping 1 }
SYNTAX EntLPMappingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular logical entity to physical
equipment association. Note that the nature of the
association is not specifically identified in this entry.
It is expected that sufficient information exists in the
MIBs used to manage a particular logical entity to infer how
physical component information is utilized."
INDEX { entLogicalIndex, entLPPhysicalIndex }
::= { entLPMappingTable 1 }
EntLPMappingEntry ::= SEQUENCE {
entLPPhysicalIndex PhysicalIndex
}
SYNTAX PhysicalIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of this object identifies the index value of a
particular entPhysicalEntry associated with the indicated
entLogicalEntity."
::= { entLPMappingEntry 1 }
-- logical entity/component to alias table
SYNTAX SEQUENCE OF EntAliasMappingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"This table contains zero or more rows, representing
mappings of logical entity and physical component to
external MIB identifiers. Each physical port in the system
may be associated with a mapping to an external identifier,
which itself is associated with a particular logical
entity's naming scope. A 'wildcard' mechanism is provided
to indicate that an identifier is associated with more than
one logical entity."
::= { entityMapping 2 }
SYNTAX EntAliasMappingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Information about a particular physical equipment, logical
entity to external identifier binding. Each logical entity/physical component pair may be associated with one alias mapping. The logical entity index may also be used as a 'wildcard' (refer to the entAliasLogicalIndexOrZero object DESCRIPTION clause for details.)
Note that only entPhysicalIndex values that represent physical ports (i.e., associated entPhysicalClass value is 'port(10)') are permitted to exist in this table." INDEX { entPhysicalIndex, entAliasLogicalIndexOrZero }
::= { entAliasMappingTable 1 }
EntAliasMappingEntry ::= SEQUENCE {
entAliasLogicalIndexOrZero Integer32,
entAliasMappingIdentifier RowPointer
}
SYNTAX Integer32 (0..2147483647)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"The value of this object identifies the logical entity
that defines the naming scope for the associated instance
of the 'entAliasMappingIdentifier' object.
If this object has a non-zero value, then it identifies the logical entity named by the same value of entLogicalIndex.
If this object has a value of zero, then the mapping between the physical component and the alias identifier for this entAliasMapping entry is associated with all unspecified logical entities. That is, a value of zero (the default mapping) identifies any logical entity that does not have an explicit entry in this table for a particular entPhysicalIndex/entAliasMappingIdentifier pair.
For example, to indicate that a particular interface (e.g., physical component 33) is identified by the same value of ifIndex for all logical entities, the following instance might exist:
entAliasMappingIdentifier.33.0 = ifIndex.5
In the event an entPhysicalEntry is associated differently for some logical entities, additional entAliasMapping entries may exist, e.g.:
entAliasMappingIdentifier.33.0 = ifIndex.6
entAliasMappingIdentifier.33.4 = ifIndex.1
entAliasMappingIdentifier.33.5 = ifIndex.1
entAliasMappingIdentifier.33.10 = ifIndex.12
Note that entries with non-zero entAliasLogicalIndexOrZero index values have precedence over zero-indexed entries. In this example, all logical entities except 4, 5, and 10, associate physical entity 33 with ifIndex.6."
::= { entAliasMappingEntry 1 }
SYNTAX RowPointer
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of this object identifies a particular conceptual
row associated with the indicated entPhysicalIndex and
entLogicalIndex pair.
Because only physical ports are modeled in this table, only
entries that represent interfaces or ports are allowed. If
an ifEntry exists on behalf of a particular physical port,
then this object should identify the associated 'ifEntry'.
For repeater ports, the appropriate row in the
'rptrPortGroupTable' should be identified instead.
For example, suppose a physical port was represented by
entPhysicalEntry.3, entLogicalEntry.15 existed for a
repeater, and entLogicalEntry.22 existed for a bridge. Then
there might be two related instances of
entAliasMappingIdentifier:
entAliasMappingIdentifier.3.15 == rptrPortGroupIndex.5.2
entAliasMappingIdentifier.3.22 == ifIndex.17
It is possible that other mappings (besides interfaces and
repeater ports) may be defined in the future, as required.
Bridge ports are identified by examining the Bridge MIB and appropriate ifEntries associated with each 'dot1dBasePort', and are thus not represented in this table."
::= { entAliasMappingEntry 2 }
-- physical mapping table
SYNTAX SEQUENCE OF EntPhysicalContainsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A table that exposes the container/'containee'
relationships between physical entities. This table
provides all the information found by constructing the
virtual containment tree for a given entPhysicalTable, but
in a more direct format.
In the event a physical entity is contained by more than one other physical entity (e.g., double-wide modules), this table should include these additional mappings, which cannot be represented in the entPhysicalTable virtual containment tree."
::= { entityMapping 3 }
SYNTAX EntPhysicalContainsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A single container/'containee' relationship."
INDEX { entPhysicalIndex, entPhysicalChildIndex }
::= { entPhysicalContainsTable 1 }
EntPhysicalContainsEntry ::= SEQUENCE {
entPhysicalChildIndex PhysicalIndex
}
SYNTAX PhysicalIndex
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of entPhysicalIndex for the contained physical
entity."
::= { entPhysicalContainsEntry 1 }
-- last change time stamp for the whole MIB
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of sysUpTime at the time a conceptual row is
created, modified, or deleted in any of these tables:
- entPhysicalTable
- entLogicalTable
- entLPMappingTable
- entAliasMappingTable
- entPhysicalContainsTable
"
::= { entityGeneral 1 }
-- Entity MIB Trap Definitions
entityMIBTraps OBJECT IDENTIFIER ::= { entityMIB 2 }
entityMIBTrapPrefix OBJECT IDENTIFIER ::= { entityMIBTraps 0 }
STATUS current
DESCRIPTION
"An entConfigChange notification is generated when the value
of entLastChangeTime changes. It can be utilized by an NMS
to trigger logical/physical entity table maintenance polls.
An agent should not generate more than one entConfigChange 'notification-event' in a given time interval (five seconds is the suggested default). A 'notification-event' is the transmission of a single trap or inform PDU to a list of notification destinations.
If additional configuration changes occur within the throttling period, then notification-events for these changes should be suppressed by the agent until the current throttling period expires. At the end of a throttling period, one notification-event should be generated if any configuration changes occurred since the start of the throttling period. In such a case, another throttling period is started right away.
An NMS should periodically check the value of
entLastChangeTime to detect any missed entConfigChange
notification-events, e.g., due to throttling or transmission
loss."
::= { entityMIBTrapPrefix 1 }
-- conformance information
entityConformance OBJECT IDENTIFIER ::= { entityMIB 3 }
entityCompliances OBJECT IDENTIFIER ::= { entityConformance 1 }
entityGroups OBJECT IDENTIFIER ::= { entityConformance 2 }
-- compliance statements
DESCRIPTION
"The compliance statement for SNMP entities that implement
version 1 of the Entity MIB."
MODULE -- this module
MANDATORY-GROUPS {
entityPhysicalGroup,
entityLogicalGroup,
entityMappingGroup,
entityGeneralGroup,
entityNotificationsGroup
}
::= { entityCompliances 1 }
MANDATORY-GROUPS {
entityPhysicalGroup,
entityPhysical2Group,
entityGeneralGroup,
entityNotificationsGroup
}
GROUP entityLogical2Group
DESCRIPTION
"Implementation of this group is not mandatory for agents
that model all MIB object instances within a single naming
scope."
GROUP entityMappingGroup
DESCRIPTION
"Implementation of the entPhysicalContainsTable is mandatory
for all agents. Implementation of the entLPMappingTable and
entAliasMappingTables are not mandatory for agents that
model all MIB object instances within a single naming scope.
Note that the entAliasMappingTable may be useful for all agents; however, implementation of the entityLogicalGroup or entityLogical2Group is required to support this table."
OBJECT entPhysicalSerialNum
MIN-ACCESS not-accessible
DESCRIPTION
"Read and write access is not required for agents that
cannot identify serial number information for physical
entities, and/or cannot provide non-volatile storage for
NMS-assigned serial numbers.
Write access is not required for agents that can identify serial number information for physical entities, but cannot provide non-volatile storage for NMS-assigned serial numbers.
Write access is not required for physical entities for which the associated value of the entPhysicalIsFRU object is equal to 'false(2)'."
OBJECT entPhysicalAlias
MIN-ACCESS read-only
DESCRIPTION
"Write access is required only if the associated
entPhysicalClass value is equal to 'chassis(3)'."
OBJECT entPhysicalAssetID
MIN-ACCESS not-accessible
DESCRIPTION
"Read and write access is not required for agents that
cannot provide non-volatile storage for NMS-assigned asset
identifiers.
Write access is not required for physical entities for which the associated value of the entPhysicalIsFRU object is equal to 'false(2)'."
OBJECT entPhysicalClass
SYNTAX INTEGER {
other(1),
unknown(2),
chassis(3),
backplane(4),
container(5),
powerSupply(6),
fan(7),
sensor(8),
module(9),
port(10),
stack(11)
}
DESCRIPTION
"Implementation of the 'cpu(12)' enumeration is not
required."
::= { entityCompliances 2 }
MANDATORY-GROUPS {
entityPhysicalGroup,
entityPhysical2Group,
entityPhysical3Group,
entityGeneralGroup,
entityNotificationsGroup
}
GROUP entityLogical2Group
DESCRIPTION
"Implementation of this group is not mandatory for agents
that model all MIB object instances within a single naming
scope."
GROUP entityMappingGroup
DESCRIPTION
"Implementation of the entPhysicalContainsTable is mandatory
for all agents. Implementation of the entLPMappingTable and
entAliasMappingTables are not mandatory for agents that
model all MIB object instances within a single naming scope.
Note that the entAliasMappingTable may be useful for all agents; however, implementation of the entityLogicalGroup or entityLogical2Group is required to support this table."
OBJECT entPhysicalSerialNum
MIN-ACCESS not-accessible
DESCRIPTION
"Read and write access is not required for agents that
cannot identify serial number information for physical
entities, and/or cannot provide non-volatile storage for
NMS-assigned serial numbers.
Write access is not required for agents that can identify serial number information for physical entities, but cannot provide non-volatile storage for NMS-assigned serial numbers.
Write access is not required for physical entities for which the associated value of the entPhysicalIsFRU object is equal to 'false(2)'."
OBJECT entPhysicalAlias
MIN-ACCESS read-only
DESCRIPTION
"Write access is required only if the associated
entPhysicalClass value is equal to 'chassis(3)'."
OBJECT entPhysicalAssetID
MIN-ACCESS not-accessible
DESCRIPTION
"Read and write access is not required for agents that
cannot provide non-volatile storage for NMS-assigned asset
identifiers.
Write access is not required for physical entities for which the associated value of entPhysicalIsFRU is equal to 'false(2)'."
::= { entityCompliances 3 }
-- MIB groupings
OBJECTS {
entPhysicalDescr,
entPhysicalVendorType,
entPhysicalContainedIn,
entPhysicalClass,
entPhysicalParentRelPos,
entPhysicalName
}
STATUS current
DESCRIPTION
"The collection of objects used to represent physical
system components, for which a single agent provides
management information."
::= { entityGroups 1 }
OBJECTS {
entLogicalDescr,
entLogicalType,
entLogicalCommunity,
entLogicalTAddress,
entLogicalTDomain
}
STATUS deprecated
DESCRIPTION
"The collection of objects used to represent the list of
logical entities, for which a single agent provides
management information."
::= { entityGroups 2 }
OBJECTS {
entLPPhysicalIndex,
entAliasMappingIdentifier,
entPhysicalChildIndex
}
STATUS current
DESCRIPTION
"The collection of objects used to represent the
associations between multiple logical entities, physical
components, interfaces, and port identifiers, for which a
single agent provides management information."
::= { entityGroups 3 }
OBJECTS {
entLastChangeTime
}
STATUS current
DESCRIPTION
"The collection of objects used to represent general entity
information, for which a single agent provides management
information."
::= { entityGroups 4 }
STATUS current
DESCRIPTION
"The collection of notifications used to indicate Entity MIB
data consistency and general status information."
::= { entityGroups 5 }
OBJECTS {
entPhysicalHardwareRev,
entPhysicalFirmwareRev,
entPhysicalSoftwareRev,
entPhysicalSerialNum,
entPhysicalMfgName,
entPhysicalModelName,
entPhysicalAlias,
entPhysicalAssetID,
entPhysicalIsFRU
}
STATUS current
DESCRIPTION
"The collection of objects used to represent physical
system components, for which a single agent provides
management information. This group augments the objects
contained in the entityPhysicalGroup."
::= { entityGroups 6 }
OBJECTS {
entLogicalDescr,
entLogicalType,
entLogicalTAddress,
entLogicalTDomain,
entLogicalContextEngineID,
entLogicalContextName
}
STATUS current
DESCRIPTION
"The collection of objects used to represent the
list of logical entities, for which a single SNMP entity
provides management information."
::= { entityGroups 7 }
OBJECTS {
entPhysicalMfgDate,
entPhysicalUris
}
STATUS current
DESCRIPTION
"The collection of objects used to represent physical
system components, for which a single agent provides
management information. This group augments the objects
contained in the entityPhysicalGroup."
::= { entityGroups 8 }
The following sections iterate the instance values for two example networking devices. These examples are kept simple to make them more understandable. Auxiliary components such as fans, sensors, empty slots, and sub-modules are not shown, but might be modeled in real implementations.
The first example is a router containing two slots. Each slot contains a 3 port router/bridge module. Each port is represented in the ifTable. There are two logical instances of OSPF running and two logical bridges:
Physical entities -- entPhysicalTable:
1 Field-replaceable physical chassis:
entPhysicalDescr.1 == 'Acme Chassis Model 100'
entPhysicalVendorType.1 == acmeProducts.chassisTypes.1
entPhysicalContainedIn.1 == 0
entPhysicalClass.1 == chassis(3)
entPhysicalParentRelPos.1 == 0
entPhysicalName.1 == '100-A'
entPhysicalHardwareRev.1 == 'A(1.00.02)'
entPhysicalSoftwareRev.1 == ''
entPhysicalFirmwareRev.1 == ''
entPhysicalSerialNum.1 == 'C100076544'
entPhysicalMfgName.1 == 'Acme'
entPhysicalModelName.1 == '100'
entPhysicalAlias.1 == 'cl-SJ17-3-006:rack1:rtr-U3'
entPhysicalAssetID.1 == '0007372293'
entPhysicalIsFRU.1 == true(1)
entPhysicalMfgDate.1 == '2002-5-26,13:30:30.0,-4:0'
entPhysicalUris.1 == 'URN:CLEI:CNME120ARA'
2 slots within the chassis:
entPhysicalDescr.2 == 'Acme Chassis Slot Type AA'
entPhysicalVendorType.2 == acmeProducts.slotTypes.1
entPhysicalContainedIn.2 == 1
entPhysicalClass.2 == container(5)
entPhysicalParentRelPos.2 == 1
entPhysicalName.2 == 'S1'
entPhysicalHardwareRev.2 == 'B(1.00.01)'
entPhysicalSoftwareRev.2 == ''
entPhysicalFirmwareRev.2 == ''
entPhysicalSerialNum.2 == ''
entPhysicalMfgName.2 == 'Acme'
entPhysicalModelName.2 == 'AA'
entPhysicalAlias.2 == ''
entPhysicalAssetID.2 == ''
entPhysicalIsFRU.2 == false(2)
entPhysicalMfgDate.2 == '2002-7-26,12:22:12.0,-4:0'
entPhysicalUris.2 == 'URN:CLEI:CNME123ARA'
entPhysicalDescr.3 == 'Acme Chassis Slot Type AA'
entPhysicalVendorType.3 = acmeProducts.slotTypes.1
entPhysicalContainedIn.3 == 1
entPhysicalClass.3 == container(5)
entPhysicalParentRelPos.3 == 2
entPhysicalName.3 == 'S2'
entPhysicalHardwareRev.3 == '1.00.07'
entPhysicalSoftwareRev.3 == ''
entPhysicalFirmwareRev.3 == ''
entPhysicalSerialNum.3 == ''
entPhysicalMfgName.3 == 'Acme'
entPhysicalModelName.3 == 'AA'
entPhysicalAlias.3 == ''
entPhysicalAssetID.3 == ''
entPhysicalIsFRU.3 == false(2)
entPhysicalMfgDate.3 == '2002-7-26,12:12:12.0,-4:0'
entPhysicalUris.3 == 'URN:CLEI:CNME123ARA'
2 Field-replaceable modules:
Slot 1 contains a module with 3 ports:
entPhysicalDescr.4 == 'Acme Router-100'
entPhysicalVendorType.4 == acmeProducts.moduleTypes.14
entPhysicalContainedIn.4 == 2
entPhysicalClass.4 == module(9)
entPhysicalParentRelPos.4 == 1
entPhysicalName.4 == 'M1'
entPhysicalHardwareRev.4 == '1.00.07'
entPhysicalSoftwareRev.4 == '1.4.1'
entPhysicalFirmwareRev.4 == 'A(1.1)'
entPhysicalSerialNum.4 == 'C100087363'
entPhysicalMfgName.4 == 'Acme'
entPhysicalModelName.4 == 'R100-FE'
entPhysicalAlias.4 == 'rtr-U3:m1:SJ17-3-eng'
entPhysicalAssetID.4 == '0007372462'
entPhysicalIsFRU.4 == true(1)
entPhysicalMfgDate.4 == '2003-7-18,13:30:30.0,-4:0'
entPhysicalUris.4 == 'URN:CLEI:CNRU123CAA'
entPhysicalDescr.5 == 'Acme Ethernet-100 Port'
entPhysicalVendorType.5 == acmeProducts.portTypes.2
entPhysicalContainedIn.5 == 4
entPhysicalClass.5 == port(10)
entPhysicalParentRelPos.5 == 1
entPhysicalName.5 == 'P1'
entPhysicalHardwareRev.5 == 'G(1.02)'
entPhysicalSoftwareRev.5 == ''
entPhysicalFirmwareRev.5 == '1.1'
entPhysicalSerialNum.5 == ''
entPhysicalMfgName.5 == 'Acme'
entPhysicalModelName.5 == 'FE-100'
entPhysicalAlias.5 == ''
entPhysicalAssetID.5 == ''
entPhysicalIsFRU.5 == false(2)
entPhysicalMfgDate.5 == '2003-7-18,14:20:22.0,-4:0'
entPhysicalUris.5 == 'URN:CLEI:CNMES23ARA'
entPhysicalDescr.6 == 'Acme Ethernet-100 Port'
entPhysicalVendorType.6 == acmeProducts.portTypes.2
entPhysicalContainedIn.6 == 4
entPhysicalClass.6 == port(10)
entPhysicalParentRelPos.6 == 2
entPhysicalName.6 == 'P2'
entPhysicalHardwareRev.6 == 'G(1.02)'
entPhysicalSoftwareRev.6 == ''
entPhysicalFirmwareRev.6 == '1.1'
entPhysicalSerialNum.6 == ''
entPhysicalMfgName.6 == 'Acme'
entPhysicalModelName.6 == 'FE-100'
entPhysicalAlias.6 == ''
entPhysicalAssetID.6 == ''
entPhysicalIsFRU.6 == false(2)
entPhysicalMfgDate.6 == '2003-7-19,10:15:15.0,-4:0'
entPhysicalUris.6 == 'URN:CLEI:CNMES23ARA'
entPhysicalDescr.7 == 'Acme Router-100 FDDI-Port'
entPhysicalVendorType.7 == acmeProducts.portTypes.3
entPhysicalContainedIn.7 == 4
entPhysicalClass.7 == port(10)
entPhysicalParentRelPos.7 == 3
entPhysicalName.7 == 'P3'
entPhysicalHardwareRev.7 == 'B(1.03)'
entPhysicalSoftwareRev.7 == '2.5.1'
entPhysicalFirmwareRev.7 == '2.5F'
entPhysicalSerialNum.7 == ''
entPhysicalMfgName.7 == 'Acme'
entPhysicalModelName.7 == 'FDDI-100'
entPhysicalAlias.7 == ''
entPhysicalAssetID.7 == ''
entPhysicalIsFRU.7 == false(2)
Slot 2 contains another 3-port module:
entPhysicalDescr.8 == 'Acme Router-100 Comm Module'
entPhysicalVendorType.8 == acmeProducts.moduleTypes.15
entPhysicalContainedIn.8 == 3
entPhysicalClass.8 == module(9)
entPhysicalParentRelPos.8 == 1
entPhysicalName.8 == 'M2'
entPhysicalHardwareRev.8 == '2.01.00'
entPhysicalSoftwareRev.8 == '3.0.7'
entPhysicalFirmwareRev.8 == 'A(1.2)'
entPhysicalSerialNum.8 == 'C100098732'
entPhysicalMfgName.8 == 'Acme'
entPhysicalModelName.8 == 'C100'
entPhysicalAlias.8 == 'rtr-U3:m2:SJ17-2-eng'
entPhysicalAssetID.8 == '0007373982'
entPhysicalIsFRU.8 == true(1)
entPhysicalMfgDate.8 == '2002-5-26,13:30:15.0,-4:0'
entPhysicalUris.8 == 'URN:CLEI:CNRT321MAA'
entPhysicalDescr.9 == 'Acme Fddi-100 Port'
entPhysicalVendorType.9 == acmeProducts.portTypes.5
entPhysicalContainedIn.9 == 8
entPhysicalClass.9 == port(10)
entPhysicalParentRelPos.9 == 1
entPhysicalName.9 == 'FDDI Primary'
entPhysicalHardwareRev.9 == 'CC(1.07)'
entPhysicalSoftwareRev.9 == '2.0.34'
entPhysicalFirmwareRev.9 == '1.1'
entPhysicalSerialNum.9 == ''
entPhysicalMfgName.9 == 'Acme'
entPhysicalModelName.9 == 'FDDI-100'
entPhysicalAlias.9 == ''
entPhysicalAssetID.9 == ''
entPhysicalIsFRU.9 == false(2)
entPhysicalDescr.10 == 'Acme Ethernet-100 Port'
entPhysicalVendorType.10 == acmeProducts.portTypes.2
entPhysicalContainedIn.10 == 8
entPhysicalClass.10 == port(10)
entPhysicalParentRelPos.10 == 2
entPhysicalName.10 == 'Ethernet A'
entPhysicalHardwareRev.10 == 'G(1.04)'
entPhysicalSoftwareRev.10 == ''
entPhysicalFirmwareRev.10 == '1.3'
entPhysicalSerialNum.10 == ''
entPhysicalMfgName.10 == 'Acme'
entPhysicalModelName.10 == 'FE-100'
entPhysicalAlias.10 == ''
entPhysicalAssetID.10 == ''
entPhysicalIsFRU.10 == false(2)
entPhysicalMfgDate.10 == '2002-7-26,13:30:15.0,-4:0'
entPhysicalUris.10 == 'URN:CLEI:CNMES23ARA'
entPhysicalDescr.11 == 'Acme Ethernet-100 Port'
entPhysicalVendorType.11 == acmeProducts.portTypes.2
entPhysicalContainedIn.11 == 8
entPhysicalClass.11 == port(10)
entPhysicalParentRelPos.11 == 3
entPhysicalName.11 == 'Ethernet B'
entPhysicalHardwareRev.11 == 'G(1.04)'
entPhysicalSoftwareRev.11 == ''
entPhysicalFirmwareRev.11 == '1.3'
entPhysicalSerialNum.11 == ''
entPhysicalMfgName.11 == 'Acme'
entPhysicalModelName.11 == 'FE-100'
entPhysicalAlias.11 == ''
entPhysicalAssetID.11 == ''
entPhysicalIsFRU.11 == false(2)
entPhysicalMfgDate.11 == '2002-8-16,15:35:15.0,-4:0'
entPhysicalUris.11 == 'URN:CLEI:CNMES23ARA'
Logical entities -- entLogicalTable; no SNMPv3 support 2 OSPF instances:
entLogicalDescr.1 == 'Acme OSPF v1.1'
entLogicalType.1 == ospf
entLogicalCommunity.1 == 'public-ospf1'
entLogicalTAddress.1 == 192.0.2.1:161
entLogicalTDomain.1 == snmpUDPDomain
entLogicalContextEngineID.1 == ''
entLogicalContextName.1 == ''
entLogicalDescr.2 == 'Acme OSPF v1.1'
entLogicalType.2 == ospf
entLogicalCommunity.2 == 'public-ospf2'
entLogicalTAddress.2 == 192.0.2.1:161
entLogicalTDomain.2 == snmpUDPDomain
entLogicalContextEngineID.2 == ''
entLogicalContextName.2 == ''
2 logical bridges:
entLogicalDescr.3 == 'Acme Bridge v2.1.1'
entLogicalType.3 == dot1dBridge
entLogicalCommunity.3 == 'public-bridge1'
entLogicalTAddress.3 == 192.0.2.1:161
entLogicalTDomain.3 == snmpUDPDomain
entLogicalContextEngineID.3 == ''
entLogicalContextName.3 == ''
entLogicalDescr.4 == 'Acme Bridge v2.1.1'
entLogicalType.4 == dot1dBridge
entLogicalCommunity.4 == 'public-bridge2'
entLogicalTAddress.4 == 192.0.2.1:161
entLogicalTDomain.4 == snmpUDPDomain
entLogicalContextEngineID.4 == ''
entLogicalContextName.4 == ''
Logical to Physical Mappings:
1st OSPF instance: uses module 1-port 1
entLPPhysicalIndex.1.5 == 5
2nd OSPF instance: uses module 2-port 1
entLPPhysicalIndex.2.9 == 9
1st bridge group: uses module 1, all ports
[ed. -- Note that these mappings are included in the table because
another logical entity (1st OSPF) utilizes one of the
ports. If this were not the case, then a single mapping
to the module (e.g., entLPPhysicalIndex.3.4) would be
present instead.]
entLPPhysicalIndex.3.5 == 5
entLPPhysicalIndex.3.6 == 6
entLPPhysicalIndex.3.7 == 7
2nd bridge group: uses module 2, all ports
entLPPhysicalIndex.4.9 == 9
entLPPhysicalIndex.4.10 == 10
entLPPhysicalIndex.4.11 == 11
Physical to Logical to MIB Alias Mappings -- entAliasMappingTable: Example 1: ifIndex values are global to all logical entities
entAliasMappingIdentifier.5.0 == ifIndex.1
entAliasMappingIdentifier.6.0 == ifIndex.2
entAliasMappingIdentifier.7.0 == ifIndex.3
entAliasMappingIdentifier.9.0 == ifIndex.4
entAliasMappingIdentifier.10.0 == ifIndex.5
entAliasMappingIdentifier.11.0 == ifIndex.6
Example 2: ifIndex values are not shared by all logical entities; (Bridge-1 uses ifIndex values 101 - 103 and Bridge-2 uses ifIndex values 204-206.)
entAliasMappingIdentifier.5.0 == ifIndex.1
entAliasMappingIdentifier.5.3 == ifIndex.101
entAliasMappingIdentifier.6.0 == ifIndex.2
entAliasMappingIdentifier.6.3 == ifIndex.102
entAliasMappingIdentifier.7.0 == ifIndex.3
entAliasMappingIdentifier.7.3 == ifIndex.103
entAliasMappingIdentifier.9.0 == ifIndex.4
entAliasMappingIdentifier.9.4 == ifIndex.204
entAliasMappingIdentifier.10.0 == ifIndex.5
entAliasMappingIdentifier.10.4 == ifIndex.205
entAliasMappingIdentifier.11.0 == ifIndex.6
entAliasMappingIdentifier.11.4 == ifIndex.206
Physical Containment Tree -- entPhysicalContainsTable
chassis has two containers:
entPhysicalChildIndex.1.2 == 2
entPhysicalChildIndex.1.3 == 3
container 1 has a module:
entPhysicalChildIndex.2.4 == 4
container 2 has a module:
entPhysicalChildIndex.3.8 == 8
module 1 has 3 ports:
entPhysicalChildIndex.4.5 == 5
entPhysicalChildIndex.4.6 == 6
entPhysicalChildIndex.4.7 == 7
module 2 has 3 ports:
entPhysicalChildIndex.8.9 == 9
entPhysicalChildIndex.8.10 == 10
entPhysicalChildIndex.8.11 == 11
The second example is a 3-slot Hub with 2 backplane ethernet segments. Slot three is empty, and the remaining slots contain ethernet repeater modules.
Note that this example assumes an older Repeater MIB implementation,
(RFC 1516 [RFC1516]) rather than the new Repeater MIB (RFC 2108
[RFC2108]). The new version contains an object called
'rptrPortRptrId', which should be used to identify repeater port
groupings, rather than using community strings or contexts.
Physical entities -- entPhysicalTable:
1 Field-replaceable physical chassis:
entPhysicalDescr.1 == 'Acme Chassis Model 110'
entPhysicalVendorType.1 == acmeProducts.chassisTypes.2
entPhysicalContainedIn.1 == 0
entPhysicalClass.1 == chassis(3)
entPhysicalParentRelPos.1 ==0
entPhysicalName.1 == '110-B'
entPhysicalHardwareRev.1 == 'A(1.02.00)'
entPhysicalSoftwareRev.1 == ''
entPhysicalFirmwareRev.1 == ''
entPhysicalSerialNum.1 == 'C100079294'
entPhysicalMfgName.1 == 'Acme'
entPhysicalModelName.1 == '110'
entPhysicalAlias.1 == 'bldg09:floor1:rptr18:0067eea0229f'
entPhysicalAssetID.1 == '0007386327'
entPhysicalIsFRU.1 == true(1)
2 Chassis Ethernet Backplanes:
entPhysicalDescr.2 == 'Acme Ethernet Backplane Type A'
entPhysicalVendorType.2 == acmeProducts.backplaneTypes.1
entPhysicalContainedIn.2 == 1
entPhysicalClass.2 == backplane(4)
entPhysicalParentRelPos.2 == 1
entPhysicalName.2 == 'B1'
entPhysicalHardwareRev.2 == 'A(2.04.01)'
entPhysicalSoftwareRev.2 == ''
entPhysicalFirmwareRev.2 == ''
entPhysicalSerialNum.2 == ''
entPhysicalMfgName.2 == 'Acme'
entPhysicalModelName.2 == 'BK-A'
entPhysicalAlias.2 == ''
entPhysicalAssetID.2 == ''
entPhysicalIsFRU.2 == false(2)
entPhysicalDescr.3 == 'Acme Ethernet Backplane Type A'
entPhysicalVendorType.3 == acmeProducts.backplaneTypes.1
entPhysicalContainedIn.3 == 1
entPhysicalClass.3 == backplane(4)
entPhysicalParentRelPos.3 == 2
entPhysicalName.3 == 'B2'
entPhysicalHardwareRev.3 == 'A(2.04.01)'
entPhysicalSoftwareRev.3 == ''
entPhysicalFirmwareRev.3 == ''
entPhysicalSerialNum.3 == ''
entPhysicalMfgName.3 == 'Acme'
entPhysicalModelName.3 == 'BK-A'
entPhysicalAlias.3 == ''
entPhysicalAssetID.3 == ''
entPhysicalIsFRU.3 == false(2)
3 slots within the chassis:
entPhysicalDescr.4 == 'Acme Hub Slot Type RB'
entPhysicalVendorType.4 == acmeProducts.slotTypes.5
entPhysicalContainedIn.4 == 1
entPhysicalClass.4 == container(5)
entPhysicalParentRelPos.4 == 1
entPhysicalName.4 == 'Slot 1'
entPhysicalHardwareRev.4 == 'B(1.00.03)'
entPhysicalSoftwareRev.4 == ''
entPhysicalFirmwareRev.4 == ''
entPhysicalSerialNum.4 == ''
entPhysicalMfgName.4 == 'Acme'
entPhysicalModelName.4 == 'RB'
entPhysicalAlias.4 == ''
entPhysicalAssetID.4 == ''
entPhysicalIsFRU.4 == false(2)
entPhysicalDescr.5 == 'Acme Hub Slot Type RB'
entPhysicalVendorType.5 == acmeProducts.slotTypes.5
entPhysicalContainedIn.5 == 1
entPhysicalClass.5 == container(5)
entPhysicalParentRelPos.5 == 2
entPhysicalName.5 == 'Slot 2'
entPhysicalHardwareRev.5 == 'B(1.00.03)'
entPhysicalSoftwareRev.5 == ''
entPhysicalFirmwareRev.5 == ''
entPhysicalSerialNum.5 == ''
entPhysicalMfgName.5 == 'Acme'
entPhysicalModelName.5 == 'RB'
entPhysicalAlias.5 == ''
entPhysicalAssetID.5 == ''
entPhysicalIsFRU.5 == false(2)
entPhysicalDescr.6 == 'Acme Hub Slot Type RB'
entPhysicalVendorType.6 == acmeProducts.slotTypes.5
entPhysicalContainedIn.6 == 1
entPhysicalClass.6 == container(5)
entPhysicalParentRelPos.6 == 3
entPhysicalName.6 == 'Slot 3'
entPhysicalHardwareRev.6 == 'B(1.00.03)'
entPhysicalSoftwareRev.6 == ''
entPhysicalFirmwareRev.6 == ''
entPhysicalSerialNum.6 == ''
entPhysicalMfgName.6 == 'Acme'
entPhysicalModelName.6 == 'RB'
entPhysicalAlias.6 == ''
entPhysicalAssetID.6 == ''
entPhysicalIsFRU.6 == false(2)
Slot 1 contains a plug-in module with 4 10-BaseT ports:
entPhysicalDescr.7 == 'Acme 10Base-T Module 114'
entPhysicalVendorType.7 == acmeProducts.moduleTypes.32
entPhysicalContainedIn.7 == 4
entPhysicalClass.7 == module(9)
entPhysicalParentRelPos.7 == 1
entPhysicalName.7 == 'M1'
entPhysicalHardwareRev.7 == 'A(1.02.01)'
entPhysicalSoftwareRev.7 == '1.7.2'
entPhysicalFirmwareRev.7 == 'A(1.5)'
entPhysicalSerialNum.7 == 'C100096244'
entPhysicalMfgName.7 == 'Acme'
entPhysicalModelName.7 = '114'
entPhysicalAlias.7 == 'bldg09:floor1:eng'
entPhysicalAssetID.7 == '0007962951'
entPhysicalIsFRU.7 == true(1)
entPhysicalDescr.8 == 'Acme 10Base-T Port RB'
entPhysicalVendorType.8 == acmeProducts.portTypes.10
entPhysicalContainedIn.8 == 7
entPhysicalClass.8 == port(10)
entPhysicalParentRelPos.8 == 1
entPhysicalName.8 == 'Ethernet-A'
entPhysicalHardwareRev.8 == 'A(1.04F)'
entPhysicalSoftwareRev.8 == ''
entPhysicalFirmwareRev.8 == '1.4'
entPhysicalSerialNum.8 == ''
entPhysicalMfgName.8 == 'Acme'
entPhysicalModelName.8 == 'RB'
entPhysicalAlias.8 == ''
entPhysicalAssetID.8 == ''
entPhysicalIsFRU.8 == false(2)
entPhysicalDescr.9 == 'Acme 10Base-T Port RB'
entPhysicalVendorType.9 == acmeProducts.portTypes.10
entPhysicalContainedIn.9 == 7
entPhysicalClass.9 == port(10)
entPhysicalParentRelPos.9 == 2
entPhysicalName.9 == 'Ethernet-B'
entPhysicalHardwareRev.9 == 'A(1.04F)'
entPhysicalSoftwareRev.9 == ''
entPhysicalFirmwareRev.9 == '1.4'
entPhysicalSerialNum.9 == ''
entPhysicalMfgName.9 == 'Acme'
entPhysicalModelName.9 = 'RB'
entPhysicalAlias.9 == ''
entPhysicalAssetID.9 == ''
entPhysicalIsFRU.9 == false(2)
entPhysicalDescr.10 == 'Acme 10Base-T Port RB'
entPhysicalVendorType.10 == acmeProducts.portTypes.10
entPhysicalContainedIn.10 == 7
entPhysicalClass.10 == port(10)
entPhysicalParentRelPos.10 == 3
entPhysicalName.10 == 'Ethernet-C'
entPhysicalHardwareRev.10 == 'B(1.02.07)'
entPhysicalSoftwareRev.10 == ''
entPhysicalFirmwareRev.10 == '1.4'
entPhysicalSerialNum.10 == ''
entPhysicalMfgName.10 == 'Acme'
entPhysicalModelName.10 == 'RB'
entPhysicalAlias.10 == ''
entPhysicalAssetID.10 == ''
entPhysicalIsFRU.10 == false(2)
entPhysicalDescr.11 == 'Acme 10Base-T Port RB'
entPhysicalVendorType.11 == acmeProducts.portTypes.10
entPhysicalContainedIn.11 == 7
entPhysicalClass.11 == port(10)
entPhysicalParentRelPos.11 == 4
entPhysicalName.11 == 'Ethernet-D'
entPhysicalHardwareRev.11 == 'B(1.02.07)'
entPhysicalSoftwareRev.11 == ''
entPhysicalFirmwareRev.11 == '1.4'
entPhysicalSerialNum.11 == ''
entPhysicalMfgName.11 == 'Acme'
entPhysicalModelName.11 == 'RB'
entPhysicalAlias.11 == ''
entPhysicalAssetID.11 == ''
entPhysicalIsFRU.11 == false(2)
Slot 2 contains another ethernet module with 2 ports.
entPhysicalDescr.12 == 'Acme 10Base-T Module Model 4'
entPhysicalVendorType.12 == acmeProducts.moduleTypes.30
entPhysicalContainedIn.12 = 5
entPhysicalClass.12 == module(9)
entPhysicalParentRelPos.12 == 1
entPhysicalName.12 == 'M2'
entPhysicalHardwareRev.12 == 'A(1.01.07)'
entPhysicalSoftwareRev.12 == '1.8.4'
entPhysicalFirmwareRev.12 == 'A(1.8)'
entPhysicalSerialNum.12 == 'C100102384'
entPhysicalMfgName.12 == 'Acme'
entPhysicalModelName.12 == '4'
entPhysicalAlias.12 == 'bldg09:floor1:devtest'
entPhysicalAssetID.12 == '0007968462'
entPhysicalIsFRU.12 == true(1)
entPhysicalDescr.13 == 'Acme 802.3 AUI Port'
entPhysicalVendorType.13 == acmeProducts.portTypes.11
entPhysicalContainedIn.13 == 12
entPhysicalClass.13 == port(10)
entPhysicalParentRelPos.13 == 1
entPhysicalName.13 == 'AUI'
entPhysicalHardwareRev.13 == 'A(1.06F)'
entPhysicalSoftwareRev.13 == ''
entPhysicalFirmwareRev.13 == '1.5'
entPhysicalSerialNum.13 == ''
entPhysicalMfgName.13 == 'Acme'
entPhysicalModelName.13 == ''
entPhysicalAlias.13 == ''
entPhysicalAssetID.13 == ''
entPhysicalIsFRU.13 == false(2)
entPhysicalDescr.14 == 'Acme 10Base-T Port RD'
entPhysicalVendorType.14 == acmeProducts.portTypes.14
entPhysicalContainedIn.14 == 12
entPhysicalClass.14 == port(10)
entPhysicalParentRelPos.14 == 2
entPhysicalName.14 == 'E2'
entPhysicalHardwareRev.14 == 'B(1.01.02)'
entPhysicalSoftwareRev.14 == ''
entPhysicalFirmwareRev.14 == '2.1'
entPhysicalSerialNum.14 == ''
entPhysicalMfgName.14 == 'Acme'
entPhysicalModelName.14 == ''
entPhysicalAlias.14 == ''
entPhysicalAssetID.14 == ''
entPhysicalIsFRU.14 == false(2)
Logical entities -- entLogicalTable; with SNMPv3 support
Repeater 1--comprised of any ports attached to backplane 1
entLogicalDescr.1 == 'Acme repeater v3.1'
entLogicalType.1 == snmpDot3RptrMgt
entLogicalCommunity.1 'public-repeater1'
entLogicalTAddress.1 == 192.0.2.1:161
entLogicalTDomain.1 == snmpUDPDomain
entLogicalContextEngineID.1 == '80000777017c7d7e7f'H
entLogicalContextName.1 == 'repeater1'
Repeater 2--comprised of any ports attached to backplane 2:
entLogicalDescr.2 == 'Acme repeater v3.1'
entLogicalType.2 == snmpDot3RptrMgt
entLogicalCommunity.2 == 'public-repeater2'
entLogicalTAddress.2 == 192.0.2.1:161
entLogicalTDomain.2 == snmpUDPDomain
entLogicalContextEngineID.2 == '80000777017c7d7e7f'H
entLogicalContextName.2 == 'repeater2'
Logical to Physical Mappings -- entLPMappingTable:
repeater1 uses backplane 1, slot 1-ports 1 & 2, slot 2-port 1 [ed. -- Note that a mapping to the module is not included, because this example represents a port-switchable hub. Even though all ports on the module could belong to the same repeater as a matter of configuration, the LP port mappings should not be replaced dynamically with a single mapping for the module (e.g., entLPPhysicalIndex.1.7). If all ports on the module shared a single backplane connection, then a single mapping for the module would be more appropriate.]
entLPPhysicalIndex.1.2 == 2
entLPPhysicalIndex.1.8 == 8
entLPPhysicalIndex.1.9 == 9
entLPPhysicalIndex.1.13 == 13
repeater2 uses backplane 2, slot 1-ports 3 & 4, slot 2-port 2
entLPPhysicalIndex.2.3 == 3
entLPPhysicalIndex.2.10 == 10
entLPPhysicalIndex.2.11 == 11
entLPPhysicalIndex.2.14 == 14
Physical to Logical to MIB Alias Mappings -- entAliasMappingTable: Repeater Port Identifier values are shared by both repeaters:
entAliasMappingIdentifier.8.0 == rptrPortGroupIndex.1.1
entAliasMappingIdentifier.9.0 == rptrPortGroupIndex.1.2
entAliasMappingIdentifier.10.0 == rptrPortGroupIndex.1.3
entAliasMappingIdentifier.11.0 == rptrPortGroupIndex.1.4
entAliasMappingIdentifier.13.0 == rptrPortGroupIndex.2.1
entAliasMappingIdentifier.14.0 == rptrPortGroupIndex.2.2
Physical Containment Tree -- entPhysicalContainsTable
chassis has two backplanes and three containers:
entPhysicalChildIndex.1.2 == 2
entPhysicalChildIndex.1.3 == 3
entPhysicalChildIndex.1.4 == 4
entPhysicalChildIndex.1.5 == 5
entPhysicalChildIndex.1.6 == 6
container 1 has a module:
entPhysicalChildIndex.4.7 == 7
container 2 has a module
entPhysicalChildIndex.5.12 == 12
[ed. -- in this example, container 3 is empty.]
module 1 has 4 ports:
entPhysicalChildIndex.7.8 == 8
entPhysicalChildIndex.7.9 == 9
entPhysicalChildIndex.7.10 == 10
entPhysicalChildIndex.7.11 == 11
module 2 has 2 ports:
entPhysicalChildIndex.12.13 == 13
entPhysicalChildIndex.12.14 == 14
There are a number of management objects defined in this MIB that have a MAX-ACCESS clause of read-write and/or read-create. Such objects may be considered sensitive or vulnerable in some network environments. The support for SET operations in a non-secure environment without proper protection can have a negative effect on network operations.
There are a number of managed objects in this MIB that may contain sensitive information. These are:
entPhysicalDescr
entPhysicalVendorType
entPhysicalHardwareRev
entPhysicalFirmwareRev
entPhysicalSoftwareRev
entPhysicalSerialNum
entPhysicalMfgName
entPhysicalModelName
These objects expose information about the physical entities within a managed system, which may be used to identify the vendor, model, and version information of each system component.
entPhysicalAssetID
This object can allow asset identifiers for various system components to be exposed, in the event this MIB object is actually configured by an NMS application.
entLogicalDescr
entLogicalType
These objects expose the type of logical entities present in the managed system.
entLogicalCommunity
This object exposes community names associated with particular logical entities within the system.
entLogicalTAddress
entLogicalTDomain
These objects expose network addresses that can be used to communicate with an SNMP agent on behalf of particular logical entities within the system.
entLogicalContextEngineID
entLogicalContextName
These objects identify the authoritative SNMP engine that contains information on behalf of particular logical entities within the system.
It is thus important to control even GET access to these objects and possibly to even encrypt the values of these object when sending them over the network via SNMP. Not all versions of SNMP provide f