Tech-invite3GPPspaceIETFspace
959493929190898887868584838281807978777675747372717069686766656463626160595857565554535251504948474645444342414039383736353433323130292827262524232221201918171615141312111009080706050403020100
in Index   Prev   Next

RFC 2737

Entity MIB (Version 2)

Pages: 56
Obsoletes:  2037
Obsoleted by:  4133
Part 1 of 2 – Pages 1 to 26
None   None   Next

ToP   noToC   RFC2737 - Page 1
Network Working Group                                      K. McCloghrie
Request for Comments: 2737                           Cisco Systems, Inc.
Obsoletes: 2037                                               A. Bierman
                                                     Cisco Systems, Inc.
                                                           December 1999


                         Entity MIB (Version 2)

Status of this Memo

   This document specifies an Internet standards track protocol for the
   Internet community, and requests discussion and suggestions for
   improvements.  Please refer to the current edition of the "Internet
   Official Protocol Standards" (STD 1) for the standardization state
   and status of this protocol.  Distribution of this memo is unlimited.

Copyright Notice

   Copyright (C) The Internet Society (1999).  All Rights Reserved.

Abstract

   This memo defines a portion of the Management Information Base (MIB)
   for use with network management protocols in the Internet community.
   In particular, it describes managed objects used for managing
   multiple logical and physical entities managed by a single SNMP
   agent.

Table of Contents

   1 The SNMP Management Framework ...............................    2
   2 Overview ....................................................    3
   2.1 Terms .....................................................    4
   2.2 Relationship to Community Strings .........................    5
   2.3 Relationship to SNMP Contexts .............................    5
   2.4 Relationship to Proxy Mechanisms ..........................    6
   2.5 Relationship to a Chassis MIB .............................    6
   2.6 Relationship to the Interfaces MIB ........................    6
   2.7 Relationship to the Other MIBs ............................    7
   2.8 Relationship to Naming Scopes .............................    7
   2.9 Multiple Instances of the Entity MIB ......................    7
   2.10 Re-Configuration of Entities .............................    8
   2.11 Textual Convention Change ................................    8
   2.12 MIB Structure ............................................    8
   2.12.1 entityPhysical Group ...................................    9
   2.12.2 entityLogical Group ....................................   10
   2.12.3 entityMapping Group ....................................   10
ToP   noToC   RFC2737 - Page 2
   2.12.4 entityGeneral Group ....................................   11
   2.12.5 entityNotifications Group ..............................   11
   2.13 Multiple Agents ..........................................   11
   2.14 Changes Since RFC 2037 ...................................   11
   2.14.1 Textual Conventions ....................................   11
   2.14.2 New entPhysicalTable Objects ...........................   12
   2.14.3 New entLogicalTable Objects ............................   12
   2.14.4 Bugfixes ...............................................   12
   3 Definitions .................................................   13
   4 Usage Examples ..............................................   38
   4.1 Router/Bridge .............................................   38
   4.2 Repeaters .................................................   44
   5 Intellectual Property .......................................   51
   6 Acknowledgements ............................................   51
   7 References ..................................................   51
   8 Security Considerations .....................................   53
   9 Authors' Addresses ..........................................   55
   10 Full Copyright Statement ...................................   56

1.  The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

   o  An overall architecture, described in RFC 2571 [RFC2571].

   o  Mechanisms for describing and naming objects and events for the
      purpose of management. The first version of this Structure of
      Management Information (SMI) is called SMIv1 and described in STD
      16, RFC 1155 [RFC1155], STD 16, RFC 1212 [RFC1212] and RFC 1215
      [RFC1215].  The second version, called SMIv2, is described in STD
      58, RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC
      2580 [RFC2580].

   o  Message protocols for transferring management information. The
      first version of the SNMP message protocol is called SNMPv1 and
      described in STD 15, RFC 1157 [RFC1157]. A second version of the
      SNMP message protocol, which is not an Internet standards track
      protocol, is called SNMPv2c and described in RFC 1901 [RFC1901]
      and RFC 1906 [RFC1906]. The third version of the message protocol
      is called SNMPv3 and described in RFC 1906 [RFC1906], RFC 2572
      [RFC2572] and RFC 2574 [RFC2574].

   o  Protocol operations for accessing management information. The
      first set of protocol operations and associated PDU formats is
      described in STD 15, RFC 1157 [RFC1157]. A second set of protocol
      operations and associated PDU formats is described in RFC 1905
      [RFC1905].
ToP   noToC   RFC2737 - Page 3
   o  A set of fundamental applications described in RFC 2573 [RFC2573]
      and the view-based access control mechanism described in RFC 2575
      [RFC2575].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [RFC2570].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2. A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations. The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64). Some machine readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process. However, this loss of machine
   readable information is not considered to change the semantics of the
   MIB.

2.  Overview

   There is a need for a standardized way of representing a single agent
   which supports multiple instances of one MIB.  This is presently true
   for at least 3 standard MIBs, and is likely to become true for more
   and more MIBs as time passes.  For example:

      - multiple instances of a bridge supported within a single device
        having a single agent;

      - multiple repeaters supported by a single agent;

      - multiple OSPF backbone areas, each one operating as part of its
        own Autonomous System, and each identified by the same area-id
        (e.g., 0.0.0.0), supported inside a single router with one
        agent.

   The fact that it is a single agent in each of these cases implies
   there is some relationship which binds all of these entities
   together.  Effectively, there is some "overall" physical entity which
   houses the sum of the things managed by that one agent, i.e., there
   are multiple "logical" entities within a single physical entity.
   Sometimes, the overall physical entity contains multiple (smaller)
   physical entities and each logical entity is associated with a
   particular physical entity.  Sometimes, the overall physical entity
   is a "compound" of multiple physical entities (e.g., a stack of
   stackable hubs).
ToP   noToC   RFC2737 - Page 4
   What is needed is a way to determine exactly what logical entities
   are managed by the agent (with some version of SNMP), and thereby to
   be able to communicate with the agent about a particular logical
   entity.  When different logical entities are associated with
   different physical entities within the overall physical entity, it is
   also useful to be able to use this information to distinguish between
   logical entities.

   In these situations, there is no need for varbinds for multiple
   logical entities to be referenced in the same SNMP message (although
   that might be useful in the future).  Rather, it is sufficient, and
   in some situations preferable, to have the context/community in the
   message identify the logical entity to which the varbinds apply.

   Version 2 of this MIB addresses new requirements that have emerged
   since the publication of the first Entity MIB (RFC 2037 [RFC2037]).
   There is a need for a standardized way of providing non-volatile,
   administratively assigned identifiers for physical components
   represented with the Entity MIB.  There is also a need to align the
   Entity MIB with the SNMPv3 administrative framework (RFC 2571
   [RFC2571]). Implementation experience has shown that additional
   physical component attributes are also desirable.

2.1.  Terms

   Some new terms are used throughout this document:

      - Naming Scope
        A "naming scope" represents the set of information that may be
        potentially accessed through a single SNMP operation. All
        instances within the naming scope share the same unique
        identifier space.  For SNMPv1, a naming scope is identified by
        the value of the associated 'entLogicalCommunity' instance.  For
        SNMPv3, the term 'context' is used instead of 'naming scope'.
        The complete definition of an SNMP context can be found in
        section 3.3.1 of RFC 2571 [RFC2571].

      - Multi-Scoped Object
        A MIB object, for which identical instance values identify
        different managed information in different naming scopes, is
        called a "multi-scoped" MIB object.

      - Single-Scoped Object
        A MIB object, for which identical instance values identify the
        same managed information in different naming scopes, is called a
        "single-scoped" MIB object.
ToP   noToC   RFC2737 - Page 5
      - Logical Entity
        A managed system contains one or more logical entities, each
        represented by at most one instantiation of each of a particular
        set of MIB objects.  A set of management functions is associated
        with each logical entity. Examples of logical entities include
        routers, bridges, print-servers, etc.

      - Physical Entity
        A "physical entity" or "physical component" represents an
        identifiable physical resource within a managed system. Zero or
        more logical entities may utilize a physical resource at any
        given time. It is an implementation-specific manner as to which
        physical components are represented by an agent in the
        EntPhysicalTable.  Typically, physical resources (e.g.,
        communications ports, backplanes, sensors, daughter-cards, power
        supplies, the overall chassis) which can be managed via
        functions associated with one or more logical entities are
        included in the MIB.

      - Containment Tree
        Each physical component may be modeled as 'contained' within
        another physical component. A "containment-tree" is the
        conceptual sequence of entPhysicalIndex values which uniquely
        specifies the exact physical location of a physical component
        within the managed system.  It is generated by 'following and
        recording' each 'entPhysicalContainedIn' instance 'up the tree
        towards the root', until a value of zero indicating no further
        containment is found.

2.2.  Relationship to Community Strings

   For community-based SNMP, distinguishing between different logical
   entities is one (but not the only) purpose of the community string
   (STD 15, RFC 1157 [RFC1157]).  This is accommodated by representing
   each community string as a logical entity.

   Note that different logical entities may share the same naming scope
   (and therefore the same values of entLogicalCommunity). This is
   possible, providing they have no need for the same instance of a MIB
   object to represent different managed information.

2.3.  Relationship to SNMP Contexts

   Version 2 of the Entity MIB contains support for associating SNMPv3
   contexts with logical entities. Two new MIB objects, defining an
   SnmpEngineID and ContextName pair, are used together to identify an
   SNMP context associated with a logical entity. This context can be
ToP   noToC   RFC2737 - Page 6
   used (in conjunction with the entLogicalTAddress and
   entLogicalTDomain MIB objects) to send SNMPv3 messages on behalf of a
   particular logical entity.

2.4.  Relationship to Proxy Mechanisms

   The Entity MIB is designed to allow functional component discovery.
   The administrative relationships between different logical entities
   are not visible in any Entity MIB tables. An NMS cannot determine
   whether MIB instances in different naming scopes are realized locally
   or remotely (e.g., via some proxy mechanism) by examining any
   particular Entity MIB objects.

   The management of administrative framework functions is not an
   explicit goal of the Entity MIB WG at this time. This new area of
   functionality may be revisited after some operational experience with
   the Entity MIB is gained.

   Note that for community-based versions of SNMP, a network
   administrator will likely be able to associate community strings with
   naming scopes with proprietary mechanisms, as a matter of
   configuration.  There are no mechanisms for managing naming scopes
   defined in this MIB.

2.5.  Relationship to a Chassis MIB

   Some readers may recall that a previous IETF working group attempted
   to define a Chassis MIB.  No consensus was reached by that working
   group, possibly because its scope was too broad.  As such, it is not
   the purpose of this MIB to be a "Chassis MIB replacement", nor is it
   within the scope of this MIB to contain all the information which
   might be necessary to manage a "chassis".  On the other hand, the
   entities represented by an implementation of this MIB might well be
   contained in a chassis.

2.6.  Relationship to the Interfaces MIB

   The Entity MIB contains a mapping table identifying physical
   components that have 'external values' (e.g., ifIndex) associated
   with them within a given naming scope.  This table can be used to
   identify the physical location of each interface in the ifTable (RFC
   2233 [RFC2233]).  Since ifIndex values in different contexts are not
   related to one another, the interface to physical component
   associations are relative to the same logical entity within the
   agent.
ToP   noToC   RFC2737 - Page 7
   The Entity MIB also contains 'entPhysicalName' and 'entPhysicalAlias'
   objects, which approximate the semantics of the 'ifName' and '
   ifAlias' objects (respectively) from the Interfaces MIB [RFC2233],
   for all types of physical components.

2.7.  Relationship to the Other MIBs

   The Entity MIB contains a mapping table identifying physical
   components that have identifiers from other standard MIBs associated
   with them.  For example, this table can be used along with the
   physical mapping table to identify the physical location of each
   repeater port in the rptrPortTable, or each interface in the ifTable.

2.8.  Relationship to Naming Scopes

   There is some question as to which MIB objects may be returned within
   a given naming scope. MIB objects which are not multi-scoped within a
   managed system are likely to ignore context information in
   implementation. In such a case, it is likely such objects will be
   returned in all naming scopes (e.g., not just the 'default' naming
   scope or the SNMPv3 default context).

   For example, a community string used to access the management
   information for logical device 'bridge2' may allow access to all the
   non-bridge related objects in the 'default' naming scope, as well as
   a second instance of the Bridge MIB (RFC 1493 [RFC1493]).

   It is an implementation-specific matter as to the isolation of
   single-scoped MIB objects by the agent. An agent may wish to limit
   the objects returned in a particular naming scope to just the multi-
   scoped objects in that naming scope (e.g., system group and the
   Bridge MIB).  In this case, all single-scoped management information
   would belong to a common naming scope (e.g., 'default'), which itself
   may contain some multi-scoped objects (e.g., system group).

2.9.  Multiple Instances of the Entity MIB

   It is possible that more than one agent exists in a managed system,
   and in such cases, multiple instances of the Entity MIB (representing
   the same managed objects) may be available to an NMS.

   In order to reduce complexity for agent implementation, multiple
   instances of the Entity MIB are not required to be equivalent or even
   consistent. An NMS may be able to 'align' instances returned by
   different agents by examining the columns of each table, but vendor-
   specific identifiers and (especially) index values are likely to be
   different. Each agent may be managing different subsets of the entire
   chassis as well.
ToP   noToC   RFC2737 - Page 8
   When all of a physically-modular device is represented by a single
   agent, the entry for which entPhysicalContainedIn has the value zero
   would likely have 'chassis' as the value of its entPhysicalClass;
   alternatively, for an agent on a module where the agent represents
   only the physical entities on that module (not those on other
   modules), the entry for which entPhysicalContainedIn has the value
   zero would likely have 'module' as the value of its entPhysicalClass.

   An agent implementation of the entLogicalTable is not required to
   contain information about logical entities managed primarily by other
   agents. That is, the entLogicalTAddress and entLogicalTDomain objects
   in the entLogicalTable are provided to support an historical
   multiplexing mechanism, not to identify other SNMP agents.

   Note that the Entity MIB is a single-scoped MIB, in the event an
   agent represents the MIB in different naming scopes.

2.10.  Re-Configuration of Entities

   Most of the MIB objects defined in this MIB have at most a read-only
   MAX-ACCESS clause.  This is a conscious decision by the working group
   to limit this MIB's scope.  The second version of the Entity MIB
   allows a network administrator to configure some common attributes of
   physical components.

2.11.  Textual Convention Change

   Version 1 of the Entity MIB contains three MIB objects defined with
   the (now obsolete) DisplayString textual convention.  In version 2 of
   the Entity MIB, the syntax for these objects has been updated to use
   the (now preferred) SnmpAdminString textual convention.

   The working group realizes that this change is not strictly supported
   by SMIv2.  In our judgment, the alternative of deprecating the old
   objects and defining new objects would have a more adverse impact on
   backward compatibility and interoperability, given the particular
   semantics of these objects.

2.12.  MIB Structure

   The Entity MIB contains five groups of MIB objects:

      - entityPhysical group
        Describes the physical entities managed by a single agent.

      - entityLogical group
        Describes the logical entities managed by a single agent.
ToP   noToC   RFC2737 - Page 9
      - entityMapping group
        Describes the associations between the physical entities,
        logical entities, interfaces, and non-interface ports managed by
        a single agent.

      - entityGeneral group
        Describes general system attributes shared by potentially all
        types of entities managed by a single agent.

      - entityNotifications group
        Contains status indication notifications.

2.12.1.  entityPhysical Group

   This group contains a single table to identify physical system
   components, called the entPhysicalTable.

   The entPhysicalTable contains one row per physical entity, and must
   always contain at least one row for an "overall" physical entity,
   which should have an entPhysicalClass value of 'stack(11)', '
   chassis(3)' or 'module(9)'.

   Each row is indexed by an arbitrary, small integer, and contains a
   description and type of the physical entity.  It also optionally
   contains the index number of another entPhysicalEntry indicating a
   containment relationship between the two.

   Version 2 of the Entity MIB provides additional MIB objects for each
   physical entity. Some common read-only attributes have been added, as
   well as three writable string objects.

      - entPhysicalAlias
        This string can be used by an NMS as a non-volatile identifier
        for the physical component. Maintaining a non-volatile string
        for every physical component represented in the entPhysicalTable
        can be costly and unnecessary.  An agent may algorithmically
        generate 'entPhysicalAlias' strings for particular entries
        (e.g., based on the entPhysicalClass value).

      - entPhysicalAssetID
        This string is provided to store a user-specific asset
        identifier for removable physical components.  In order to
        reduce the non-volatile storage needed by a particular agent, a
        network administrator should only assign asset identifiers to
        physical entities which are field-replaceable (i.e., not
        permanently contained within another physical entity).
ToP   noToC   RFC2737 - Page 10
      - entPhysicalSerialNum
        This string is provided to store a vendor-specific serial number
        string for physical components.  This is a writable object in
        case an agent cannot identify the serial numbers of all
        installed physical entities, and a network administrator wishes
        to configure the non-volatile serial number strings manually
        (via an NMS application).

2.12.2.  entityLogical Group

   This group contains a single table to identify logical entities,
   called the entLogicalTable.

   The entLogicalTable contains one row per logical entity.  Each row is
   indexed by an arbitrary, small integer and contains a name,
   description, and type of the logical entity. It also contains
   information to allow access to the MIB information for the logical
   entity. This includes SNMP versions that use a community name (with
   some form of implied context representation) and SNMP versions that
   use the SNMP ARCH [RFC2571] method of context identification.

   If a agent represents multiple logical entities with this MIB, then
   this group must be implemented for all logical entities known to the
   agent.

   If an agent represents a single logical entity, or multiple logical
   entities within a single naming scope, then implementation of this
   group may be omitted by the agent.

2.12.3.  entityMapping Group

   This group contains three tables to identify associations between
   different system components.

   The entLPMappingTable contains mappings between entLogicalIndex
   values (logical entities) and entPhysicalIndex values (the physical
   components supporting that entity). A logical entity can map to more
   than one physical component, and more than one logical entity can map
   to (share) the same physical component.  If an agent represents a
   single logical entity, or multiple logical entities within a single
   naming scope, then implementation of this table may be omitted by the
   agent.

   The entAliasMappingTable contains mappings between entLogicalIndex,
   entPhysicalIndex pairs and 'alias' object identifier values.  This
   allows resources managed with other MIBs (e.g., repeater ports,
   bridge ports, physical and logical interfaces) to be identified in
   the physical entity hierarchy. Note that each alias identifier is
ToP   noToC   RFC2737 - Page 11
   only relevant in a particular naming scope.  If an agent represents a
   single logical entity, or multiple logical entities within a single
   naming scope, then implementation of this table may be omitted by the
   agent.

   The entPhysicalContainsTable contains simple mappings between
   'entPhysicalContainedIn' values for each container/'containee'
   relationship in the managed system. The indexing of this table allows
   an NMS to quickly discover the 'entPhysicalIndex' values for all
   children of a given physical entity.

2.12.4.  entityGeneral Group

   This group contains general information relating to the other object
   groups.

   At this time, the entGeneral group contains a single scalar object
   (entLastChangeTime), which represents the value of sysUptime when any
   part of the Entity MIB configuration last changed.

2.12.5.  entityNotifications Group

   This group contains notification definitions relating to the overall
   status of the Entity MIB instantiation.

2.13.  Multiple Agents

   Even though a primary motivation for this MIB is to represent the
   multiple logical entities supported by a single agent, it is also
   possible to use it to represent multiple logical entities supported
   by multiple agents (in the same "overall" physical entity).  Indeed,
   it is implicit in the SNMP architecture, that the number of agents is
   transparent to a network management station.

   However, there is no agreement at this time as to the degree of
   cooperation which should be expected for agent implementations.
   Therefore, multiple agents within the same managed system are free to
   implement the Entity MIB independently.  (Refer the section on
   "Multiple Instances of the Entity MIB" for more details).

2.14.  Changes Since RFC 2037

2.14.1.  Textual Conventions

   The PhysicalClass TC text has been clarified, and a new enumeration
   to support 'stackable' components has been added.  The
   SnmpEngineIdOrNone TC has been added to support SNMPv3.
ToP   noToC   RFC2737 - Page 12
2.14.2.  New entPhysicalTable Objects

   The entPhysicalHardwareRev, entPhysicalFirmwareRev, and
   entPhysicalSoftwareRev objects have been added for revision
   identification.

   The entPhysicalSerialNum, entPhysicalMfgName, entPhysicalModelName,
   and entPhysicalIsFru objects have been added for better vendor
   identification for physical components.  The entPhysicalSerialNum
   object can be set by a management station in the event the agent
   cannot identify this information.

   The entPhysicalAlias and entPhysicalAssetID objects have been added
   for better user component identification. These objects are intended
   to be set by a management station and preserved by the agent across
   restarts.

2.14.3.  New entLogicalTable Objects

   The entLogicalContextEngineID and entLogicalContextName objects have
   been added to provide an SNMP context for SNMPv3 access on behalf of
   a logical entity.

2.14.4.  Bugfixes

   A bug was fixed in the entLogicalCommunity object. The subrange was
   incorrect (1..255) and is now (0..255).  The description clause has
   also been clarified.  This object is now deprecated.

   The entLastChangeTime object description has been changed to
   generalize the events which cause an update to the last change
   timestamp.

   The syntax was changed from DisplayString to SnmpAdminString for the
   entPhysicalDescr, entPhysicalName, and entLogicalDescr objects.
ToP   noToC   RFC2737 - Page 13
3.  Definitions

ENTITY-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, mib-2, NOTIFICATION-TYPE
        FROM SNMPv2-SMI
    TDomain, TAddress, TEXTUAL-CONVENTION,
    AutonomousType, RowPointer, TimeStamp, TruthValue
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB;

entityMIB MODULE-IDENTITY
    LAST-UPDATED "9912070000Z" -- December 7, 1999
    ORGANIZATION "IETF ENTMIB Working Group"
    CONTACT-INFO
            "        WG E-mail: entmib@cisco.com
                  Subscribe: majordomo@cisco.com
                         msg body: subscribe entmib

                     Keith McCloghrie
                     ENTMIB Working Group Chair
                     Cisco Systems Inc.
                     170 West Tasman Drive
                     San Jose, CA 95134
                     +1 408-526-5260
                     kzm@cisco.com

                     Andy Bierman
                     ENTMIB Working Group Editor
                     Cisco Systems Inc.
                     170 West Tasman Drive
                     San Jose, CA 95134
                     +1 408-527-3711
                     abierman@cisco.com"
    DESCRIPTION
            "The MIB module for representing multiple logical
            entities supported by a single SNMP agent."
    REVISION        "9912070000Z"
    DESCRIPTION
            "Initial Version of Entity MIB (Version 2).
             This revision obsoletes RFC 2037.
             This version published as RFC 2737."
    REVISION        "9610310000Z"
    DESCRIPTION
ToP   noToC   RFC2737 - Page 14
            "Initial version (version 1), published as
             RFC 2037."
    ::= { mib-2 47 }

entityMIBObjects OBJECT IDENTIFIER ::= { entityMIB 1 }

-- MIB contains four groups
entityPhysical OBJECT IDENTIFIER ::= { entityMIBObjects 1 }
entityLogical  OBJECT IDENTIFIER ::= { entityMIBObjects 2 }
entityMapping  OBJECT IDENTIFIER ::= { entityMIBObjects 3 }
entityGeneral  OBJECT IDENTIFIER ::= { entityMIBObjects 4 }

-- Textual Conventions
PhysicalIndex ::= TEXTUAL-CONVENTION
    STATUS            current
    DESCRIPTION
            "An arbitrary value which uniquely identifies the physical
            entity.  The value should be a small positive integer; index
            values for different physical entities are not necessarily
            contiguous."
    SYNTAX INTEGER (1..2147483647)

PhysicalClass ::= TEXTUAL-CONVENTION
    STATUS            current
    DESCRIPTION
            "An enumerated value which provides an indication of the
            general hardware type of a particular physical entity.
            There are no restrictions as to the number of
            entPhysicalEntries of each entPhysicalClass, which must be
            instantiated by an agent.

            The enumeration 'other' is applicable if the physical entity
            class is known, but does not match any of the supported
            values.

            The enumeration 'unknown' is applicable if the physical
            entity class is unknown to the agent.

            The enumeration 'chassis' is applicable if the physical
            entity class is an overall container for networking
            equipment.  Any class of physical entity except a stack may
            be contained within a chassis, and a chassis may only be
            contained within a stack.

            The enumeration 'backplane' is applicable if the physical
            entity class is some sort of device for aggregating and
            forwarding networking traffic, such as a shared backplane in
            a modular ethernet switch.  Note that an agent may model a
ToP   noToC   RFC2737 - Page 15
            backplane as a single physical entity, which is actually
            implemented as multiple discrete physical components (within
            a chassis or stack).

            The enumeration 'container' is applicable if the physical
            entity class is capable of containing one or more removable
            physical entities, possibly of different types. For example,
            each (empty or full) slot in a chassis will be modeled as a
            container. Note that all removable physical entities should
            be modeled within a container entity, such as field-
            replaceable modules, fans, or power supplies.  Note that all
            known containers should be modeled by the agent, including
            empty containers.

            The enumeration 'powerSupply' is applicable if the physical
            entity class is a power-supplying component.

            The enumeration 'fan' is applicable if the physical entity
            class is a fan or other heat-reduction component.

            The enumeration 'sensor' is applicable if the physical
            entity class is some sort of sensor, such as a temperature
            sensor within a router chassis.

            The enumeration 'module' is applicable if the physical
            entity class is some sort of self-contained sub-system.  If
            it is removable, then it should be modeled within a
            container entity, otherwise it should be modeled directly
            within another physical entity (e.g., a chassis or another
            module).

            The enumeration 'port' is applicable if the physical entity
            class is some sort of networking port, capable of receiving
            and/or transmitting networking traffic.

            The enumeration 'stack' is applicable if the physical entity
            class is some sort of super-container (possibly virtual),
            intended to group together multiple chassis entities.  A
            stack may be realized by a 'virtual' cable, a real
            interconnect cable, attached to multiple chassis, or may in
            fact be comprised of multiple interconnect cables. A stack
            should not be modeled within any other physical entities,
            but a stack may be contained within another stack.  Only
            chassis entities should be contained within a stack."
    SYNTAX      INTEGER  {
       other(1),
       unknown(2),
       chassis(3),
ToP   noToC   RFC2737 - Page 16
       backplane(4),
       container(5),     -- e.g., chassis slot or daughter-card holder
       powerSupply(6),
       fan(7),
       sensor(8),
       module(9),        -- e.g., plug-in card or daughter-card
       port(10),
       stack(11)         -- e.g., stack of multiple chassis entities
    }

SnmpEngineIdOrNone ::= TEXTUAL-CONVENTION
    STATUS            current
    DESCRIPTION
            "A specially formatted SnmpEngineID string for use with the
            Entity MIB.

            If an instance of an object of SYNTAX SnmpEngineIdOrNone has
            a non-zero length, then the object encoding and semantics
            are defined by the SnmpEngineID textual convention (see RFC
            2571 [RFC2571]).

            If an instance of an object of SYNTAX SnmpEngineIdOrNone
            contains a zero-length string, then no appropriate
            SnmpEngineID is associated with the logical entity (i.e.,
            SNMPv3 not supported)."
    SYNTAX OCTET STRING (SIZE(0..32)) -- empty string or SnmpEngineID

--           The Physical Entity Table
entPhysicalTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EntPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per physical entity.  There is
            always at least one row for an 'overall' physical entity."
    ::= { entityPhysical 1 }

entPhysicalEntry       OBJECT-TYPE
    SYNTAX      EntPhysicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about a particular physical entity.

            Each entry provides objects (entPhysicalDescr,
            entPhysicalVendorType, and entPhysicalClass) to help an NMS
            identify and characterize the entry, and objects
            (entPhysicalContainedIn and entPhysicalParentRelPos) to help
ToP   noToC   RFC2737 - Page 17
            an NMS relate the particular entry to other entries in this
            table."
    INDEX   { entPhysicalIndex }
    ::= { entPhysicalTable 1 }

EntPhysicalEntry ::= SEQUENCE {
      entPhysicalIndex          PhysicalIndex,
      entPhysicalDescr          SnmpAdminString,
      entPhysicalVendorType     AutonomousType,
      entPhysicalContainedIn    INTEGER,
      entPhysicalClass          PhysicalClass,
      entPhysicalParentRelPos   INTEGER,
      entPhysicalName           SnmpAdminString,
      entPhysicalHardwareRev    SnmpAdminString,
      entPhysicalFirmwareRev    SnmpAdminString,
      entPhysicalSoftwareRev    SnmpAdminString,
      entPhysicalSerialNum      SnmpAdminString,
      entPhysicalMfgName        SnmpAdminString,
      entPhysicalModelName      SnmpAdminString,
      entPhysicalAlias          SnmpAdminString,
      entPhysicalAssetID        SnmpAdminString,
      entPhysicalIsFRU          TruthValue
}

entPhysicalIndex    OBJECT-TYPE
    SYNTAX      PhysicalIndex
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "The index for this entry."
    ::= { entPhysicalEntry 1 }

entPhysicalDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A textual description of physical entity.  This object
            should contain a string which identifies the manufacturer's
            name for the physical entity, and should be set to a
            distinct value for each version or model of the physical
            entity. "
    ::= { entPhysicalEntry 2 }

entPhysicalVendorType OBJECT-TYPE
    SYNTAX      AutonomousType
    MAX-ACCESS  read-only
    STATUS      current
ToP   noToC   RFC2737 - Page 18
    DESCRIPTION
            "An indication of the vendor-specific hardware type of the
            physical entity.  Note that this is different from the
            definition of MIB-II's sysObjectID.

            An agent should set this object to a enterprise-specific
            registration identifier value indicating the specific
            equipment type in detail.  The associated instance of
            entPhysicalClass is used to indicate the general type of
            hardware device.

            If no vendor-specific registration identifier exists for
            this physical entity, or the value is unknown by this agent,
            then the value { 0 0 } is returned."
    ::= { entPhysicalEntry 3 }

entPhysicalContainedIn OBJECT-TYPE
    SYNTAX      INTEGER (0..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The value of entPhysicalIndex for the physical entity which
            'contains' this physical entity.  A value of zero indicates
            this physical entity is not contained in any other physical
            entity.  Note that the set of 'containment' relationships
            define a strict hierarchy; that is, recursion is not
            allowed.

            In the event a physical entity is contained by more than one
            physical entity (e.g., double-wide modules), this object
            should identify the containing entity with the lowest value
            of entPhysicalIndex."
    ::= { entPhysicalEntry 4 }

entPhysicalClass OBJECT-TYPE
    SYNTAX      PhysicalClass
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An indication of the general hardware type of the physical
            entity.

            An agent should set this object to the standard enumeration
            value which most accurately indicates the general class of
            the physical entity, or the primary class if there is more
            than one.

            If no appropriate standard registration identifier exists
ToP   noToC   RFC2737 - Page 19
            for this physical entity, then the value 'other(1)' is
            returned. If the value is unknown by this agent, then the
            value 'unknown(2)' is returned."
    ::= { entPhysicalEntry 5 }

entPhysicalParentRelPos OBJECT-TYPE
    SYNTAX      INTEGER (-1..2147483647)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An indication of the relative position of this 'child'
            component among all its 'sibling' components. Sibling
            components are defined as entPhysicalEntries which share the
            same instance values of each of the entPhysicalContainedIn
            and entPhysicalClass objects.

            An NMS can use this object to identify the relative ordering
            for all sibling components of a particular parent
            (identified by the entPhysicalContainedIn instance in each
            sibling entry).

            This value should match any external labeling of the
            physical component if possible. For example, for a container
            (e.g., card slot) labeled as 'slot #3',
            entPhysicalParentRelPos should have the value '3'.  Note
            that the entPhysicalEntry for the module plugged in slot 3
            should have an entPhysicalParentRelPos value of '1'.

            If the physical position of this component does not match
            any external numbering or clearly visible ordering, then
            user documentation or other external reference material
            should be used to determine the parent-relative position. If
            this is not possible, then the the agent should assign a
            consistent (but possibly arbitrary) ordering to a given set
            of 'sibling' components, perhaps based on internal
            representation of the components.

            If the agent cannot determine the parent-relative position
            for some reason, or if the associated value of
            entPhysicalContainedIn is '0', then the value '-1' is
            returned. Otherwise a non-negative integer is returned,
            indicating the parent-relative position of this physical
            entity.

            Parent-relative ordering normally starts from '1' and
            continues to 'N', where 'N' represents the highest
            positioned child entity.  However, if the physical entities
            (e.g., slots) are labeled from a starting position of zero,
ToP   noToC   RFC2737 - Page 20
            then the first sibling should be associated with a
            entPhysicalParentRelPos value of '0'.  Note that this
            ordering may be sparse or dense, depending on agent
            implementation.

            The actual values returned are not globally meaningful, as
            each 'parent' component may use different numbering
            algorithms. The ordering is only meaningful among siblings
            of the same parent component.

            The agent should retain parent-relative position values
            across reboots, either through algorithmic assignment or use
            of non-volatile storage."
    ::= { entPhysicalEntry 6 }

entPhysicalName OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The textual name of the physical entity.  The value of this
            object should be the name of the component as assigned by
            the local device and should be suitable for use in commands
            entered at the device's `console'.  This might be a text
            name, such as `console' or a simple component number (e.g.,
            port or module number), such as `1', depending on the
            physical component naming syntax of the device.

            If there is no local name, or this object is otherwise not
            applicable, then this object contains a zero-length string.

            Note that the value of entPhysicalName for two physical
            entities will be the same in the event that the console
            interface does not distinguish between them, e.g., slot-1
            and the card in slot-1."
    ::= { entPhysicalEntry 7 }

entPhysicalHardwareRev    OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific hardware revision string for the
            physical entity.  The preferred value is the hardware
            revision identifier actually printed on the component itself
            (if present).

            Note that if revision information is stored internally in a
ToP   noToC   RFC2737 - Page 21
            non-printable (e.g., binary) format, then the agent must
            convert such information to a printable format, in an
            implementation-specific manner.

            If no specific hardware revision string is associated with
            the physical component, or this information is unknown to
            the agent, then this object will contain a zero-length
            string."
    ::= { entPhysicalEntry 8 }

entPhysicalFirmwareRev    OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific firmware revision string for the
            physical entity.

            Note that if revision information is stored internally in a
            non-printable (e.g., binary) format, then the agent must
            convert such information to a printable format, in an
            implementation-specific manner.

            If no specific firmware programs are associated with the
            physical component, or this information is unknown to the
            agent, then this object will contain a zero-length string."
    ::= { entPhysicalEntry 9 }

entPhysicalSoftwareRev    OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific software revision string for the
            physical entity.

            Note that if revision information is stored internally in a
            non-printable (e.g., binary) format, then the agent must
            convert such information to a printable format, in an
            implementation-specific manner.

            If no specific software programs are associated with the
            physical component, or this information is unknown to the
            agent, then this object will contain a zero-length string."
    ::= { entPhysicalEntry 10 }

entPhysicalSerialNum   OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
ToP   noToC   RFC2737 - Page 22
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "The vendor-specific serial number string for the physical
            entity.  The preferred value is the serial number string
            actually printed on the component itself (if present).

            On the first instantiation of an physical entity, the value
            of entPhysicalSerialNum associated with that entity is set
            to the correct vendor-assigned serial number, if this
            information is available to the agent.  If a serial number
            is unknown or non-existent, the entPhysicalSerialNum will be
            set to a zero-length string instead.

            Note that implementations which can correctly identify the
            serial numbers of all installed physical entities do not
            need to provide write access to the entPhysicalSerialNum
            object. Agents which cannot provide non-volatile storage for
            the entPhysicalSerialNum strings are not required to
            implement write access for this object.

            Not every physical component will have a serial number, or
            even need one.  Physical entities for which the associated
            value of the entPhysicalIsFRU object is equal to 'false(2)'
            (e.g., the repeater ports within a repeater module), do not
            need their own unique serial number. An agent does not have
            to provide write access for such entities, and may return a
            zero-length string.

            If write access is implemented for an instance of
            entPhysicalSerialNum, and a value is written into the
            instance, the agent must retain the supplied value in the
            entPhysicalSerialNum instance associated with the same
            physical entity for as long as that entity remains
            instantiated. This includes instantiations across all re-
            initializations/reboots of the network management system,
            including those which result in a change of the physical
            entity's entPhysicalIndex value."
    ::= { entPhysicalEntry 11 }

entPhysicalMfgName   OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The name of the manufacturer of this physical component.
            The preferred value is the manufacturer name string actually
            printed on the component itself (if present).
ToP   noToC   RFC2737 - Page 23
            Note that comparisons between instances of the
            entPhysicalModelName, entPhysicalFirmwareRev,
            entPhysicalSoftwareRev, and the entPhysicalSerialNum
            objects, are only meaningful amongst entPhysicalEntries with
            the same value of entPhysicalMfgName.

            If the manufacturer name string associated with the physical
            component is unknown to the agent, then this object will
            contain a zero-length string."
    ::= { entPhysicalEntry 12 }

entPhysicalModelName   OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "The vendor-specific model name identifier string associated
            with this physical component.  The preferred value is the
            customer-visible part number, which may be printed on the
            component itself.

            If the model name string associated with the physical
            component is unknown to the agent, then this object will
            contain a zero-length string."
    ::= { entPhysicalEntry 13 }

entPhysicalAlias    OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "This object is an 'alias' name for the physical entity as
            specified by a network manager, and provides a non-volatile
            'handle' for the physical entity.

            On the first instantiation of an physical entity, the value
            of entPhysicalAlias associated with that entity is set to
            the zero-length string.  However, agent may set the value to
            a locally unique default value, instead of a zero-length
            string.

            If write access is implemented for an instance of
            entPhysicalAlias, and a value is written into the instance,
            the agent must retain the supplied value in the
            entPhysicalAlias instance associated with the same physical
            entity for as long as that entity remains instantiated.
            This includes instantiations across all re-
            initializations/reboots of the network management system,
ToP   noToC   RFC2737 - Page 24
            including those which result in a change of the physical
            entity's entPhysicalIndex value."
    ::= { entPhysicalEntry 14 }

entPhysicalAssetID OBJECT-TYPE
    SYNTAX      SnmpAdminString (SIZE (0..32))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "This object is a user-assigned asset tracking identifier
            for the physical entity as specified by a network manager,
            and provides non-volatile storage of this information.

            On the first instantiation of an physical entity, the value
            of entPhysicalAssetID associated with that entity is set to
            the zero-length string.

            Not every physical component will have a asset tracking
            identifier, or even need one.  Physical entities for which
            the associated value of the entPhysicalIsFRU object is equal
            to 'false(2)' (e.g., the repeater ports within a repeater
            module), do not need their own unique asset tracking
            identifier. An agent does not have to provide write access
            for such entities, and may instead return a zero-length
            string.

            If write access is implemented for an instance of
            entPhysicalAssetID, and a value is written into the
            instance, the agent must retain the supplied value in the
            entPhysicalAssetID instance associated with the same
            physical entity for as long as that entity remains
            instantiated.  This includes instantiations across all re-
            initializations/reboots of the network management system,
            including those which result in a change of the physical
            entity's entPhysicalIndex value.

            If no asset tracking information is associated with the
            physical component, then this object will contain a zero-
            length string."
    ::= { entPhysicalEntry 15 }

entPhysicalIsFRU OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "This object indicates whether or not this physical entity
            is considered a 'field replaceable unit' by the vendor.  If
ToP   noToC   RFC2737 - Page 25
            this object contains the value 'true(1)' then this
            entPhysicalEntry identifies a field replaceable unit.  For
            all entPhysicalEntries which represent components that are
            permanently contained within a field replaceable unit, the
            value 'false(2)' should be returned for this object."

    ::= { entPhysicalEntry 16 }

--           The Logical Entity Table
entLogicalTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EntLogicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "This table contains one row per logical entity.  For agents
            which implement more than one naming scope, at least one
            entry must exist. Agents which instantiate all MIB objects
            within a single naming scope are not required to implement
            this table."
    ::= { entityLogical 1 }

entLogicalEntry       OBJECT-TYPE
    SYNTAX      EntLogicalEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
            "Information about a particular logical entity.  Entities
            may be managed by this agent or other SNMP agents (possibly)
            in the same chassis."
    INDEX       { entLogicalIndex }
    ::= { entLogicalTable 1 }

EntLogicalEntry ::= SEQUENCE {
      entLogicalIndex            INTEGER,
      entLogicalDescr            SnmpAdminString,
      entLogicalType             AutonomousType,
      entLogicalCommunity        OCTET STRING,
      entLogicalTAddress         TAddress,
      entLogicalTDomain          TDomain,
      entLogicalContextEngineID  SnmpEngineIdOrNone,
      entLogicalContextName      SnmpAdminString
}

entLogicalIndex OBJECT-TYPE
    SYNTAX      INTEGER (1..2147483647)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
ToP   noToC   RFC2737 - Page 26
            "The value of this object uniquely identifies the logical
            entity. The value should be a small positive integer; index
            values for different logical entities are are not
            necessarily contiguous."
    ::= { entLogicalEntry 1 }

entLogicalDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "A textual description of the logical entity.  This object
            should contain a string which identifies the manufacturer's
            name for the logical entity, and should be set to a distinct
            value for each version of the logical entity. "
    ::= { entLogicalEntry 2 }

entLogicalType OBJECT-TYPE
    SYNTAX      AutonomousType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
            "An indication of the type of logical entity.  This will
            typically be the OBJECT IDENTIFIER name of the node in the
            SMI's naming hierarchy which represents the major MIB
            module, or the majority of the MIB modules, supported by the
            logical entity.  For example:
               a logical entity of a regular host/router -> mib-2
               a logical entity of a 802.1d bridge -> dot1dBridge
               a logical entity of a 802.3 repeater -> snmpDot3RptrMgmt
            If an appropriate node in the SMI's naming hierarchy cannot
            be identified, the value 'mib-2' should be used."
    ::= { entLogicalEntry 3 }

entLogicalCommunity OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0..255))
    MAX-ACCESS  read-only
    STATUS      deprecated
    DESCRIPTION
            "An SNMPv1 or SNMPv2C community-string which can be used to
            access detailed management information for this logical
            entity.  The agent should allow read access with this
            community string (to an appropriate subset of all managed
            objects) and may also return a community string based on the
            privileges of the request used to read this object.  Note
            that an agent may return a community string with read-only
            privileges, even if this object is accessed with a read-
            write community string. However, the agent must take care


(next page on part 2)

Next Section