Network Working Group M. Bakke
Request for Comments: 4544 Cisco Systems
Category: Standards Track M. Krueger
Hewlett-Packard
T. McSweeney
IBM
J. Muchow
Qlogic Corp.
May 2006
Definitions of Managed Objectsfor Internet Small Computer System Interface (iSCSI)
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 (2006).
Abstract
This memo defines a portion of the Management Information Base (MIB)
for use with network management protocols in TCP/IP-based internets.
In particular, it defines objects for managing a client using the
Internet Small Computer System Interface (iSCSI) protocol (SCSI over
TCP).
Bakke, et al. Standards Track [Page 1]

RFC 4544 iSCSI MIB May 20061. Introduction
This document defines a MIB module for iSCSI [RFC3720], used to
manage devices that implement the iSCSI protocol.
2. Specification of Requirements
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in RFC 2119 [RFC2119].
3. The Internet-Standard Management Framework
For a detailed overview of the documents that describe the current
Internet-Standard Management Framework, please refer to section 7 of
RFC 3410 [RFC3410].
Managed objects are accessed via a virtual information store, termed
the Management Information Base or MIB. MIB objects are generally
accessed through the Simple Network Management Protocol (SNMP).
Objects in the MIB are defined using the mechanisms defined in the
Structure of Management Information (SMI). This memo specifies a MIB
module that is compliant to the SMIv2, which is described in STD 58,
RFC 2578 [RFC2578], STD 58, RFC 2579 [RFC2579] and STD 58, RFC 2580
[RFC2580].
4. Relationship to Other MIB Modules
The iSCSI MIB module is normally layered between the SCSI MIB module
[RFC4455] and the TCP MIB module [RFC4022], and makes use of the IP
Storage (IPS) Identity Authentication MIB module [RFC4545]. Here is
how these modules are related:
SCSI MIB Within systems where a SCSI layer is present, each
iscsiNode, whether it has an initiator role, target role,
or both, is related to one SCSI device within the SCSI MIB
module. In this case, the iscsiNodeTransportType attribute
points to the SCSI transport object within the SCSI MIB
module, which in turn contains an attribute that points
back to the iscsiNode. In this way, a management station
can navigate between the two MIB modules. In systems where
a SCSI layer is not present, such as within an iSCSI proxy
device, the iscsiNodeTransportType attribute points to the
appropriate corresponding object within the appropriate
MIB, or is left blank.
Bakke, et al. Standards Track [Page 3]

RFC 4544 iSCSI MIB May 2006
TCP MIB Each iSCSI connection is related to one transport-level
connection. Currently, iSCSI uses only TCP; the iSCSI
connection is related to a TCP connection using its normal
(protocol, source address, source port, destination
address, destination port) 5-tuple.
AUTH MIB Each iSCSI node that serves a target role can have a list
of authorized initiators. Each of the entries in this list
points to an identity within the IPS Identity
Authentication MIB module that will be allowed to access
the target. iSCSI nodes that serve in an initiator role
can also have a list of authorized targets. Each of the
entries in this list points to an identity within the Auth
MIB module to which the initiator should attempt to
establish sessions. The Auth MIB module includes
information used to identify initiators and targets by
their iSCSI name, IP address, and/or credentials.
This MIB module imports objects from RFCs 2578 [RFC2578], 2579
[RFC2579], 2580 [RFC2580], and 3411 [RFC3411]. It also imports
textual conventions from the INET-ADDRESS-MIB [RFC4001].
5. Relationship to SNMP Contexts
Each non-scalar object in the iSCSI MIB module is indexed first by an
iSCSI Instance. Each instance is a collection of nodes, portals,
sessions, etc., that can define a physical or virtual partitioning of
an iSCSI-capable device. The use of an instance works well with
partitionable or hierarchical storage devices and fits in logically
with other management schemes. Instances do not replace SNMP
contexts, however they do provide a very simple way to assign a
virtual or physical partition of a device to one or more SNMP
contexts, without having to do so for each individual node, portal,
and session row.
6. Discussion
This MIB module structure supplies configuration, fault, and
statistics information for iSCSI devices [RFC3720]. It is structured
around the well-known iSCSI objects, such as targets, initiators,
sessions, connections, and the like.
This MIB module may also be used to configure access to iSCSI
targets, by creating iSCSI Portals and authorization list entries.
Bakke, et al. Standards Track [Page 4]

RFC 4544 iSCSI MIB May 2006
It is worthwhile to note that this is an iSCSI MIB module and as such
reflects only iSCSI objects. This module does not contain
information about the SCSI-layer attributes of a device. If a SCSI
layer is present, the SCSI MIB module, currently under development,
may be used to manage SCSI information for a device.
The iSCSI MIB module consists of several "objects", each of which is
represented by one or more tables. This section contains a brief
description of the "object" hierarchy and a description of each
object, followed by a discussion of the actual table structure within
the objects.
6.1. iSCSI MIB Object Model
The top-level object in this structure is the iSCSI instance, which
"contains" all of the other objects.
iscsiInstance
-- A distinct iSCSI entity within the managed system.
iscsiPortal
-- An IP address used by this instance
iscsiTargetPortal
-- Contains portal information relevant when the portal
-- is used to listen for connections to its targets.
iscsiInitiatorPortal
-- Contains portal information relevant when the portal
-- is used to initiate connections to other targets.
iscsiNode
-- An iSCSI node can act as an initiator, a target, or both.
-- Contains generic (non-role-specific) information.
iscsiTarget
-- Target-specific iSCSI node information.
iscsiTgtAuth
-- A list of initiator identities that are allowed
-- access to this target.
iscsiInitiator
-- Initiator-specific iSCSI node information.
iscsiIntrAuth
-- A list of target identities to which this initiator
-- is configured to establish sessions.
iscsiSession
-- An active iSCSI session between an initiator and target.
-- The session's direction may be Inbound (outside
-- initiator to our target) or Outbound (our initiator to
-- an outside target).
iscsiConnection
-- An active TCP connection within an iSCSI session.
Bakke, et al. Standards Track [Page 5]

RFC 4544 iSCSI MIB May 2006
An iSCSI node can be an initiator, a target, or both. The iSCSI
node's portals may be used to initiate connections (initiator) or
listen for connections (target), depending on whether the iSCSI node
is acting as an initiator or target. The iSCSI MIB module assumes
that any target may be accessed via any portal that can take on a
target role, although other access controls not reflected in the
module might limit this.
6.2. iSCSI MIB Table Structure
Each iSCSI object exports one or more tables: an attributes table,
and zero or more statistics tables, which augment the attributes
table. Since iSCSI is an evolving standard, it is much cleaner to
provide statistics and attributes as separate tables, allowing
attributes and statistics to be added independently. In a few cases,
there are multiple categories of statistics that will likely grow; in
this case, an object will contain multiple statistics tables.
iscsiObjects
iscsiDescriptors
iscsiInstance
iscsiInstanceAttributesTable
iscsiInstanceSsnErrorStatsTable
-- Counts abnormal session terminations
iscsiPortal
iscsiPortalAttributesTable
iscsiTargetPortal
iscsiTgtPortalAttributesTable
iscsiInitiatorPortal
iscsiIntrPortalAttributesTable
iscsiNode
iscsiNodeAttributesTable
iscsiTarget
iscsiTargetAttributesTable
iscsiTargetLoginStatsTable
-- Counts successful and unsuccessful logins
iscsiTargetLogoutStatsTable
-- Counts normal and abnormal logouts
iscsiTgtAuthorization
iscsiTgtAuthAttributesTable
iscsiInitiator
iscsiInitiatorAttributesTable
iscsiInitiatorLoginStatsTable
-- Counts successful and unsuccessful logins
iscsiInitiatorLogoutStatsTable
-- Counts normal and abnormal logouts
iscsiIntrAuthorization
iscsiIntrAuthAttributesTable
Bakke, et al. Standards Track [Page 6]

RFC 4544 iSCSI MIB May 2006
iscsiSession
iscsiSessionAttributesTable
iscsiSessionStatsTable
-- Performance-related counts (requests, responses, bytes)
iscsiSessionCxnErrorStatsTable
-- Counts digest errors, connection errors, etc.
iscsiConnection
iscsiConnectionAttributesTable
Note that this module does not attempt to count everything that could
be counted; it is designed to include only those counters that would
be useful for identifying performance, security, and fault problems
from a management station.
6.3. iscsiInstance
The iscsiInstanceAttributesTable is the primary table of the iSCSI
MIB module. Every table entry in this module is "owned" by exactly
one iSCSI instance; all other table entries in the module include
this table's index as their primary index.
Most implementations will include just one iSCSI instance row in this
table. However, this table exists to allow for multiple virtual
instances. For example, many IP routing products now allow multiple
virtual routers. The iSCSI MIB module has the same premise; a large
system could be "partitioned" into multiple, distinct virtual
systems.
This also allows a single SNMP agent to proxy for multiple
subsystems, perhaps a set of stackable devices, each of which has one
or even more instances.
The instance attributes include the iSCSI vendor and version, as well
as information on the last target or initiator at the other end of a
session that caused a session failure.
The iscsiInstanceSsnErrorStatsTable augments the attributes table and
provides statistics on session failures due to digest, connection, or
iSCSI format errors.
6.4. iscsiPortal
The iscsiPortalAttributesTable lists iSCSI portals that can be used
to listen for connections to targets, to initiate connections to
other targets, or to do both.
Bakke, et al. Standards Track [Page 7]

RFC 4544 iSCSI MIB May 2006
Each row in the table includes an IP address (either v4 or v6), and a
transport protocol (currently only TCP is defined). Each portal may
have additional attributes, depending on whether it is an initiator
portal, a target portal, or both. Initiator portals also have portal
tags; these are placed in corresponding rows in the
iscsiIntrPortalAttributesTable. Target portals have both portal tags
and ports (e.g., TCP listen ports if the transport protocol is TCP);
these are placed in rows in the iscsiTgtPortalAttributesTable.
Portal rows, along with their initiator and target portal
counterparts, may be created and destroyed through this MIB module by
a management station. Rows in the initiator and target portal tables
are created and destroyed automatically by the agent, whenever a row
is created or destroyed in the iscsiPortalAttributesTable, or if the
value of iscsiPortalRoles changes. Attributes in these tables may
then be modified by the management station if the agent
implementation allows.
When created by a management station, the iscsiPortalRoles attribute
is used to control row creation in the initiator and target portal
tables. Creating a row with the targetTypePortal bit set in
iscsiPortalRoles will cause the implementation to start listening for
iSCSI connections on the portal. Creating a row with the
initiatorTypePortal bit set in iscsiPortalRoles will not necessarily
cause connections to be established; it is left to the implementation
whether and when to make use of the portal. Both bits may be set if
the portal is to be used by both initiator and target nodes.
When deleting a row in the iscsiPortalAttibutesTable, all connections
associated with that row are terminated. The implementation may
either terminate the connection immediately or request a clean
shutdown as specified in [RFC3720]. An outbound connection (when an
iscsiInitiatorPortal is deleted) matches the portal if its
iscsiCxnLocalAddr matches the iscsiPortalAddr. An inbound connection
(when an iscsiTargetPortal is deleted) matches the portal if its
iscsiCxnLocalAddr matches the iscsiPortalAddr, and its
iscsiCxnLocalPort matches the iscsiTargetPortalPort.
Individual objects within a row in this table may not be modified
while the row is active. For instance, changing the IP address of a
portal requires that the rows associated with the old IP address be
deleted, and new rows be created (in either order).
Bakke, et al. Standards Track [Page 8]

RFC 4544 iSCSI MIB May 20066.5. iscsiTargetPortal
The iscsiTgtPortalAttributesTable contains target-specific attributes
for iSCSI portals. Rows in this table use the same indices as their
corresponding rows in the iscsiPortalAttributesTable, with the
addition of iscsiNodeIndex.
Rows in this table are created when the targetTypePortal bit is set
in the iscsiPortalRoles attribute of the corresponding
iscsiPortalAttributesEntry; they are destroyed when this bit is
cleared.
This table contains the TCP (or other protocol) port on which the
socket is listening for incoming connections. It also includes a
portal group aggregation tag; iSCSI target portals within this
instance sharing the same tag can contain connections within the same
session.
This table will be empty for iSCSI instances that contain only
initiators (such as iSCSI host driver implementations).
Many implementations use the same target portal tag and protocol port
for all nodes accessed via a portal. These implementations will
create a single row in the iscsiTgtPortalAttributeTable, with an
iscsiNodeIndex of zero.
Other implementations do not use the same tag and/or port for all
nodes; these implementations will create a row in this table for each
(portal, node) tuple, using iscsiNodeIndex to designate the node for
this portal tag and port.
6.6. iscsiInitiatorPortal
The iscsiIntrPortalAttributesTable contains initiator-specific
objects for iSCSI portals. Rows in this table use the same indices
as their corresponding entries in the iscsiPortalAttributesTable. A
row in this table is created when the initiatorTypePortal bit is set
in the iscsiPortalRoles attribute; it is destroyed when this bit is
cleared.
Each row in this table contains a portal group aggregation tag,
indicating which portals an initiator may use together within a
multiple-connection session.
This table will be empty for iSCSI instances that contain only
targets (such as most iSCSI devices).
Bakke, et al. Standards Track [Page 9]

RFC 4544 iSCSI MIB May 2006
Many implementations use the same initiator tag for all nodes
accessing targets via a given portal. These implementations will
create a single row in iscsiIntrPortalAttributeTable, with an
iscsiNodeIndex of zero.
Other implementations do not use the same tag and/or port for all
nodes; these implementations will create a row in this table for each
(portal, node) tuple, using iscsiNodeIndex to designate the node for
this portal tag and port.
6.7. iscsiNode
The iscsiNodeAttributesTable contains a list of iSCSI nodes, each of
which may have an initiator role, a target role, or both.
This table contains the node's attributes that are common to both
roles, such as its iSCSI name and alias string. Attributes specific
to initiators or targets are available in the iscsiTarget and
iscsiInitiator objects. Each row in this table that can fulfill a
target role has a corresponding row in the iscsiTarget table; each
entry that fulfills an initiator role has a row in the iscsiInitiator
table. Nodes such as copy managers that can take on both roles have
a corresponding row in each table.
This table also contains the login negotiations preferences for this
node. These objects indicate the values this node will offer or
prefer in the operational negotiation phase of the login process.
For most implementations, each entry in the table also contains a
RowPointer to the transport table entry in the SCSI MIB module that
this iSCSI node represents. For implementations without a standard
SCSI layer above iSCSI, such as an iSCSI proxy or gateway, this
RowPointer can point to a row in an implementation-specific table
that this iSCSI node represents.
6.8. iscsiTarget
The iscsiTargetAttributesTable contains target-specific attributes
for iSCSI nodes. Each entry in this table uses the same index values
as its corresponding iscsiNode entry.
This table contains attributes used to indicate the last failure that
was (or should have been) sent as a notification.
This table is augmented by the iscsiTargetLoginStatsTable and the
iscsiTargetLogoutStatsTable, which count the numbers of normal and
abnormal logins and logouts to this target.
Bakke, et al. Standards Track [Page 10]

RFC 4544 iSCSI MIB May 20066.9. iscsiTgtAuthorization
The iscsiTgtAuthAttributesTable contains an entry for each initiator
identifier that will be allowed to access the target under which it
appears. Each entry contains a RowPointer to a user identity in the
IPS Authorization MIB module, which contains the name, address, and
credential information necessary to authenticate the initiator.
6.10. iscsiInitiator
The iscsiInitiatorAttributesTable contains a list of initiator-
specific attributes for iSCSI nodes. Each entry in this table uses
the same index values as its corresponding iscsiNode entry.
Most implementations will include a single entry in this table,
regardless of the number of physical interfaces the initiator may
use.
This table is augmented by the iscsiInitiatorLoginStatsTable and the
iscsiInitiatorLogoutStatsTable, which count the numbers of normal and
abnormal logins and logouts from this initiator.
6.11. iscsiIntrAuthorization
The iscsiIntrAuthAttributesTable contains an entry for each target
identifier to which the initiator is configured to establish a
session.
Each entry contains a RowPointer to a user identity in the IPS
Authorization MIB module, which contains the name, address, and
credential information necessary to identify (for discovery purposes)
and authenticate the target.
6.12. iscsiSession
The iscsiSessionAttributesTable contains a set of rows that list the
sessions known to be existing locally for each node in each iSCSI
instance.
The session type for each session indicates whether the session is
used for normal SCSI commands or for discovery using the SendTargets
text command. Discovery sessions that do not belong to any
particular node have a node index attribute of zero.
Bakke, et al. Standards Track [Page 11]

RFC 4544 iSCSI MIB May 2006
The session direction for each session indicates whether it is an
Inbound session or an Outbound session. Inbound sessions are from
some other initiator to the target node under which the session
appears. Outbound sessions are from the initiator node under which
the session appears to a target outside this iSCSI instance.
Many attributes may be negotiated when starting an iSCSI session.
Most of these attributes are included in the session object.
Some attributes, such as the integrity and authentication schemes,
have some standard values that can be extended by vendors to include
their own schemes. These contain an object identifier, rather than
the expected enumerated type, to allow these values to be extended by
other MIB modules, such as an enterprise MIB module.
The iscsiSessionStatsTable includes statistics related to
performance; it counts iSCSI data bytes and PDUs.
For implementations that support error recovery without terminating a
session, the iscsiSessionCxnErrorStatsTable contains counters for the
numbers of digest and connection errors that have occurred within the
session.
6.13. iscsiConnection
The iscsiConnectionAttributesTable contains a list of active
connections within each session. It contains the IP addresses and
TCP (or other protocol) ports of both the local and remote sides of
the connection. These may be used to locate other connection-related
information and statistics in the TCP MIB module [RFC4022].
The attributes table also contains a connection state. This state is
not meant to directly map to the state tables included within the
iSCSI specification; they are meant to be simplified, higher-level
definitions of connection state that provide information more useful
to a user or network manager.
No statistics are kept for connections.
6.14. IP Addresses and TCP Port Numbers
The IP addresses in this module are represented by two attributes,
one of type InetAddressType, and the other of type InetAddress.
These are taken from [RFC4001], which specifies how to support
addresses that may be either IPv4 or IPv6.
Bakke, et al. Standards Track [Page 12]

RFC 4544 iSCSI MIB May 2006
The TCP port numbers that appear in a few of the structures are
described as simply port numbers, with a protocol attribute
indicating whether they are TCP ports or something else. This will
allow the module to be compatible with iSCSI over transports other
than TCP in the future.
6.15. Descriptors: Using OIDs in Place of Enumerated Types
The iSCSI MIB module has a few attributes, namely, the digest method
attributes, where an enumerated type would work well, except that an
implementation may need to extend the attribute and add types of its
own. To make this work, this MIB module defines a set of object
identities within the iscsiDescriptors subtree. Each of these object
identities is basically an enumerated type.
Attributes that make use of these object identities have a value that
is an Object Identifier (OID) instead of an enumerated type. These
OIDs can indicate either the object identities defined in this module
or object identities defined elsewhere, such as in an enterprise MIB
module. Those implementations that add their own digest methods
should also define a corresponding object identity for each of these
methods within their own enterprise MIB module, and return its OID
whenever one of these attributes is using that method.
6.16. Notifications
Three notifications are provided. One is sent by an initiator
detecting a critical login failure, another is sent by a target
detecting a critical login failure, and the third is sent upon a
session being terminated due to an abnormal connection or digest
failure. Critical failures are defined as those that may expose
security-related problems that may require immediate action, such as
failures due to authentication, authorization, or negotiation
problems. Attributes in the initiator, target, and instance objects
provide the information necessary to send in the notification, such
as the initiator or target name and IP address at the other end that
may have caused the failure.
To avoid sending an excessive number of notifications due to multiple
errors counted, an SNMP agent implementing the iSCSI MIB module
SHOULD NOT send more than three iSCSI notifications in any 10-second
period.
The 3-in-10 rule was chosen because one notification every three
seconds was deemed often enough, but should two or three different
notifications happen at the same time, it would not be desirable to
suppress them. Three notifications in 10 seconds is a happy medium,
Bakke, et al. Standards Track [Page 13]

RFC 4544 iSCSI MIB May 2006
::= { iscsiInstanceAttributesEntry 2 }
iscsiInstVersionMin OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The minimum version number of the iSCSI specification
such that this iSCSI instance supports this minimum
value, the maximum value indicated by the corresponding
instance in iscsiInstVersionMax, and all versions in
between."
REFERENCE
"RFC 3720, Section 10.12, Login Request"
::= { iscsiInstanceAttributesEntry 3 }
iscsiInstVersionMax OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The maximum version number of the iSCSI specification
such that this iSCSI instance supports this maximum
value, the minimum value indicated by the corresponding
instance in iscsiInstVersionMin, and all versions in
between."
REFERENCE
"RFC 3720, Section 10.12, Login Request"
::= { iscsiInstanceAttributesEntry 4 }
iscsiInstVendorID OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A UTF-8 string describing the manufacturer of the
implementation of this instance."
::= { iscsiInstanceAttributesEntry 5 }
iscsiInstVendorVersion OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A UTF-8 string set by the manufacturer describing the
version of the implementation of this instance. The
format of this string is determined solely by the
manufacturer, and is for informational purposes only.
Bakke, et al. Standards Track [Page 19]

RFC 4544 iSCSI MIB May 2006
It is unrelated to the iSCSI specification version numbers."
::= { iscsiInstanceAttributesEntry 6 }
iscsiInstPortalNumber OBJECT-TYPE
SYNTAX Unsigned32
UNITS "transport endpoints"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of rows in the iscsiPortalAttributesTable
that are currently associated with this iSCSI instance."
::= { iscsiInstanceAttributesEntry 7 }
iscsiInstNodeNumber OBJECT-TYPE
SYNTAX Unsigned32
UNITS "iSCSI nodes"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of rows in the iscsiNodeAttributesTable
that are currently associated with this iSCSI instance."
::= { iscsiInstanceAttributesEntry 8 }
iscsiInstSessionNumber OBJECT-TYPE
SYNTAX Unsigned32
UNITS "sessions"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of rows in the iscsiSessionAttributesTable
that are currently associated with this iSCSI instance."
::= { iscsiInstanceAttributesEntry 9 }
iscsiInstSsnFailures OBJECT-TYPE
SYNTAX Counter32
UNITS "sessions"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object counts the number of times a session belonging
to this instance has been failed. If this counter has
suffered a discontinuity, the time of the last discontinuity
is indicated in iscsiInstDiscontinuityTime."
REFERENCE
"RFC 3720, Section 12.1, HeaderDigest and DataDigest"
::= { iscsiInstanceAttributesEntry 10 }
iscsiInstLastSsnFailureType OBJECT-TYPE
Bakke, et al. Standards Track [Page 20]

RFC 4544 iSCSI MIB May 2006
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The counter object in the iscsiInstSsnErrorStatsTable
that was incremented when the last session failure occurred.
If the reason for failure is not found in the
iscsiInstSsnErrorStatsTable, the value { 0.0 } is
used instead."
::= { iscsiInstanceAttributesEntry 11 }
iscsiInstLastSsnRmtNodeName OBJECT-TYPE
SYNTAX IscsiName
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The iSCSI name of the remote node from the failed
session."
::= { iscsiInstanceAttributesEntry 12 }
iscsiInstDiscontinuityTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of SysUpTime on the most recent occasion
at which any one or more of this instance's counters
suffered a discontinuity.
If no such discontinuities have occurred since the last
re-initialization of the local management subsystem,
then this object contains a zero value."
::= { iscsiInstanceAttributesEntry 13 }
-- Instance Session Failure Stats Table
iscsiInstanceSsnErrorStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF IscsiInstanceSsnErrorStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"Statistics regarding the occurrences of error types
that result in a session failure."
::= { iscsiInstance 2 }
iscsiInstanceSsnErrorStatsEntry OBJECT-TYPE
Bakke, et al. Standards Track [Page 21]

RFC 4544 iSCSI MIB May 2006
iscsiPortalRecvMarker TruthValue,
iscsiPortalStorageType StorageType
}
iscsiPortalIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary integer used to uniquely identify a particular
transport endpoint within this iSCSI instance. This index
value must not be modified or reused by an agent unless a
reboot has occurred. An agent should attempt to keep this
value persistent across reboots."
::= { iscsiPortalAttributesEntry 1 }
iscsiPortalRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This field allows entries to be dynamically added and
removed from this table via SNMP. When adding a row to
this table, all non-Index/RowStatus objects must be set.
When the value of this object is 'active', the values of
the other objects in this table cannot be changed.
Rows may be discarded using RowStatus.
Note that creating a row in this table will typically
cause the agent to create one or more rows in
iscsiTgtPortalAttributesTable and/or
iscsiIntrPortalAttributesTable."
::= { iscsiPortalAttributesEntry 2 }
iscsiPortalRoles OBJECT-TYPE
SYNTAX BITS {
targetTypePortal(0),
initiatorTypePortal(1)
}
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A portal can operate in one or both of two roles:
as a target portal and/or an initiator portal. If
the portal will operate in both roles, both bits
must be set.
This object will define a corresponding row that
Bakke, et al. Standards Track [Page 24]

RFC 4544 iSCSI MIB May 2006
will exist or must be created in the
iscsiTgtPortalAttributesTable, the
iscsiIntrPortalAttributesTable or both. If the
targetTypePortal bit is set, one or more corresponding
iscsiTgtPortalAttributesEntry rows will be found or
created. If the initiatorTypePortal bit is set,
one or more corresponding iscsiIntrPortalAttributesEntry
rows will be found or created. If both bits are set, one
or more corresponding rows will be found or created in
one of the above tables."
::= { iscsiPortalAttributesEntry 3 }
iscsiPortalAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The type of Internet Network Address contained in the
corresponding instance of the iscsiPortalAddr."
DEFVAL { ipv4 }
::= { iscsiPortalAttributesEntry 4 }
iscsiPortalAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The portal's Internet Network Address, of the type
specified by the object iscsiPortalAddrType. If
iscsiPortalAddrType has the value 'dns', this address
gets resolved to an IP address whenever a new iSCSI
connection is established using this portal."
::= { iscsiPortalAttributesEntry 5 }
iscsiPortalProtocol OBJECT-TYPE
SYNTAX IscsiTransportProtocol
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The portal's transport protocol."
DEFVAL { 6 } -- TCP
::= { iscsiPortalAttributesEntry 6 }
iscsiPortalMaxRecvDataSegLength OBJECT-TYPE
SYNTAX Unsigned32 (512..16777215)
UNITS "bytes"
MAX-ACCESS read-create
STATUS current
Bakke, et al. Standards Track [Page 25]

RFC 4544 iSCSI MIB May 2006
iscsiPortalAttributesEntry row that has the bit
targetTypePortal set in its iscsiPortalRoles column."
INDEX { iscsiInstIndex, iscsiPortalIndex,
iscsiTgtPortalNodeIndexOrZero }
::= { iscsiTgtPortalAttributesTable 1 }
IscsiTgtPortalAttributesEntry ::= SEQUENCE {
iscsiTgtPortalNodeIndexOrZero Unsigned32,
iscsiTgtPortalPort InetPortNumber,
iscsiTgtPortalTag Unsigned32
}
iscsiTgtPortalNodeIndexOrZero OBJECT-TYPE
SYNTAX Unsigned32 (0..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary integer used to uniquely identify a
particular node within an iSCSI instance present
on the local system.
For implementations where each {portal, node} tuple
can have a different portal tag, this value will
map to the iscsiNodeIndex.
For implementations where the portal tag is the
same for a given portal regardless of which node
is using the portal, the value 0 (zero) is used."
::= { iscsiTgtPortalAttributesEntry 1 }
iscsiTgtPortalPort OBJECT-TYPE
SYNTAX InetPortNumber (1..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The portal's transport protocol port number on which the
portal listens for incoming iSCSI connections when the
portal is used as a target portal. This object's storage
type is specified in iscsiPortalStorageType."
::= { iscsiTgtPortalAttributesEntry 2 }
iscsiTgtPortalTag OBJECT-TYPE
SYNTAX Unsigned32 (1..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The portal's aggregation tag when the portal is used as
a target portal. Multiple-connection sessions may
Bakke, et al. Standards Track [Page 28]

RFC 4544 iSCSI MIB May 2006
"An arbitrary integer used to uniquely identify a
particular node within an iSCSI instance present
on the local system.
For implementations where each {portal, node} tuple
can have a different portal tag, this value will
map to the iscsiNodeIndex.
For implementations where the portal tag is the
same for a given portal regardless of which node
is using the portal, the value 0 (zero) is used."
::= { iscsiIntrPortalAttributesEntry 1 }
iscsiIntrPortalTag OBJECT-TYPE
SYNTAX Unsigned32 (1..65535)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The portal's aggregation tag when the portal is used as
an initiator portal. Multiple-connection sessions may
be aggregated over portals sharing an identical
aggregation tag. This object's storage type is
specified in iscsiPortalStorageType."
REFERENCE
"RFC 3720, Section 3.4.1, iSCSI Architectural Model"
::= { iscsiIntrPortalAttributesEntry 2 }
--**********************************************************************
iscsiNode OBJECT IDENTIFIER ::= { iscsiObjects 5 }
-- Node Attributes Table
iscsiNodeAttributesTable OBJECT-TYPE
SYNTAX SEQUENCE OF IscsiNodeAttributesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of iSCSI nodes belonging to each iSCSI instance
present on the local system. An iSCSI node can act as
an initiator, a target, or both."
::= { iscsiNode 1 }
iscsiNodeAttributesEntry OBJECT-TYPE
SYNTAX IscsiNodeAttributesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
Bakke, et al. Standards Track [Page 30]

RFC 4544 iSCSI MIB May 2006
iscsiNodeAlias OBJECT-TYPE
SYNTAX SnmpAdminString
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A character string that is a human-readable name or
description of the iSCSI node. If configured, this alias
may be communicated to the initiator or target node at
the remote end of the connection during a Login Request
or Response message. This string is not used as an
identifier, but can be displayed by the system's user
interface in a list of initiators and/or targets to
which it is connected.
If no alias exists, the value is a zero-length string."
REFERENCE
"RFC 3720, Section 12.6, TargetAlias, 12.7, InitiatorAlias"
::= { iscsiNodeAttributesEntry 3 }
iscsiNodeRoles OBJECT-TYPE
SYNTAX BITS {
targetTypeNode(0),
initiatorTypeNode(1)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A node can operate in one or both of two roles:
a target role and/or an initiator role. If the node
will operate in both roles, both bits must be set.
This object will also define the corresponding rows that
will exist in the iscsiTargetAttributesTable, the
iscsiInitiatorAttributesTable or both. If the
targetTypeNode bit is set, there will be a corresponding
iscsiTargetAttributesEntry. If the initiatorTypeNode bit
is set, there will be a corresponding
iscsiInitiatorAttributesEntry. If both bits are set,
there will be a corresponding iscsiTgtPortalAttributesEntry
and iscsiPortalAttributesEntry."
::= { iscsiNodeAttributesEntry 4 }
iscsiNodeTransportType OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A pointer to the corresponding row in the appropriate
Bakke, et al. Standards Track [Page 32]

RFC 4544 iSCSI MIB May 2006
the maximum time, in seconds after an initial wait
(Time2Wait), before which an active iSCSI task reassignment
is still possible after an unexpected connection termination
or a connection reset."
REFERENCE
"RFC 3720, Section 12.16, DefaultTime2Retain"
DEFVAL { 20 }
::= { iscsiNodeAttributesEntry 15 }
iscsiNodeErrorRecoveryLevel OBJECT-TYPE
SYNTAX Unsigned32 (0..255)
MAX-ACCESS read-write
STATUS current
DESCRIPTION
"The ErrorRecoveryLevel preference of this node.
Currently, only 0-2 are valid.
This object is designed to accommodate future error recovery
levels.
Higher error recovery levels imply support in addition to
support for the lower error level functions. In other words,
error level 2 implies support for levels 0-1, since those
functions are subsets of error level 2."
REFERENCE
"RFC 3720, Section 12.20, ErrorRecoveryLevel"
DEFVAL { 0 }
::= { iscsiNodeAttributesEntry 16 }
iscsiNodeDiscontinuityTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The value of SysUpTime on the most recent occasion
at which any one or more of this node's counters
suffered a discontinuity.
If no such discontinuities have occurred since the last
re-initialization of the local management subsystem,
then this object contains a zero value."
::= { iscsiNodeAttributesEntry 17 }
iscsiNodeStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-write
STATUS current
DESCRIPTION
Bakke, et al. Standards Track [Page 36]

RFC 4544 iSCSI MIB May 2006
"The storage type for all read-write objects within this
row. Rows in this table are always created via an
external process, and may have a storage type of readOnly
or permanent. Conceptual rows having the value 'permanent'
need not allow write access to any columnar objects in
the row.
If this object has the value 'volatile', modifications
to read-write objects in this row are not persistent
across reboots. If this object has the value
'nonVolatile', modifications to objects in this row
are persistent.
An implementation may choose to allow this object
to be set to either 'nonVolatile' or 'volatile',
allowing the management application to choose this
behavior."
DEFVAL { volatile }
::= { iscsiNodeAttributesEntry 18 }
--**********************************************************************
iscsiTarget OBJECT IDENTIFIER ::= { iscsiObjects 6 }
-- Target Attributes Table
iscsiTargetAttributesTable OBJECT-TYPE
SYNTAX SEQUENCE OF IscsiTargetAttributesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of iSCSI nodes that can take on a target role,
belonging to each iSCSI instance present on the local
system."
::= { iscsiTarget 1 }
iscsiTargetAttributesEntry OBJECT-TYPE
SYNTAX IscsiTargetAttributesEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (row) containing management information applicable
to a particular node that can take on a target role."
INDEX { iscsiInstIndex, iscsiNodeIndex }
::= { iscsiTargetAttributesTable 1 }
IscsiTargetAttributesEntry ::= SEQUENCE {
iscsiTgtLoginFailures Counter32,
Bakke, et al. Standards Track [Page 37]

RFC 4544 iSCSI MIB May 2006
iscsiTgtLastFailureTime TimeStamp,
iscsiTgtLastFailureType AutonomousType,
iscsiTgtLastIntrFailureName IscsiName,
iscsiTgtLastIntrFailureAddrType InetAddressType,
iscsiTgtLastIntrFailureAddr InetAddress
}
iscsiTgtLoginFailures OBJECT-TYPE
SYNTAX Counter32
UNITS "failed login attempts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"This object counts the number of times a login attempt to this
local target has failed.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiTargetAttributesEntry 1 }
iscsiTgtLastFailureTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The timestamp of the most recent failure of a login attempt
to this target. A value of zero indicates that no such
failures have occurred since the last system boot."
::= { iscsiTargetAttributesEntry 2 }
iscsiTgtLastFailureType OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the most recent failure of a login attempt
to this target, represented as the OID of the counter
object in iscsiTargetLoginStatsTable for which the
relevant instance was incremented. A value of 0.0
indicates a type that is not represented by any of
the counters in iscsiTargetLoginStatsTable."
::= { iscsiTargetAttributesEntry 3 }
iscsiTgtLastIntrFailureName OBJECT-TYPE
SYNTAX IscsiName
MAX-ACCESS read-only
STATUS current
Bakke, et al. Standards Track [Page 38]

RFC 4544 iSCSI MIB May 2006
iscsiTgtLoginAccepts Counter32,
iscsiTgtLoginOtherFails Counter32,
iscsiTgtLoginRedirects Counter32,
iscsiTgtLoginAuthorizeFails Counter32,
iscsiTgtLoginAuthenticateFails Counter32,
iscsiTgtLoginNegotiateFails Counter32
}
iscsiTgtLoginAccepts OBJECT-TYPE
SYNTAX Counter32
UNITS "successful logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Login Response PDUs with status
0x0000, Accept Login, transmitted by this
target.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiTargetLoginStatsEntry 1 }
iscsiTgtLoginOtherFails OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of Login Response PDUs that were transmitted
by this target and that were not counted by any other
object in the row.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiTargetLoginStatsEntry 2 }
iscsiTgtLoginRedirects OBJECT-TYPE
SYNTAX Counter32
UNITS "redirected logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Login Response PDUs with status class 0x01,
Redirection, transmitted by this target.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
Bakke, et al. Standards Track [Page 40]

RFC 4544 iSCSI MIB May 2006
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiTargetLoginStatsEntry 3 }
iscsiTgtLoginAuthorizeFails OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Login Response PDUs with status 0x0202,
Forbidden Target, transmitted by this target.
If this counter is incremented, an iscsiTgtLoginFailure
notification should be generated.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiTargetLoginStatsEntry 4 }
iscsiTgtLoginAuthenticateFails OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Login Response PDUs with status 0x0201,
Authentication Failed, transmitted by this target.
If this counter is incremented, an iscsiTgtLoginFailure
notification should be generated.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiTargetLoginStatsEntry 5 }
iscsiTgtLoginNegotiateFails OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times a target has effectively refused a
login because the parameter negotiation failed.
Bakke, et al. Standards Track [Page 41]

RFC 4544 iSCSI MIB May 2006
If this counter is incremented, an iscsiTgtLoginFailure
notification should be generated.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
::= { iscsiTargetLoginStatsEntry 6 }
-- Target Logout Stats Table
iscsiTargetLogoutStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF IscsiTargetLogoutStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"When a target receives a Logout command, it responds
with a Logout Response that carries a status code.
This table contains counters for both normal and
abnormal logout requests received by this target."
::= { iscsiTarget 3 }
iscsiTargetLogoutStatsEntry OBJECT-TYPE
SYNTAX IscsiTargetLogoutStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (row) containing counters of Logout Response
PDUs that were received by this target."
AUGMENTS { iscsiTargetAttributesEntry }
::= { iscsiTargetLogoutStatsTable 1 }
IscsiTargetLogoutStatsEntry ::= SEQUENCE {
iscsiTgtLogoutNormals Counter32,
iscsiTgtLogoutOthers Counter32
}
iscsiTgtLogoutNormals OBJECT-TYPE
SYNTAX Counter32
UNITS "normal logouts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Logout Command PDUs received by this target,
with reason code 0 (closes the session).
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.14.1, Reason Code"
::= { iscsiTargetLogoutStatsEntry 1 }
Bakke, et al. Standards Track [Page 42]

RFC 4544 iSCSI MIB May 2006
iscsiTgtAuthIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary integer used to uniquely identify a particular
target's authorized initiator identity within an iSCSI
instance present on the local system. This index value must
not be modified or reused by an agent unless a reboot has
occurred. An agent should attempt to keep this value
persistent across reboots."
::= { iscsiTgtAuthAttributesEntry 1 }
iscsiTgtAuthRowStatus OBJECT-TYPE
SYNTAX RowStatus
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"This field allows entries to be dynamically added and
removed from this table via SNMP. When adding a row to
this table, all non-Index/RowStatus objects must be set.
When the value of this object is 'active', the values of
the other objects in this table cannot be changed.
Rows may be discarded using RowStatus."
::= { iscsiTgtAuthAttributesEntry 2 }
iscsiTgtAuthIdentity OBJECT-TYPE
SYNTAX RowPointer
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"A pointer to the corresponding user entry in the IPS-AUTH
MIB module that will be allowed to access this iSCSI target."
REFERENCE
"IPS-AUTH MIB, RFC 4545"
::= { iscsiTgtAuthAttributesEntry 3 }
iscsiTgtAuthStorageType OBJECT-TYPE
SYNTAX StorageType
MAX-ACCESS read-create
STATUS current
DESCRIPTION
"The storage type for this row. Rows in this table that were
created through an external process may have a storage type of
readOnly or permanent.
Conceptual rows having the value 'permanent' need not
allow write access to any columnar objects in the row."
Bakke, et al. Standards Track [Page 44]

RFC 4544 iSCSI MIB May 2006
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiInitiatorAttributesEntry 1 }
iscsiIntrLastFailureTime OBJECT-TYPE
SYNTAX TimeStamp
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The timestamp of the most recent failure of a login attempt
from this initiator. A value of zero indicates that no such
failures have occurred since the last system boot."
::= { iscsiInitiatorAttributesEntry 2 }
iscsiIntrLastFailureType OBJECT-TYPE
SYNTAX AutonomousType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of the most recent failure of a login attempt
from this initiator, represented as the OID of the counter
object in iscsiInitiatorLoginStatsTable for which the
relevant instance was incremented. A value of 0.0
indicates a type that is not represented by any of
the counters in iscsiInitiatorLoginStatsTable."
::= { iscsiInitiatorAttributesEntry 3 }
iscsiIntrLastTgtFailureName OBJECT-TYPE
SYNTAX IscsiName
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A UTF-8 string giving the name of the target that failed
the last login attempt."
::= { iscsiInitiatorAttributesEntry 4 }
iscsiIntrLastTgtFailureAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of Internet Network Address contained in the
corresponding instance of the iscsiIntrLastTgtFailureAddr.
The value 'dns' is not allowed."
::= { iscsiInitiatorAttributesEntry 5 }
iscsiIntrLastTgtFailureAddr OBJECT-TYPE
Bakke, et al. Standards Track [Page 46]

RFC 4544 iSCSI MIB May 2006
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiInitiatorLoginStatsEntry 1 }
iscsiIntrLoginOtherFailRsps OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Login Response PDUs received by this
initiator with any status code not counted in the
objects below.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiInitiatorLoginStatsEntry 2 }
iscsiIntrLoginRedirectRsps OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Login Response PDUs with status class 0x01,
Redirection, received by this initiator.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiInitiatorLoginStatsEntry 3 }
iscsiIntrLoginAuthFailRsps OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Login Response PDUs with status class 0x201,
Authentication Failed, received by this initiator.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiInitiatorLoginStatsEntry 4 }
Bakke, et al. Standards Track [Page 48]

RFC 4544 iSCSI MIB May 2006
iscsiIntrLoginAuthenticateFails OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the initiator has aborted a
login because the target could not be authenticated.
No response is generated.
If this counter is incremented, an iscsiIntrLoginFailure
notification should be generated.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.13.5, Status-Class and Status-Detail"
::= { iscsiInitiatorLoginStatsEntry 5 }
iscsiIntrLoginNegotiateFails OBJECT-TYPE
SYNTAX Counter32
UNITS "failed logins"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The number of times the initiator has aborted a
login because parameter negotiation with the target
failed.
No response is generated.
If this counter is incremented, an iscsiIntrLoginFailure
notification should be generated.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 6.10, Negotiation Failures"
::= { iscsiInitiatorLoginStatsEntry 6 }
-- Initiator Logout Stats Table
iscsiInitiatorLogoutStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF IscsiInitiatorLogoutStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"When an initiator attempts to send a Logout command, the target
responds with a Logout Response that carries a status code.
Bakke, et al. Standards Track [Page 49]

RFC 4544 iSCSI MIB May 2006
This table contains a list of counters of Logout Response
PDUs of each status code that was received by each
initiator belonging to this iSCSI instance present on this
system."
::= { iscsiInitiator 3 }
iscsiInitiatorLogoutStatsEntry OBJECT-TYPE
SYNTAX IscsiInitiatorLogoutStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry (row) containing counters of Logout Response
PDUs of each status code that was generated by this
initiator."
AUGMENTS { iscsiInitiatorAttributesEntry }
::= { iscsiInitiatorLogoutStatsTable 1 }
IscsiInitiatorLogoutStatsEntry ::= SEQUENCE {
iscsiIntrLogoutNormals Counter32,
iscsiIntrLogoutOthers Counter32
}
iscsiIntrLogoutNormals OBJECT-TYPE
SYNTAX Counter32
UNITS "normal logouts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Logout Command PDUs generated by this initiator
with reason code 0 (closes the session).
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.14.1, Reason Code"
::= { iscsiInitiatorLogoutStatsEntry 1 }
iscsiIntrLogoutOthers OBJECT-TYPE
SYNTAX Counter32
UNITS "abnormal logouts"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Logout Command PDUs generated by this initiator
with any status code other than 0.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiNodeDiscontinuityTime."
REFERENCE
"RFC 3720, Section 10.14.1, Reason Code"
Bakke, et al. Standards Track [Page 50]

RFC 4544 iSCSI MIB May 2006
STATUS current
DESCRIPTION
"An arbitrary integer used to uniquely identify a
particular node within an iSCSI instance present
on the local system. For normal, non-discovery
sessions, this value will map to the iscsiNodeIndex.
For discovery sessions that do not have a node
associated, the value 0 (zero) is used."
::= { iscsiSessionAttributesEntry 1 }
iscsiSsnIndex OBJECT-TYPE
SYNTAX Unsigned32 (1..4294967295)
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An arbitrary integer used to uniquely identify a
particular session within an iSCSI instance present
on the local system. An agent should attempt to
not reuse index values unless a reboot has occurred.
iSCSI sessions are destroyed during a reboot; rows
in this table are not persistent across reboots."
::= { iscsiSessionAttributesEntry 2 }
iscsiSsnDirection OBJECT-TYPE
SYNTAX INTEGER {
inboundSession(1),
outboundSession(2)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"Direction of iSCSI session:
inboundSession - session is established from an external
initiator to a target within this iSCSI
instance.
outboundSession - session is established from an initiator
within this iSCSI instance to an external
target."
::= { iscsiSessionAttributesEntry 3 }
iscsiSsnInitiatorName OBJECT-TYPE
SYNTAX IscsiName
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"If iscsiSsnDirection is Inbound, this object is a
UTF-8 string that will contain the name of the remote
initiator. If this session is a discovery session that
Bakke, et al. Standards Track [Page 54]

RFC 4544 iSCSI MIB May 2006
::= { iscsiSessionStatsTable 1 }
IscsiSessionStatsEntry ::= SEQUENCE {
iscsiSsnCmdPDUs Counter32,
iscsiSsnRspPDUs Counter32,
iscsiSsnTxDataOctets Counter64,
iscsiSsnRxDataOctets Counter64,
iscsiSsnLCTxDataOctets Counter32,
iscsiSsnLCRxDataOctets Counter32
}
iscsiSsnCmdPDUs OBJECT-TYPE
SYNTAX Counter32
UNITS "PDUs"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Command PDUs transferred on this session.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiSsnDiscontinuityTime."
::= { iscsiSessionStatsEntry 1 }
iscsiSsnRspPDUs OBJECT-TYPE
SYNTAX Counter32
UNITS "PDUs"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of Response PDUs transferred on this session.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiSsnDiscontinuityTime."
::= { iscsiSessionStatsEntry 2 }
iscsiSsnTxDataOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of data octets that were transmitted by
the local iSCSI node on this session.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiSsnDiscontinuityTime."
::= { iscsiSessionStatsEntry 3 }
iscsiSsnRxDataOctets OBJECT-TYPE
SYNTAX Counter64
UNITS "octets"
Bakke, et al. Standards Track [Page 60]

RFC 4544 iSCSI MIB May 2006
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The count of data octets that were received by
the local iSCSI node on this session.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiSsnDiscontinuityTime."
::= { iscsiSessionStatsEntry 4 }
iscsiSsnLCTxDataOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A Low Capacity shadow object of iscsiSsnTxDataOctets
for those systems that don't support Counter64.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiSsnDiscontinuityTime."
::= { iscsiSessionStatsEntry 5 }
iscsiSsnLCRxDataOctets OBJECT-TYPE
SYNTAX Counter32
UNITS "octets"
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"A Low Capacity shadow object of iscsiSsnRxDataOctets
for those systems that don't support Counter64.
If this counter has suffered a discontinuity, the time of the
last discontinuity is indicated in iscsiSsnDiscontinuityTime."
::= { iscsiSessionStatsEntry 6 }
-- Session Connection Error Stats Table
iscsiSessionCxnErrorStatsTable OBJECT-TYPE
SYNTAX SEQUENCE OF IscsiSessionCxnErrorStatsEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"A list of error counters for each of the sessions
present on this system."
::= { iscsiSession 3 }
iscsiSessionCxnErrorStatsEntry OBJECT-TYPE
SYNTAX IscsiSessionCxnErrorStatsEntry
MAX-ACCESS not-accessible
STATUS current
Bakke, et al. Standards Track [Page 61]

RFC 4544 iSCSI MIB May 2006
::= { iscsiConnectionAttributesEntry 1 }
iscsiCxnCid OBJECT-TYPE
SYNTAX Unsigned32 (1..65535)
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The iSCSI Connection ID for this connection."
::= { iscsiConnectionAttributesEntry 2 }
iscsiCxnState OBJECT-TYPE
SYNTAX INTEGER {
login(1),
full(2),
logout(3)
}
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The current state of this connection, from an iSCSI negotiation
point of view. Here are the states:
login - The transport protocol connection has been established,
but a valid iSCSI login response with the final bit set
has not been sent or received.
full - A valid iSCSI login response with the final bit set
has been sent or received.
logout - A valid iSCSI logout command has been sent or
received, but the transport protocol connection has
not yet been closed."
::= { iscsiConnectionAttributesEntry 3 }
iscsiCxnAddrType OBJECT-TYPE
SYNTAX InetAddressType
MAX-ACCESS read-only
STATUS current
DESCRIPTION
"The type of Internet Network Addresses contained in the
corresponding instances of iscsiCxnLocalAddr and
iscsiCxnRemoteAddr.
The value 'dns' is not allowed."
::= { iscsiConnectionAttributesEntry 4 }
iscsiCxnLocalAddr OBJECT-TYPE
SYNTAX InetAddress
MAX-ACCESS read-only
STATUS current
DESCRIPTION
Bakke, et al. Standards Track [Page 64]

RFC 4544 iSCSI MIB May 2006
STATUS current
DESCRIPTION
"A collection of objects providing information about all
connections used by all sessions."
::= { iscsiGroups 20 }
iscsiTgtLgnNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
iscsiTgtLoginFailure
}
STATUS current
DESCRIPTION
"A collection of notifications that indicate a login
failure from a remote initiator to a local target."
::= { iscsiGroups 21 }
iscsiIntrLgnNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
iscsiIntrLoginFailure
}
STATUS current
DESCRIPTION
"A collection of notifications that indicate a login
failure from a local initiator to a remote target."
::= { iscsiGroups 22 }
iscsiSsnFlrNotificationsGroup NOTIFICATION-GROUP
NOTIFICATIONS {
iscsiInstSessionFailure
}
STATUS current
DESCRIPTION
"A collection of notifications that indicate session
failures occurring after login."
::= { iscsiGroups 23 }
--**********************************************************************
iscsiComplianceV1 MODULE-COMPLIANCE
STATUS current
DESCRIPTION
"Initial version of compliance statement based on
initial version of this MIB module.
If an implementation can be both a target and an
initiator, all groups are mandatory."
MODULE -- this module
MANDATORY-GROUPS {
Bakke, et al. Standards Track [Page 75]

RFC 4544 iSCSI MIB May 2006
iscsiInstanceAttributesGroup,
iscsiInstanceSsnErrorStatsGroup,
iscsiPortalAttributesGroup,
iscsiNodeAttributesGroup,
iscsiSessionAttributesGroup,
iscsiSessionPDUStatsGroup,
iscsiSessionCxnErrorStatsGroup,
iscsiConnectionAttributesGroup,
iscsiSsnFlrNotificationsGroup
}
-- Conditionally mandatory groups depending on the ability
-- to support Counter64 data types and/or to provide counter
-- information to SNMPv1 applications.
GROUP iscsiSessionOctetStatsGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that can support Counter64 data types."
GROUP iscsiSessionLCOctetStatsGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that provide information to SNMPv1-only applications;
this includes agents that cannot support Counter64
data types."
-- Conditionally mandatory groups to be included with
-- the mandatory groups when the implementation has
-- iSCSI target facilities.
GROUP iscsiTgtPortalAttributesGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI target facilities."
OBJECT iscsiPortalMaxRecvDataSegLength
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required."
OBJECT iscsiNodeStorageType
MIN-ACCESS read-only
DESCRIPTION
"Write access is not required; an implementation may
choose to allow this object to be set to 'volatile'
or 'nonVolatile'."
Bakke, et al. Standards Track [Page 76]

RFC 4544 iSCSI MIB May 2006
GROUP iscsiTargetAttributesGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI target facilities."
GROUP iscsiTargetLoginStatsGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI target facilities."
GROUP iscsiTargetLogoutStatsGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI target facilities."
GROUP iscsiTgtLgnNotificationsGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI target facilities."
GROUP iscsiTargetAuthGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI target facilities."
-- Conditionally mandatory groups to be included with
-- the mandatory groups when the implementation has
-- iSCSI initiator facilities.
GROUP iscsiIntrPortalAttributesGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI initiator facilities."
GROUP iscsiInitiatorAttributesGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI initiator facilities."
GROUP iscsiInitiatorLoginStatsGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI initiator facilities."
GROUP iscsiInitiatorLogoutStatsGroup
DESCRIPTION
"This group is mandatory for all iSCSI implementations
that have iSCSI initiator facilities."
Bakke, et al. Standards Track [Page 77]

RFC 4544 iSCSI MIB May 20068. Security Considerations
There are a number of management objects defined in this MIB module
with a MAX-ACCESS clause of read-write and/or read-create. Such
objects may be considered sensitive or vulnerable in some network
environments. The support for SET operations in a non-secure
environment without proper protection can have a negative effect on
network operations. These are the tables and objects and their
sensitivity/vulnerability:
iscsiPortalAttributesTable, iscsiTgtPortalAttributesTable, and
iscsiIntrPortalAttributesTable can be used to add or remove IP
addresses to be used by iSCSI.
iscsiTgtAuthAttributesTable entries can be added or removed, to
allow or disallow access to a target by an initiator.
Some of the readable objects in this MIB module (i.e., objects with a
MAX-ACCESS other than not-accessible) may be considered sensitive or
vulnerable in some network environments. It is thus important to
control even GET and/or NOTIFY access to these objects and possibly
to even encrypt the values of these objects when sending them over
the network via SNMP. These are the tables and objects and their
sensitivity/vulnerability:
iscsiNodeAttributesTable, iscsiTargetAttributesTable, and
iscsiTgtAuthorization can be used to glean information needed to
make connections to the iSCSI targets this module represents.
However, it is the responsibility of the initiators and targets
involved to authenticate each other to ensure that an
inappropriately advertised or discovered initiator or target does
not compromise their security. These issues are discussed in
[RFC3720].
SNMP versions prior to SNMPv3 did not include adequate security.
Even if the network itself is secure (for example by using IPsec),
even then, there is no control as to who on the secure network is
allowed to access and GET/SET (read/change/create/delete) the objects
in this MIB module.
It is RECOMMENDED that implementors consider the security features as
provided by the SNMPv3 framework (see [RFC3410], section 8),
including full support for the SNMPv3 cryptographic mechanisms (for
authentication and privacy).
Further, deployment of SNMP versions prior to SNMPv3 is NOT
RECOMMENDED. Instead, it is RECOMMENDED to deploy SNMPv3 and to
enable cryptographic security. It is then a customer/operator
Bakke, et al. Standards Track [Page 79]

RFC 4544 iSCSI MIB May 2006
Full Copyright Statement
Copyright (C) The Internet Society (2006).
This document is subject to the rights, licenses and restrictions
contained in BCP 78, and except as set forth therein, the authors
retain all their rights.
This document and the information contained herein are provided on an
"AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any
Intellectual Property Rights or other rights that might be claimed to
pertain to the implementation or use of the technology described in
this document or the extent to which any license under such rights
might or might not be available; nor does it represent that it has
made any independent effort to identify any such rights. Information
on the procedures with respect to rights in RFC documents can be
found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any
assurances of licenses to be made available, or the result of an
attempt made to obtain a general license or permission for the use of
such proprietary rights by implementers or users of this
specification can be obtained from the IETF on-line IPR repository at
http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights that may cover technology that may be required to implement
this standard. Please address the information to the IETF at
ietf-ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is provided by the IETF
Administrative Support Activity (IASA).
Bakke, et al. Standards Track [Page 83]