#-MIBFILE: entity-mib.mib

ENTITY-MIB DEFINITIONS ::= BEGIN


mib-2 OBJECT IDENTIFIER ::= { mgmt 1 }
DisplayString ::=
	OCTET STRING (SIZE(0..255))

PhysAddress ::=
	OCTET STRING

MacAddress ::=
	OCTET STRING (SIZE(6))

TruthValue ::=
	INTEGER {
	true(1),
	false(2)
	}

TestAndIncr ::=
	INTEGER (0..2147483647)

AutonomousType ::=
	OBJECT IDENTIFIER

InstancePointer ::=
	OBJECT IDENTIFIER

VariablePointer ::=
	OBJECT IDENTIFIER

RowPointer ::=
	OBJECT IDENTIFIER

RowStatus ::=
	INTEGER {
	active(1),
	notInService(2),
	notReady(3),
	createAndGo(4),
	createAndWait(5),
	destroy(6)
	}

TimeStamp ::=
	TimeTicks

TimeInterval ::=
	INTEGER (0..2147483647)

DateAndTime ::=
	OCTET STRING (SIZE(8|11))

StorageType ::=
	INTEGER {
	other(1),
	volatile(2),
	nonVolatile(3),
	permanent(4),
	readOnly(5)
	}

TDomain ::=
	OBJECT IDENTIFIER

TAddress ::=
	OCTET STRING (SIZE(1..255))

SnmpEngineID ::=
	OCTET STRING (SIZE(5..32))

SnmpSecurityModel ::=
	INTEGER (0..2147483647)

SnmpMessageProcessingModel ::=
	INTEGER (0..2147483647)

SnmpSecurityLevel ::=
	INTEGER {
	noAuthNoPriv(1),
	authNoPriv(2),
	authPriv(3)
	}

SnmpAdminString ::=
	OCTET STRING (SIZE(0..255))

PhysicalIndex ::=
	INTEGER (1..2147483647)

PhysicalIndexOrZero ::=
	INTEGER (0..2147483647)

PhysicalClass ::=
	INTEGER {
	other(1),
	unknown(2),
	chassis(3),
	backplane(4),
	container(5),
	powerSupply(6),
	fan(7),
	sensor(8),
	module(9),
	port(10),
	stack(11),
	cpu(12)
	}

SnmpEngineIdOrNone ::=
	OCTET STRING (SIZE(0..32))

entityMIB OBJECT IDENTIFIER ::= { mib-2 47 }

entityMIBObjects OBJECT IDENTIFIER ::= { entityMIB 1 }

entityPhysical OBJECT IDENTIFIER ::= { entityMIBObjects 1 }

entityLogical OBJECT IDENTIFIER ::= { entityMIBObjects 2 }

entityMapping OBJECT IDENTIFIER ::= { entityMIBObjects 3 }

entityGeneral OBJECT IDENTIFIER ::= { entityMIBObjects 4 }

entPhysicalTable OBJECT-TYPE
	SYNTAX SEQUENCE OF EntPhysicalEntry
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Information about a particular physical entity.

Each entry provides objects (entPhysicalDescr,
entPhysicalVendorType, and entPhysicalClass) to help an NMS
identify and characterize the entry, and objects
(entPhysicalContainedIn and entPhysicalParentRelPos) to help
an NMS relate the particular entry to other entries in this
table."
	INDEX { entPhysicalIndex  }

	::= { entPhysicalTable 1 }

entPhysicalEntry ::=
	SEQUENCE {
		entPhysicalIndex PhysicalIndex,
		entPhysicalDescr SnmpAdminString,
		entPhysicalVendorType AutonomousType,
		entPhysicalContainedIn PhysicalIndexOrZero,
		entPhysicalClass PhysicalClass,
		entPhysicalParentRelPos Integer32,
		entPhysicalName SnmpAdminString,
		entPhysicalHardwareRev SnmpAdminString,
		entPhysicalFirmwareRev SnmpAdminString,
		entPhysicalSoftwareRev SnmpAdminString,
		entPhysicalSerialNum SnmpAdminString,
		entPhysicalMfgName SnmpAdminString,
		entPhysicalModelName SnmpAdminString,
		entPhysicalAlias SnmpAdminString,
		entPhysicalAssetID SnmpAdminString,
		entPhysicalIsFRU TruthValue,
		entPhysicalMfgDate DateAndTime,
		entPhysicalUris OCTET STRING
		}

entPhysicalIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The index for this entry."
	::= { entPhysicalEntry 1 }


entPhysicalDescr OBJECT-TYPE
	SYNTAX SnmpAdminString
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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 INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The value of entPhysicalIndex for the physical entity which
'contains' this physical entity.  A value of zero indicates
this physical entity is not contained in any other physical
entity.  Note that the set of 'containment' relationships
define a strict hierarchy; that is, recursion is not
allowed.

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


entPhysicalClass OBJECT-TYPE
	SYNTAX INTEGER {
	other(1),
	unknown(2),
	chassis(3),
	backplane(4),
	container(5),
	powerSupply(6),
	fan(7),
	sensor(8),
	module(9),
	port(10),
	stack(11),
	cpu(12)
	}
	ACCESS read-only
	STATUS mandatory
	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 INTEGER (-1..2147483647)
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The vendor-specific serial number string for the physical
entity.  The preferred value is the serial number string
actually printed on the component itself (if present).

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

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

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

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


entity's entPhysicalIndex value."
	::= { entPhysicalEntry 11 }


entPhysicalMfgName OBJECT-TYPE
	SYNTAX SnmpAdminString
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This object contains additional identification information
about the physical entity.  The object contains URIs and,
therefore, the syntax of this object must conform to RFC
3986, section 2.

Multiple URIs may be present and are separated by white
space characters.  Leading and trailing white space
characters are ignored.

If no additional identification information is known
about the physical entity or supported, the object is not
instantiated.  A zero length octet string may also be


returned in this case."
	::= { entPhysicalEntry 18 }


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


entLogicalEntry OBJECT-TYPE
	SYNTAX EntLogicalEntry
	ACCESS read-only
	STATUS mandatory
	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 INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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))
	ACCESS read-only
	STATUS optional
	DESCRIPTION "An SNMPv1 or SNMPv2C community-string, which can be used to
access detailed management information for this logical
entity.  The agent should allow read access with this
community string (to an appropriate subset of all managed
objects) and may also return a community string based on the
privileges of the request used to read this object.  Note
that an agent may return a community string with read-only
privileges, even if this object is accessed with a
read-write community string.  However, the agent must take


care not to return a community string that allows more
privileges than the community string used to access this
object.

A compliant SNMP agent may wish to conserve naming scopes by
representing multiple logical entities in a single 'default'
naming scope.  This is possible when the logical entities,
represented by the same value of entLogicalCommunity, have
no object instances in common.  For example, 'bridge1' and
'repeater1' may be part of the main naming scope, but at
least one additional community string is needed to represent
'bridge2' and 'repeater2'.

Logical entities 'bridge1' and 'repeater1' would be
represented by sysOREntries associated with the 'default'
naming scope.

For agents not accessible via SNMPv1 or SNMPv2C, the value
of this object is the empty string.  This object may also
contain an empty string if a community string has not yet
been assigned by the agent, or if no community string with
suitable access rights can be returned for a particular SNMP
request.

Note that this object is deprecated.  Agents which implement
SNMPv3 access should use the entLogicalContextEngineID and
entLogicalContextName objects to identify the context
associated with each logical entity.  SNMPv3 agents may
return a zero-length string for this object, or may continue
to return a community string (e.g., tri-lingual agent
support)."
	::= { entLogicalEntry 4 }


entLogicalTAddress OBJECT-TYPE
	SYNTAX TAddress
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The transport service address by which the logical entity
receives network management traffic, formatted according to
the corresponding value of entLogicalTDomain.

For snmpUDPDomain, a TAddress is 6 octets long: the initial
4 octets contain the IP-address in network-byte order and
the last 2 contain the UDP port in network-byte order.
Consult 'Transport Mappings for the Simple Network
Management Protocol' (STD 62, RFC 3417 [RFC3417]) for
further information on snmpUDPDomain."
	::= { entLogicalEntry 5 }


entLogicalTDomain OBJECT-TYPE
	SYNTAX TDomain
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Indicates the kind of transport service by which the
logical entity receives network management traffic.
Possible values for this object are presently found in the
Transport Mappings for Simple Network Management Protocol'
(STD 62, RFC 3417 [RFC3417])."
	::= { entLogicalEntry 6 }


entLogicalContextEngineID OBJECT-TYPE
	SYNTAX OCTET STRING (SIZE(0..32))
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Information about a particular logical entity to physical
equipment association.  Note that the nature of the
association is not specifically identified in this entry.
It is expected that sufficient information exists in the
MIBs used to manage a particular logical entity to infer how
physical component information is utilized."
	INDEX { entLogicalIndex , entLPPhysicalIndex }

	::= { entLPMappingTable 1 }

entLPMappingEntry ::=
	SEQUENCE {
		entLPPhysicalIndex PhysicalIndex
		}

entLPPhysicalIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The value of this object identifies the index value of a
particular entPhysicalEntry associated with the indicated
entLogicalEntity."
	::= { entLPMappingEntry 1 }


entAliasMappingTable OBJECT-TYPE
	SYNTAX SEQUENCE OF EntAliasMappingEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "This table contains zero or more rows, representing
mappings of logical entity and physical component to
external MIB identifiers.  Each physical port in the system
may be associated with a mapping to an external identifier,
which itself is associated with a particular logical
entity's naming scope.  A 'wildcard' mechanism is provided
to indicate that an identifier is associated with more than
one logical entity."
	::= { entityMapping 2 }


entAliasMappingEntry OBJECT-TYPE
	SYNTAX EntAliasMappingEntry
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "Information about a particular physical equipment, logical


entity to external identifier binding.  Each logical
entity/physical component pair may be associated with one
alias mapping.  The logical entity index may also be used as
a 'wildcard' (refer to the entAliasLogicalIndexOrZero object
DESCRIPTION clause for details.)

Note that only entPhysicalIndex values that represent
physical ports (i.e., associated entPhysicalClass value is
'port(10)') are permitted to exist in this table."
	INDEX { entPhysicalIndex , entAliasLogicalIndexOrZero }

	::= { entAliasMappingTable 1 }

entAliasMappingEntry ::=
	SEQUENCE {
		entAliasLogicalIndexOrZero Integer32,
		entAliasMappingIdentifier RowPointer
		}

entAliasLogicalIndexOrZero OBJECT-TYPE
	SYNTAX INTEGER (0..2147483647)
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	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 }


entPhysicalContainsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF EntPhysicalContainsEntry
	ACCESS read-only
	STATUS mandatory
	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
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "A single container/'containee' relationship."
	INDEX { entPhysicalIndex , entPhysicalChildIndex }

	::= { entPhysicalContainsTable 1 }

entPhysicalContainsEntry ::=
	SEQUENCE {
		entPhysicalChildIndex PhysicalIndex
		}

entPhysicalChildIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2147483647)
	ACCESS read-only
	STATUS mandatory
	DESCRIPTION "The value of entPhysicalIndex for the contained physical
entity."
	::= { entPhysicalContainsEntry 1 }


entLastChangeTime OBJECT-TYPE
	SYNTAX TimeStamp
	ACCESS read-only
	STATUS mandatory
	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 }


entityMIBTraps OBJECT IDENTIFIER ::= { entityMIB 2 }

entityMIBTrapPrefix OBJECT IDENTIFIER ::= { entityMIBTraps 0 }

entityConformance OBJECT IDENTIFIER ::= { entityMIB 3 }

entityCompliances OBJECT IDENTIFIER ::= { entityConformance 1 }

entityGroups OBJECT IDENTIFIER ::= { entityConformance 2 }

entityPhysicalGroup OBJECT IDENTIFIER ::= { entityGroups 1 }

entityLogicalGroup OBJECT IDENTIFIER ::= { entityGroups 2 }

entityMappingGroup OBJECT IDENTIFIER ::= { entityGroups 3 }

entityGeneralGroup OBJECT IDENTIFIER ::= { entityGroups 4 }

entityNotificationsGroup OBJECT IDENTIFIER ::= { entityGroups 5 }

entityPhysical2Group OBJECT IDENTIFIER ::= { entityGroups 6 }

entityLogical2Group OBJECT IDENTIFIER ::= { entityGroups 7 }

entityPhysical3Group OBJECT IDENTIFIER ::= { entityGroups 8 }

entConfigChange TRAP-TYPE
	ENTERPRISE entityMIBTraps
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."
	::= 1


END

