RFC6933

From RFC-Wiki

Internet Engineering Task Force (IETF) A. Bierman Request for Comments: 6933 YumaWorks, Inc. Obsoletes: 4133 D. Romascanu Category: Standards Track Avaya ISSN: 2070-1721 J. Quittek

                                                     NEC Europe Ltd.
                                                     M. Chandramouli
                                                 Cisco Systems, Inc.
                                                            May 2013
                     Entity MIB (Version 4)

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 Simple Network Management Protocol (SNMP) agent. This document specifies version 4 of the Entity MIB. This memo obsoletes version 3 of the Entity MIB module published as RFC 4133.

Status of This Memo

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6933.

Copyright Notice

Copyright (c) 2013 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must

include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

The SNMP Management Framework

For a detailed overview of the documents that describe the current Internet-Standard Management Framework, please refer to section 7 of RFC 3410 RFC3410.

Managed objects are accessed via a virtual information store, termed the Management Information Base or MIB. MIB objects are generally accessed through the Simple Network Management Protocol (SNMP). Objects in the MIB are defined using the mechanisms defined in the Structure of Management Information (SMI). This memo specifies a MIB module that is compliant to the SMIv2, which is described in STD 58, RFC 2578 RFC2578, STD 58, RFC 2579 RFC2579 and STD 58, RFC 2580 RFC2580.

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 RFC2119.

Overview

There is a need for a standardized way of representing a single agent, which supports multiple instances of one MIB module. This is presently true for at least 3 standard MIB modules and is likely to become true for more and more MIB modules 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; and

- 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 that 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 that have emerged since the publication of the first Entity MIB 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, RFC3411). Implementation experience has shown that additional physical component attributes are also desirable.

Version 3 of this MIB addresses new requirements that have emerged since the publication of the second Entity MIB RFC2737. There is a need to identify physical entities that are central processing units (CPUs) and a need to provide a Textual Convention (TC) 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.

Version 4 of this MIB addresses new requirements that have emerged since the publication of the third version of the Entity MIB RFC4133. There is a need to add new enumerated values for entity physical classes, a need to provide identification information for physical entities using a Universally Unique Identifier (UUID) format, and a need to have compliant implementations of the Entity MIB with a smaller subsets of MIB objects for devices with constrained resources.

The PhysicalClass TEXTUAL-CONVENTION was deprecated, and a new IANAPhysicalClass TC (maintained by IANA) was created. A new TC, UUIDorZero, was created to represent a UUID, and a new MIB object was

added to the entPhysicalTable to identify an entity. A new compliance statement, entity4CRCompliance, has been added for possible implementation of a selected subset of MIB objects by entities with constrained resources.

Terms

The following 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, and 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.

Relationship to Community Strings

For community-based SNMP, differentiating logical entities is one (but not the only) purpose of the community string 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.

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.

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. 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.

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 the ENTITY-MIB module to be a "Chassis MIB replacement", nor is it within the scope of the ENTITY-MIB module to contain all the information that might be necessary to manage a "chassis". On the other hand, the entities represented by an implementation of the ENTITY-MIB module might well be contained in a chassis.

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 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.

Relationship to the Other MIB Modules

The Entity MIB contains a mapping table identifying physical components that have identifiers from other standard MIB modules 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.

Relationship to Naming Scopes

There is some question as to which MIB objects may be returned within a given naming scope. MIB objects that 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 RFC4188.

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).

Multiple Instances of the Entity MIB

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 a 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 ENTMIB working group (which was in charge of the document at that point) realized that this change is not strictly supported by SMIv2. In their judgment, the alternative of deprecating the old objects and defining new objects would have had 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 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); therefore, the syntax of this object must conform to
 RFC3986, Section 3.  Uniform Resource Names (URNs) 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 namespaces 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 namespace for CLEIs is
 defined in RFC4152, and the CLEI format is defined in [T1.213]
 and [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
 namespace.  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.
 Version 4 of the Entity MIB module provides an additional MIB
 object for each physical entity.

- entPhysicalUUID

 This object provides an unique identification about the physical
 entity.  This object contains a globally unique identifier for the
 physical entity with the format defined in RFC 4122 RFC4122.
 To support the existing implementations of ENTITY-MIB version 3
 RFC4133, entPhysicalUris object should be used to store the UUID
 value of the physical entity as well in URN format.  This
 duplication of information enables backward compatibility.  Note
 that entPhysicalUris allows write access while entPhysicalUUID is
 read-only.

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 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.

2.12.3. entityMapping Group

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 MIB modules (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.

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, 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".)

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. 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.

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. Bug Fixes

A bug was fixed in the entLogicalCommunity object. The subrange was incorrect (1..255) and is now correct (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.

2.15. Changes Since RFC 2737

2.15.1. Textual Conventions

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.

2.15.2. New Objects

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.

2.15.3. Bug Fixes

The syntax was changed from INTEGER to Integer32 for the entPhysicalParentRelPos, entLogicalIndex, and entAliasLogicalIndexOrZero objects, and from INTEGER to PhysicalIndexOrZero for the entPhysicalContainedIn object.

2.16. Changes Since RFC 4133

2.16.1. MIB Module Addition

Over time, there may be the need to add new enumerated values to the PhysicalClass TEXTUAL-CONVENTION. To allow for such additions without requiring re-issuing of this MIB module, a new MIB module called IANA-ENTITY-MIB that provides the IANA-maintained TEXTUAL- CONVENTION IANAPhysicalClass has been created. The PhysicalClass TC has been deprecated.

2.16.2. Modification to Some of the MIB Objects

A new MIB object has been added to the entPhysicalTable, entPhysicalUUID. In comparison to entPhysicalUris, the new object is read-only and restricted to a fixed size to allow only for RFC 4122 RFC4122 compliant values. The PhysicalClass TEXTUAL-CONVENTION was deprecated, and a new IANAPhysicalClass TC (maintained by IANA) has been created.

Two new MODULE-COMPLIANCE modules have been created: entity4Compliance for full compliance with version 4 of the Entity MIB, and entity4CRCompliance for devices with constrained resources like batteries that might require a limited number of objects to be supported (entPhysicalClass, entPhysicalName, and entPhysicalUUID).

2.16.3. New TC for Universally Unique Identifier

A new TEXTUAL-CONVENTION, UUIDorZero, was created to represent a Universally Unique Identifier (UUID) with a syntax that conforms to RFC4122, Section 4.1. Defining it as a TC will allow for future reuse in other MIB modules that will import the TC. This Textual Convention is included in the UUID-TC-MIB module.

MIB Definitions

ENTITY-MIB

ENTITY-MIB DEFINITIONS ::= BEGIN

IMPORTS

MODULE-IDENTITY, OBJECT-TYPE, mib-2, NOTIFICATION-TYPE,
Integer32
    FROM SNMPv2-SMI                       -- RFC 2578
TDomain, TAddress, TEXTUAL-CONVENTION,
AutonomousType, RowPointer, TimeStamp, TruthValue,
DateAndTime
    FROM SNMPv2-TC                        -- RFC 2579
MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
    FROM SNMPv2-CONF                      -- RFC 2580
SnmpAdminString
    FROM SNMP-FRAMEWORK-MIB               -- RFC 3411
UUIDorZero
    FROM UUID-TC-MIB                      -- RFC 6933
IANAPhysicalClass
    FROM IANA-ENTITY-MIB;                 -- RFC 6933

entityMIB MODULE-IDENTITY

LAST-UPDATED "201304050000Z"      -- April 5, 2013
ORGANIZATION "IETF Energy Management Working Group"
CONTACT-INFO
        "WG Email: [email protected]
        Mailing list subscription info:
        http://www.ietf.org/mailman/listinfo/eman
        Andy Bierman
        YumaWorks, Inc.
        274 Redwood Shores Parkway, #133
        Redwood City, CA 94065
        USA
        Phone: +1 408-716-0466
        Email: [email protected]
        Dan Romascanu
        Avaya
        Park Atidim, Bldg. #3
        Tel Aviv, 61581
        Israel
        Phone: +972-3-6458414
        Email: [email protected]
        Juergen Quittek
        NEC Europe Ltd.
        Network Research Division
        Kurfuersten-Anlage 36
        Heidelberg  69115
        Germany
        Phone: +49 6221 4342-115
        Email: [email protected]
        Mouli Chandramouli
        Cisco Systems, Inc.
        Sarjapur Outer Ring Road
        Bangalore 560103
        India
        Phone: +91 80 4429 2409
        Email: [email protected]"
DESCRIPTION
        "The MIB module for representing multiple logical
        entities supported by a single SNMP agent.
        Copyright (c) 2013 IETF Trust and the persons identified
        as authors of the code.  All rights reserved.
        Redistribution and use in source and binary forms, with
        or without modification, is permitted pursuant to, and
        subject to the license terms contained in, the Simplified
        BSD License set forth in Section 4.c of the IETF Trust's
        Legal Provisions Relating to IETF Documents
        (http://trustee.ietf.org/license-info)."
REVISION        "201304050000Z"      -- April 5, 2013
DESCRIPTION
        "Entity MIB (Version 4).
        This revision obsoletes RFC 4133.
        - Creation of a new MIB module, IANA-ENTITY-MIB, which
        makes the PhysicalIndex TC an IANA-maintained TEXTUAL-
        CONVENTION.  IANAPhysicalClass is now imported
        from the IANA-ENTITY-MIB.
        - Addition of a new MIB object to the entPhysicalTable,
        entPhysicalUUID.  UUIDorZero is imported from the
        UUID-TC-MIB.
        - Addition of two new MODULE-COMPLIANCE modules-
        entity4Compliance and entity4CRCompliance.
        This version is published as RFC 6933."
REVISION        "200508100000Z"
DESCRIPTION
        "Initial Version of Entity MIB (Version 3).
         This revision obsoletes RFC 2737.
         Additions:
           - cpu(12) enumeration added to IANAPhysicalClass TC
           - DISPLAY-HINT clause to PhysicalIndex TC
           - PhysicalIndexOrZero TC
           - entPhysicalMfgDate object
           - entPhysicalUris object
         Changes:
           - entPhysicalContainedIn SYNTAX changed from
             INTEGER to PhysicalIndexOrZero
         This version was published as RFC 4133."
REVISION        "199912070000Z"
DESCRIPTION
        "Initial Version of Entity MIB (Version 2).
         This revision obsoletes RFC 2037.
         This version was 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)

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).
        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

PhysicalClass ::= TEXTUAL-CONVENTION

STATUS            deprecated
DESCRIPTION
        "Starting with version 4 of the ENTITY-MIB, this TC is
        deprecated, and the usage of the IANAPhysicalClass TC from
        the IANA-ENTITY-MIB is recommended instead.
        An enumerated value that 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; 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)
}

-- 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    PhysicalIndexOrZero,
  entPhysicalClass          IANAPhysicalClass,
  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,
  entPhysicalUUID           UUIDorZero

}

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 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 }

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 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 }

entPhysicalContainedIn OBJECT-TYPE

SYNTAX      PhysicalIndexOrZero
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
        "The value of entPhysicalIndex for the physical entity that
        '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 }

entPhysicalClass OBJECT-TYPE

SYNTAX      IANAPhysicalClass
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 }

entPhysicalParentRelPos OBJECT-TYPE

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 }

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 (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 }

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 if 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 if 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 if 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 a 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 that 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 numbers.  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 }

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 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 }

entPhysicalAssetID OBJECT-TYPE

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 }

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 that represent components
        permanently contained within a field replaceable unit, the
        value 'false(2)' should be returned for this object."
::= { entPhysicalEntry 16 }

entPhysicalMfgDate OBJECT-TYPE

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 }

entPhysicalUris OBJECT-TYPE

SYNTAX      OCTET STRING
MAX-ACCESS  read-write
STATUS      current
DESCRIPTION
        "This object contains identification
        information about the physical entity.  The object
        contains URIs; therefore, the syntax of this object
        must conform to RFC 3986, Section 3.
        Multiple URIs may be present and are separated by white
        space characters.  Leading and trailing white space
        characters are ignored.
        If no URI identification information is known
        about the physical entity, 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 }

entPhysicalUUID OBJECT-TYPE

SYNTAX      UUIDorZero
MAX-ACCESS  read-only
STATUS      current
DESCRIPTION
        "This object contains identification information
        about the physical entity.  The object contains a
        Universally Unique Identifier, the syntax of this object
        must conform to RFC 4122, Section 4.1.
        A zero-length octet string is returned if no UUID
        information is known."
REFERENCE
        "RFC 4122, A Universally Unique IDentifier (UUID) URN
        Namespace, Section 4.1, July 2005."
::= { entPhysicalEntry 19 }

-- 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
        that implement more than one naming scope, at least one
        entry must exist.  Agents that 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            Integer32,
  entLogicalDescr            SnmpAdminString,
  entLogicalType             AutonomousType,
  entLogicalCommunity        OCTET STRING,
  entLogicalTAddress         TAddress,
  entLogicalTDomain          TDomain,
  entLogicalContextEngineID  SnmpEngineIdOrNone,
  entLogicalContextName      SnmpAdminString

}

entLogicalIndex OBJECT-TYPE

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 }

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 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 }

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 that 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 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 that 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 }

entLogicalTAddress OBJECT-TYPE

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 RFC 3417 for further information on snmpUDPDomain."
REFERENCE
        "Transport Mappings for the Simple Network Management
        Protocol (SNMP), STD 62, RFC 3417."
::= { entLogicalEntry 5 }

entLogicalTDomain OBJECT-TYPE

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
        RFC 3417."
REFERENCE
        "Transport Mappings for the Simple Network Management
        Protocol (SNMP), STD 62, RFC 3417."
::= { entLogicalEntry 6 }

entLogicalContextEngineID OBJECT-TYPE

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 }

entLogicalContextName OBJECT-TYPE

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 }

entLPMappingTable OBJECT-TYPE

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 }

entLPMappingEntry OBJECT-TYPE

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
        MIB modules used to manage a particular logical entity to
        infer how physical component information is utilized."
INDEX       { entLogicalIndex, entLPPhysicalIndex }
::= { entLPMappingTable 1 }

EntLPMappingEntry ::= SEQUENCE {

  entLPPhysicalIndex         PhysicalIndex

}

entLPPhysicalIndex OBJECT-TYPE

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 entAliasMappingTable OBJECT-TYPE

SYNTAX      SEQUENCE OF EntAliasMappingEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
        "This table contains zero or more rows, representing
        mappings of logical entities and physical components 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 }

entAliasMappingEntry OBJECT-TYPE

SYNTAX      EntAliasMappingEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
        "Information about a particular binding between a
        logical entity/physical component pair and an external
        identifier.  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

}

entAliasLogicalIndexOrZero OBJECT-TYPE

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 }

entAliasMappingIdentifier OBJECT-TYPE

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 entPhysicalContainsTable OBJECT-TYPE

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 }

entPhysicalContainsEntry OBJECT-TYPE

SYNTAX      EntPhysicalContainsEntry
MAX-ACCESS  not-accessible
STATUS      current
DESCRIPTION
        "A single container/'containee' relationship."
INDEX       { entPhysicalIndex, entPhysicalChildIndex }
::= { entPhysicalContainsTable 1 }

EntPhysicalContainsEntry ::= SEQUENCE {

  entPhysicalChildIndex     PhysicalIndex

}

entPhysicalChildIndex OBJECT-TYPE

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 entLastChangeTime OBJECT-TYPE

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 }

entConfigChange NOTIFICATION-TYPE

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 entityCompliance MODULE-COMPLIANCE

STATUS  deprecated
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 }

entity2Compliance MODULE-COMPLIANCE

STATUS  deprecated
DESCRIPTION
        "The compliance statement for SNMP entities that implement
        version 2 of the Entity MIB."
MODULE  -- this module
    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 }

entity3Compliance MODULE-COMPLIANCE

STATUS  deprecated
DESCRIPTION
        "The compliance statement for SNMP entities that implement
        version 3 of the Entity MIB."
MODULE  -- this module
    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 }

entity4Compliance MODULE-COMPLIANCE

STATUS  current
DESCRIPTION
        "The compliance statement for SNMP entities that implement
        the full version 4 (full compliance) of the Entity MIB."
MODULE  -- this module
    MANDATORY-GROUPS {
                       entityPhysicalGroup,
                       entityPhysical2Group,
                       entityPhysical3Group,
                       entityGeneralGroup,
                       entityNotificationsGroup,
                       entityPhysical4Group
    }
    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 4 }

entity4CRCompliance MODULE-COMPLIANCE

STATUS  current
DESCRIPTION
        "The compliance statement for SNMP entities that implement
        version 4 of the Entity MIB on devices with constrained
        resources."
MODULE  -- this module
    MANDATORY-GROUPS {
                       entityPhysicalCRGroup,
                       entityPhysical4Group
    }
::= { entityCompliances 5 }

-- MIB groupings entityPhysicalGroup OBJECT-GROUP

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 }

entityLogicalGroup OBJECT-GROUP

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 }

entityMappingGroup OBJECT-GROUP

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 }

entityGeneralGroup OBJECT-GROUP

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 }

entityNotificationsGroup NOTIFICATION-GROUP

NOTIFICATIONS { entConfigChange }
STATUS        current
DESCRIPTION
        "The collection of notifications used to indicate Entity MIB
        data consistency and general status information."
::= { entityGroups 5 }

entityPhysical2Group OBJECT-GROUP

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 }

entityLogical2Group OBJECT-GROUP

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 }

entityPhysical3Group OBJECT-GROUP

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 }

entityPhysical4Group OBJECT-GROUP

OBJECTS {
          entPhysicalUUID
        }
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 and
        entityPhysicalCRGroup."
::= { entityGroups 9 }

entityPhysicalCRGroup OBJECT-GROUP

OBJECTS {
          entPhysicalClass,
          entPhysicalName
        }
STATUS  current
DESCRIPTION
        "The collection of objects used to represent physical
        system components for constrained resourced devices,
        for which a single agent provides management
        information."
::= { entityGroups 10 }

END

IANA-ENTITY-MIB

IANA-ENTITY-MIB DEFINITIONS ::= BEGIN

    IMPORTS
      MODULE-IDENTITY, mib-2
        FROM SNMPv2-SMI             -- RFC 2578
      TEXTUAL-CONVENTION
        FROM SNMPv2-TC              -- RFC 2579
      ;
    ianaEntityMIB MODULE-IDENTITY
      LAST-UPDATED "201304050000Z"  -- April 5, 2013
      ORGANIZATION "IANA"
      CONTACT-INFO
                   "Internet Assigned Numbers Authority
                    Postal: ICANN
                            12025 Waterfront Drive, Suite 300
                            Los Angeles, CA 90094-2536
                    Phone: +1-310-301-5800
                    EMail: [email protected]"
      DESCRIPTION
        "This MIB module defines a TEXTUAL-CONVENTION that provides
        an indication of the general hardware type of a particular
        physical entity.
        Copyright (c) 2013 IETF Trust and the persons identified as
        authors of the code.  All rights reserved.
        Redistribution and use in source and binary forms, with or
        without modification, is permitted pursuant to, and subject
        to the license terms contained in, the Simplified BSD
        License set forth in Section 4.c of the IETF Trust's Legal
        Provisions Relating to IETF Documents
        (http://trustee.ietf.org/license-info).
        The initial version of this MIB module was published in
        RFC 6933; for full legal notices see the RFC itself."
      REVISION     "201304050000Z"  -- April 5, 2013
      DESCRIPTION  "Initial version of this MIB as published in
                    RFC 6933."
      ::= { mib-2 216 }
    -- Textual Conventions

IANAPhysicalClass ::= TEXTUAL-CONVENTION

   STATUS            current
   DESCRIPTION
           "An enumerated value that 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; 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 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.
           The enumeration 'energyObject' is applicable if the
           physical entity is some sort of energy object, i.e.,
           a piece of equipment that is part of or attached to
           a communications network that is monitored, controlled,
           or aids in the management of another device for Energy
           Management.
           The enumeration 'battery' is applicable if the physical
           entity class is some sort of battery."
   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),
      energyObject(13),
      battery (14)
   }

END

UUID-TC-MIB

UUID-TC-MIB DEFINITIONS ::= BEGIN

    IMPORTS
      MODULE-IDENTITY, mib-2
        FROM SNMPv2-SMI             -- RFC 2578
      TEXTUAL-CONVENTION
        FROM SNMPv2-TC              -- RFC 2579
      ;
    uuidTCMIB MODULE-IDENTITY
      LAST-UPDATED "201304050000Z"  -- April 5, 2013
      ORGANIZATION "IETF Energy Management Working Group"
      CONTACT-INFO "WG Email: [email protected]
                    Mailing list subscription info:
                    http://www.ietf.org/mailman/listinfo/eman
                    Dan Romascanu
                    Avaya
                    Park Atidim, Bldg. #3
                    Tel Aviv, 61581
                    Israel
                    Phone: +972-3-6458414
                    Email: [email protected]
                    Juergen Quittek
                    NEC Europe Ltd.
                    Network Research Division
                    Kurfuersten-Anlage 36
                    Heidelberg  69115
                    Germany
                    Phone: +49 6221 4342-115
                    Email: [email protected]
                    Mouli Chandramouli
                    Cisco Systems, Inc.
                    Sarjapur Outer Ring Road
                    Bangalore 560103
                    India
                    Phone: +91 80 4429 2409
                    Email: [email protected]"
      DESCRIPTION
                 "This MIB module defines TEXTUAL-CONVENTIONs
                  representing Universally Unique IDentifiers
                  (UUIDs).
                  Copyright (c) 2013 IETF Trust and the persons
                  identified as authors of the code.  All rights
                  reserved.
                  Redistribution and use in source and binary forms,
                  with or without modification, is permitted
                  pursuant to, and subject to the license terms
                  contained in, the Simplified BSD License set forth
                  in Section 4.c of the IETF Trust's Legal
                  Provisions Relating to IETF Documents
                  (http://trustee.ietf.org/license-info)."
      REVISION     "201304050000Z"  -- April 5, 2013
      DESCRIPTION  "Initial version of this MIB as published in
                    RFC 6933."
      ::= { mib-2 217 }
    -- Textual Conventions

UUID ::= TEXTUAL-CONVENTION

   DISPLAY-HINT    "4x-2x-2x-1x1x-6x"
   STATUS          current
   DESCRIPTION
        "Universally Unique Identifier information.  The syntax must
         conform to RFC 4122, Section 4.1."
       SYNTAX      OCTET STRING (SIZE (16))

UUIDorZero ::= TEXTUAL-CONVENTION

   DISPLAY-HINT    "4x-2x-2x-1x1x-6x"
   STATUS          current
   DESCRIPTION
        "Universally Unique Identifier information.  The syntax must
         conform to RFC 4122, Section 4.1.
         The semantics of the value zero-length OCTET STRING are
         object-specific and must therefore be defined as part of
         the description of any object that uses this syntax."
       SYNTAX      OCTET STRING (SIZE (0|16))

END

Usage Examples

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.

Router/Bridge

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
 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

Repeaters

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 RFC1516 rather than the new Repeater MIB 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
  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
Note that 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

EMAN Example

As an example, to illustrate the use of the MIB objects introduced with Energy Management (EMAN) applications, consider a router that has 16 slots with line cards. An example of the entPhysicalTable is given for 3 components of the router, a chassis, a slot, and a line card in that slot. The chassis contains the slot, and the slot contains the line card.

   entPhysicalDescr.1 == 'ACME Series 16 Slots'
   entPhysicalVendorType.1 == acmeProducts.chassisTypes.1
   entPhysicalContainedIn.1 == 0
   entPhysicalClass.1 == chassis(3)
   entPhysicalParentRelPos.1 == -1
   entPhysicalName.1 == 'Router 0 Chassis'
   entPhysicalHardwareRev.1 == 
   entPhysicalSoftwareRev.1 == 
   entPhysicalFirmwareRev.1 == 
   entPhysicalSerialNum.1 == 'abcd1234'
   entPhysicalMfgName.1 == 'ACME'
   entPhysicalModelName.1 == 'ACME-16-LCC'
   entPhysicalAlias.1 == 
   entPhysicalAssetID.1 == 
   entPhysicalIsFRU.1 == true(1)
   entPhysicalMfgDate.1 == '2008-7-28,13:30:30.0,-4:0'
   entPhysicalUris.1 == 'urn:f81d4fae-7dec-11d0-a765-00a0c91e6bf6'
   entPhysicalUUID.1 == 'f81d4fae-7dec-11d0-a765-00a0c91e6bf6'
   entPhysicalDescr.2 == 'ACME Line Card Slot'
   entPhysicalVendorType.2 == acmeProducts.slotTypes.1
   entPhysicalContainedIn.2 == 1
   entPhysicalClass.2 = container(5)
   entPhysicalParentRelPos.2 == 6
   entPhysicalName.2 == 'Slot 6'
   entPhysicalHardwareRev.2 == 
   entPhysicalFirmwareRev.2 == 
   entPhysicalSoftwareRev.2 == 
   entPhysicalSerialNum.2 ==   
   entPhysicalMfgName.2 ==     'ACME'
   entPhysicalModelName.2 ==   
   entPhysicalAlias.2 ==   
   entPhysicalAssetID.2 == 
   entPhysicalIsFRU.2 == false(2)
   entPhysicalUris.2 == urn:7dc53df5-703e-49b3-8670-b1c468f47f1f'
   entPhysicalUUID.2 == '7dc53df5-703e-49b3-8670-b1c468f47f1f'
   entPhysicalDescr.4 == 'ACME Series1 Line Card'
   entPhysicalVendorType.4 == acmeProducts.moduleTypes.14
   entPhysicalContainedIn.4 == 2
   entPhysicalClass.4 == module(9)
   entPhysicalParentRelPos.4 == 0
   entPhysicalName.4 == 'Series1 Linecard'
   entPhysicalHardwareRev.4 == 
   entPhysicalFirmwareRev.4 == 
   entPhysicalSoftwareRev.4 == 
   entPhysicalSerialNum.4 ==   
   entPhysicalMfgName.4 == 'ACME'
   entPhysicalModelName.4 == 
   entPhysicalAlias.4 == 
   entPhysicalAssetID.4 == 
   entPhysicalIsFRU.4 == true(1)
   entPhysicalUris.4 ==  'urn:01c47915-4777-11d8-bc70-0090272ff725'
   entPhysicalUUID.4 == '01c47915-4777-11d8-bc70-0090272ff725'

Security Considerations

There are a number of management objects defined in these MIB modules with 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. These are the tables and objects and their sensitivity/vulnerability:

  entPhysicalSerialNum
  entPhysicalAlias
  entPhysicalAssetID
  entPhysicalUris

These objects contain information about the physical entities within a managed system, which may be used to identify the serial number, identification of assets and managed components, and handling of the managed objects. Their mis-configuration or disclosure may reveal sensitive information on assets, perturb the management of entities, or cause privacy issues if they allow tracking of values that are personally identifying.

Some of the readable objects in these MIB modules (i.e., objects with a MAX-ACCESS other than not-accessible) may be considered sensitive or vulnerable in some network environments. It is thus important to control even GET and/or NOTIFY access to these objects and possibly to even encrypt the values of these objects when sending them over the network via SNMP. These are the tables and objects and their sensitivity/vulnerability:

  entPhysicalDescr
  entPhysicalVendorType
  entPhysicalHardwareRev
  entPhysicalFirmwareRev
  entPhysicalSoftwareRev
  entPhysicalMfgName
  entPhysicalModelName
  entPhysicalUUID

These objects expose information about the physical entities within a managed system, which may be used to identify the vendor, model, version, and specific device-identification information of each system component.

  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.

SNMP versions prior to SNMPv3 did not include adequate security. Even if the network itself is secure (for example by using IPsec), there is no control as to who on the secure network is allowed to access and GET/SET (read/change/create/delete) the objects in these MIB modules.

Implementations SHOULD provide the security features described by the SNMPv3 framework (see RFC3410), and implementations claiming compliance to the SNMPv3 standard MUST include full support for authentication and privacy via the User-based Security Model (USM) RFC3414 with the AES cipher algorithm RFC3826. Implementations MAY also provide support for the Transport Security Model (TSM) RFC5591 in combination with a secure transport such as SSH RFC5592 or TLS/DTLS RFC6353.

Further, deployment of SNMP versions prior to SNMPv3 is NOT RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to enable cryptographic security. It is then a customer/operator responsibility to ensure that the SNMP entity giving access to an instance of these MIB modules is properly configured to give access to the objects only to those principals (users) that have legitimate rights to indeed GET or SET (change/create/delete) them.

IANA Considerations

This document defines the first version of the IANA-maintained IANA-ENTITY-MIB module, which allows new physical classes to be added to the enumeration in IANAPhysicalClass. An Expert Review, as defined in RFC 5226 RFC5226, is REQUIRED for each modification.

The MIB module in this document uses the following IANA-assigned OBJECT IDENTIFIER values recorded in the SMI Numbers registry:

          Descriptor        OBJECT IDENTIFIER value
          ----------        -----------------------
          entityMIB          { mib-2 47 }

IANA has allocated two OBJECT IDENTIFIERS under mib-2 for:

          Descriptor        OBJECT IDENTIFIER value
          ----------        -----------------------
          ianaEntityMIB      { mib-2 216 }
          uuidTCMIB          { mib-2 217 }

Acknowledgements

The first three versions of RFCs on the ENTITY MIB modules were authored by A. Bierman and K. McCloghrie. The authors would like to thank A. Bierman and K. McCloghrie for the earlier versions of the ENTITY MIB.

The motivation for the extension to RFC 4133 stems from the requirements of the EMAN WG of the IETF.

The authors also thank Juergen Schoenwaelder for his review and comments for improving this document.

References

Normative References

RFC2119 Bradner, S., "Key words for use in RFCs to Indicate

             Requirement Levels", BCP 14, RFC 2119, March 1997.

RFC2578 McCloghrie, K., Perkins, D., and J. Schoenwaelder,

             "Structure of Management Information Version 2
             (SMIv2)", STD 58, RFC 2578, April 1999.

RFC2579 McCloghrie, K., Ed., Perkins, D., Ed., and J.

             Schoenwaelder, Ed., "Textual Conventions for SMIv2",
             STD 58, RFC 2579, April 1999.

RFC2580 McCloghrie, K., Ed., Perkins, D., Ed., and J.

             Schoenwaelder, Ed., "Conformance Statements for SMIv2",
             STD 58, RFC 2580, April 1999.

RFC3411 Harrington, D., Presuhn, R., and B. Wijnen, "An

             Architecture for Describing Simple Network Management
             Protocol (SNMP) Management Frameworks", STD 62, RFC
             3411, December 2002.

RFC3414 Blumenthal, U. and B. Wijnen, "User-based Security

             Model (USM) for version 3 of the Simple Network
             Management Protocol (SNMPv3)", STD 62, RFC 3414,
             December 2002.

RFC3826 Blumenthal, U., Maino, F., and K. McCloghrie, "The

             Advanced Encryption Standard (AES) Cipher Algorithm in
             the SNMP User-based Security Model", RFC 3826, June
             2004.

RFC3986 Berners-Lee, T., Fielding, R., and L. Masinter,

             "Uniform Resource Identifier (URI): Generic Syntax",
             STD 66, RFC 3986, January 2005.

RFC4122 Leach, P., Mealling, M., and R. Salz, "A Universally

             Unique IDentifier (UUID) URN Namespace", RFC 4122, July
             2005.

RFC5226 Narten, T. and H. Alvestrand, "Guidelines for Writing

             an IANA Considerations Section in RFCs", BCP 26, RFC
             5226, May 2008.

RFC5591 Harrington, D. and W. Hardaker, "Transport Security

             Model for the Simple Network Management Protocol
             (SNMP)", RFC 5591, June 2009.

RFC5592 Harrington, D., Salowey, J., and W. Hardaker, "Secure

             Shell Transport Model for the Simple Network Management
             Protocol (SNMP)", RFC 5592, June 2009.

RFC6353 Hardaker, W., "Transport Layer Security (TLS) Transport

             Model for the Simple Network Management Protocol
             (SNMP)", RFC 6353, July 2011.

Informative References

RFC1157 Case, J., Fedor, M., Schoffstall, M., and J. Davin,

             "Simple Network Management Protocol (SNMP)", RFC 1157,
             May 1990.

RFC1516 McMaster, D. and K. McCloghrie, "Definitions of Managed

             Objects for IEEE 802.3 Repeater Devices", RFC 1516,
             September 1993.

RFC2108 de Graaf, K., Romascanu, D., McMaster, D., and K.

             McCloghrie, "Definitions of Managed Objects for IEEE
             802.3 Repeater Devices using SMIv2", RFC 2108, February
             1997.

RFC2037 McCloghrie, K. and A. Bierman, "Entity MIB using

             SMIv2", RFC 2037, October 1996.

RFC2737 McCloghrie, K. and A. Bierman, "Entity MIB (Version

             2)", RFC 2737, December 1999.

RFC2863 McCloghrie, K. and F. Kastenholz, "The Interfaces Group

             MIB", RFC 2863, June 2000.

RFC3406 Daigle, L., van Gulik, D., Iannella, R., and P.

             Faltstrom, "Uniform Resource Names (URN) Namespace
             Definition Mechanisms", BCP 66, RFC 3406, October 2002.

RFC3410 Case, J., Mundy, R., Partain, D., and B. Stewart,

             "Introduction and Applicability Statements for
             Internet-Standard Management Framework", RFC 3410,
             December 2002.

RFC4133 Bierman, A. and K. McCloghrie, "Entity MIB (Version

             3)", RFC 4133, August 2005.

RFC4152 Tesink, K. and R. Fox, "A Uniform Resource Name (URN)

             Namespace for the Common Language Equipment Identifier
             (CLEI) Code", RFC 4152, August 2005.

RFC4188 Norseth, K., Ed., and E. Bell, Ed., "Definitions of

             Managed Objects for Bridges", RFC 4188, September 2005.

[T1.213] ATIS T1.213-2001, "Coded Identification of Equipment

             Entities in the North American Telecommunications
             System for Information Exchange", 2001, <www.ansi.org>.

[T1.213a] ATIS T1.213a, "Supplement to T1.213-2001, Coded

             Identification of Equipment Entities in the North
             American Telecommunications System for Information
             Exchange, to Correct the Representation of the Basic
             Code in Figure B.1", 2001, <www.ansi.org>.

Authors' Addresses

Andy Bierman YumaWorks, Inc. 274 Redwood Shores Parkway, #133 Redwood City, CA 94065 USA

Phone: +1 408-716-0466 EMail: [email protected]

Dan Romascanu Avaya Park Atidim, Bldg. #3 Tel Aviv, 61581 Israel

Phone: +972-3-6458414 EMail: [email protected]

Juergen Quittek NEC Europe Ltd. Network Research Division Kurfuersten-Anlage 36 Heidelberg 69115 Germany

Phone: +49 6221 4342-115 EMail: [email protected]

Mouli Chandramouli Cisco Systems, Inc. Sarjapur Outer Ring Road Bangalore 560103 India

Phone: +91 80 4429 2409 EMail: [email protected]